Πίνακας περιεχομένων:
- Βήμα 1: Απαιτούμενο υλικό
- Βήμα 2: Συναρμολόγηση του ρομπότ
- Βήμα 3: Συνδέσεις
- Βήμα 4: Πώς λειτουργεί η εξισορρόπηση;
- Βήμα 5: Πηγαίος κώδικας και βιβλιοθήκες
- Βήμα 6: Για υποστήριξη
Βίντεο: Arduino - Balance - Balancing Robot - Πώς να φτιάξετε ;: 6 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Σε αυτό το σεμινάριο θα μάθουμε πώς να φτιάχνουμε ρομπότ εξισορρόπησης (ισορροπίας) Arduino που εξισορροπεί τον εαυτό του. Πρώτα μπορείτε να δείτε το σεμινάριο βίντεο παραπάνω.
Βήμα 1: Απαιτούμενο υλικό
Arduino Board (Uno) -
MPU-6050 GY521 Acc+Gyro-https://bit.ly/2swR0Xo
Σετ μοτέρ DC 6V 210RPM Encoder -
L298N Driver Motor -
Κουμπί εναλλαγής -
M3 Hex Threaded Spacer Screw Nut Set -
Ακρυλικό φύλλο Perspex -
3.7v 18650 Επαναφορτιζόμενος ιόντων λιθίου+φορτιστής-https://bit.ly/2LNZQcl
Μπαταρία 9V -
Jumper Wires -
Gun Glue Gun -
Κιτ και αναλώσιμα Arduino Starter (Προαιρετικά): Arduino Board & SCM Supplies #01 -
Arduino Board & SCM Supplies #02 -
Arduino Basic Learning Starter Kit #01 -
Arduino Basic Learning Starter Kit #02 -
Arduino Basic Learning Starter Kit #03 -
Mega 2560 Starter Kit with Tutorial -
Κιτ μονάδας αισθητήρα για Arduino #01 -
Κιτ μονάδας αισθητήρα για Arduino #02 -
Βήμα 2: Συναρμολόγηση του ρομπότ
- Τρυπήστε τέσσερις γωνίες από 3 ακρυλικά φύλλα. (Εικόνα 1 και 2)
- Μεταξύ κάθε ακρυλικού φύλλου θα είναι περίπου 8 καντίμετρα / 3,15 ίντσες. (Εικόνα 3)
- Διαστάσεις ρομπότ (περίπου) 15cm x 10 cm x 20cm. (Εικόνα 4)
- Ο κινητήρας DC και οι τροχοί θα τοποθετηθούν στο κέντρο (μεσαία γραμμή) του ρομπότ. (Εικόνα 5)
- Το L298N Motor Driver θα τοποθετηθεί στο κέντρο του πρώτου ορόφου (μεσαία γραμμή) του ρομπότ. (Εικόνα 6)
- Ο πίνακας Arduino θα τοποθετηθεί στον δεύτερο όροφο του ρομπότ.
- Η μονάδα MPU6050 θα τοποθετηθεί στον τελευταίο όροφο του ρομπότ. (Εικόνα 7)
Βήμα 3: Συνδέσεις
Δοκιμάστε το MPU6050 και βεβαιωθείτε ότι λειτουργεί! Συνδέστε πρώτα το MPU6050 στο Arduino και δοκιμάστε τη σύνδεση χρησιμοποιώντας τους κωδικούς στο παρακάτω σεμινάριο. Το daha πρέπει να εμφανίζεται στη σειριακή οθόνη
Instructables Tutorial - MPU6050 GY521 6 Axis Accelerometer+Gyro
YouTube Tutorial - MPU6050 GY521 6 Axis Accelerometer + Gyro
Η μονάδα L298N μπορεί να παρέχει το +5V που χρειάζεται το Arduino εφόσον η τάση εισόδου του είναι +7 V ή μεγαλύτερη. Ωστόσο, επέλεξα να έχω ξεχωριστή πηγή ισχύος για τον κινητήρα
Βήμα 4: Πώς λειτουργεί η εξισορρόπηση;
- Για να διατηρηθεί το ρομπότ ισορροπημένο, οι κινητήρες πρέπει να αντισταθμίσουν την πτώση του ρομπότ.
- Αυτή η ενέργεια απαιτεί ανατροφοδότηση και διορθωτικό στοιχείο.
- Το στοιχείο ανάδρασης είναι το MPU6050, το οποίο δίνει επιτάχυνση και περιστροφή και στους τρεις άξονες, το οποίο χρησιμοποιείται από το Arduino για να γνωρίζει τον τρέχοντα προσανατολισμό του ρομπότ.
- Το διορθωτικό στοιχείο είναι ο συνδυασμός κινητήρα και τροχού.
- Το αυτορυθμιζόμενο ρομπότ είναι ουσιαστικά ένα ανεστραμμένο εκκρεμές.
- Μπορεί να ισορροπηθεί καλύτερα εάν το κέντρο μάζας είναι υψηλότερο σε σχέση με τους άξονες των τροχών.
- Αυτός είναι ο λόγος για τον οποίο έχω τοποθετήσει την μπαταρία στην κορυφή.
- Το ύψος του ρομπότ, ωστόσο, επιλέχθηκε με βάση τη διαθεσιμότητα υλικών.
Βήμα 5: Πηγαίος κώδικας και βιβλιοθήκες
Ο κώδικας που αναπτύχθηκε για το ρομπότ ισορροπίας είναι πολύ περίπλοκος. Αλλά δεν υπάρχει λόγος ανησυχίας. Θα αλλάξουμε μόνο κάποια δεδομένα.
Χρειαζόμαστε τέσσερις εξωτερικές βιβλιοθήκες για να λειτουργήσει το ρομπότ που εξισορροπεί
- Η βιβλιοθήκη PID διευκολύνει τον υπολογισμό των τιμών P, I και D.
- Η βιβλιοθήκη LMotorController χρησιμοποιείται για την οδήγηση των δύο κινητήρων με τη μονάδα L298N.
- Η βιβλιοθήκη I2Cdev και η βιβλιοθήκη MPU6050_6_Axis_MotionApps20 προορίζονται για ανάγνωση δεδομένων από το MPU6050.
Λήψη Βιβλιοθηκών
PID -
LMotorController -
I2Cdev -
MPU6050 -
Λάβετε τον πηγαίο κώδικα -
Τι είναι το PID;
- Στη θεωρία ελέγχου, η διατήρηση μιας σταθερής μεταβλητής (στην περίπτωση αυτή, η θέση του ρομπότ) χρειάζεται έναν ειδικό ελεγκτή που ονομάζεται PID.
- P για αναλογικό, I για ολοκλήρωμα και D για παράγωγο. Κάθε μία από αυτές τις παραμέτρους έχει «κέρδη» που συνήθως ονομάζονται Kp, Ki και Kd.
- Το PID παρέχει διόρθωση μεταξύ της επιθυμητής τιμής (ή εισόδου) και της πραγματικής τιμής (ή εξόδου). Η διαφορά μεταξύ της εισόδου και της εξόδου ονομάζεται "σφάλμα".
- Ο ελεγκτής PID μειώνει το σφάλμα στη μικρότερη δυνατή τιμή προσαρμόζοντας συνεχώς την έξοδο.
- Στο ρομπότ μας Arduino με αυτόματη εξισορρόπηση, η είσοδος (η οποία είναι η επιθυμητή κλίση, σε μοίρες) ρυθμίζεται από λογισμικό.
- Το MPU6050 διαβάζει την τρέχουσα κλίση του ρομπότ και το τροφοδοτεί με τον αλγόριθμο PID που εκτελεί υπολογισμούς για τον έλεγχο του κινητήρα και τη διατήρηση του ρομπότ σε όρθια θέση.
Το PID απαιτεί οι τιμές κέρδους Kp, Ki και Kd να "συντονιστούν" στις βέλτιστες τιμές
Αντ 'αυτού, θα προσαρμόσουμε τις τιμές PID με μη αυτόματο τρόπο
- Κάντε Kp, Ki και Kd ίσο με το μηδέν.
- Προσαρμογή Kp. Πολύ μικρό Kp θα κάνει το ρομπότ να πέσει (δεν υπάρχει αρκετή διόρθωση). Πάρα πολύ Kp θα κάνει το ρομπότ να πηγαίνει μπρος πίσω. Ένα αρκετά καλό Kp θα κάνει το ρομπότ να πηγαίνει ελαφρά και πίσω (ή να ταλαντεύεται λίγο).
- Μόλις οριστεί το Kp, προσαρμόστε το Kd. Μια καλή τιμή Kd θα μειώσει τις ταλαντώσεις μέχρι το ρομπότ να είναι σχεδόν σταθερό. Επίσης, η σωστή ποσότητα Kd θα κρατήσει το ρομπότ όρθιο ακόμα κι αν το σπρώξετε.
- Τέλος, ορίστε το Ki. Το ρομπότ θα ταλαντεύεται όταν είναι ενεργοποιημένο ακόμη και αν τα Kp και Kd έχουν ρυθμιστεί αλλά θα σταθεροποιηθεί στο χρόνο. Η σωστή τιμή Ki θα μειώσει το χρόνο που χρειάζεται για να σταθεροποιηθεί το ρομπότ.
Πρόταση για καλύτερα αποτελέσματα
Σας συνιστώ να δημιουργήσετε ένα παρόμοιο πλαίσιο ρομπότ χρησιμοποιώντας τα υλικά που χρησιμοποιούνται σε αυτό το έργο για να κάνετε τον πηγαίο κώδικα για το ρομπότ Balance να λειτουργεί σταθερά και αποτελεσματικά.
Βήμα 6: Για υποστήριξη
- Μπορείτε να εγγραφείτε στο κανάλι μου στο YouTube για περισσότερα σεμινάρια και έργα.
- Επίσης, μπορείτε να εγγραφείτε για υποστήριξη. Σας ευχαριστώ.
Επίσκεψη στο κανάλι μου στο YouTube -
Συνιστάται:
Arduino - Maze Solving Robot (MicroMouse) Wall Robot Robot: 6 βήματα (με εικόνες)
Arduino | Maze Solving Robot (MicroMouse) Wall After Robot: Welcome I'm Isaac και αυτό είναι το πρώτο μου ρομπότ " Striker v1.0 ". Αυτό το ρομπότ σχεδιάστηκε για να λύσει ένα απλό λαβύρινθο. Στον διαγωνισμό είχαμε δύο λαβύρινθους και το ρομπότ μπόρεσε να τα αναγνωρίσει. Οποιεσδήποτε άλλες αλλαγές στον λαβύρινθο ενδέχεται να απαιτούν αλλαγή στο
Ο ευκολότερος τρόπος για να φτιάξετε ένα ρομπότ ελέγχου χειρονομίας: 7 βήματα (με εικόνες)
Ο ευκολότερος τρόπος για να φτιάξετε ένα ρομπότ ελέγχου χειρονομίας: Ελέγξτε τα παιχνίδια σαν ένα superHero. Μάθετε πώς μπορείτε να φτιάξετε ένα αυτοκίνητο που ελέγχεται από χειρονομίες. Αυτό αφορά το πώς να φτιάξετε μόνοι σας ένα αυτοκίνητο με χειρονομίες. Ουσιαστικά πρόκειται για μια απλή εφαρμογή γυροσκοπίου MPU-6050 3 αξόνων, επιταχυνσιόμετρο. Μπορείτε να κάνετε πολλά περισσότερα
Θέλετε να φτιάξετε έναν χιονάνθρωπο ;: 9 βήματα (με εικόνες)
Θέλετε να φτιάξετε έναν χιονάνθρωπο ;: Εισαγωγή Αυτό το έργο δείχνει πώς να χτίσετε έναν χιονάνθρωπο που χορεύει, με το Raspberry Pi και το PivotPi - ένα σερβο χειριστήριο φτιαγμένο ακριβώς για αυτό! Το Scratch χρησιμοποιείται για την κωδικοποίηση του χιονάνθρωπου που χορεύει και το Sonic Pi δημιουργεί τη μουσική των διακοπών
Robotic Heart - Μπορείτε να φτιάξετε ένα προϊόν!: 7 βήματα (με εικόνες)
Robotic Heart - Μπορείτε να φτιάξετε ένα προϊόν !: Όταν αγοράζετε ηλεκτρονικά, σπάνια έρχονται ως γυμνό PCB. Για διάφορους λόγους, το PCB βρίσκεται σε ένα περίβλημα. Έτσι σε αυτό το διδακτικό, θα δείξω πώς μπορείτε να πάρετε μια ιδέα και να τη μετατρέψετε σε προϊόν (πρώην)! Η συγκόλληση SMD μπορεί να φαίνεται τρομακτική, αλλά σας υπόσχομαι
Εύκολος τρόπος για να φτιάξετε μια κανάτα νερού χρησιμοποιώντας το Fusion 360: 5 βήματα (με εικόνες)
Εύκολος τρόπος για να φτιάξετε μια κανάτα νερού χρησιμοποιώντας το Fusion 360: Αυτό είναι ένα τέλειο έργο για όλους τους αρχάριους που χρησιμοποιούν το Fusion 360. Είναι εξαιρετικά εύκολο να το φτιάξετε. Θεωρήστε αυτό ένα δείγμα έργου και δημιουργήστε τα δικά σας σχέδια κανάτας. Έχω προσθέσει επίσης ένα βίντεο που είναι και πάλι φτιαγμένο στο Fusion 360. Νομίζω ότι δεν χρειάζεται να ξέρετε πώς ένα j