Obsah:

Roll and Pitch Axis Gimbal for GoPro using Arduino - Servo and MPU6050 Gyro: 4 Steps
Roll and Pitch Axis Gimbal for GoPro using Arduino - Servo and MPU6050 Gyro: 4 Steps

Video: Roll and Pitch Axis Gimbal for GoPro using Arduino - Servo and MPU6050 Gyro: 4 Steps

Video: Roll and Pitch Axis Gimbal for GoPro using Arduino - Servo and MPU6050 Gyro: 4 Steps
Video: DIY Gimbal | Arduino and MPU6050 Tutorial 2024, Prosinec
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

Tento instruktáž byl vytvořen při splnění požadavku projektu Makecourse na University of South Florida (www.makecourse.com)

Cílem tohoto projektu bylo postavit 3osý kardan pro GoPro pomocí Arduino nano + 3 servomotory + gyroskop/akcelerometr MPU6050. V tomto projektu jsem ovládal 2osé (Roll and Yaw) pomocí gyroskopu/akcelerometru MPU6050, třetí osa (yaw) se ovládá dálkově a ručně pomocí aplikace HC-05 a Arduino BlueControl, která je v Android App Store.

Tato práce také zahrnuje všechny 3D návrhové soubory mechanických součástí Gimbalu. Ve spodní části jsem sdílel soubory.stl pro snadný 3D tisk a soubory 3D designu.

Na začátku mého projektu bylo mým plánem vybudovat 3osý kardan se 3 bezkartáčovými motory, protože bezkartáčové motory jsou ve srovnání se servomotory hladké a citlivější. Střídavé motory se používají ve vysokorychlostních aplikacích, takže můžeme upravit rychlost nákupu motoru ESC (regulátor). Ale abych mohl v projektu Gimbal používat bezkartáčový motor, uvědomil jsem si, že musím řídit střídavý motor jako servo. U servomotorů je poloha motoru známá. Ale v bezkartáčovém motoru neznáme polohu motoru, takže je to nevýhoda bezkartáčového motoru, u kterého jsem nemohl přijít na to, jak ho řídit. Nakonec jsem se rozhodl použít 3 servomotory MG995 pro projekt Gimbal vyžadující vysoký točivý moment. Ovládal jsem 2 servomotory pro osu naklápění a stoupání pomocí gyroskopu MPU6050 a servomotor osy stáčení jsem ovládal pomocí bluetooth a Android aplikace HC-05.

Krok 1: Součásti

Komponenty
Komponenty
Komponenty
Komponenty
Komponenty
Komponenty
Komponenty
Komponenty

Komponenty, které jsem použil v tomto projektu;

1- Arduino Nano (1 jednotka) (Micro USB)

2- servomotory MG995 (3 jednotky)

3-osý akcelerometr/gyroskop GY-521 MPU6050 (1 jednotka)

4- Modul Bluetooth HC-05 (pro dálkové ovládání osy zatáčení (Servo3))

4- 5V přenosná micro USB nabíječka

Krok 2: Implementace 3 servomotorů + MPU6050 Gyro + HC-05

Implementace 3 servomotorů + MPU6050 Gyro + HC-05
Implementace 3 servomotorů + MPU6050 Gyro + HC-05
Implementace 3 servomotorů + MPU6050 Gyro + HC-05
Implementace 3 servomotorů + MPU6050 Gyro + HC-05

Servo zapojení

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

Servomotory mají 3 vodiče: VCC (červený), GND (hnědý nebo černý), PWM (žlutý).

D3 => Servo1 PWM (žlutý vodič)

D4 => Servo2 PWM (žlutý vodič)

D5 => Servo3 PWM (žlutý vodič)

5V PIN Arduina => VCC (červený) ze 3 servomotorů.

GND PIN Arduina => GND (hnědý nebo černý) 3 servomotorů

MPU6050 gyroskopické zapojení

A4 => SDA

A5 => SCL

PIN 3,3 V Arduina => VCC MPU6050

GND PIN Arduina => GND MPU6050

Zapojení Bluetooth HC-05

D9 => TX

D10 => RX

PIN 3,3 V Arduina => VCC Bluetooth HC-05

GND PIN Arduina => GND Bluetooth HC-05

Krok 3: 3D design a funkčnost

3D design a funkčnost
3D design a funkčnost
3D design a funkčnost
3D design a funkčnost
3D design a funkčnost
3D design a funkčnost
3D design a funkčnost
3D design a funkčnost

Dokončil jsem 3D návrh Gimbalu odkazem na jiné Gimbals, které se prodávají na trhu. Existují tři hlavní součásti, které se otáčejí se servomotory. Navrhl jsem držák GoPro, který odpovídá jeho velikosti.

Soubor.step všech 3D návrhů je sdílen ve spodní části, což usnadňuje úpravy.

Krok 4: Mechanismus ovládání

Image
Image

Hlavní algoritmus mého projektu Gimbal používá rotaci Quaternion, která je alternativou k Eulerovým úhlům. Jako referenci jsem použil knihovnu helper_3dmath.h, která umožnila plynulý pohyb pomocí algoritmu Quaternion. Přestože je odezva osy Pitch hladká, osa roll zpomaluje, aby reagovala na pohyb páčky. Pomocí algoritmu Quaternion jsem dokázal ovládat servomotory Roll a Pitch. Pokud chcete použít osu zatáčení, možná budete muset použít druhou MPU6050 pouze k ovládání osy zatáčení. Jako alternativní řešení jsem nakonfiguroval HC-05 a dálkově ovládal osu zatáčení pomocí aplikace pro Android pomocí tlačítek. Při každém stisknutí tlačítka se servo osy vytočení otočí o 10 stupňů.

V tomto projektu jsou knihovny, které jsem musel externě importovat, následující:

1- I2Cdev.h // Používá se s wire.h k povolení komunikace s MPU6050

2- "MPU6050_6Axis_MotionApps20.h" // knihovna gyroskopu

3- // Umožňuje převádět digitální piny na piny RX a TX (Je potřeba pro bluetooth modul HC-05)

4-

5- // Umožňuje komunikaci se zařízeními I2C, které používají dva datové piny (SDA a SCL) => MPU6050

Hlavní kód je vytvořen Jeffem Rowbergem a já jsem jej upravil podle funkcionality svého projektu a všechny funkce okomentoval v souboru ino.

Doporučuje: