Оглавление:

Подвес оси вращения и наклона для GoPro с использованием Arduino - сервопривод и гироскоп MPU6050: 4 шага
Подвес оси вращения и наклона для GoPro с использованием Arduino - сервопривод и гироскоп MPU6050: 4 шага

Видео: Подвес оси вращения и наклона для GoPro с использованием Arduino - сервопривод и гироскоп MPU6050: 4 шага

Видео: Подвес оси вращения и наклона для GoPro с использованием Arduino - сервопривод и гироскоп MPU6050: 4 шага
Видео: Гироскоп-Акселерометр MPU-6050. Первое знакомство 2024, Ноябрь
Anonim
Подвес оси вращения и наклона для GoPro с использованием Arduino - сервопривод и гироскоп MPU6050
Подвес оси вращения и наклона для GoPro с использованием Arduino - сервопривод и гироскоп MPU6050

Это руководство было создано во исполнение требований проекта Makecourse в Университете Южной Флориды (www.makecourse.com).

Целью этого проекта было создание 3-осевого кардана для GoPro с использованием Arduino nano + 3 серводвигателя + гироскоп / акселерометр MPU6050. В этом проекте я управлял 2-осями (крен и рыскание) с помощью гироскопа / акселерометра MPU6050, третья ось (рыскание) управляется дистанционно и вручную с помощью приложения HC-05 и Arduino BlueControl, которое находится в Android App Store..

Эта работа также включает в себя все файлы 3D-дизайна механических компонентов Gimbal. Я поделился файлами.stl для удобной 3D-печати и файлов 3D-дизайна внизу.

В начале моего проекта я планировал построить 3-осевой подвес с 3-мя бесщеточными двигателями, потому что бесщеточные двигатели более плавные и более отзывчивые по сравнению с серводвигателями. Бесщеточные двигатели используются в высокоскоростных приложениях, поэтому мы можем регулировать скорость двигателя, покупая ESC (контроллер). Но чтобы использовать бесщеточный двигатель в проекте Gimbal, я понял, что мне нужно управлять бесщеточным двигателем как сервоприводом. В серводвигателях положение двигателя известно. Но в бесщеточном двигателе мы не знаем положение двигателя, поэтому это недостаток бесщеточного двигателя, из-за которого я не мог понять, как им управлять. В конце концов, я решил использовать 3 серводвигателя MG995 для проекта Gimbal с высоким крутящим моментом. Я управлял двумя серводвигателями для оси крена и тангажа с помощью гироскопа MPU6050, и я управлял серводвигателем оси рыскания с помощью Bluetooth HC-05 и приложения для Android.

Шаг 1: Компоненты

Компоненты
Компоненты
Компоненты
Компоненты
Компоненты
Компоненты
Компоненты
Компоненты

Компоненты, которые я использовал в этом проекте;

1- Arduino Nano (1 шт.) (Micro USB)

2- Серводвигатели MG995 (3 шт.)

3- GY-521 MPU6050 3-осевой акселерометр / гироскоп (1 шт.)

4- Модуль Bluetooth HC-05 (для дистанционного управления осью рыскания (Servo3))

Портативное зарядное устройство с микро-usb на 4-5 В

Шаг 2: Внедрение 3 серводвигателей + гироскоп MPU6050 + HC-05

Внедрение 3 серводвигателей + гироскоп MPU6050 + HC-05
Внедрение 3 серводвигателей + гироскоп MPU6050 + HC-05
Внедрение 3 серводвигателей + гироскоп MPU6050 + HC-05
Внедрение 3 серводвигателей + гироскоп MPU6050 + HC-05

Серво проводка

Servo1 (крен), Servo2 (шаг), Servo3 (рыскание)

Серводвигатели имеют 3 провода: VCC (красный), GND (коричневый или черный), PWM (желтый).

D3 => Servo1 PWM (желтый провод)

D4 => Servo2 PWM (желтый провод)

D5 => Servo3 PWM (желтый провод)

5V PIN Arduino => VCC (красный) 3 серводвигателей.

GND PIN Arduino => GND (коричневый или черный) 3 серводвигателей

Электропроводка гироскопа MPU6050

A4 => SDA

A5 => SCL

3.3 В PIN Arduino => VCC MPU6050

GND PIN Arduino => GND MPU6050

Проводка Bluetooth HC-05

D9 => TX

D10 => RX

3.3 В PIN Arduino => VCC HC-05 Bluetooth

GND PIN Arduino => GND HC-05 Bluetooth

Шаг 3: 3D-дизайн и функциональность

3D-дизайн и функциональность
3D-дизайн и функциональность
3D-дизайн и функциональность
3D-дизайн и функциональность
3D-дизайн и функциональность
3D-дизайн и функциональность
3D-дизайн и функциональность
3D-дизайн и функциональность

Я завершил 3D-дизайн кардана со ссылкой на другие карданы, которые продаются на рынке. Есть три основных компонента, которые вращаются вместе с серводвигателями. Я разработал крепление для GoPro, которое соответствует его размеру.

Файл.step всего 3D-дизайна находится внизу, чтобы облегчить редактирование.

Шаг 4: механизм управления

Image
Image

Основной алгоритм моего проекта Gimbal использует вращение Quaternion, которое является альтернативой углам Эйлера. Я использовал библиотеку helper_3dmath.h в качестве справочника, чтобы обеспечить плавное перемещение с помощью алгоритма Quaternion. Хотя реакция оси тангажа плавная, ось крена отстает, чтобы реагировать на движение ручки. Используя алгоритм Quaternion, я смог управлять серводвигателями Roll и Pitch. Если вы хотите использовать ось рыскания, вам может потребоваться второй MPU6050 только для управления осью рыскания. В качестве альтернативного решения я настроил HC-05 и дистанционно управлял осью рыскания с помощью приложения для Android с помощью кнопок. При каждом нажатии кнопки сервопривод оси рыскания поворачивается на 10 градусов.

В этом проекте библиотеки, которые мне пришлось импортировать извне, следующие:

1- I2Cdev.h // Используется с wire.h для включения связи с MPU6050

2- «MPU6050_6Axis_MotionApps20.h» // библиотека гироскопа

3- // Позволяет преобразовывать цифровые пины в пины RX и TX (требуется для модуля Bluetooth HC-05)

4-

5- // Он позволяет общаться с устройствами I2C, которые используют два вывода данных (SDA и SCL) => MPU6050

Основной код создан Джеффом Роубергом, и я модифицировал его в соответствии с функциональностью моего проекта и прокомментировал все функции в ino-файле.

Рекомендуемые: