Πίνακας περιεχομένων:

Roll and Pitch Axis Gimbal για GoPro χρησιμοποιώντας Arduino - Servo και MPU6050 Gyro: 4 βήματα
Roll and Pitch Axis Gimbal για GoPro χρησιμοποιώντας Arduino - Servo και MPU6050 Gyro: 4 βήματα

Βίντεο: Roll and Pitch Axis Gimbal για GoPro χρησιμοποιώντας Arduino - Servo και MPU6050 Gyro: 4 βήματα

Βίντεο: Roll and Pitch Axis Gimbal για GoPro χρησιμοποιώντας Arduino - Servo και MPU6050 Gyro: 4 βήματα
Βίντεο: Pitch Roll Test - for Brushless Gimbal 2024, Νοέμβριος
Anonim
Roll and Pitch Axis Gimbal για GoPro χρησιμοποιώντας Arduino - Servo και MPU6050 Gyro
Roll and Pitch Axis Gimbal για GoPro χρησιμοποιώντας Arduino - Servo και MPU6050 Gyro

Αυτό το διδακτικό δημιουργήθηκε για να εκπληρώσει την απαίτηση έργου του Makecourse στο Πανεπιστήμιο της Νότιας Φλόριντα (www.makecourse.com)

Ο στόχος αυτού του έργου ήταν η κατασκευή ενός Gimbal 3 αξόνων για το 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 και έλεγξα σερβοκινητήρα άξονα περιστροφής χρησιμοποιώντας bluetooth και εφαρμογή Android HC-05.

Βήμα 1: Στοιχεία

Συστατικά
Συστατικά
Συστατικά
Συστατικά
Συστατικά
Συστατικά
Συστατικά
Συστατικά

Τα στοιχεία που χρησιμοποίησα σε αυτό το έργο.

1- Arduino Nano (1 μονάδα) (Micro usb)

2- Σερβοκινητήρες MG995 (3 μονάδες)

3- Επιταχυνσιόμετρο/γυροσκόπιο 3 αξόνων GY-521 MPU6050 (1 μονάδα)

4- Μονάδα Bluetooth HC-05 (Για τον έλεγχο του άξονα περιστροφής (Servo3) από απόσταση)

4- Φορητός φορτιστής micro USB 5V 5V

Βήμα 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

Servo καλωδίωση

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: Τρισδιάστατος σχεδιασμός και λειτουργικότητα

Τρισδιάστατος σχεδιασμός και λειτουργικότητα
Τρισδιάστατος σχεδιασμός και λειτουργικότητα
Τρισδιάστατος σχεδιασμός και λειτουργικότητα
Τρισδιάστατος σχεδιασμός και λειτουργικότητα
Τρισδιάστατος σχεδιασμός και λειτουργικότητα
Τρισδιάστατος σχεδιασμός και λειτουργικότητα
Τρισδιάστατος σχεδιασμός και λειτουργικότητα
Τρισδιάστατος σχεδιασμός και λειτουργικότητα

Ολοκλήρωσα τον τρισδιάστατο σχεδιασμό του Gimbal λαμβάνοντας αναφορά σε άλλα Gimbals που πωλούνται στην αγορά. Υπάρχουν τρία κύρια εξαρτήματα που περιστρέφονται με σερβοκινητήρες. Σχεδίασα μια βάση GoPro που ταιριάζει στο μέγεθός της.

Το αρχείο.step όλων των τρισδιάστατων σχεδίων μοιράζεται στο κάτω μέρος για να διευκολύνει την επεξεργασία.

Βήμα 4: Μηχανισμός ελέγχου

Image
Image

Ο κύριος αλγόριθμος του έργου μου Gimbal χρησιμοποιεί την περιστροφή Quaternion που είναι εναλλακτική στις γωνίες του Euler. Χρησιμοποίησα τη βιβλιοθήκη 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

Ο κύριος κώδικας δημιουργήθηκε από τον Jeff Rowberg και τον τροποποίησα σύμφωνα με τη λειτουργικότητα του έργου μου και σχολίασα όλες τις λειτουργίες στο ino αρχείο.

Συνιστάται: