Indholdsfortegnelse:

Roll and Pitch Axis Gimbal til GoPro Brug af Arduino - Servo og MPU6050 Gyro: 4 trin
Roll and Pitch Axis Gimbal til GoPro Brug af Arduino - Servo og MPU6050 Gyro: 4 trin
Anonim
Roll and Pitch Axis Gimbal til GoPro ved hjælp af Arduino - Servo og MPU6050 Gyro
Roll and Pitch Axis Gimbal til GoPro ved hjælp af Arduino - Servo og MPU6050 Gyro

Denne instruerbare blev oprettet for at opfylde projektkravet fra Makecourse ved University of South Florida (www.makecourse.com)

Målet med dette projekt var at bygge en 3-akset Gimbal til GoPro ved hjælp af Arduino nano + 3 servomotorer + MPU6050 gyro/accelerometer. I dette projekt kontrollerede jeg 2-akse (Roll and yaw) ved hjælp af MPU6050 gyro/accelerometer, den tredje akse (yaw) styres eksternt og manuelt ved hjælp af HC-05 og Arduino BlueControl app, som er i Android App Store.

Dette arbejde omfatter også alle 3D -designfiler af mekaniske komponenter i Gimbal. Jeg delte.stl -filer til let 3D -udskrivning og 3D -designfiler i bunden.

I begyndelsen af mit projekt var min plan at bygge 3-akset gimbal med 3 børsteløse motorer, fordi børsteløse motorer er glatte og mere lydhøre sammenlignet med servomotorer. Børsteløse motorer bruges i applikationer med høj hastighed, så vi kan justere hastigheden på motorkøb af ESC (controller). Men for at kunne bruge børsteløs motor i Gimbal -projektet indså jeg, at jeg er nødt til at køre børsteløs motor som en servo. I servomotorer kendes motorens position. Men i børsteløs motor kender vi ikke motorens position, så det er en ulempe ved børsteløs motor, som jeg ikke kunne finde ud af at finde ud af, hvordan jeg skulle køre den. Til sidst besluttede jeg at bruge 3 MG995 servomotorer til det krævede Gimbal -projekt med højt drejningsmoment. Jeg kontrollerede 2 servomotorer til rulle- og pitchakse ved hjælp af MPU6050 gyro, og jeg kontrollerede yaw axis servomotor ved hjælp af HC-05 bluetooth og Android-app.

Trin 1: Komponenter

Komponenter
Komponenter
Komponenter
Komponenter
Komponenter
Komponenter
Komponenter
Komponenter

De komponenter, som jeg brugte i dette projekt;

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

2- MG995 Servomotorer (3 enheder)

3- GY-521 MPU6050 3-akset accelerometer/gyroskop (1 enhed)

4- HC-05 Bluetooth-modul (Fjernstyring af yaw (Servo3) akse)

4- 5V bærbar mikro usb oplader

Trin 2: Implementering af 3 servomotorer + MPU6050 Gyro + HC-05

Implementering af 3 servomotorer + MPU6050 Gyro + HC-05
Implementering af 3 servomotorer + MPU6050 Gyro + HC-05
Implementering af 3 servomotorer + MPU6050 Gyro + HC-05
Implementering af 3 servomotorer + MPU6050 Gyro + HC-05

Servoledninger

Servo1 (rulle), Servo2 (pitch), Servo3 (yaw)

Servomotorer har 3 ledninger: VCC (rød), GND (brun eller sort), PWM (gul).

D3 => Servo1 PWM (gul ledning)

D4 => Servo2 PWM (gul ledning)

D5 => Servo3 PWM (gul ledning)

5V PIN for Arduino => VCC (rød) på 3 servomotorer.

GND PIN for Arduino => GND (brun eller sort) for 3 servomotorer

MPU6050 gyro ledninger

A4 => SDA

A5 => SCL

3,3 V PIN for Arduino => VCC for MPU6050

GND PIN for Arduino => GND for MPU6050

HC-05 Bluetooth-ledninger

D9 => TX

D10 => RX

3,3 V PIN for Arduino => VCC for HC-05 Bluetooth

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

Trin 3: 3D -design og funktionalitet

3D Design og funktionalitet
3D Design og funktionalitet
3D Design og funktionalitet
3D Design og funktionalitet
3D Design og funktionalitet
3D Design og funktionalitet
3D Design og funktionalitet
3D Design og funktionalitet

Jeg gennemførte 3D -design af Gimbal ved at referere til andre Gimbals, der sælges på markedet. Der er tre hovedkomponenter, der roterer med servomotorer. Jeg har designet en GoPro -holder, der passer til dens størrelse.

. Step -filen i alt 3D -design deles nederst for at gøre det lettere at redigere.

Trin 4: Kontrolmekanisme

Image
Image

Hovedalgoritmen i mit Gimbal -projekt bruger Quaternion -rotation, som er alternativ til Euler -vinkler. Jeg brugte helper_3dmath.h bibliotek som reference for at muliggøre jævn bevægelse ved hjælp af Quaternion -algoritme. Selvom Pitch -aksens respons er glat, ruller aksen efter for at reagere på pindens bevægelse. Ved at bruge Quaternion -algoritme var jeg i stand til at styre Roll and Pitch servomotorer. Hvis du vil bruge yaw -aksen, skal du muligvis bruge den anden MPU6050 bare for at styre yaw -aksen. Som en alternativ løsning konfigurerede jeg HC-05 og kontrollerede yaw-aksen eksternt med Android-app ved hjælp af knapper. I hvert tryk for at trykke på knappen roterer yaw axis servo 10 grader.

I dette projekt er de biblioteker, som jeg måtte importere eksternt, som følger;

1- I2Cdev.h // Anvendes med wire.h for at muliggøre kommunikation med MPU6050

2- "MPU6050_6Axis_MotionApps20.h" // Gyroskopbibliotek

3- // Det gør det muligt at konvertere digitale ben til RX- og TX-ben (det er nødvendigt med HC-05 bluetooth-modul)

4-

5- // Det giver mulighed for at kommunikere med I2C-enheder, der bruger to datapinde (SDA og SCL) => MPU6050

Hovedkoden er oprettet af Jeff Rowberg, og jeg ændrede den i henhold til min projektfunktionalitet og kommenterede alle funktioner i ino -fil.

Anbefalede: