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

PID ελεγχόμενη πλατφόρμα Stewart Balancing Ball Balancing: 6 βήματα
PID ελεγχόμενη πλατφόρμα Stewart Balancing Ball Balancing: 6 βήματα

Βίντεο: PID ελεγχόμενη πλατφόρμα Stewart Balancing Ball Balancing: 6 βήματα

Βίντεο: PID ελεγχόμενη πλατφόρμα Stewart Balancing Ball Balancing: 6 βήματα
Βίντεο: ΑΝΤΙΣΤΑΘΜΙΣΗ ΣΥΣΤΗΜΑΤΩΝ ΕΛΕΓΧΟΥ ΜΕΡΟΣ Α 2024, Ιούλιος
Anonim
Image
Image
Πάρτε Υλικά
Πάρτε Υλικά

Κίνητρο και γενική έννοια:

Ως φυσικός στην εκπαίδευση, με ελκύει φυσικά και προσπαθώ να κατανοήσω τα φυσικά συστήματα. Εκπαιδεύτηκα να λύνω πολύπλοκα προβλήματα χωρίζοντάς τα στα πιο βασικά και ουσιώδη συστατικά τους, στη συνέχεια δημιουργώντας το πρόβλημα ξανά από εκεί. Αν και έχω μάθει μηχανικές και ηλεκτρομαγνητισμό από τις πρώτες αρχές, δεν έχω χρησιμοποιήσει ακόμη σε κάποια φυσική εφαρμογή. Επιτέλους θα έχω αυτήν την ευκαιρία δημιουργώντας ένα ρομπότ που χρησιμοποιεί τη θεωρία αυτόματων ελέγχων για να εξισορροπήσει αυτόματα μια μπάλα σε μια επίπεδη, πλήρως ελεγχόμενη πλατφόρμα, όλα από μόνη της!

Σε αυτό το πώς-να? που προορίζεται για τον τεχνικά καταλαβαίνω χάκερ, προγραμματιστή ή μηχανικό, θα χρησιμοποιήσουμε ένα Arduino Uno ως πλατφόρμα μικροελεγκτών. Ο κλειστός βρόχος ανατροφοδότησης αρχίζει όταν αντιλαμβάνεται τη θέση ενός στερεού μεταλλικού ρουλεμάν που βρίσκεται σε μια επίπεδη οθόνη με αντίσταση αφής, η οποία τροφοδοτεί πίσω την άμεση θέση των σφαιρών. Αυτή η θέση στη συνέχεια τροφοδοτείται σε έναν αναλογικό αναπόσπαστο ελεγκτή (PID), τον οποίο έχουμε προγραμματίσει στο Arduino Uno. Έχω κάνει αυτόν τον κώδικα ανοιχτού κώδικα και έχω συνδέσει στο έργο. Ο ελεγκτής έχει το καθήκον να επαναφέρει την μπάλα σε οποιαδήποτε θέση που έχει επιλέξει ο χρήστης στο τραπέζι, ακόμη και όταν έχει ενοχληθεί σημαντικά. Η δομική πλατφόρμα στήριξης που θα χρησιμοποιήσουμε είναι γνωστή ως «πλατφόρμα Stewart» και υποστηρίζεται από έξι ανεξάρτητες ράβδους σύνδεσης που κινούνται από σερβοκινητήρες και παρέχουν έως και έξι βαθμούς ελευθερίας. Μεταφράσεις X, Y και Z, roll, pitch και yaw (περιστροφές για τους άξονες X, Y και Z αντίστοιχα). Η κατασκευή και ο προγραμματισμός μιας τόσο υψηλής κινητής πλατφόρμας παρουσιάζει τις δικές της προκλήσεις, οπότε για αυτό το έργο, θα επικαλούμαστε μόνο τους βαθμούς ελευθερίας, αφήνοντας τους άλλους ως προαιρετικές αναβαθμίσεις της λειτουργικότητας, εάν το επιθυμεί ο χρήστης. Μαζί με την πλατφόρμα που μεταφέρει τη μπάλα σε οποιοδήποτε σύνολο από στατικές θέσεις καθορισμένες από το χρήστη, οι προχωρημένοι προγραμματιστές θα το βρίσκουν εύκολο να βελτιώσουν το πρόγραμμα και να προσθέσουν λίγο πανικό αντικαθιστώντας τη στατική, καθορισμένη από τον χρήστη θέση μας, με ένα ημι-συνεχές ίχνος ενός χρήστη καθορισμένη διαδρομή, όπως ένα σχήμα οκτώ, κυκλική τροχιά, το όνομά σας με γραφή, ή το αγαπημένο μου μια ζωντανή ροή της γραφίδας ή του δακτύλου κάποιου στη δική του κινητή συσκευή! Καλό χακάρισμα!

Βήμα 1: Λάβετε υλικά

Πάρτε Υλικά
Πάρτε Υλικά
Πάρτε Υλικά
Πάρτε Υλικά
Πάρτε Υλικά
Πάρτε Υλικά

Χρειαζονται ΥΛΙΚΑ:

1. Μερικά φύλλα ακρυλικού 1/4 "και 1/8"

2. 6 - Servo Motors (Χρησιμοποιήσαμε το HS5485HB Servo)

3. 6 - Ράβες σύνδεσης με σπείρωμα (Ρυθμιζόμενες)

4. 6 - CNC Machine Servo Arm's με πολλαπλές οπές για ρύθμιση

5. 12 - Τελειώνει η Heim Joint Rod Ends

6. 6 - Ράβδοι (Ρυθμιζόμενο)

7. Κιτ USB με οθόνη αφής 5- Wire Resistive Touch (αίσθηση θέσης ρουλεμάν)

Βήμα 2: Προετοιμάστε υλικά

Προετοιμάστε υλικά
Προετοιμάστε υλικά
Προετοιμάστε υλικά
Προετοιμάστε υλικά
Προετοιμάστε υλικά
Προετοιμάστε υλικά

Ο καλύτερος τρόπος για να κάνετε ακρυλική κοπή είναι χρησιμοποιώντας μια κάμερα λέιζερ. Η πρόσβαση σε ένα μπορεί να είναι δύσκολη, οπότε το ακρυλικό μπορεί επίσης να κοπεί εύκολα χρησιμοποιώντας όποια εργαλεία κοπής γνωρίζετε, να εκπαιδευτείτε σωστά και να λειτουργείτε με ασφάλεια. Αν το έκανα αυτό στο σπίτι για παράδειγμα, θα χρησιμοποιούσα ένα πριόνι χειρός. Το συνολικό σχήμα της πλατφόρμας Stewart δεν χρειάζεται να ταιριάζει ακριβώς με το μοντέλο που έφτιαξα. Ωστόσο, θέλω να επισημάνω μερικές ευκαιρίες απλοποίησης. Πρώτον, είναι πολύ ευκολότερο να χαρτογραφήσετε τους βαθμούς ελευθερίας πίστας και κυλίνδρων χρησιμοποιώντας τρεις βάσεις, αντί για τις δύο τυπικές. Αυτό γίνεται κάνοντας την προσάρτηση των συνδετικών ράβδων στην πραγματική πλατφόρμα ισόπλευρο τρίγωνο. Αυτό σας επιτρέπει να αγνοήσετε όλες τις επιπλοκές της εξεύρεσης των βαθμών ελευθερίας (DOF) από το μηδέν, αλλά χρησιμοποιούμε 3 μη γραμμικά ανεξάρτητες "βάσεις" που είναι απλά ο χάρτης εκείνης της γωνίας του τριγώνου που ανεβαίνει. Θα ήταν δύσκολο για εσάς ή εγώ να γράψετε συντεταγμένες σε αυτήν τη βάση, αλλά η αλληλεξάρτηση αυτών των βάσεων αντιμετωπίζεται εύκολα από τον κώδικα. Αυτή η απλοποιητική υπόθεση είναι το κλειδί για την παραμέληση όλων των περιπλοκών της γεωμετρίας. Δείτε την εικόνα γραφικών MS Paint και εικόνα πίνακα για λεπτομέρειες.

Μόλις κοπούν τα κομμάτια, θα χρειαστεί να ανοίξετε όλες τις τρύπες, εκεί που συνδέονται οι ράβδοι σύνδεσης και οι αρθρώσεις σφαιρών. Προσέξτε να ταιριάξετε το μέγεθος της τρύπας με το κατάλληλο υλικό που χρησιμοποιείτε. Αυτό είναι ζωτικής σημασίας για να λειτουργούν οι συνδετήρες που έχετε επιλέξει. Τα μεγέθη των οπών βασίζονται στο τι μέγεθος βρύσης θα χρειαστείτε για τον συνδετήρα σας. Για να το κάνετε αυτό, βρείτε μια ηλεκτρονική αναφορά για το συγκεκριμένο μέγεθος βρύσης, βήμα και τύπο νήματος (πρόστιμο έναντι πορείας). Προτείνω νήματα μαθήματος για ακρυλικό, αλλά αν πρέπει να χρησιμοποιήσετε λεπτό νήμα, θα πρέπει να λειτουργήσει, αφού έτσι κι αλλιώς χρησιμοποιήσαμε. Τώρα ήρθε η ώρα να προχωρήσουμε στη συναρμολόγηση.

Βήμα 3: Συγκέντρωση υλικών

Συγκεντρώστε υλικά
Συγκεντρώστε υλικά
Συγκεντρώστε υλικά
Συγκεντρώστε υλικά
Συγκεντρώστε υλικά
Συγκεντρώστε υλικά
Συγκεντρώστε υλικά
Συγκεντρώστε υλικά

Συναρμολογήστε προσεκτικά τα υλικά σύμφωνα με τις προδιαγραφές. Προσέξτε ιδιαίτερα να μην απογυμνώσετε βίδες. Μόλις γίνει αυτό, θα πρέπει είτε να αλλάξετε υλικό με το μέγεθος και να ανοίξετε μεγαλύτερες τρύπες και να τις χτυπήσετε, είτε θα χρειαστεί να κόψετε ένα εντελώς νέο κομμάτι ακρυλικού. Σημειώστε επίσης ότι πρέπει να είστε προσεκτικοί με την οθόνη αφής. Είναι εύθραυστο !!! Είναι ένα λεπτό στρώμα γυαλιού τελικά. Σημειώστε ότι είχαμε ένα ατύχημα μόνοι μας.

Βήμα 4: Προγραμματισμός

Προγραμματισμός
Προγραμματισμός

Ο προγραμματισμός μπορεί να πάρει λίγο χρόνο. Αυτό είναι όπου οι ικανότητες προγραμματισμού σας μπορούν πραγματικά να αποδώσουν. Δεν χρειάζεται να μπορείτε να γράψετε τον κώδικα από την αρχή, αλλά αν μπορείτε να βρείτε έναν καλά σχολιασμένο και οργανωμένο πηγαίο κώδικα για τροποποίηση, τότε αυτό κάνει τη ζωή πολύ πιο εύκολη. Εδώ είναι ο σύνδεσμος προς τον πηγαίο μας κώδικα: https://github.com/a6guerre/Ball-balanced-on-Stew…, βοηθήστε τον εαυτό σας! Σίγουρα δεν έχει βελτιστοποιηθεί, αλλά έγινε η δουλειά! Θυμηθείτε ότι χρησιμοποιούμε τρεις ξεχωριστές μη ορθολογικές, μη γραμμικά ανεξάρτητες βάσεις για τον χάρτη ελέγχου. Διαβάζουμε απλώς τα πάντα σε x, y και αντιστοιχίζουμε στα A, B και C. Αυτή η απάντηση στη συνέχεια ρυθμίζεται σε παγκόσμιο επίπεδο για να προσαρμόσουμε πόσο λίγο πολύ θέλουμε να ανταποκριθεί το σύστημα.

Βήμα 5: Δοκιμή

Εδώ δοκιμάζουμε τους βαθμούς ελευθερίας. Σημειώστε τώρα πώς αποδίδουν οι τρεις βάσεις μας! Για παράδειγμα, για να πάρουμε το ρολό DOF, απλά κατεβαίνουμε μια μονάδα στα αριστερά, ενώ ανεβαίνουμε μια μονάδα στα δεξιά και αντίστροφα για την άλλη κατεύθυνση. Είναι επίσης σημαντικό να έχετε κάνει αρκετά καλή δουλειά φιλτράροντας τον θόρυβο από την οθόνη αφής σας. Αυτό είναι ζωτικής σημασίας για να έχετε καλά δεδομένα για να τροφοδοτήσετε το PID σας.

Βήμα 6: Καλός συντονισμός και απόλαυση

Η δοκιμαστική φάση ήταν πραγματικά για να βγάλουμε τα σφάλματα. Εδώ, εστιάζουμε στη λεπτή ρύθμιση του συστήματος ελέγχου. Αυτό γίνεται καλύτερα με έναν προκαθορισμένο αλγόριθμο. Το αγαπημένο μου είναι να το προσεγγίσω σαν ένα κρίσιμο πρόβλημα απόσβεσης, Ahem! Είμαι φυσικός! Απενεργοποιείτε λοιπόν τον όρο απόσβεσης! Δηλαδή ο παράγωγος όρος, ο οποίος λειτουργεί σαν όρος drag. Τώρα η μπάλα θα ταλαντεύεται άγρια! Ωστόσο, ο στόχος είναι οι ταλαντώσεις να είναι όσο το δυνατόν πιο κοντά στις αρμονικές, να μην μεγαλώνουν ή να φθείρονται, όσο καλύτερα μπορείτε. Μόλις γίνει αυτό, ενεργοποιείτε τον παράγωγο όρο και προσαρμόζετε μέχρι να επανέλθει στην ισορροπία το συντομότερο δυνατό. Τότε επιτυγχάνεται κρίσιμη απόσβεση. Ωστόσο, εάν αυτό δεν λειτουργήσει, υπάρχουν πολλά άλλα καλά αποδεδειγμένα συστήματα συντονισμού για συστήματα ελεγχόμενα με PID. Το βρήκα στη wikipedia, κάτω από τον ελεγκτή PID. Ευχαριστώ πολύ που ρίξατε μια ματιά στο έργο μου και επικοινωνήστε με τυχόν ερωτήσεις, θα χαρώ να απαντήσω σε όποιες ερωτήσεις έχετε. Ειδική σημείωση: Θέλω να επισημάνω ότι αυτό το έργο από την αρχή μέχρι το τέλος έγινε από το Miracle Max Guerrro και τον εαυτό μου σε λιγότερο από τέσσερις εβδομάδες, συμπεριλαμβανομένης της αναμονής για δύο εβδομάδες για μια νέα οθόνη που είχε κολλήσει στο τελωνείο, μετά την πρώτη μας έσπασε. Λοιπόν, παρακαλώ συγχωρείτε ότι απέχει πολύ από την τέλεια απόδοση. Καλό χακάρισμα!

Συνιστάται: