Spisu treści:
- Krok 1: Komponenty
- Krok 2: Wdrożenie 3 serwomotorów + żyroskop MPU6050 + HC-05
- Krok 3: Projektowanie i funkcjonalność 3D
- Krok 4: Mechanizm kontroli
Wideo: Gimbal Roll and Pitch Axis dla GoPro przy użyciu Arduino - serwo i żyroskop MPU6050: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
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
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
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
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
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:
Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Uruchamianie Rainbow na Neopixel Ws2812 przy użyciu M5stack M5stick C przy użyciu Arduino IDE: 5 kroków
Neopixel Ws2812 Rainbow LED Glow z M5stick-C | Uruchamianie Rainbow na Neopixel Ws2812 Używając M5stack M5stick C Używając Arduino IDE: Cześć chłopaki, w tej instrukcji dowiemy się, jak używać neopikselowych ws2812 LED lub taśmy LED lub matrycy LED lub pierścienia LED z płytką rozwojową m5stack m5stick-C z Arduino IDE i zrobimy wzór tęczy z nim
Rzeczywistość rozszerzona (AR) dla Dragonboard410c lub Dragonboard820c przy użyciu OpenCV i Pythona 3.5: 4 kroki
Rzeczywistość rozszerzona (AR) dla Dragonboard410c lub Dragonboard820c Korzystanie z OpenCV i Pythona 3.5: W tej instrukcji opisano, jak zainstalować OpenCV, Python 3.5 i zależności dla Pythona 3.5, aby uruchomić aplikację rozszerzonej rzeczywistości
Port UC/OS III dla Nucleo-L073RZ przy użyciu Atollic TureSTUDIO IDE.: 3 kroki
Port UC/OS III dla Nucleo-L073RZ przy użyciu Atollic TureSTUDIO IDE.: Ten projekt jest prostym programem z diodami LED opracowanym w uC/OS III RTOS, który został pobrany ze strony internetowej Micrium tutaj i przeniesiony na płytę Nucleo-L073RZ i jest gotowy do użycia w Atollic TureSTUDIO. Ten port został przetestowany tylko tak, jak jest
GY-521 MPU6050 3-osiowy żyroskop akceleracyjny 6DOF Samouczek: 4 kroki
GY-521 MPU6050 3-osiowy żyroskop akceleracyjny 6DOF Samouczek: OpisTen prosty moduł zawiera wszystko, co jest wymagane do połączenia z Arduino i innymi kontrolerami przez I2C (użyj biblioteki Wire Arduino) i podaje informacje o wykrywaniu ruchu dla 3 osi - X, Y i Z .Dane techniczne Zakresy akcelerometru: ±2, ±
Praktyczny przewodnik po Galaktyce dla autostopowicza przy użyciu Kiwix: 4 kroki
Praktyczny przewodnik po Galaktyce Autostopowicza przy użyciu Kiwix: Ten samouczek pomoże Ci stworzyć praktyczną wersję Przewodnika po Galaktyce Autostopowicza przy użyciu offline Wikipedii i aplikacji Kiwix na Androida. Kiwix umożliwia korzystanie z wielu różnych treści offline, takich jak Ted talks i Project Gute