İçindekiler:

Arduino - Servo ve MPU6050 Gyro Kullanan GoPro için Rulo ve Pitch Axis Gimbal: 4 Adım
Arduino - Servo ve MPU6050 Gyro Kullanan GoPro için Rulo ve Pitch Axis Gimbal: 4 Adım

Video: Arduino - Servo ve MPU6050 Gyro Kullanan GoPro için Rulo ve Pitch Axis Gimbal: 4 Adım

Video: Arduino - Servo ve MPU6050 Gyro Kullanan GoPro için Rulo ve Pitch Axis Gimbal: 4 Adım
Video: Arduino Control Servo Gyroscope Sensor | Servo Motion control with MPU6050 | GY521 | Arduino project 2024, Aralık
Anonim
Arduino - Servo ve MPU6050 Gyro Kullanan GoPro için Rulo ve Pitch Axis Gimbal
Arduino - Servo ve MPU6050 Gyro Kullanan GoPro için Rulo ve Pitch Axis Gimbal

Bu talimat, Güney Florida Üniversitesi'ndeki Makecourse proje gereksinimini yerine getirmek için oluşturulmuştur (www.makecourse.com)

Bu projenin amacı, Arduino nano + 3 servo motor + MPU6050 jiroskop/ivmeölçer kullanarak GoPro için 3 eksenli bir Gimbal oluşturmaktı. Bu projede MPU6050 jiroskop/ivmeölçer kullanarak 2 eksen (Roll and yalpalama) kontrol ettim, üçüncü eksen(yaw) HC-05 ve Android App Store'da bulunan Arduino BlueControl uygulaması yardımıyla uzaktan ve manuel olarak kontrol ediliyor..

Bu çalışma aynı zamanda Gimbal'ın mekanik bileşenlerinin tüm 3D tasarım dosyalarını da içermektedir. Kolayca 3D baskı için.stl dosyaları ve en altta 3D tasarım dosyaları paylaştım.

Projemin başında planım 3 fırçasız motorla 3 eksenli gimbal yapmaktı, çünkü fırçasız motorlar servo motorlara kıyasla pürüzsüz ve daha duyarlıdır. Fırçasız motorlar yüksek hızlı uygulamalarda kullanılır, bu nedenle ESC (kontrolör) satın alma motorunun hızını ayarlayabiliriz. Ama Gimbal projesinde fırçasız motor kullanabilmek için fırçasız motoru bir servo gibi sürmem gerektiğini anladım. Servo motorlarda motorun konumu bilinmektedir. Ama fırçasız motorda motorun konumunu bilmiyoruz, bu yüzden fırçasız motorun bir dezavantajı, nasıl süreceğimi anlayamadım. Sonunda yüksek tork gerektiren Gimbal projesi için 3 adet MG995 servo motor kullanmaya karar verdim. MPU6050 gyro kullanarak 2 servo motorun roll ve pitch eksenini, yalpa ekseni servo motorunu HC-05 bluetooth ve Android uygulamasını kullanarak kontrol ettim.

Adım 1: Bileşenler

Bileşenler
Bileşenler
Bileşenler
Bileşenler
Bileşenler
Bileşenler
Bileşenler
Bileşenler

Bu projede kullandığım bileşenler;

1- Arduino Nano (1 adet) (Mikro usb)

2- MG995 Servo motorlar (3 adet)

3- GY-521 MPU6050 3 eksen İvmeölçer/Jiroskop (1 adet)

4- HC-05 Bluetooth Modülü (Yaw(Servo3) eksenini uzaktan kontrol etmek için)

4-5V mikro usb taşınabilir şarj cihazı

Adım 2: 3 Servo Motor + MPU6050 Gyro + HC-05 Uygulaması

3 Servo Motor + MPU6050 Gyro + HC-05 Uygulaması
3 Servo Motor + MPU6050 Gyro + HC-05 Uygulaması
3 Servo Motor + MPU6050 Gyro + HC-05 Uygulaması
3 Servo Motor + MPU6050 Gyro + HC-05 Uygulaması

Servo Kablolama

Servo1 (Yuvarlanma), Servo2 (Adım), Servo3(Yaw)

Servo motorların 3 kablosu vardır: VCC(kırmızı), GND(kahverengi veya siyah), PWM(sarı).

D3 => Servo1 PWM(sarı tel)

D4 => Servo2 PWM(sarı tel)

D5 => Servo3 PWM(sarı tel)

Arduino'nun 5V PIN'i => 3 servo motorun VCC(kırmızı).

Arduino'nun GND PIN'i => 3 servo motorun GND (kahverengi veya siyah)

MPU6050 cayro kablolama

A4 => SDA

A5 => SCL

Arduino'nun 3.3 V PIN'i => MPU6050'nin VCC'si

Arduino'nun GND PIN'i => MPU6050'nin GND'si

HC-05 Bluetooth kablolama

D9 => TX

D10 => RX

Arduino'nun 3.3 V PIN'i => HC-05 Bluetooth'un VCC'si

Arduino'nun GND PIN'i => HC-05 Bluetooth'un GND'si

Adım 3: 3B Tasarım ve İşlevsellik

3D Tasarım ve İşlevsellik
3D Tasarım ve İşlevsellik
3D Tasarım ve İşlevsellik
3D Tasarım ve İşlevsellik
3D Tasarım ve İşlevsellik
3D Tasarım ve İşlevsellik
3D Tasarım ve İşlevsellik
3D Tasarım ve İşlevsellik

Gimbal'ın 3D tasarımını piyasada satılan diğer Gimbal'lardan referans alarak tamamladım. Servo motorlarla dönen üç ana bileşen vardır. Boyutuna uyan bir GoPro montajı tasarladım.

Tüm 3D tasarımların.step dosyası, düzenlemeyi kolaylaştırmak için altta paylaşılmıştır.

Adım 4: Kontrol Mekanizması

Image
Image

Gimbal projemin ana algoritması Euler açılarına alternatif olan Quaternion rotasyonunu kullanıyor. Quaternion algoritmasını kullanarak sorunsuz hareket sağlamak için helper_3dmath.h kütüphanesini referans olarak kullandım. Adım ekseni tepkisi düzgün olsa da, yuvarlanma ekseni çubuk hareketine yanıt vermek için gecikir. Quaternion algoritmasını kullanarak Roll ve Pitch servo motorlarını kontrol edebildim. Sapma eksenini kullanmak istiyorsanız, sadece sapma eksenini kontrol etmek için ikinci MPU6050'yi kullanmanız gerekebilir. Alternatif bir çözüm olarak HC-05'i yapılandırdım ve yaw eksenini uzaktan kumanda ile android uygulaması ile butonları kullanarak kontrol ettim. Düğmeye her basıldığında, yalpa ekseni servosu 10 derece döner.

Bu projede dışarıdan import etmem gereken kütüphaneler;

1- I2Cdev.h // MPU6050 ile iletişimi sağlamak için wire.h ile kullanılır

2- "MPU6050_6Axis_MotionApps20.h" // Jiroskop kütüphanesi

3- // Dijital pinleri RX ve TX pinlerine çevirmeyi sağlar (HC-05 bluetooth modülüne ihtiyaç vardır)

4-

5- // İki data pini (SDA ve SCL) kullanan I2C cihazları ile haberleşmeyi sağlar =>MPU6050

Ana kod Jeff Rowberg tarafından oluşturuldu ve onu proje işlevselliğime göre değiştirdim ve tüm işlevleri ino dosyasında yorumladım.

Önerilen: