Mundarija:

GoPro uchun Arduino - Servo va MPU6050 Gyro -dan foydalanish uchun Roll va Pitch Axis Gimbal: 4 qadam
GoPro uchun Arduino - Servo va MPU6050 Gyro -dan foydalanish uchun Roll va Pitch Axis Gimbal: 4 qadam

Video: GoPro uchun Arduino - Servo va MPU6050 Gyro -dan foydalanish uchun Roll va Pitch Axis Gimbal: 4 qadam

Video: GoPro uchun Arduino - Servo va MPU6050 Gyro -dan foydalanish uchun Roll va Pitch Axis Gimbal: 4 qadam
Video: Control 360 непрерывного сервопривода с кнопочными переключателями и Arduino 2024, Noyabr
Anonim
GoPro uchun Arduino - Servo va MPU6050 Gyro yordamida Roll va Pitch Axis Gimbal
GoPro uchun Arduino - Servo va MPU6050 Gyro yordamida Roll va Pitch Axis Gimbal

Bu ko'rsatma Janubiy Florida universitetining Makecourse loyihasi talablarini bajarish uchun yaratilgan (www.makecourse.com)

Ushbu loyihaning maqsadi GoPro uchun 3 o'qli Gimbalni Arduino nano + 3 servo dvigatellari + MPU6050 gir/akselerometr yordamida qurish edi. Ushbu loyihada men MPU6050 gyro/akselerometr yordamida 2 o'qli (siljish va yaw) nazorat qildim, uchinchi o'q (yaw) masofadan va qo'lda Android App Store-da joylashgan HC-05 va Arduino BlueControl ilovasi yordamida boshqariladi..

Bu ish, shuningdek, Gimbalning mexanik komponentlarining barcha 3D dizayn fayllarini o'z ichiga oladi. Pastda 3D chop etish va 3D dizayn fayllari uchun.stl fayllarini almashdim.

Loyihamning boshida mening rejam 3 o'qli gimbalni 3 ta cho'tkasi bo'lmagan dvigatel bilan qurish edi, chunki cho'tkasi bo'lmagan motorlar servo motorlarga qaraganda silliq va sezgir. Cho'tkasi bo'lmagan motorlar yuqori tezlikda ishlaydigan dasturlarda ishlatiladi, shuning uchun biz ESC (boshqaruvchi) dvigatelini sotib olish tezligini sozlashimiz mumkin. Ammo Gimbal loyihasida cho'tkasiz motorni ishlatish uchun men cho'tkasiz motorni servo kabi haydashim kerakligini tushundim. Servo dvigatellarda dvigatelning holati ma'lum. Ammo cho'tkasi bo'lmagan dvigatelda biz dvigatelning holatini bilmaymiz, shuning uchun bu cho'tkasiz dvigatelning kamchiligi, men uni qanday haydashni aniqlay olmadim. Oxir -oqibat, Gimbal loyihasi uchun zarur bo'lgan yuqori tork uchun 3 MG995 servo dvigatelidan foydalanishga qaror qildim. Men MPU6050 gyro yordamida silindr va qadam o'qi uchun 2 ta servo dvigatelni, HC-05 bluetooth va Android ilovasi yordamida yaw o'qi servo motorini boshqarardim.

1 -qadam: komponentlar

Komponentlar
Komponentlar
Komponentlar
Komponentlar
Komponentlar
Komponentlar
Komponentlar
Komponentlar

Men ushbu loyihada ishlatgan komponentlar;

1- Arduino Nano (1 birlik) (mikro usb)

2- MG995 Servo dvigatellari (3 dona)

3- GY-521 MPU6050 3 o'qli akselerometr/giroskop (1 birlik)

4- HC-05 Bluetooth moduli (yaw (Servo3) o'qini masofadan boshqarish uchun)

4-5V mikro usb portativ zaryadlovchi

2-qadam: 3 ta servo dvigatel + MPU6050 Gyro + HC-05 ni amalga oshirish

3 ta Servo dvigatel + MPU6050 Gyro + HC-05ni amalga oshirish
3 ta Servo dvigatel + MPU6050 Gyro + HC-05ni amalga oshirish
3 ta Servo dvigatel + MPU6050 Gyro + HC-05ni amalga oshirish
3 ta Servo dvigatel + MPU6050 Gyro + HC-05ni amalga oshirish

Servo simlari

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

Servo dvigatellarda 3 ta sim bor: VCC (qizil), GND (jigarrang yoki qora), PWM (sariq).

D3 => Servo1 PWM (sariq sim)

D4 => Servo2 PWM (sariq sim)

D5 => Servo3 PWM (sariq sim)

Arduino 5V PIN => 3 servo dvigatelning VCC (qizil).

Arduino GND PIN kodi => 3 servo dvigatelning GND (jigarrang yoki qora)

MPU6050 gyro simlari

A4 => SDA

A5 => SCL

3.3 Arduino PIN kodi => MPU6050 VCC

Arduino GND PIN kodi => MPU6050 GND

HC-05 Bluetooth simlari

D9 => TX

D10 => RX

3.3 Arduino PIN kodi => HC-05 Bluetooth VCC

Arduino-ning GND PIN-kodi => HC-05 Bluetooth-ning GND

3 -qadam: 3D dizayni va funksionalligi

3D dizayni va funksionalligi
3D dizayni va funksionalligi
3D dizayni va funksionalligi
3D dizayni va funksionalligi
3D dizayni va funksionalligi
3D dizayni va funksionalligi
3D dizayni va funksionalligi
3D dizayni va funksionalligi

Men Gimbalning 3D dizaynini bozorda sotiladigan boshqa Gimbals -dan foydalanib yakunladim. Servo dvigatellar bilan aylanadigan uchta asosiy komponent mavjud. Men o'lchamiga mos keladigan GoPro moslamasini yaratdim.

Tahrirlashni osonlashtirish uchun barcha 3D dizayndagi.step fayli pastda joylashtirilgan.

4 -qadam: Boshqarish mexanizmi

Image
Image

Mening Gimbal loyihamning asosiy algoritmi Euler burchaklariga muqobil Quaternion aylanishidan foydalanadi. Men Helper_3dmath.h kutubxonasini Quaternion algoritmidan foydalanib silliq harakatni ta'minlash uchun mos yozuvlar sifatida ishlatardim. Pitch o'qi javobi silliq bo'lsa -da, rul o'qi tayoq harakatiga javob bermaydi. Quaternion algoritmidan foydalanib, men Roll va Pitch servo motorlarini boshqarishga muvaffaq bo'ldim. Agar siz yaw o'qini ishlatmoqchi bo'lsangiz, aylanma o'qini boshqarish uchun ikkinchi MPU6050 dan foydalanishingiz kerak bo'ladi. Muqobil echim sifatida men HC-05 ni sozladim va tugmalar yordamida android ilovasi yordamida yaw o'qini masofadan boshqarardim. Tugmachani bosish uchun har bir bosilganda, yaw o'qi servo 10 gradusga aylanadi.

Ushbu loyihada men tashqaridan import qilishim kerak bo'lgan kutubxonalar quyidagicha;

1- I2Cdev.h // MPU6050 bilan aloqani yoqish uchun tel.h bilan ishlatiladi

2- "MPU6050_6Axis_MotionApps20.h" // Giroskop kutubxonasi

3- // Bu raqamli pinlarni RX va TX pinlariga aylantirish imkonini beradi (HC-05 bluetooth moduliga ehtiyoj bor)

4-

5- // Bu ikkita ma'lumot pinini (SDA va SCL) ishlatadigan I2C qurilmalari bilan aloqa o'rnatishga imkon beradi => MPU6050

Asosiy kodni Jeff Rowberg yaratgan va men uni loyiha funktsiyasiga muvofiq o'zgartirdim va ino faylidagi barcha funktsiyalarni sharhladim.

Tavsiya: