Índice:

Gire e incline o eixo cardan para GoPro usando Arduino - Servo e MPU6050 Gyro: 4 etapas
Gire e incline o eixo cardan para GoPro usando Arduino - Servo e MPU6050 Gyro: 4 etapas

Vídeo: Gire e incline o eixo cardan para GoPro usando Arduino - Servo e MPU6050 Gyro: 4 etapas

Vídeo: Gire e incline o eixo cardan para GoPro usando Arduino - Servo e MPU6050 Gyro: 4 etapas
Vídeo: iNav Camstab Servo Gimbal 2024, Dezembro
Anonim
Gire e incline o eixo cardan para GoPro usando Arduino - Servo e MPU6050 Gyro
Gire e incline o eixo cardan para GoPro usando Arduino - Servo e MPU6050 Gyro

Este instrutível foi criado em cumprimento aos requisitos do projeto do Makecourse na University of South Florida (www.makecourse.com)

O objetivo deste projeto era construir um Gimbal de 3 eixos para GoPro usando Arduino nano + 3 servo motores + MPU6050 giroscópio / acelerômetro. Neste projeto, controlei 2 eixos (Roll and yaw) usando o giro / acelerômetro MPU6050, o terceiro eixo (yaw) é controlado remotamente e manualmente com a ajuda do HC-05 e do aplicativo Arduino BlueControl que está na Android App Store.

Este trabalho também inclui todos os arquivos de projeto 3D de componentes mecânicos do Gimbal. Compartilhei arquivos.stl para facilitar a impressão 3D e arquivos de design 3D na parte inferior.

No início do meu projeto, meu plano era construir um cardan de 3 eixos com 3 motores sem escovas, porque os motores sem escovas são suaves e mais responsivos em comparação com os servo motores. Motores sem escova são usados em aplicações de alta velocidade, então podemos ajustar a velocidade de compra do motor ESC (controlador). Mas para poder usar o motor sem escovas no projeto do Gimbal, percebi que tenho que dirigir o motor sem escovas como um servo. Em servo motores, a posição do motor é conhecida. Mas no motor sem escovas, não sabemos a posição do motor, então é uma desvantagem do motor sem escovas que eu não conseguia descobrir como acioná-lo. No final, decidi usar 3 servo motores MG995 para o projeto de Gimbal de alto torque necessário. Controlei 2 servo motores para eixo de rotação e inclinação usando o giroscópio MPU6050 e controlei servo motor de eixo de guinada usando HC-05 bluetooth e aplicativo Android.

Etapa 1: Componentes

Componentes
Componentes
Componentes
Componentes
Componentes
Componentes
Componentes
Componentes

Os componentes que usei neste projeto;

1- Arduino Nano (1 unidade) (Micro usb)

2- Servo motores MG995 (3 unidades)

3- GY-521 MPU6050 Acelerômetro / Giroscópio de 3 eixos (1 unidade)

4- Módulo Bluetooth HC-05 (para controlar o eixo de guinada (Servo3) remotamente)

4- carregador portátil micro usb 5V

Etapa 2: Implementando 3 Servo Motores + MPU6050 Gyro + HC-05

Implementando 3 Servo Motores + MPU6050 Gyro + HC-05
Implementando 3 Servo Motores + MPU6050 Gyro + HC-05
Implementando 3 Servo Motores + MPU6050 Gyro + HC-05
Implementando 3 Servo Motores + MPU6050 Gyro + HC-05

Servo Fiação

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

Os servo motores possuem 3 fios: VCC (vermelho), GND (marrom ou preto), PWM (amarelo).

D3 => Servo1 PWM (fio amarelo)

D4 => Servo2 PWM (fio amarelo)

D5 => Servo3 PWM (fio amarelo)

5V PIN do Arduino => VCC (vermelho) de 3 servo motores.

GND PIN do Arduino => GND (marrom ou preto) de 3 servo motores

Fiação do giroscópio MPU6050

A4 => SDA

A5 => SCL

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

GND PIN do Arduino => GND do MPU6050

Fiação de Bluetooth HC-05

D9 => TX

D10 => RX

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

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

Etapa 3: Design 3D e Funcionalidade

Design 3D e Funcionalidade
Design 3D e Funcionalidade
Design 3D e Funcionalidade
Design 3D e Funcionalidade
Design 3D e Funcionalidade
Design 3D e Funcionalidade
Design 3D e Funcionalidade
Design 3D e Funcionalidade

Concluí o design 3D do Gimbal tendo como referência outros Gimbals que são vendidos no mercado. Existem três componentes principais que giram com servo motores. Eu projetei um suporte GoPro que se ajusta ao seu tamanho.

O arquivo.step de todo o design 3D é compartilhado na parte inferior para permitir a edição mais fácil.

Etapa 4: Mecanismo de Controle

Image
Image

O algoritmo principal do meu projeto Gimbal usa a rotação do Quaternion, que é uma alternativa aos ângulos de Euler. Usei a biblioteca helper_3dmath.h como referência para permitir um movimento suave usando o algoritmo Quaternion. Embora a resposta do eixo de inclinação seja suave, o eixo de rotação demora para responder ao movimento do manche. Usando o algoritmo Quaternion, fui capaz de controlar servo motores Roll e Pitch. Se você quiser usar o eixo de guinada, pode ser necessário usar o segundo MPU6050 apenas para controlar o eixo de guinada. Como solução alternativa, configurei o HC-05 e controlei o eixo de guinada remotamente com o aplicativo Android usando botões. Em cada pressão para apertar o botão, o servo do eixo de guinada gira 10 graus.

Neste projeto, as bibliotecas que tive que importar externamente são as seguintes;

1- I2Cdev.h // Usado com wire.h para permitir a comunicação com MPU6050

2- "MPU6050_6Axis_MotionApps20.h" // Biblioteca de giroscópio

3- // Permite converter pinos digitais em pinos RX e TX (é necessário para o módulo bluetooth HC-05)

4-

5- // Permite comunicar com dispositivos I2C que utilizam dois pinos de dados (SDA e SCL) => MPU6050

O código principal foi criado por Jeff Rowberg, e eu o modifiquei de acordo com a funcionalidade do meu projeto e comentei todas as funções no arquivo ino.

Recomendado: