Update 'README.md'

Fix the image link
This commit is contained in:
Lucien Renaud 2022-05-26 19:27:44 +02:00
parent 4750031ad6
commit a909abbdd1

View File

@ -2,8 +2,8 @@
The aim of this project is to be able to use the 3-axis DJI gimbal with a custom open source controller like [SimpleFOC](https://docs.simplefoc.com/). This high quality gimbal is very tiny and easy to find as a replacement part which makes it very suitable for DIY projects. The aim of this project is to be able to use the 3-axis DJI gimbal with a custom open source controller like [SimpleFOC](https://docs.simplefoc.com/). This high quality gimbal is very tiny and easy to find as a replacement part which makes it very suitable for DIY projects.
<img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/src/branch/main/docs/overview.jpg" height=250> <img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/raw/branch/main/docs/overview.jpg" height=250>
<img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/src/branch/main/docs/working.gif" height=250> <img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/raw/branch/main/docs/working.gif" height=250>
## Pinout identification ## Pinout identification
The Gimbal is composed of a flex PCB with a main connector and 3 smaller for each motor. The main end connector is a 40-pin mezzanine board to board connectors. In order to work easily I have designed a breakout board which open to a 2.54" header. (Kicad folder) The Gimbal is composed of a flex PCB with a main connector and 3 smaller for each motor. The main end connector is a 40-pin mezzanine board to board connectors. In order to work easily I have designed a breakout board which open to a 2.54" header. (Kicad folder)
@ -13,7 +13,7 @@ Here is the strategy I followed to find the pinout:
2. Group remaining pins by motor With the multimeter find all the pins connected to the motor connector. (Reapeat 3 times for the other connectors) 2. Group remaining pins by motor With the multimeter find all the pins connected to the motor connector. (Reapeat 3 times for the other connectors)
<img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/src/branch/main/Kicad/Breakout_DJI_Gimbal.png" height=400> <img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/src/branch/main/docs/setup.jpg" height=400> <img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/raw/branch/main/Kicad/Breakout_DJI_Gimbal.png" height=400> <img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/raw/branch/main/docs/setup.jpg" height=400>
### Open-loop control ### Open-loop control
@ -31,7 +31,7 @@ Connected directly to a MCU (here a STM32 Nucleo F401RE) and with the Simple FOC
### 1. Setup ### 1. Setup
Each motor is composed of two ratiometric linear hall sensors. (Texas Instrument DRV5053 Analog-Bipolar Hall Effect Sensor) They are placed at around 120º from each other (eyes measured) and measure the magnetic field of the rotor. Each motor is composed of two ratiometric linear hall sensors. (Texas Instrument DRV5053 Analog-Bipolar Hall Effect Sensor) They are placed at around 120º from each other (eyes measured) and measure the magnetic field of the rotor.
<img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/src/branch/main/docs/Hallmotor.jpg" height=300> <img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/raw/branch/main/docs/Hallmotor.jpg" height=300>
Ratiometric means that the output signal is proportional to the voltage supply to the sensor. In this setup, with 5V supply, the output measured is between 520mV and 1.5V, so a 1V amplitude signal. Ratiometric means that the output signal is proportional to the voltage supply to the sensor. In this setup, with 5V supply, the output measured is between 520mV and 1.5V, so a 1V amplitude signal.
@ -40,7 +40,7 @@ Ratiometric means that the output signal is proportional to the voltage supply t
These oscilloscope traces are the sensor output when rotating the rotor forth and back. (a bit less than 180º on the 3rd motor) These oscilloscope traces are the sensor output when rotating the rotor forth and back. (a bit less than 180º on the 3rd motor)
The channel 0 (Yellow) is the Hall 1 and the Channel 1 (Green) is the Hall 2 The channel 0 (Yellow) is the Hall 1 and the Channel 1 (Green) is the Hall 2
<img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/src/branch/main/docs/courbes.png" height=250> <img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/src/branch/main/docs/cosSinEncoderDiagram.png" height=250> <img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/raw/branch/main/docs/courbes.png" height=250> <img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/raw/branch/main/docs/cosSinEncoderDiagram.png" height=250>
We can see that in the first movement (positive rotation), the green is out of phase of π/2.` We can see that in the first movement (positive rotation), the green is out of phase of π/2.`
@ -102,4 +102,4 @@ To achive position control it is necessary to have first, a velocity controller
However, the motors of the gimbal have hard stop and can only rotate of around a half turn. It was so necessary to remove these mecanical stops. I drilled with a 1.6mm drill the two little holes to remove it. Then the motor was able to rotate freely and PID can be tuned. However, the motors of the gimbal have hard stop and can only rotate of around a half turn. It was so necessary to remove these mecanical stops. I drilled with a 1.6mm drill the two little holes to remove it. Then the motor was able to rotate freely and PID can be tuned.
<img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/src/branch/main/docs/drilling.jpg" height=250> <img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/src/branch/main/docs/freeturn.gif" height=250> <img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/raw/branch/main/docs/drilling.jpg" height=250> <img src="https://git.lurenaud.com/lurenaud/DJI-Gimbal-FOC/raw/branch/main/docs/freeturn.gif" height=250>