INHOUDSOPGAWE:

Roll and Pitch Axis Gimbal for GoPro Using Arduino - Servo and MPU6050 Gyro: 4 Stappe
Roll and Pitch Axis Gimbal for GoPro Using Arduino - Servo and MPU6050 Gyro: 4 Stappe

Video: Roll and Pitch Axis Gimbal for GoPro Using Arduino - Servo and MPU6050 Gyro: 4 Stappe

Video: Roll and Pitch Axis Gimbal for GoPro Using Arduino - Servo and MPU6050 Gyro: 4 Stappe
Video: DIY Gimbal | Arduino and MPU6050 Tutorial 2024, November
Anonim
Roll and Pitch Axis Gimbal for GoPro Using Arduino - Servo and MPU6050 Gyro
Roll and Pitch Axis Gimbal for GoPro Using Arduino - Servo and MPU6050 Gyro

Hierdie instruksies is geskep ter voldoening aan die projekvereiste van die Makecourse aan die Universiteit van Suid -Florida (www.makecourse.com)

Die doel van hierdie projek was om 'n 3-as Gimbal vir GoPro te bou deur Arduino nano + 3 servomotore + MPU6050 gyro/versnellingsmeter te gebruik. In hierdie projek beheer ek 2-as (rol en gaas) met behulp van MPU6050 gyro/versnellingsmeter, die derde as (yaw) word op afstand en handmatig beheer met behulp van HC-05 en Arduino BlueControl-app, wat in die Android App Store is.

Hierdie werk bevat ook al die 3D -ontwerplêers van die meganiese komponente van Gimbal. Ek het.stl -lêers gedeel vir maklik 3D -drukwerk en 3D -ontwerplêers onderaan.

Aan die begin van my projek was my plan om 'n 3-as gimbal met 3 borsellose motors te bou, want borsellose motors is glad en reageer meer op servomotore. Borsellose motors word in hoëspoedtoepassings gebruik, sodat ons die snelheid van die motor -aankoop van ESC (kontroleerder) kan aanpas. Maar om 'n borsellose motor in die Gimbal -projek te kon gebruik, het ek besef dat ek 'n borsellose motor soos 'n servo moet bestuur. By servomotore is die posisie van die motor bekend. Maar in 'n borsellose motor weet ons nie die posisie van die motor nie, so dit is 'n nadeel van die borsellose motor, wat ek nie kon uitvind hoe om dit te bestuur nie. Aan die einde besluit ek om 3 MG995 servomotore te gebruik vir die Gimbal -projek met 'n hoë wringkrag. Ek het 2 servomotors beheer vir rol- en steekas met behulp van MPU6050-gyro, en ek het die servomotor van die yas-as beheer met behulp van HC-05 bluetooth en Android-app.

Stap 1: Komponente

Komponente
Komponente
Komponente
Komponente
Komponente
Komponente
Komponente
Komponente

Die komponente wat ek in hierdie projek gebruik het;

1- Arduino Nano (1 eenheid) (mikro-usb)

2- MG995 Servomotors (3 eenhede)

3- GY-521 MPU6050 3-as versnellingsmeter/gyroscoop (1 eenheid)

4- HC-05 Bluetooth-module (om die yaw (Servo3) as op afstand te beheer)

4- 5V draagbare mikro usb-laaier

Stap 2: Implementering van 3 servomotore + MPU6050 Gyro + HC-05

Implementering van 3 servomotore + MPU6050 Gyro + HC-05
Implementering van 3 servomotore + MPU6050 Gyro + HC-05
Implementering van 3 servomotore + MPU6050 Gyro + HC-05
Implementering van 3 servomotore + MPU6050 Gyro + HC-05

Servo bedrading

Servo1 (rol), Servo2 (toonhoogte), Servo3 (yaw)

Servomotore het drie drade: VCC (rooi), GND (bruin of swart), PWM (geel).

D3 => Servo1 PWM (geel draad)

D4 => Servo2 PWM (geel draad)

D5 => Servo3 PWM (geel draad)

5V PIN van Arduino => VCC (rooi) van 3 servomotors.

GND PIN van Arduino => GND (bruin of swart) van 3 servomotors

MPU6050 gyro bedrading

A4 => SDA

A5 => SCL

3.3 V PIN van Arduino => VCC van MPU6050

GND PIN van Arduino => GND van MPU6050

HC-05 Bluetooth bedrading

D9 => TX

D10 => RX

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

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

Stap 3: 3D -ontwerp en funksionaliteit

3D -ontwerp en funksionaliteit
3D -ontwerp en funksionaliteit
3D -ontwerp en funksionaliteit
3D -ontwerp en funksionaliteit
3D -ontwerp en funksionaliteit
3D -ontwerp en funksionaliteit
3D -ontwerp en funksionaliteit
3D -ontwerp en funksionaliteit

Ek het die 3D -ontwerp van Gimbal voltooi deur te verwys na ander Gimbals wat op die mark verkoop word. Daar is drie hoofkomponente wat met servomotors draai. Ek het 'n GoPro -houer ontwerp wat by sy grootte pas.

Die.step -lêer van alle 3D -ontwerp word onderaan gedeel om makliker te redigeer.

Stap 4: Beheermeganisme

Image
Image

Die hoofalgoritme van my Gimbal -projek gebruik Quaternion -rotasie, wat alternatief is vir Euler -hoeke. Ek het die helper_3dmath.h -biblioteek as verwysing gebruik om gladde beweging moontlik te maak deur die Quaternion -algoritme te gebruik. Alhoewel Pitch -as se reaksie glad is, vertraag die rolas om die beweging van die stok te reageer. Deur die Quaternion -algoritme te gebruik, kon ek Roll- en Pitch -servomotore beheer. As u die gaasas wil gebruik, moet u moontlik die tweede MPU6050 gebruik net om die as te beheer. As 'n alternatiewe oplossing, het ek die HC-05 en die yaw-as op afstand beheer met die Android-app met behulp van knoppies. In elke druk om die knoppie te druk, draai die servo van die as 10 grade.

In hierdie projek is die biblioteke wat ek ekstern moes invoer, soos volg;

1- I2Cdev.h // Gebruik met wire.h om kommunikasie met MPU6050 moontlik te maak

2- "MPU6050_6Axis_MotionApps20.h" // Gyroscope-biblioteek

3- // Dit maak dit moontlik om digitale penne om te skakel in RX- en TX-penne (dit is nodig vir 'n HC-05 Bluetooth-module)

4-

5- // Dit maak dit moontlik om te kommunikeer met I2C-toestelle wat twee datapennetjies gebruik (SDA en SCL) => MPU6050

Die hoofkode word deur Jeff Rowberg geskep, en ek het dit aangepas volgens my projekfunksionaliteit en kommentaar gelewer op alle funksies in die ino -lêer.

Aanbeveel: