Სარჩევი:

Roll and Pitch Axis Gimbal for GoPro Arduino Using - Servo and MPU6050 Gyro: 4 Steps
Roll and Pitch Axis Gimbal for GoPro Arduino Using - Servo and MPU6050 Gyro: 4 Steps

ვიდეო: Roll and Pitch Axis Gimbal for GoPro Arduino Using - Servo and MPU6050 Gyro: 4 Steps

ვიდეო: Roll and Pitch Axis Gimbal for GoPro Arduino Using - Servo and MPU6050 Gyro: 4 Steps
ვიდეო: DIY Gimbal | Arduino and MPU6050 Tutorial 2024, ნოემბერი
Anonim
Roll and Pitch Axis Gimbal for GoPro Arduino Using - Servo და MPU6050 Gyro
Roll and Pitch Axis Gimbal for GoPro Arduino Using - Servo და MPU6050 Gyro

ეს ინსტრუქცია შეიქმნა სამხრეთ ფლორიდის უნივერსიტეტში მაკიაჟის პროექტის მოთხოვნის შესასრულებლად (www.makecourse.com)

ამ პროექტის მიზანი იყო 3 ღერძიანი გიმბალის აშენება GoPro– სთვის Arduino nano + 3 servo motors + MPU6050 გირო/ამაჩქარებლის გამოყენებით. ამ პროექტში მე ვაკონტროლებდი 2 ღერძს (გადახვევა და გადახრა) MPU6050 გიროსკოპის/ამაჩქარებლის გამოყენებით, მესამე ღერძი (ყბა) კონტროლდება დისტანციურად და ხელით HC-05 და Arduino BlueControl აპლიკაციის საშუალებით, რომელიც მდებარეობს Android App Store– ში. რა

ეს ნამუშევარი ასევე მოიცავს გიმბალის მექანიკური კომპონენტების ყველა 3D დიზაინის ფაილს. მე გავაზიარე.stl ფაილები ადვილად 3D ბეჭდვისთვის და 3D დიზაინის ფაილები ბოლოში.

ჩემი პროექტის დასაწყისში, ჩემი გეგმა იყო აეშენებინა 3 ღერძიანი გიმბალი 3 ჯაგრისით, რადგან ჯაგრისების გარეშე ძრავები გლუვი და უფრო მგრძნობიარეა სერვო ძრავებთან შედარებით. ჯაგრისის ძრავები გამოიყენება მაღალი სიჩქარის პროგრამებში, ასე რომ ჩვენ შეგვიძლია შევცვალოთ ძრავის სიჩქარე ESC (კონტროლერი). მაგრამ იმისთვის, რომ შევძლო გიმბალის პროექტში ჯაგრისის ძრავის გამოყენება, მივხვდი, რომ ჯაგრისის ძრავა უნდა გავატარო სერვოვით. სერვო ძრავებში ძრავის პოზიცია ცნობილია. მაგრამ ჯაგრისის ძრავაში, ჩვენ არ ვიცით ძრავის პოზიცია, ასე რომ, ეს არის უვარგისი ძრავის ნაკლი, რომელიც მე ვერ მივხვდი როგორ უნდა მართოს იგი. ბოლოს გადავწყვიტე გამოვიყენო 3 MG995 სერვო ძრავა მაღალი ბრუნვისათვის საჭირო Gimbal პროექტისთვის. მე ვაკონტროლებდი 2 servo ძრავას როლი და მოედანზე ღერძის გამოყენებით MPU6050 gyro, და მე ვაკონტროლებდი yaw ღერძი servo motor გამოყენებით HC-05 bluetooth და Android app.

ნაბიჯი 1: კომპონენტები

კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები

კომპონენტები, რომლებიც მე გამოვიყენე ამ პროექტში;

1- არდუინო ნანო (1 ერთეული) (მიკრო USB)

2- MG995 სერვო ძრავები (3 ერთეული)

3- GY-521 MPU6050 3 ღერძი ამაჩქარებელი/გიროსკოპი (1 ერთეული)

4- HC-05 Bluetooth მოდული (yaw (Servo3) ღერძის დისტანციურად გასაკონტროლებლად)

4- 5V მიკრო USB პორტატული დამტენი

ნაბიჯი 2: დანერგვა 3 Servo Motors + MPU6050 Gyro + HC-05

დანერგვა 3 Servo Motors + MPU6050 Gyro + HC-05
დანერგვა 3 Servo Motors + MPU6050 Gyro + HC-05
დანერგვა 3 Servo Motors + MPU6050 Gyro + HC-05
დანერგვა 3 Servo Motors + 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 => VCC (წითელი) 3 სერვო ძრავისგან.

GND PIN არდუინოს => GND (ყავისფერი ან შავი) 3 სერვო ძრავისგან

MPU6050 გირო გაყვანილობა

A4 => SDA

A5 => SCL

3.3 V PIN არდუინოს => VCC MPU6050

GND PIN არდუინოს => GND MPU6050

HC-05 Bluetooth გაყვანილობა

D9 => TX

D10 => RX

3.3 V პინ Arduino => VCC of HC-05 Bluetooth

GND PIN Arduino => GND HC-05 Bluetooth

ნაბიჯი 3: 3D დიზაინი და ფუნქციონალურობა

3D დიზაინი და ფუნქციონალურობა
3D დიზაინი და ფუნქციონალურობა
3D დიზაინი და ფუნქციონალურობა
3D დიზაინი და ფუნქციონალურობა
3D დიზაინი და ფუნქციონალურობა
3D დიზაინი და ფუნქციონალურობა
3D დიზაინი და ფუნქციონალურობა
3D დიზაინი და ფუნქციონალურობა

მე დავასრულე Gimbal– ის 3D დიზაინი, სხვა Gimbals– ის მითითების საფუძველზე, რომელიც იყიდება ბაზარზე. არსებობს სამი ძირითადი კომპონენტი, რომელიც ბრუნავს სერვო ძრავით. მე შევიმუშავე GoPro მთა, რომელიც შეესაბამება მის ზომას.

ყველა 3D დიზაინის.step ფაილი გაზიარებულია ბოლოში, რათა უფრო ადვილი იყოს რედაქტირება.

ნაბიჯი 4: კონტროლის მექანიზმი

Image
Image

ჩემი გიმბალის პროექტის მთავარი ალგორითმი იყენებს Quaternion- ის ბრუნვას, რომელიც ეილერის კუთხეების ალტერნატივაა. მე გამოვიყენე helper_3dmath.h ბიბლიოთეკა, როგორც მითითება, რათა შევძლო შეუფერხებელი მოძრაობა Quaternion ალგორითმის გამოყენებით. მიუხედავად იმისა, რომ Pitch ღერძის რეაქცია გლუვია, Roll ღერძი ჩამორჩება საპასუხოდ ჯოხის მოძრაობას. Quaternion– ის ალგორითმის გამოყენებით შემეძლო მე გავაკონტროლო Roll და Pitch servo ძრავები. თუ გსურთ გამოიყენოთ yaw ღერძი, შეიძლება დაგჭირდეთ გამოიყენოთ მეორე MPU6050 მხოლოდ yaw ღერძის გასაკონტროლებლად. როგორც ალტერნატიული გადაწყვეტა, მე დავაკონფიგურირე HC-05 და დისტანციურად ვაკონტროლებდი ყბის ღერძს android აპლიკაციით ღილაკების გამოყენებით. ღილაკზე თითოეული დაჭერისას, yaw ღერძი servo ბრუნავს 10 გრადუსით.

ამ პროექტში ბიბლიოთეკები, რომლებიც გარედან შემოტანა მომიწია, არის შემდეგი;

1- I2Cdev.h // გამოიყენება wire.h– ით MPU6050– თან კომუნიკაციის გასააქტიურებლად

2- "MPU6050_6Axis_MotionApps20.h" // გიროსკოპის ბიბლიოთეკა

3- // ის საშუალებას გაძლევთ ციფრული ქინძისთავები გადააქციოთ RX და TX ქინძისთავებად (მას სჭირდება HC-05 bluetooth მოდული)

4-

5- // ის საშუალებას გაძლევთ დაუკავშირდეთ I2C მოწყობილობებს, რომლებიც იყენებენ მონაცემთა ორ პინს (SDA და SCL) => MPU6050

მთავარი კოდი შექმნილია ჯეფ როუბერგის მიერ, და მე შევიცვალე იგი ჩემი პროექტის ფუნქციონირების შესაბამისად და კომენტარი გავაკეთე ყველა ფუნქციაზე ino ფაილში.

გირჩევთ: