Cuprins:

Rotiți și înclinați cardanul axei pentru GoPro folosind Arduino - Servo și giroscopul MPU6050: 4 pași
Rotiți și înclinați cardanul axei pentru GoPro folosind Arduino - Servo și giroscopul MPU6050: 4 pași

Video: Rotiți și înclinați cardanul axei pentru GoPro folosind Arduino - Servo și giroscopul MPU6050: 4 pași

Video: Rotiți și înclinați cardanul axei pentru GoPro folosind Arduino - Servo și giroscopul MPU6050: 4 pași
Video: FeiyuTech SPG Review PL 2024, Noiembrie
Anonim
Rotiți și montați axul cardanic pentru GoPro folosind Arduino - Servo și MPU6050 Gyro
Rotiți și montați axul cardanic pentru GoPro folosind Arduino - Servo și MPU6050 Gyro

Acest instructable a fost creat pentru a îndeplini cerința de proiect a Makecourse la Universitatea din Florida de Sud (www.makecourse.com)

Scopul acestui proiect a fost de a construi un cardan cu 3 axe pentru GoPro utilizând Arduino nano + 3 servo motoare + girometru / accelerometru MPU6050. În acest proiect, am controlat 2 axe (Roll and yaw) folosind girometru / accelerometru MPU6050, a treia axă (yaw) este controlată de la distanță și manual cu ajutorul aplicației HC-05 și Arduino BlueControl care se află în Android App Store.

Această lucrare include, de asemenea, toate fișierele de proiectare 3D ale componentelor mecanice ale Gimbal. Am partajat fișiere.stl pentru imprimare 3D ușoară și fișiere de proiectare 3D în partea de jos.

La începutul proiectului meu, planul meu era să construiesc cardan cu 3 axe cu 3 motoare fără perii, deoarece motoarele fără perii sunt netede și mai receptive în comparație cu servomotorii. Motoarele fără perii sunt utilizate în aplicații de mare viteză, astfel încât să putem regla viteza de cumpărare a motorului ESC (controler). Dar pentru a putea folosi motorul fără perii în proiectul Gimbal, mi-am dat seama că trebuie să conduc un motor fără perii ca un servo. La servomotoare, este cunoscută poziția motorului. Dar la motorul fără perii, nu cunoaștem poziția motorului, deci este un dezavantaj al motorului fără perii, pe care nu mi-am dat seama cum să-l conduc. La sfârșit, am decis să folosesc 3 servomotoare MG995 pentru cuplul ridicat necesar proiectului Gimbal. Am controlat 2 servo-motoare pentru rulare și pitch ax folosind MPU6050 giroscop și am controlat servo motor ax axial folosind HC-05 bluetooth și aplicația Android.

Pasul 1: Componente

Componente
Componente
Componente
Componente
Componente
Componente
Componente
Componente

Componentele pe care le-am folosit în acest proiect;

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

2- Servomotoare MG995 (3 unități)

3- Accelerometru / giroscop 3 axe GY-521 MPU6050 (1 unitate)

4- Modulul Bluetooth HC-05 (Pentru a controla de la distanță axa falcii (Servo3))

4- 5V încărcător portabil micro usb

Pasul 2: Implementarea a 3 servomotoare + MPU6050 Gyro + HC-05

Implementarea a 3 servomotoare + MPU6050 Gyro + HC-05
Implementarea a 3 servomotoare + MPU6050 Gyro + HC-05
Implementarea a 3 servomotoare + MPU6050 Gyro + HC-05
Implementarea a 3 servomotoare + MPU6050 Gyro + HC-05

Cablare servo

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

Servomotorele au 3 fire: VCC (roșu), GND (maro sau negru), PWM (galben).

D3 => Servo1 PWM (fir galben)

D4 => Servo2 PWM (fir galben)

D5 => Servo3 PWM (fir galben)

PIN de 5V al Arduino => VCC (roșu) a 3 servo-motoare.

PIN GND al Arduino => GND (maro sau negru) a 3 servo-motoare

Cablare giroscopică MPU6050

A4 => SDA

A5 => SCL

3,3 V PIN al Arduino => VCC al MPU6050

PIN GND al Arduino => GND din MPU6050

Cablare Bluetooth HC-05

D9 => TX

D10 => RX

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

PIN GND al Arduino => GND al HC-05 Bluetooth

Pasul 3: Proiectare 3D și funcționalitate

Proiectare 3D și funcționalitate
Proiectare 3D și funcționalitate
Proiectare 3D și funcționalitate
Proiectare 3D și funcționalitate
Proiectare 3D și funcționalitate
Proiectare 3D și funcționalitate
Proiectare 3D și funcționalitate
Proiectare 3D și funcționalitate

Am finalizat proiectarea 3D a Gimbal luând referință la alte Gimbals care sunt vândute pe piață. Există trei componente principale care se rotesc cu servomotoare. Am proiectat o montură GoPro care se potrivește cu dimensiunea sa.

Fișierul.step al tuturor proiectelor 3D este partajat în partea de jos pentru a permite editarea mai ușor.

Pasul 4: Mecanismul de control

Image
Image

Principalul algoritm al proiectului meu Gimbal folosește rotația cuaternionului, care este alternativă la unghiurile lui Euler. Am folosit biblioteca helper_3dmath.h ca referință pentru a permite mișcarea lină utilizând algoritmul Quaternion. Deși răspunsul axului pitch este neted, axa de rulare este întârziată pentru a răspunde mișcării bățului. Folosind algoritmul Quaternion, am reușit să controlez servo-motoarele Roll și Pitch. Dacă doriți să utilizați axa de girație, poate fi necesar să utilizați al doilea MPU6050 doar pentru a controla axa de girație. Ca o soluție alternativă, am configurat HC-05 și am controlat de la distanță axa falcii cu aplicația Android folosind butoane. La fiecare apăsare pentru a apăsa butonul, servo axa girației se rotește cu 10 grade.

În acest proiect, bibliotecile pe care a trebuit să le import extern sunt următoarele;

1- I2Cdev.h // Folosit cu wire.h pentru a permite comunicarea cu MPU6050

2- "MPU6050_6Axis_MotionApps20.h" // Biblioteca de giroscop

3- // Permite conversia pinilor digitali în pinii RX și TX (Este nevoie de modulul bluetooth HC-05)

4-

5- // Permite comunicarea cu dispozitive I2C care utilizează doi pini de date (SDA și SCL) => MPU6050

Codul principal este creat de Jeff Rowberg și l-am modificat în funcție de funcționalitatea proiectului meu și am comentat toate funcțiile din fișierul ino.

Recomandat: