Turinys:

Roll ir Pitch Axis Gimbal, skirtas „GoPro“, naudojant „Arduino“- „Servo“ir „MPU6050“giroskopą: 4 žingsniai
Roll ir Pitch Axis Gimbal, skirtas „GoPro“, naudojant „Arduino“- „Servo“ir „MPU6050“giroskopą: 4 žingsniai

Video: Roll ir Pitch Axis Gimbal, skirtas „GoPro“, naudojant „Arduino“- „Servo“ir „MPU6050“giroskopą: 4 žingsniai

Video: Roll ir Pitch Axis Gimbal, skirtas „GoPro“, naudojant „Arduino“- „Servo“ir „MPU6050“giroskopą: 4 žingsniai
Video: Roll Axis Gimbal Sloping 2024, Lapkritis
Anonim
„Roll and Pitch Axis Gimbal“, skirtas „GoPro“, naudojant „Arduino“- „Servo“ir „MPU6050 Gyro“
„Roll and Pitch Axis Gimbal“, skirtas „GoPro“, naudojant „Arduino“- „Servo“ir „MPU6050 Gyro“

Šis nurodymas buvo sukurtas vykdant Pietų Floridos universiteto „Makecourse“projekto reikalavimą (www.makecourse.com)

Šio projekto tikslas buvo sukurti 3 ašių „Gimbal“, skirtą „GoPro“, naudojant „Arduino nano“+ 3 servo variklius + MPU6050 giroskopą/akselerometrą. Šiame projekte aš valdžiau 2 ašis (posūkį ir posūkį), naudodamas giroskopą/akselerometrą MPU6050, trečią ašį (posūkį) valdo nuotoliniu būdu ir rankiniu būdu, naudojant HC-05 ir „Arduino BlueControl“programą, esančią „Android App Store“.

Šis darbas taip pat apima visus „Gimbal“mechaninių komponentų 3D dizaino failus. Aš bendrinau.stl failus, kad būtų galima lengvai spausdinti 3D, ir 3D dizaino failus apačioje.

Projekto pradžioje mano planas buvo sukurti 3 ašių kardaninį variklį su 3 varikliais be šepetėlių, nes bešepetėliai varikliai yra lygūs ir reaguoja geriau nei servo varikliai. Varikliai be šepetėlių naudojami didelio greičio programose, todėl galime reguliuoti variklio pirkimo greitį ESC (valdiklis). Tačiau norėdamas „Gimbal“projekte naudoti variklį be šepetėlių, supratau, kad turiu vairuoti bešepetį variklį kaip servo. Servo varikliuose variklio padėtis žinoma. Bet variklyje be šepetėlių mes nežinome variklio padėties, todėl variklio be šepetėlių trūkumas yra tas, kad aš negalėjau suprasti, kaip jį vairuoti. Pabaigoje nusprendžiau naudoti 3 MG995 servo variklius, kad būtų pasiektas didelis sukimo momentas, reikalingas Gimbal projektui. Aš valdiau 2 servo variklius, skirtus ritiniui ir žingsnio ašiai, naudodamas giroskopą MPU6050, o sukimosi ašies servo variklį valdiau naudodamas „Bluetooth“„Bluetooth“ir „Android“programą.

1 žingsnis: komponentai

Komponentai
Komponentai
Komponentai
Komponentai
Komponentai
Komponentai
Komponentai
Komponentai

Komponentai, kuriuos naudojau šiame projekte;

1- „Arduino Nano“(1 vienetas) („Micro USB“)

2- MG995 Servo varikliai (3 vnt.)

3- GY-521 MPU6050 3 ašių akselerometras/giroskopas (1 vienetas)

4- HC-05 „Bluetooth“modulis (nuotoliniu būdu valdyti posūkio („Servo3“) ašį)

4- 5V nešiojamasis mikro usb įkroviklis

2 žingsnis: Įdiekite 3 servo variklius + MPU6050 Gyro + HC-05

Įdiegti 3 servo varikliai + MPU6050 Gyro + HC-05
Įdiegti 3 servo varikliai + MPU6050 Gyro + HC-05
Įdiegti 3 servo varikliai + MPU6050 Gyro + HC-05
Įdiegti 3 servo varikliai + MPU6050 Gyro + HC-05

Servo laidai

Servo1 (ritinys), servo2 (žingsnis), servo3 (pasukimas)

Servo varikliai turi 3 laidus: VCC (raudona), GND (ruda arba juoda), PWM (geltona).

D3 => Servo1 PWM (geltona viela)

D4 => Servo2 PWM (geltona viela)

D5 => Servo3 PWM (geltona viela)

„Arduino“5V PIN kodas => 3 servo variklių VCC (raudona).

Arduino GND PIN kodas => 3 servo variklių GND (ruda arba juoda)

Giroskopo laidai MPU6050

A4 => SDA

A5 => SCL

3,3 V „Arduino“PIN kodas => MPU6050 VCC

Arduino GND PIN kodas => MPN6050 GND

„HC-05“„Bluetooth“laidai

D9 => TX

D10 => RX

3,3 V „Arduino“PIN kodas => „HC-05 Bluetooth“VCC

„Arduino“GND PIN kodas => „HC-05 Bluetooth“GND

3 žingsnis: 3D dizainas ir funkcionalumas

3D dizainas ir funkcionalumas
3D dizainas ir funkcionalumas
3D dizainas ir funkcionalumas
3D dizainas ir funkcionalumas
3D dizainas ir funkcionalumas
3D dizainas ir funkcionalumas
3D dizainas ir funkcionalumas
3D dizainas ir funkcionalumas

Aš baigiau „Gimbal“3D dizainą, remdamasis kitais rinkoje parduodamais „Gimbals“. Yra trys pagrindiniai komponentai, kurie sukasi su servo varikliais. Aš sukūriau „GoPro“laikiklį, kuris atitinka jo dydį.

Viso 3D dizaino.step failas bendrinamas apačioje, kad būtų lengviau redaguoti.

4 žingsnis: valdymo mechanizmas

Image
Image

Pagrindinis mano „Gimbal“projekto algoritmas naudoja „Quaternion“sukimą, kuris yra alternatyva Eulerio kampams. Aš naudoju helper_3dmath.h biblioteką kaip nuorodą, kad būtų galima sklandžiai judėti naudojant Quaternion algoritmą. Nors posūkio ašies atsakas sklandus, ritinio ašis atsilieka, kad reaguotų į lazdos judesį. Naudodamas „Quaternion“algoritmą, galėjau valdyti „Roll“ir „Pitch“servo variklius. Jei norite naudoti posūkio ašį, gali tekti naudoti antrąjį MPU6050 tik sukimosi ašiai valdyti. Kaip alternatyvų sprendimą, sukonfigūravau HC-05 ir valdiau posūkio ašį nuotoliniu būdu naudodami „Android“programą, naudodamas mygtukus. Kiekvieną kartą paspaudus mygtuką, pasukimo ašies servo sistema sukasi 10 laipsnių.

Šiame projekte bibliotekos, kurias turėjau importuoti iš išorės, yra šios;

1- I2Cdev.h // Naudojamas su wire.h, kad būtų galima užmegzti ryšį su MPU6050

2- "MPU6050_6Axis_MotionApps20.h" // Giroskopo biblioteka

3- // Tai leidžia konvertuoti skaitmeninius kaiščius į RX ir TX kaiščius (reikia HC-05 „Bluetooth“modulio)

4-

5- // Tai leidžia bendrauti su I2C įrenginiais, kuriuose naudojami du duomenų kaiščiai (SDA ir SCL) => MPU6050

Pagrindinį kodą sukūrė Jeffas Rowbergas, aš jį pakeičiau pagal savo projekto funkcionalumą ir pakomentavau visas funkcijas ino faile.

Rekomenduojamas: