Innehållsförteckning:

Roll and Pitch Axis Gimbal för GoPro med Arduino - Servo och MPU6050 Gyro: 4 steg
Roll and Pitch Axis Gimbal för GoPro med Arduino - Servo och MPU6050 Gyro: 4 steg

Video: Roll and Pitch Axis Gimbal för GoPro med Arduino - Servo och MPU6050 Gyro: 4 steg

Video: Roll and Pitch Axis Gimbal för GoPro med Arduino - Servo och MPU6050 Gyro: 4 steg
Video: How to make Cheap Hand held gimbal with popsicle sticks handle 2024, November
Anonim
Roll and Pitch Axis Gimbal för GoPro med Arduino - Servo och MPU6050 Gyro
Roll and Pitch Axis Gimbal för GoPro med Arduino - Servo och MPU6050 Gyro

Denna instruerbara skapades för att uppfylla projektkravet för Makecourse vid University of South Florida (www.makecourse.com)

Målet med detta projekt var att bygga en 3-axlig Gimbal för GoPro med Arduino nano + 3 servomotorer + MPU6050 gyro/accelerometer. I detta projekt kontrollerade jag 2-axel (Rulla och yaw) med hjälp av MPU6050 gyro/accelerometer, tredje axeln (yaw) styrs på distans och manuellt med hjälp av HC-05 och Arduino BlueControl-appen som finns i Android App Store.

Detta arbete innehåller också alla 3D -designfiler för mekaniska komponenter i Gimbal. Jag delade.stl -filer för enkelt 3D -utskrift och 3D -designfiler längst ner.

I början av mitt projekt var min plan att bygga 3-axlig gimbal med 3 borstlösa motorer, eftersom borstlösa motorer är mjuka och mer lyhörda jämfört med servomotorer. Borstlösa motorer används i höghastighetsapplikationer, så vi kan justera hastigheten på motorinköp av ESC (styrenhet). Men för att kunna använda borstlös motor i Gimbal -projektet insåg jag att jag måste köra borstlös motor som en servo. I servomotorer är motorns position känd. Men i borstlös motor vet vi inte motorns position, så det är en nackdel med borstlös motor som jag inte kunde räkna ut hur jag skulle köra den. I slutet bestämde jag mig för att använda 3 MG995 servomotorer för det höga vridmoment som krävs av Gimbal -projektet. Jag styrde 2 servomotorer för rull- och stigningsaxel med MPU6050 gyro, och jag kontrollerade servomotor för yaw axel med hjälp av HC-05 bluetooth och Android-app.

Steg 1: Komponenter

Komponenter
Komponenter
Komponenter
Komponenter
Komponenter
Komponenter
Komponenter
Komponenter

Komponenterna som jag använde i detta projekt;

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

2- MG995 Servomotorer (3 enheter)

3- GY-521 MPU6050 3-axlig accelerometer/gyroskop (1 enhet)

4- HC-05 Bluetooth-modul (för att fjärrstyra yaw (Servo3) -axeln)

4- 5V bärbar micro usb laddare

Steg 2: Implementering av 3 servomotorer + MPU6050 Gyro + HC-05

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

Servokablar

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

Servomotorer har tre ledningar: VCC (röd), GND (brun eller svart), PWM (gul).

D3 => Servo1 PWM (gul tråd)

D4 => Servo2 PWM (gul tråd)

D5 => Servo3 PWM (gul tråd)

5V PIN för Arduino => VCC (röd) för 3 servomotorer.

GND -PIN för Arduino => GND (brun eller svart) för 3 servomotorer

MPU6050 gyro ledningar

A4 => SDA

A5 => SCL

3.3 V PIN för Arduino => VCC för MPU6050

GND -PIN för Arduino => GND för MPU6050

HC-05 Bluetooth-kablar

D9 => TX

D10 => RX

3.3 V PIN för Arduino => VCC för HC-05 Bluetooth

GND-PIN för Arduino => GND för HC-05 Bluetooth

Steg 3: 3D -design och funktionalitet

3D -design och funktionalitet
3D -design och funktionalitet
3D -design och funktionalitet
3D -design och funktionalitet
3D -design och funktionalitet
3D -design och funktionalitet
3D -design och funktionalitet
3D -design och funktionalitet

Jag slutförde 3D -design av Gimbal genom att referera till andra Gimbals som säljs på marknaden. Det finns tre huvudkomponenter som roterar med servomotorer. Jag konstruerade ett GoPro -fäste som passar till dess storlek.

. Step -filen för all 3D -design delas längst ner för att möjliggöra redigering enklare.

Steg 4: Kontrollmekanism

Image
Image

Huvudalgoritmen för mitt Gimbal -projekt använder Quaternion -rotation som är alternativ till Euler -vinklar. Jag använde biblioteket helper_3dmath.h som referens för att möjliggöra smidig rörelse med hjälp av Quaternion -algoritm. Även om Pitch -axelns svar är smidigt, rullaxeln fördröjs för att svara på stickrörelsen. Genom att använda Quaternion -algoritmen kunde jag styra Roll and Pitch servomotorer. Om du vill använda yaw -axeln kan du behöva använda den andra MPU6050 bara för att styra yaw -axeln. Som en alternativ lösning konfigurerade jag HC-05 och styrde yaw-axeln på distans med Android-appen med hjälp av knappar. I varje tryck för att trycka på knappen roterar axelns servo 10 grader.

I detta projekt är de bibliotek som jag var tvungen att importera externt följande;

1- I2Cdev.h // Används med wire.h för att möjliggöra kommunikation med MPU6050

2- "MPU6050_6Axis_MotionApps20.h" // Gyroskopbibliotek

3- // Det gör det möjligt att konvertera digitala stift till RX- och TX-stift (det behövs en HC-05 Bluetooth-modul)

4-

5- // Det gör det möjligt att kommunicera med I2C-enheter som använder två datapinnar (SDA och SCL) => MPU6050

Huvudkoden är skapad av Jeff Rowberg, och jag ändrade den enligt min projektfunktion och kommenterade alla funktioner i ino -fil.

Rekommenderad: