Съдържание:

Gimbal на ос и ролка за GoPro с помощта на Arduino - Servo и MPU6050 Gyro: 4 стъпки
Gimbal на ос и ролка за GoPro с помощта на Arduino - Servo и MPU6050 Gyro: 4 стъпки

Видео: Gimbal на ос и ролка за GoPro с помощта на Arduino - Servo и MPU6050 Gyro: 4 стъпки

Видео: Gimbal на ос и ролка за GoPro с помощта на Arduino - Servo и MPU6050 Gyro: 4 стъпки
Видео: Тест GoPro 11 ночью 2024, Ноември
Anonim
Gimbal на ос и ролка за GoPro с помощта на Arduino - Servo и MPU6050 Gyro
Gimbal на ос и ролка за GoPro с помощта на Arduino - Servo и MPU6050 Gyro

Тази инструкция е създадена в изпълнение на проектните изисквания на Makecourse в Университета на Южна Флорида (www.makecourse.com)

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

Тази работа включва и всички файлове за 3D дизайн на механични компоненти на Gimbal. Споделих.stl файлове за лесно 3D печат и файлове за 3D дизайн в долната част.

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

Стъпка 1: Компоненти

Компоненти
Компоненти
Компоненти
Компоненти
Компоненти
Компоненти
Компоненти
Компоненти

Компонентите, които използвах в този проект;

1- Arduino Nano (1 единица) (Micro usb)

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

3- GY-521 MPU6050 3-осен акселерометър/жироскоп (1 единица)

4- Bluetooth модул HC-05 (За дистанционно управление на ос (Servo3))

Преносимо зарядно устройство 4 5V micro usb

Стъпка 2: Внедряване на 3 серво мотора + MPU6050 Gyro + HC-05

Внедряване на 3 серво мотора + MPU6050 Gyro + HC-05
Внедряване на 3 серво мотора + MPU6050 Gyro + HC-05
Внедряване на 3 серво мотора + MPU6050 Gyro + HC-05
Внедряване на 3 серво мотора + MPU6050 Gyro + HC-05

Серво окабеляване

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

Сервомоторите имат 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 V PIN на Arduino => VCC на MPU6050

GND PIN на Arduino => GND на MPU6050

HC-05 Bluetooth окабеляване

D9 => TX

D10 => RX

3.3 V PIN на Arduino => VCC на HC-05 Bluetooth

GND PIN на Arduino => GND на HC-05 Bluetooth

Стъпка 3: 3D дизайн и функционалност

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

Завърших 3D дизайн на Gimbal, като взех предвид други Gimbals, които се продават на пазара. Има три основни компонента, които се въртят със серво мотори. Проектирах GoPro монтаж, който отговаря на неговия размер.

. Step файлът на целия 3D дизайн се споделя в долната част, за да улесни редактирането.

Стъпка 4: Механизъм за управление

Image
Image

Основният алгоритъм на моя проект Gimbal използва кватернионно въртене, което е алтернатива на ъглите на Ойлер. Използвах библиотеката 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 файл.

Препоръчано: