Tartalomjegyzék:

Roll and Pitch Axis Gimbal for GoPro for Arduino - Servo and MPU6050 Gyro: 4 lépés
Roll and Pitch Axis Gimbal for GoPro for Arduino - Servo and MPU6050 Gyro: 4 lépés

Videó: Roll and Pitch Axis Gimbal for GoPro for Arduino - Servo and MPU6050 Gyro: 4 lépés

Videó: Roll and Pitch Axis Gimbal for GoPro for Arduino - Servo and MPU6050 Gyro: 4 lépés
Videó: DIY Gimbal | Arduino and MPU6050 Tutorial 2024, December
Anonim
Roll and Pitch Axis Gimbal for GoPro for Arduino - Servo and MPU6050 Gyro
Roll and Pitch Axis Gimbal for GoPro for Arduino - Servo and MPU6050 Gyro

Ez az oktatóanyag a Dél -Floridai Egyetem Makecourse projektkövetelményének teljesítésével jött létre (www.makecourse.com)

A projekt célja az volt, hogy egy 3 tengelyes Gimbal-t készítsen a GoPro számára Arduino nano + 3 szervomotorral + MPU6050 giroszkóp/gyorsulásmérővel. Ebben a projektben az MPU6050 giroszkóp/gyorsulásmérő segítségével vezéreltem a 2 tengelyt (Roll and Yaw)..

Ez a munka magában foglalja a Gimbal mechanikus alkatrészeinek összes 3D -s tervezési fájlját is. Megosztottam.stl fájlokat a könnyű 3D nyomtatáshoz, és 3D tervezési fájlokat az alján.

A projektem elején az volt a tervem, hogy 3 tengelyes kardántengelyt építek 3 kefe nélküli motorral, mivel a kefe nélküli motorok simaak és érzékenyebbek a szervomotorokhoz képest. A kefe nélküli motorokat nagysebességű alkalmazásokban használják, így beállíthatjuk a motorvásárlás ESC (vezérlő) sebességét. De ahhoz, hogy a kefe nélküli motort használhassam a Gimbal projektben, rájöttem, hogy úgy kell vezetnem a kefe nélküli motort, mint egy szervót. Szervómotorokban a motor helyzete ismert. A kefe nélküli motoroknál azonban nem ismerjük a motor helyzetét, ezért ez a kefe nélküli motor hátránya, amelyre nem tudtam rájönni, hogyan kell meghajtani. Végül úgy döntöttem, hogy 3 MG995 szervomotorral fogom használni a nagy nyomatékú Gimbal projektet. Az MPU6050 giroszkóp segítségével 2 szervómotort irányítottam a gördülési és dőléstengelyekhez, az elfordulási tengely szervomotorját pedig HC-05 bluetooth és Android applikációval.

1. lépés: Alkatrészek

Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek

Az összetevők, amelyeket ebben a projektben használtam;

1- Arduino Nano (1 egység) (Micro usb)

2- MG995 szervomotorok (3 egység)

3- GY-521 MPU6050 3 tengelyes gyorsulásmérő/giroszkóp (1 egység)

4- HC-05 Bluetooth modul (az elfordulási (Servo3) tengely távoli vezérléséhez)

4-5V-os micro usb hordozható töltő

2. lépés: 3 szervomotor + MPU6050 gyro + HC-05 megvalósítása

3 szervomotor + MPU6050 gyro + HC-05 megvalósítása
3 szervomotor + MPU6050 gyro + HC-05 megvalósítása
3 szervomotor + MPU6050 gyro + HC-05 megvalósítása
3 szervomotor + MPU6050 gyro + HC-05 megvalósítása

Szervóvezetékek

Szervo1 (tekercs), szervo2 (hangmagasság), szervo3 (elfordulás)

A szervomotoroknak 3 vezetéke van: VCC (piros), GND (barna vagy fekete), PWM (sárga).

D3 => Szervo1 PWM (sárga vezeték)

D4 => Servo2 PWM (sárga vezeték)

D5 => Servo3 PWM (sárga vezeték)

Arduino 5V PIN -je => 3 szervomotor VCC (piros).

Arduino GND PIN -je => 3 szervomotor GND (barna vagy fekete)

MPU6050 giroszkóp huzalozás

A4 => SDA

A5 => SCL

3,3 V Arduino PIN => MPU6050 VCC

Az Arduino GND PIN -kódja => GND az MPU6050 -ből

HC-05 Bluetooth vezeték

D9 => TX

D10 => RX

3.3 V Arduino PIN-kód => HC-05 Bluetooth VCC

Az Arduino GND PIN-kódja => A HC-05 Bluetooth GND-je

3. lépés: 3D tervezés és funkcionalitás

3D tervezés és funkcionalitás
3D tervezés és funkcionalitás
3D tervezés és funkcionalitás
3D tervezés és funkcionalitás
3D tervezés és funkcionalitás
3D tervezés és funkcionalitás
3D tervezés és funkcionalitás
3D tervezés és funkcionalitás

Elkészítettem a Gimbal 3D -s tervezését, figyelembe véve a piacon értékesített egyéb Gimbals -t. Három fő alkatrész van, amelyek szervomotorokkal forognak. Terveztem egy GoPro tartót, amely megfelel a méretének.

A szerkesztés megkönnyítése érdekében az összes 3D -s.step fájl alul van megosztva.

4. lépés: Vezérlőmechanizmus

Image
Image

A Gimbal projektem fő algoritmusa Quaternion forgatást használ, amely az Euler szögek alternatívája. A helper_3dmath.h könyvtárat használtam referenciaként, hogy lehetővé tegyem a zökkenőmentes mozgást a Quaternion algoritmus használatával. Bár a Pitch tengely reakciója zökkenőmentes, a tekercs tengelye késik, hogy reagáljon a bot mozgására. A Quaternion algoritmus használatával sikerült szabályoznom a Roll és Pitch szervomotorokat. Ha használni szeretné az elfordulási tengelyt, akkor előfordulhat, hogy a második MPU6050 -t kell használnia, csak az elfordulási tengely vezérléséhez. Alternatív megoldásként konfiguráltam a HC-05-t, és az androidos alkalmazással távolról vezéreltem az elfordulási tengelyt gombokkal. A nyomógomb minden megnyomásakor az elfordulási tengely szervója 10 fokkal elfordul.

Ebben a projektben a könyvtárak, amelyeket külsőleg kellett importálnom, a következők;

1- I2Cdev.h // A wire.h-val használható, hogy lehetővé tegye a kommunikációt az MPU6050 készülékkel

2- "MPU6050_6Axis_MotionApps20.h" // Giroszkóp könyvtár

3- // Lehetővé teszi a digitális tűk RX és TX csapokká alakítását (szükséges a HC-05 Bluetooth modulhoz)

4-

5- // Lehetővé teszi a kommunikációt az I2C eszközökkel, amelyek két adatcsapot (SDA és SCL) használnak => MPU6050

A fő kódot Jeff Rowberg készítette, és a projekt funkcióinak megfelelően módosítottam, és megjegyzést fűztem az ino fájl összes funkciójához.

Ajánlott: