Sommario:
- Passaggio 1: componenti
- Passaggio 2: implementazione di 3 servomotori + giroscopio MPU6050 + HC-05
- Passaggio 3: design e funzionalità 3D
- Passaggio 4: meccanismo di controllo
Video: Gimbal Roll and Pitch Axis per GoPro con Arduino - Servo e giroscopio MPU6050: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Questo istruttivo è stato creato in adempimento del requisito del progetto del Makecourse presso la University of South Florida (www.makecourse.com)
L'obiettivo di questo progetto era costruire un Gimbal a 3 assi per GoPro utilizzando Arduino nano + 3 servomotori + giroscopio/accelerometro MPU6050. In questo progetto, ho controllato 2 assi (rollio e imbardata) utilizzando il giroscopio/accelerometro MPU6050, il terzo asse (imbardata) è controllato in remoto e manualmente con l'aiuto dell'HC-05 e dell'app Arduino BlueControl che si trova nell'App Store Android.
Questo lavoro include anche tutti i file di progettazione 3D dei componenti meccanici di Gimbal. Ho condiviso file.stl per una facile stampa 3D e file di progettazione 3D in basso.
All'inizio del mio progetto, il mio piano era di costruire un gimbal a 3 assi con 3 motori brushless, perché i motori brushless sono fluidi e più reattivi rispetto ai servomotori. I motori brushless sono utilizzati in applicazioni ad alta velocità, quindi possiamo regolare la velocità dell'acquisto del motore ESC (controller). Ma per poter utilizzare il motore brushless nel progetto Gimbal, mi sono reso conto che devo guidare il motore brushless come un servo. Nei servomotori la posizione del motore è nota. Ma nel motore brushless, non conosciamo la posizione del motore, quindi è un inconveniente del motore brushless che non sono riuscito a capire come guidarlo. Alla fine ho deciso di utilizzare 3 servomotori MG995 per il progetto Gimbal ad alta coppia richiesta. Ho controllato 2 servomotori per l'asse di rollio e beccheggio utilizzando il giroscopio MPU6050 e ho controllato il servomotore dell'asse di imbardata utilizzando il bluetooth HC-05 e l'app Android.
Passaggio 1: componenti
I componenti che ho utilizzato in questo progetto;
1- Arduino Nano (1 unità) (Micro usb)
2- Servomotori MG995 (3 unità)
3- GY-521 MPU6050 Accelerometro/giroscopio a 3 assi (1 unità)
4- Modulo Bluetooth HC-05 (per controllare l'asse di imbardata (Servo3) a distanza)
4- 5V caricatore portatile micro usb
Passaggio 2: implementazione di 3 servomotori + giroscopio MPU6050 + HC-05
Cablaggio servo
Servo1 (Roll), Servo2 (Pitch), Servo3 (Yaw)
I servomotori hanno 3 fili: VCC (rosso), GND (marrone o nero), PWM (giallo).
D3 => Servo1 PWM (filo giallo)
D4 => Servo2 PWM (filo giallo)
D5 => Servo3 PWM (filo giallo)
PIN 5V di Arduino => VCC(rosso) di 3 servomotori.
GND PIN di Arduino => GND (marrone o nero) di 3 servomotori
Cablaggio giroscopio MPU6050
A4 => SDA
A5 => SCL
PIN 3.3 V di Arduino => VCC di MPU6050
GND PIN di Arduino => GND di MPU6050
Cablaggio Bluetooth HC-05
D9 => TX
D10 => RX
PIN 3.3 V di Arduino => VCC di HC-05 Bluetooth
GND PIN di Arduino => GND di HC-05 Bluetooth
Passaggio 3: design e funzionalità 3D
Ho completato la progettazione 3D di Gimbal prendendo come riferimento altri Gimbal venduti sul mercato. Ci sono tre componenti principali che ruotano con servomotori. Ho progettato un supporto GoPro che si adatta alle sue dimensioni.
Il file.step di tutti i progetti 3D è condiviso in basso per consentire la modifica più semplice.
Passaggio 4: meccanismo di controllo
L'algoritmo principale del mio progetto Gimbal utilizza la rotazione Quaternion che è alternativa agli angoli di Eulero. Ho usato la libreria helper_3dmath.h come riferimento per consentire un movimento fluido utilizzando l'algoritmo Quaternion. Sebbene la risposta dell'asse di beccheggio sia uniforme, l'asse di rollio è in ritardo per rispondere al movimento dello stick. Utilizzando l'algoritmo Quaternion, sono stato in grado di controllare i servomotori Roll e Pitch. Se si desidera utilizzare l'asse di imbardata, potrebbe essere necessario utilizzare il secondo MPU6050 solo per controllare l'asse di imbardata. Come soluzione alternativa, ho configurato HC-05 e controllato l'asse di imbardata da remoto con l'app Android utilizzando i pulsanti. Ad ogni pressione del pulsante, il servo dell'asse di imbardata ruota di 10 gradi.
In questo progetto, le librerie che ho dovuto importare esternamente sono le seguenti;
1- I2Cdev.h // Utilizzato con wire.h per abilitare la comunicazione con MPU6050
2- "MPU6050_6Axis_MotionApps20.h" // Libreria giroscopio
3- // Consente di convertire i pin digitali in pin RX e TX (è necessario il modulo bluetooth HC-05)
4-
5- // Permette di comunicare con dispositivi I2C che utilizzano due pin dati (SDA e SCL) =>MPU6050
Il codice principale è stato creato da Jeff Rowberg e l'ho modificato in base alla funzionalità del mio progetto e ho commentato tutte le funzioni nel file ino.
Consigliato:
Piattaforma giroscopio/Gimbal fotocamera: 5 passaggi (con immagini)
Giroscopio Platform/ Camera Gimbal: questo istruttivo è stato creato per soddisfare i requisiti del progetto Makecourse presso la University of South Florida (www.makecourse.com)
GY-521 MPU6050 Modulo giroscopio con accelerazione a 3 assi 6DOF Tutorial: 4 passaggi
GY-521 MPU6050 Modulo giroscopio con accelerazione a 3 assi 6DOF Tutorial: DescrizioneQuesto semplice modulo contiene tutto il necessario per interfacciarsi con Arduino e altri controller tramite I2C (usare la libreria Wire Arduino) e fornire informazioni di rilevamento del movimento per 3 assi - X, Y e Z .SpecificheGamma accelerometro: ±2, ±
Simulatore di gioco per smartphone: gioca a giochi per Windows utilizzando il controllo gestuale IMU, accelerometro, giroscopio, magnetometro: 5 passaggi
Simulatore di gioco per smartphone: gioca a giochi per Windows utilizzando il controllo gestuale IMU, accelerometro, giroscopio, magnetometro: supporta questo progetto: https://www.paypal.me/vslcreations donando a codici open-source & supporto per un ulteriore sviluppo
Gimbal palmare estensibile per GoPro/SJ4000/Xiaomi Yi/iLook: 9 passaggi (con immagini)
Gimbal portatile estensibile per GoPro/SJ4000/Xiaomi Yi/iLook: questo tutorial ti guiderà come hackerare un selfie stick e un gimbal 2D per creare un gimbal portatile estensibile in grado di montare fotocamere come GoPro SJ4000/5000/6000 Xiaomi Yi Walkera iLook. Un Gimbal è un meccanismo di stabilizzazione che rem
Arduino Nano e Visuino: convertire l'accelerazione in angolo da accelerometro e giroscopio MPU6050 Sensore I2C: 8 passaggi (con immagini)
Arduino Nano e Visuino: convertire l'accelerazione in angolo da accelerometro e giroscopio MPU6050 Sensore I2C: Tempo fa ho pubblicato un tutorial su come collegare l'accelerometro, il giroscopio e il sensore bussola MPU9250 ad Arduino Nano e programmarlo con Visuino per inviare dati a pacchetto e visualizzare su un oscilloscopio e strumenti visivi. L'accelerometro invia X, Y