Taula de continguts:

Gimbal Roll and Pitch Axis per a GoPro mitjançant Arduino - Servo i giroscopi MPU6050: 4 passos
Gimbal Roll and Pitch Axis per a GoPro mitjançant Arduino - Servo i giroscopi MPU6050: 4 passos

Vídeo: Gimbal Roll and Pitch Axis per a GoPro mitjançant Arduino - Servo i giroscopi MPU6050: 4 passos

Vídeo: Gimbal Roll and Pitch Axis per a GoPro mitjançant Arduino - Servo i giroscopi MPU6050: 4 passos
Vídeo: DJI Mavic Mini Fly More Combo with Hard Shell Travel Case Black BH # DJMAVICMCK 2020 2024, Desembre
Anonim
Gimbal Roll and Pitch Axis per a GoPro mitjançant Arduino - Servo i Gyro MPU6050
Gimbal Roll and Pitch Axis per a GoPro mitjançant Arduino - Servo i Gyro MPU6050

Aquesta instrucció es va crear per complir el requisit del projecte del Makecourse de la Universitat del Sud de Florida (www.makecourse.com)

L'objectiu d'aquest projecte era construir un cardan de 3 eixos per a GoPro mitjançant l'ús d'Arduino nano + 3 servomotors + giroscopi / acceleròmetre MPU6050. En aquest projecte, vaig controlar 2 eixos (Roll and Yaw) mitjançant giroscopi / acceleròmetre MPU6050, el tercer eix (Yaw) es controla de forma remota i manual amb l’ajut de l’aplicació HC-05 i Arduino BlueControl que es troba a l’App Store d’Android..

Aquest treball també inclou tots els fitxers de disseny 3D de components mecànics de Gimbal. Vaig compartir fitxers.stl per imprimir 3D fàcilment i dissenyar fitxers 3D a la part inferior.

Al principi del meu projecte, el meu pla era construir un cardà de 3 eixos amb 3 motors sense escombretes, perquè els motors sense escombretes són suaus i són més sensibles en comparació amb els servomotors. Els motors sense escombretes s’utilitzen en aplicacions d’alta velocitat, de manera que podem ajustar la velocitat de compra de motors ESC (controlador). Però per poder utilitzar un motor sense escombretes en el projecte Gimbal, em vaig adonar que he de conduir un motor sense escombretes com un servo. Als servomotors, es coneix la posició del motor. Però en el motor sense escombretes, desconeixem la posició del motor, per la qual cosa és un inconvenient del motor sense escombretes que no podria entendre com conduir-lo. Al final vaig decidir utilitzar 3 servomotors MG995 per al parell elevat requerit pel projecte Gimbal. Vaig controlar 2 servomotors per a eixos de rotació i pitch mitjançant el giroscopi MPU6050 i vaig controlar el servomotor de l’eix de guijada mitjançant l’aplicació HC-05 bluetooth i Android.

Pas 1: components

Components
Components
Components
Components
Components
Components
Components
Components

Els components que he utilitzat en aquest projecte;

1- Arduino Nano (1 unitat) (micro usb)

2- Servomotors MG995 (3 unitats)

3- Acceleròmetre / giroscopi 3 eixos GY-521 MPU6050 (1 unitat)

4- Mòdul Bluetooth HC-05 (per controlar remotament l’eix de guijada (Servo3))

Carregador portàtil micro USB de 5- 5V

Pas 2: implementació de 3 servomotors + MPU6050 Gyro + HC-05

Implementació de 3 servomotors + MPU6050 Gyro + HC-05
Implementació de 3 servomotors + MPU6050 Gyro + HC-05
Implementació de 3 servomotors + MPU6050 Gyro + HC-05
Implementació de 3 servomotors + MPU6050 Gyro + HC-05

Servo Cablejat

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

Els servomotors tenen 3 cables: VCC (vermell), GND (marró o negre), PWM (groc).

D3 => Servo1 PWM (fil groc)

D4 => Servo2 PWM (fil groc)

D5 => Servo3 PWM (fil groc)

PIN de 5V d'Arduino => VCC (vermell) de 3 servomotors.

PIN GND d'Arduino => GND (marró o negre) de 3 servomotors

Cablejat giroscòpic MPU6050

A4 => SDA

A5 => SCL

3,3 V PIN d'Arduino => VCC de MPU6050

PIN GND d'Arduino => GND de MPU6050

Cablejat Bluetooth HC-05

D9 => TX

D10 => RX

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

PIN GND d'Arduino => GND de HC-05 Bluetooth

Pas 3: disseny i funcionalitat 3D

Disseny i funcionalitat 3D
Disseny i funcionalitat 3D
Disseny 3D i funcionalitat
Disseny 3D i funcionalitat
Disseny i funcionalitat 3D
Disseny i funcionalitat 3D
Disseny i funcionalitat 3D
Disseny i funcionalitat 3D

He completat el disseny 3D de Gimbal prenent referència a altres Gimbals que es venen al mercat. Hi ha tres components principals que giren amb servomotors. He dissenyat una muntura GoPro que s’adapta a la seva mida.

El fitxer.step de tot el disseny 3D es comparteix a la part inferior per facilitar l'edició.

Pas 4: Mecanisme de control

Image
Image

L’algoritme principal del meu projecte Gimbal utilitza la rotació de Quaternion, que és alternativa als angles d’Euler. He utilitzat la biblioteca helper_3dmath.h com a referència per permetre un moviment suau mitjançant l’algorisme de Quaternion. Tot i que la resposta de l’eix del pas és fluida, l’eix del rotlle es queda retardat per respondre al moviment del pal. En utilitzar l’algorisme Quaternion, vaig poder controlar els servomotors Roll i Pitch. Si voleu utilitzar l'eix de guiñada, potser haureu d'utilitzar el segon MPU6050 només per controlar l'eix de guijada. Com a solució alternativa, he configurat l'HC-05 i he controlat l'eix de guija de forma remota amb l'aplicació per a Android mitjançant botons. A cada polsada per prémer el botó, el servo de l'eix de guija gira 10 graus.

En aquest projecte, les biblioteques que he hagut d’importar externament són les següents;

1- I2Cdev.h // S'utilitza amb wire.h per habilitar la comunicació amb MPU6050

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

3- // Permet convertir pins digitals en pins RX i TX (es necessita un mòdul bluetooth HC-05)

4-

5- // Permet comunicar-se amb dispositius I2C que utilitzen dos pins de dades (SDA i SCL) => MPU6050

El codi principal el va crear Jeff Rowberg i el vaig modificar segons la funcionalitat del meu projecte i vaig comentar totes les funcions al fitxer ino.

Recomanat: