สารบัญ:

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 ขั้นตอน
วีดีโอ: Tutorial 03.2-Camera Control & Player Movement.mov 2024, พฤศจิกายน
Anonim
Gimbal แกนหมุนและระดับเสียงสำหรับ GoPro โดยใช้ Arduino - Servo และ MPU6050 Gyro
Gimbal แกนหมุนและระดับเสียงสำหรับ GoPro โดยใช้ Arduino - Servo และ MPU6050 Gyro

คำแนะนำนี้ถูกสร้างขึ้นเพื่อตอบสนองความต้องการของโครงการ Makecourse ที่มหาวิทยาลัยเซาท์ฟลอริดา (www.makecourse.com)

เป้าหมายของโครงการนี้คือการสร้าง Gimbal แบบ 3 แกนสำหรับ GoPro โดยใช้ Arduino nano + เซอร์โวมอเตอร์ 3 ตัว + ไจโร/มาตรความเร่ง MPU6050 ในโครงการนี้ ฉันควบคุม 2 แกน (ม้วนและหัน) โดยใช้เครื่องวัดการหมุนวน/มาตรความเร่ง MPU6050 แกนที่สาม (หันเห) ถูกควบคุมจากระยะไกลและด้วยตนเองโดยใช้แอป HC-05 และ Arduino BlueControl ซึ่งอยู่ใน Android App Store.

งานนี้ยังรวมถึงไฟล์การออกแบบ 3D ทั้งหมดของส่วนประกอบทางกลของ Gimbal ฉันแชร์ไฟล์.stl เพื่อการพิมพ์ 3 มิติและไฟล์การออกแบบ 3 มิติที่ด้านล่างอย่างง่ายดาย

ในช่วงเริ่มต้นของโครงการ แผนของฉันคือสร้างกิมบอล 3 แกนด้วยมอเตอร์ไร้แปรงถ่าน 3 ตัว เนื่องจากมอเตอร์ไร้แปรงถ่านมีความนุ่มนวลและตอบสนองได้ดีกว่าเมื่อเปรียบเทียบกับเซอร์โวมอเตอร์ มอเตอร์ไร้แปรงถ่านถูกใช้ในแอพพลิเคชั่นความเร็วสูง ดังนั้นเราจึงสามารถปรับความเร็วของมอเตอร์ที่ซื้อ ESC(คอนโทรลเลอร์) ได้ แต่เพื่อให้สามารถใช้มอเตอร์ไร้แปรงถ่านในโครงการ Gimbal ได้ ฉันรู้ว่าฉันต้องขับมอเตอร์ไร้แปรงถ่านเหมือนเซอร์โว ในเซอร์โวมอเตอร์ จะทราบตำแหน่งของมอเตอร์ แต่ในมอเตอร์ไร้แปรงถ่าน เราไม่ทราบตำแหน่งของมอเตอร์ จึงเป็นข้อเสียของมอเตอร์ไร้แปรงถ่าน ซึ่งผมไม่รู้ว่าจะขับอย่างไร ในตอนท้ายฉันตัดสินใจใช้เซอร์โวมอเตอร์ MG995 3 ตัวสำหรับโครงการ Gimbal ที่ต้องการแรงบิดสูง ฉันควบคุมเซอร์โวมอเตอร์ 2 ตัวสำหรับแกนม้วนและระยะพิทช์โดยใช้ไจโร MPU6050 และฉันควบคุมเซอร์โวมอเตอร์แกนหันเหโดยใช้แอปบลูทูธ HC-05 และ Android

ขั้นตอนที่ 1: ส่วนประกอบ

ส่วนประกอบ
ส่วนประกอบ
ส่วนประกอบ
ส่วนประกอบ
ส่วนประกอบ
ส่วนประกอบ
ส่วนประกอบ
ส่วนประกอบ

ส่วนประกอบที่ฉันใช้ในโปรเจ็กต์นี้

1- Arduino Nano (1 หน่วย) (ไมโคร usb)

2- MG995 เซอร์โวมอเตอร์ (3 ยูนิต)

3- GY-521 MPU6050 มาตรความเร่ง 3 แกน/ไจโรสโคป (1 ยูนิต)

4- HC-05 โมดูลบลูทู ธ (เพื่อควบคุมแกนหันเห (Servo3) จากระยะไกล)

ที่ชาร์จแบบพกพาขนาดเล็ก 4- 5V

ขั้นตอนที่ 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 (ม้วน), Servo2 (พิทช์), Servo3 (หันเห)

เซอร์โวมอเตอร์มี 3 สาย: VCC(สีแดง), GND(สีน้ำตาลหรือสีดำ), PWM(สีเหลือง).

D3 => Servo1 PWM (สายสีเหลือง)

D4 => Servo2 PWM (สายสีเหลือง)

D5 => Servo3 PWM (สายสีเหลือง)

PIN 5V ของ 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 เดินสายบลูทูธ

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 โดยอ้างอิงจาก Gimbal อื่นๆ ที่จำหน่ายในตลาด มีส่วนประกอบหลักสามอย่างซึ่งหมุนด้วยเซอร์โวมอเตอร์ ฉันออกแบบเมาท์ GoPro ให้พอดีกับขนาดของมัน

ไฟล์.step ของการออกแบบ 3D ทั้งหมดจะถูกแชร์ที่ด้านล่างเพื่อให้แก้ไขได้ง่ายขึ้น

ขั้นตอนที่ 4: กลไกควบคุม

Image
Image

อัลกอริทึมหลักของโครงการ Gimbal ของฉันใช้การหมุน Quaternion ซึ่งเป็นทางเลือกแทนมุมออยเลอร์ ฉันใช้ไลบรารี helper_3dmath.h เป็นข้อมูลอ้างอิงเพื่อให้การเคลื่อนไหวราบรื่นโดยใช้อัลกอริธึม Quaternion แม้ว่าการตอบสนองของแกน Pitch จะราบรื่น แต่แกนม้วนจะล่าช้าเพื่อตอบสนองต่อการเคลื่อนไหวของแท่ง ด้วยการใช้อัลกอริธึม Quaternion ฉันสามารถควบคุมเซอร์โวมอเตอร์แบบโรลและพิทช์ได้ หากคุณต้องการใช้แกนหันเห คุณอาจต้องใช้ MPU6050 ตัวที่สองเพื่อควบคุมแกนหันเห เป็นทางเลือกอื่น ฉันกำหนดค่า HC-05 และควบคุมแกนหันเหจากระยะไกลด้วยแอพ android โดยใช้ปุ่ม ในการกดแต่ละครั้งเพื่อกดปุ่ม เซอร์โวแกนหันเหจะหมุน 10 องศา

ในโครงการนี้ ห้องสมุดที่ฉันต้องนำเข้าจากภายนอกมีดังนี้;

1- I2Cdev.h // ใช้กับ wire.h เพื่อเปิดใช้งานการสื่อสารกับ MPU6050

2- "MPU6050_6Axis_MotionApps20.h" // Gyroscope library

3- // อนุญาตให้แปลงพินดิจิตอลเป็นพิน RX และ TX (จำเป็นสำหรับโมดูลบลูทู ธ HC-05)

4-

5- // อนุญาตให้สื่อสารกับอุปกรณ์ I2C ซึ่งใช้ดาต้าพินสองตัว (SDA และ SCL) =>MPU6050

รหัสหลักถูกสร้างขึ้นโดย Jeff Rowberg และฉันแก้ไขมันตามฟังก์ชันการทำงานของโครงการของฉัน และแสดงความคิดเห็นเกี่ยวกับฟังก์ชันทั้งหมดในไฟล์ ino

แนะนำ: