Talaan ng mga Nilalaman:

Roll and Pitch Axis Gimbal para sa GoPro Gamit ang Arduino - Servo at MPU6050 Gyro: 4 Hakbang
Roll and Pitch Axis Gimbal para sa GoPro Gamit ang Arduino - Servo at MPU6050 Gyro: 4 Hakbang

Video: Roll and Pitch Axis Gimbal para sa GoPro Gamit ang Arduino - Servo at MPU6050 Gyro: 4 Hakbang

Video: Roll and Pitch Axis Gimbal para sa GoPro Gamit ang Arduino - Servo at MPU6050 Gyro: 4 Hakbang
Video: Boy in Africa made his own drum set ๐Ÿ‘ 2024, Nobyembre
Anonim
Roll and Pitch Axis Gimbal para sa GoPro Gamit ang Arduino - Servo at MPU6050 Gyro
Roll and Pitch Axis Gimbal para sa GoPro Gamit ang Arduino - Servo at MPU6050 Gyro

Ang itinuturo na ito ay nilikha bilang pagtupad sa kinakailangan ng proyekto ng Makecourse sa University of South Florida (www.makecourse.com)

Ang layunin ng proyektong ito ay upang bumuo ng isang 3-axis Gimbal para sa GoPro sa pamamagitan ng paggamit ng Arduino nano + 3 servo motors + MPU6050 gyro / accelerometer. Sa proyektong ito, kinontrol ko ang 2-axis (Roll at yaw) sa pamamagitan ng paggamit ng MPU6050 gyro / accelerometer, ang third-axis (yaw) ay kinokontrol nang malayuan at manu-mano sa tulong ng HC-05 at Arduino BlueControl app na nasa Android App Store.

Kasama rin sa gawaing ito ang lahat ng mga file ng disenyo ng 3D ng mga sangkap na mekanikal ng Gimbal. Nagbahagi ako ng.stl na mga file para sa madaling pag-print ng 3D at mga file ng disenyo ng 3D sa ibaba.

Sa simula ng aking proyekto, ang aking plano ay upang magtayo ng 3-axis gimbal na may 3 brushless motor, sapagkat ang brushless motor ay makinis at mas tumutugon ihambing sa mga servo motor. Ginamit ang mga brushless motor sa mga application na may bilis, kaya maaari nating ayusin ang bilis ng pagbili ng motor ng ESC (controller). Ngunit upang magamit ang brushless motor sa proyekto ng Gimbal, napagtanto ko na kailangan kong magmaneho ng brushless motor tulad ng isang servo. Sa servo motor, ang posisyon ng motor ay kilala. Ngunit sa brushless motor, hindi namin alam ang posisyon ng motor, kaya't ito ay isang disbentaha ng brushless motor na hindi ko mawari kung paano ito himukin. Sa huli nagpasya akong gumamit ng 3 MG995 servo motor para sa mataas na metalikang kuwintas na kinakailangan ng proyekto ng Gimbal. Kinontrol ko ang 2 servo motor para sa roll at pitch axis sa pamamagitan ng paggamit ng MPU6050 gyro, at kinontrol ko ang yaw axis servo motor sa pamamagitan ng paggamit ng HC-05 bluetooth at Android app.

Hakbang 1: Mga Bahagi

Mga Bahagi
Mga Bahagi
Mga Bahagi
Mga Bahagi
Mga Bahagi
Mga Bahagi
Mga Bahagi
Mga Bahagi

Ang mga sangkap na ginamit ko sa proyektong ito;

1- Arduino Nano (1 unit) (Micro usb)

2- MG995 Servo motors (3 unit)

3- GY-521 MPU6050 3 axis Accelerometer / Gyroscope (1 unit)

4- HC-05 Bluetooth Module (Upang makontrol ang yaw (Servo3) axis mula sa malayuan)

4- 5V micro usb portable charger

Hakbang 2: Pagpapatupad ng 3 Servo Motors + MPU6050 Gyro + HC-05

Pagpapatupad ng 3 Servo Motors + MPU6050 Gyro + HC-05
Pagpapatupad ng 3 Servo Motors + MPU6050 Gyro + HC-05
Pagpapatupad ng 3 Servo Motors + MPU6050 Gyro + HC-05
Pagpapatupad ng 3 Servo Motors + MPU6050 Gyro + HC-05

Mga Kable ng Servo

Servo1 (Roll), Servo2 (Pitch), Servo3 (Yaw)

Ang mga motor ng servo ay mayroong 3 mga wire: VCC (pula), GND (kayumanggi o itim), PWM (dilaw).

D3 => Servo1 PWM (dilaw na kawad)

D4 => Servo2 PWM (dilaw na kawad)

D5 => Servo3 PWM (dilaw na kawad)

5V PIN ng Arduino => VCC (pula) ng 3 servo motor.

GND PIN ng Arduino => GND (kayumanggi o itim) ng 3 servo motor

Mga kable ng MPU6050 gyro

A4 => SDA

A5 => SCL

3.3 V PIN ng Arduino => VCC ng MPU6050

GND PIN ng Arduino => GND ng MPU6050

Mga kable ng Bluetooth na HC-05

D9 => TX

D10 => RX

3.3 V PIN ng Arduino => VCC ng HC-05 Bluetooth

GND PIN ng Arduino => GND ng HC-05 Bluetooth

Hakbang 3: Disenyo at Pag-andar ng 3D

Disenyo at Pag-andar ng 3D
Disenyo at Pag-andar ng 3D
Disenyo at Pag-andar ng 3D
Disenyo at Pag-andar ng 3D
Disenyo at Pag-andar ng 3D
Disenyo at Pag-andar ng 3D
Disenyo at Pag-andar ng 3D
Disenyo at Pag-andar ng 3D

Nakumpleto ko ang disenyo ng 3D ng Gimbal sa pamamagitan ng pagkuha ng sanggunian ng iba pang mga Gimbal na ibinebenta sa merkado. Mayroong tatlong pangunahing mga bahagi na umiikot sa servo motors. Dinisenyo ko ang isang GoPro mount na umaangkop sa laki nito.

Ang.step file ng lahat ng disenyo ng 3D ay ibinabahagi sa ibaba upang paganahin ang pag-edit ng mas madali.

Hakbang 4: Mekanismo ng Pagkontrol

Image
Image

Ang pangunahing algorithm ng aking proyekto sa Gimbal ay gumagamit ng pag-ikot ng Quaternion na kahalili sa mga anggulo ng Euler. Gumamit ako ng helper_3dmath.h library bilang isang sanggunian upang paganahin ang makinis na paggalaw sa pamamagitan ng paggamit ng Quaternion algorithm. Bagaman makinis ang tugon ng axis ng Pitch, nahuhuli ang roll axis upang tumugon sa paggalaw ng stick. Sa pamamagitan ng paggamit ng Quaternion algorithm, nakontrol ko ang mga motor ng servo ng Roll at Pitch. Kung nais mong gumamit ng yaw axis, maaaring kailanganin mong gumamit ng pangalawang MPU6050 upang makontrol lamang ang yaw axis. Bilang isang alternatibong solusyon, na-configure ko ang HC-05 at kinontrol ang axis ng yaw mula sa malayo sa android app sa pamamagitan ng paggamit ng mga pindutan. Sa bawat pindutin upang itulak ang pindutan, umiikot ang servo ng axis servo ng 10 degree.

Sa proyektong ito, ang mga aklatan kung saan kailangan kong mag-import ng panlabas ay ang mga sumusunod;

1- I2Cdev.h // Ginamit gamit ang wire.h upang paganahin ang komunikasyon sa MPU6050

2- "MPU6050_6Axis_MotionApps20.h" // Gyroscope library

3- // Pinapayagan nitong mai-convert ang mga digital na pin sa mga pin ng RX at TX (Kailangan ito para sa HC-05 bluetooth module)

4-

5- // Pinapayagan itong makipag-usap sa mga aparatong I2C na gumagamit ng dalawang data pin (SDA at SCL) => MPU6050

Ang pangunahing code ay nilikha ni Jeff Rowberg, at binago ko ito alinsunod sa pagpapaandar ng aking proyekto at nagkomento sa lahat ng mga pagpapaandar sa ino file.

Inirerekumendang: