Spisu treści:

Gimbal Roll and Pitch Axis dla GoPro przy użyciu Arduino - serwo i żyroskop MPU6050: 4 kroki
Gimbal Roll and Pitch Axis dla GoPro przy użyciu Arduino - serwo i żyroskop MPU6050: 4 kroki

Wideo: Gimbal Roll and Pitch Axis dla GoPro przy użyciu Arduino - serwo i żyroskop MPU6050: 4 kroki

Wideo: Gimbal Roll and Pitch Axis dla GoPro przy użyciu Arduino - serwo i żyroskop MPU6050: 4 kroki
Wideo: Feiyu-Tech G6 3 Axis Action Camera Gimbal (GoPro) : REVIEW & Sample Footage! 2024, Listopad
Anonim
Gimbal Roll and Pitch Axis dla GoPro z Arduino - Servo i MPU6050 Gyro
Gimbal Roll and Pitch Axis dla GoPro z Arduino - Servo i MPU6050 Gyro

Ta instrukcja została stworzona w celu spełnienia wymagań projektowych Makecourse na University of South Florida (www.makecourse.com)

Celem tego projektu było zbudowanie 3-osiowego gimbala dla GoPro przy użyciu Arduino nano + 3 serwosilników + żyroskopu/akcelerometru MPU6050. W tym projekcie sterowałem 2 osiami (przechylenie i odchylenie) za pomocą żyroskopu/akcelerometru MPU6050, trzecia oś (odchylenie) jest sterowana zdalnie i ręcznie za pomocą aplikacji HC-05 i Arduino BlueControl, która znajduje się w Android App Store.

Ta praca obejmuje również wszystkie pliki projektowe 3D elementów mechanicznych Gimbala. Udostępniłem pliki.stl do łatwego drukowania 3D i pliki projektów 3D na dole.

Na początku mojego projektu moim planem było zbudowanie 3-osiowego gimbala z 3 silnikami bezszczotkowymi, ponieważ silniki bezszczotkowe są płynne i bardziej responsywne w porównaniu do serwosilników. Silniki bezszczotkowe są używane w aplikacjach o dużej prędkości, dzięki czemu możemy dostosować prędkość silnika kupując ESC (kontroler). Ale aby móc używać silnika bezszczotkowego w projekcie Gimbal, zdałem sobie sprawę, że muszę jeździć silnikiem bezszczotkowym jak serwomechanizmem. W serwomotorach znane jest położenie silnika. Ale w silniku bezszczotkowym nie znamy położenia silnika, więc jest to wada silnika bezszczotkowego, którego nie mogłem rozgryźć, jak go napędzać. Na koniec zdecydowałem się użyć 3 serwomotorów MG995 do projektu gimbala o wysokim momencie obrotowym. Kontrolowałem 2 serwosilniki dla osi obrotu i pochylenia za pomocą żyroskopu MPU6050, a serwomotor osi odchylenia sterowałem za pomocą bluetooth HC-05 i aplikacji na Androida.

Krok 1: Komponenty

składniki
składniki
składniki
składniki
składniki
składniki
składniki
składniki

Komponenty, których użyłem w tym projekcie;

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

2-silniki serwo MG995 (3 sztuki)

3-GY-521 MPU6050 3-osiowy Akcelerometr/Żyroskop (1 szt.)

4- HC-05 Moduł Bluetooth (do zdalnego sterowania osią odchylenia (Servo3))

Przenośna ładowarka micro USB 4- 5 V

Krok 2: Wdrożenie 3 serwomotorów + żyroskop MPU6050 + HC-05

Wdrożenie 3 serwomotorów + żyroskop MPU6050 + HC-05
Wdrożenie 3 serwomotorów + żyroskop MPU6050 + HC-05
Wdrożenie 3 serwomotorów + żyroskop MPU6050 + HC-05
Wdrożenie 3 serwomotorów + żyroskop MPU6050 + HC-05

Okablowanie serwa

Servo1 (rolka), Servo2 (skok), Servo3 (odchylenie)

Serwosilniki mają 3 przewody: VCC (czerwony), GND (brązowy lub czarny), PWM (żółty).

D3 => Servo1 PWM (żółty przewód)

D4 => Servo2 PWM (żółty przewód)

D5 => Servo3 PWM (żółty przewód)

PIN 5V Arduino => VCC (czerwony) 3 serwosilników.

PIN GND Arduino => GND (brązowy lub czarny) 3 serwosilników

Okablowanie żyroskopowe MPU6050

A4 => SDA

A5 => SCL

3,3 V PIN Arduino => VCC MPU6050

PIN GND Arduino => GND MPU6050

Okablowanie Bluetooth HC-05

D9 => TX

D10 => RX

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

PIN GND Arduino => GND HC-05 Bluetooth

Krok 3: Projektowanie i funkcjonalność 3D

Projektowanie i funkcjonalność 3D
Projektowanie i funkcjonalność 3D
Projektowanie i funkcjonalność 3D
Projektowanie i funkcjonalność 3D
Projektowanie i funkcjonalność 3D
Projektowanie i funkcjonalność 3D
Projektowanie i funkcjonalność 3D
Projektowanie i funkcjonalność 3D

Ukończyłem projekt 3D Gimbala na podstawie innych Gimbali, które są sprzedawane na rynku. Istnieją trzy główne elementy, które obracają się z serwosilnikami. Zaprojektowałem uchwyt GoPro, który pasuje do jego rozmiaru.

Plik.step wszystkich projektów 3D jest udostępniany na dole, aby ułatwić edycję.

Krok 4: Mechanizm kontroli

Image
Image

Główny algorytm mojego projektu Gimbal wykorzystuje obrót Quaternion, który jest alternatywą dla kątów Eulera. Użyłem biblioteki helper_3dmath.h jako odniesienia, aby umożliwić płynne poruszanie się za pomocą algorytmu Quaternion. Chociaż reakcja osi Pitch jest płynna, oś roll pozostaje w tyle, aby reagować na ruch drążka. Za pomocą algorytmu Quaternion mogłem sterować serwomotorami Roll i Pitch. Jeśli chcesz użyć osi odchylenia, może być konieczne użycie drugiego MPU6050 tylko do sterowania osią odchylenia. Jako alternatywne rozwiązanie skonfigurowałem HC-05 i sterowałem osią odchylenia zdalnie za pomocą aplikacji na Androida za pomocą przycisków. Za każdym naciśnięciem przycisku serwo osi odchylenia obraca się o 10 stopni.

W tym projekcie biblioteki, które musiałem zaimportować zewnętrznie, są następujące;

1- I2Cdev.h // Używany z wire.h w celu umożliwienia komunikacji z MPU6050

2- "MPU6050_6Axis_MotionApps20.h" // Biblioteka żyroskopów

3- // Umożliwia konwersję pinów cyfrowych na piny RX i TX (wymaga modułu bluetooth HC-05)

4-

5- // Umożliwia komunikację z urządzeniami I2C wykorzystującymi dwa piny danych (SDA i SCL) =>MPU6050

Główny kod jest tworzony przez Jeffa Rowberga i zmodyfikowałem go zgodnie z funkcjonalnością mojego projektu i skomentowałem wszystkie funkcje w pliku ino.

Zalecana: