Πίνακας περιεχομένων:
- Βήμα 1: Προετοιμασία εργαστηρίου πριν φτάσουν οι μαθητές
- Βήμα 2: Εξοικειωθείτε με το ρομπότ
- Βήμα 3: Βαθμονομήστε τον αισθητήρα φωτός
- Βήμα 4: Δοκιμάστε τη βαθμονόμηση κινητήρα
- Βήμα 5: Εκτελέστε τον παρεχόμενο ελεγκτή On-Off
- Βήμα 6: Ανοίξτε το λογισμικό ελεγκτή On-Off "01 Line"
- Βήμα 7: Κατανόηση του λογισμικού ελεγκτή On-Off "01 Line"
- Βήμα 8: Επεξεργασία του λογισμικού ελεγκτή On-Off "01 Line"
- Βήμα 9: Κατανόηση της "02 Line" On-Off με λογισμικό ελεγκτή Dead-Zone
- Βήμα 10: Κατανόηση του αναλογικού λογισμικού ελεγκτή "03 Line"
- Βήμα 11: Επεξεργασία του προγράμματος 03 Line (Proportional Control)
- Βήμα 12: Προηγμένοι ελεγκτές PID
- Βήμα 13: Εύρεση των καλύτερων παραμέτρων PID
- Βήμα 14: Συμπέρασμα
Βίντεο: Διδασκαλία ελέγχου PID με ρομπότ Lego: 14 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Πολλοί νέοι λάτρεις των ρομπότ ενδιαφέρονται για πιο προηγμένα θέματα ελέγχου, αλλά μπορεί να τους εμποδίζει ο λογισμός που συχνά απαιτείται για την ανάλυση συστημάτων κλειστού βρόχου. Υπάρχουν θαυμάσιοι πόροι που διατίθενται στο διαδίκτυο, οι οποίοι απλοποιούν την κατασκευή ενός "Proportional Integral Differential Controller" (PID Controller) και μια εξαιρετική περιγραφή είναι εδώ:
Ωστόσο, αυτά μπορεί να είναι δύσκολο να ακολουθηθούν και μπορεί να μην είναι κατάλληλα για μια τάξη 20 περίπου μαθητών.
Αυτό το βήμα προς βήμα Instructable δείχνει πώς να διδάξετε με επιτυχία ένα δωμάτιο γεμάτο μαθητές που χρησιμοποιούν το σύστημα ρομπότ Lego, έναν αριθμό ρομπότ (5 έως 10 από αυτά), ισάριθμους σταθμούς εργασίας υπολογιστή με NXT 2.0 και ένα μαύρο κομμάτι επτά ποδιών ηλεκτρική ταινία στο πάτωμα.
ASIDE: Ευχαριστώ τον J. Sluka, ο οποίος έγραψε τον παραπάνω σύνδεσμο, τον Dr. Bruce Linnell, ο οποίος δημιούργησε μερικά πρώιμα εργαστήρια Lego σε επίπεδο Πανεπιστημίου ECPI και τον Dr. Reza Jafari, ο οποίος παρείχε μαθησιακούς στόχους PID Control για την αντιστοίχιση ιδεών προς το EET220 και Μαθήματα Capstone.
Βήμα 1: Προετοιμασία εργαστηρίου πριν φτάσουν οι μαθητές
Ενημερώστε τους μαθητές για τη σκληρή δουλειά σας;-)
Οι εκπαιδευτές και οι βοηθοί διδασκαλίας ήταν ΠΟΛΥ απασχολημένοι ετοιμάζοντας να κάνετε αυτό το εργαστήριο! Το ρομπότ έχει φορτιστεί και συναρμολογηθεί για αυτό το εργαστήριο. Εάν απαιτείται συναρμολόγηση, αυτό μπορεί να διαρκέσει έως και 90 λεπτά για ένα ή περισσότερα ρομπότ. Χρειάζεται ακόμη περισσότερος χρόνος για τη φόρτιση των μπαταριών ή την προετοιμασία τους με κύκλους φόρτισης/εκφόρτισης. Για λεπτομερείς οδηγίες σχετικά με τον τρόπο κατασκευής του ρομπότ που θα χρησιμοποιήσουμε σήμερα, ανατρέξτε στο Εκπαιδευτικό κιτ NXT 2.0 ή 2.1, τον Οδηγό κατασκευής ρομπότ «ακολουθήστε μια γραμμή». Θα χρησιμοποιήσουμε όμως πιο πολύπλοκο προγραμματισμό… Η μαύρη ηλεκτρική ταινία σε ανοιχτόχρωμο λινέλαιο κάνει ένα υπέροχο κομμάτι. Αυτό είναι 3’x 7’ με ημικυκλικές καμπύλες.
Βήμα 2: Εξοικειωθείτε με το ρομπότ
Πρώτον, θα εξοικειωθείτε με το μενού ρομπότ, καθώς και με μερικά από τα μέρη του συγκεκριμένου ρομπότ. Θα μάθετε επίσης για την τεχνολογία αισθητήρων βιομηχανικού στυλ που χρησιμοποιείται από το ρομπότ, συμπεριλαμβανομένων διόδων εκπομπής φωτός, αισθητήρων φωτός, βηματικών κινητήρων και αισθητήρων περιστροφικής θέσης. Βεβαιωθείτε ότι έχετε συμπληρώσει όλες τις ζητούμενες πληροφορίες (συνήθως υπογραμμισμένα κενά _).
1. Αποσυνδέστε το ρομπότ από το φορτιστή ή/και τη θύρα USB του υπολογιστή σας. Χρησιμοποιήστε το κουμπί Πορτοκαλί για να ενεργοποιήσετε το ρομπότ. Το πορτοκαλί, το αριστερό και το δεξί κουμπί και το κουμπί "πίσω" γκρι ορθογώνιο επιτρέπουν την πλοήγηση στο μενού. Μεταβείτε στο μενού "Αρχεία λογισμικού" και μεταβείτε στα διαθέσιμα αρχεία λογισμικού στο ρομπότ. Παραθέστε τα ονόματα κάθε αρχείου λογισμικού, ακριβώς πώς γράφεται, συμπεριλαμβανομένων κεφαλαίων και κενών:
_
Βήμα 3: Βαθμονομήστε τον αισθητήρα φωτός
2 Εξετάστε τον αισθητήρα φωτός και τις πληροφορίες βαθμονόμησης. Δημιουργήστε αντίγραφα ασφαλείας στο κύριο μενού και επιλέξτε "Προβολή". Επιλέξτε την επιλογή "Reflected Light" και τη θύρα (θα πρέπει να είναι "Port 3"), η οποία προκαλεί την ενεργοποίηση του φωτός και την εμφάνιση ενός αριθμού στην οθόνη. Βεβαιωθείτε ότι όλα λειτουργούν και καταγράψτε μερικές πληροφορίες βαθμονόμησης.
ένα. Μέγιστη ανάγνωση χρησιμοποιώντας ένα λευκό φύλλο χαρτιού: Αριθμός: _ Περιγράψτε την κατά προσέγγιση απόσταση από το χαρτί: _
σι. Μέγιστη ανάγνωση όταν βρίσκεστε στο ανοιχτόχρωμο δάπεδο λινέλαιο: _
ντο. Ελάχιστη ανάγνωση όταν δείχνει προς το κέντρο της μαύρης ηλεκτρικής ταινίας: _
Βήμα 4: Δοκιμάστε τη βαθμονόμηση κινητήρα
3 Εξετάστε τους κινητήρες των τροχών (αριστερά και δεξιά) καθώς και πληροφορίες βαθμονόμησης. Δημιουργήστε αντίγραφο ασφαλείας στο κύριο μενού και επιλέξτε "Περιστροφές κινητήρα" Επιλέξτε τη θύρα (θα πρέπει να είναι είτε "Θύρα Β" είτε "Θύρα Γ" για τους δύο κινητήρες). Δείτε αν μπορείτε να ελέγξετε τη βαθμονόμηση αυτής της ένδειξης γυρίζοντας κάθε κινητήρα έναν σταθερό αριθμό περιστροφών κατά την προβολή της ανάγνωσης. Θα κάνετε την ίδια δοκιμή βαθμονόμησης και για τους δύο κινητήρες χρησιμοποιώντας την οθόνη βαθμονόμησης "View" à "Degrees Motor".
Κινητήρας στο λιμάνι Β
- Πόσες φορές περιστρέψατε τον τροχό _
- Τιμή εμφάνισης "Περιστροφές κινητήρα" _
- Η απόσταση σε μοίρες του τροχού περιστράφηκε _
- Τιμή εμφάνισης "Μοτέρ μοίρες" _
Κινητήρας στη θύρα C
- Πόσες φορές περιστρέψατε τον τροχό _
- Τιμή εμφάνισης "Περιστροφές κινητήρα" _
- Η απόσταση σε μοίρες του τροχού περιστράφηκε _
- Τιμή εμφάνισης "Μοτέρ μοίρες" _
Οι τιμές εμφάνισης συμφωνούσαν με τις προσδοκίες σας; Παρακαλώ εξηγήστε. _
Βήμα 5: Εκτελέστε τον παρεχόμενο ελεγκτή On-Off
Ένας ελεγκτής "On-Off" (μερικές φορές ονομάζεται "Bang-Bang") έχει μόνο δύο επιλογές, ενεργοποίηση και απενεργοποίηση. Είναι παρόμοιο με το χειριστήριο θερμοστάτη στο σπίτι σας. Όταν ρυθμιστεί σε μια επιλεγμένη θερμοκρασία, ο θερμοστάτης θα θερμάνει το σπίτι εάν κάνει πολύ κρύο και θα ψύξει το σπίτι εάν είναι πολύ ζεστό. Η επιλεγμένη θερμοκρασία ονομάζεται "Σημείο ρύθμισης" και η διαφορά μεταξύ της τρέχουσας θερμοκρασίας του σπιτιού και του σημείου ρύθμισης ονομάζεται "Σφάλμα". Έτσι, θα μπορούσατε να πείτε, εάν το σφάλμα είναι θετικό, ενεργοποιήστε το AC, διαφορετικά ενεργοποιήστε τη θερμότητα.
Στην περίπτωσή μας, το ρομπότ θα στρίψει Αριστερά ή Δεξιά, ανάλογα με το αν το σημείο ρύθμισης του αισθητήρα φωτός έχει θετικό ή αρνητικό σφάλμα (πάρα πολύ στο λευκό πάτωμα ή πάρα πολύ στη μαύρη ταινία).
Θα παρατηρήσετε ότι το ρομπότ σας μπορεί να έχει ήδη φορτωθεί με πολλά προγράμματα (ή μπορείτε να χρησιμοποιήσετε το συνημμένο αρχείο "01 line.rbt" που είναι ενσωματωμένο εδώ) αποθηκευμένο σε αυτό με ονόματα όπως "1 γραμμή" και "2 γραμμή" και εκεί επίσης μπορεί να είναι ένα πρόσθετο γράμμα μετά τον αριθμό του προγράμματος, όπως "γραμμή 3β". Θα χρειαστεί να εκτελέσετε το πρόγραμμα με τον αριθμό "1" στο όνομά του και στη συνέχεια να τοποθετήσετε το ρομπότ στο κασετόφωνο, με το senor στη μαύρη γραμμή. Προσπαθήστε να μείνετε μακριά από άλλα ρομπότ που βρίσκονται ήδη στην πίστα, έτσι ώστε να μπορείτε να χρονομετρήσετε το ρομπότ σας χωρίς διακοπή του χτυπήματος σε άλλα ρομπότ.
4 Μετρήστε τις ακόλουθες χρονικές δοκιμές:
ένα. Χρόνος ολοκλήρωσης μιας ευθείας πλευράς του κομματιού: _
σι. Περιγράψτε την κίνηση του ρομπότ σε ευθεία γραμμή: _
ντο. Χρόνος ολοκλήρωσης μιας καμπύλης του κομματιού: _
ρε. Περιγράψτε την κίνηση του ρομπότ με καμπύλη τροχιά: _
μι. Timeρα να γυρίσετε ολόκληρη την πίστα μία φορά: _
Βήμα 6: Ανοίξτε το λογισμικό ελεγκτή On-Off "01 Line"
Θα ανοίξετε το λογισμικό "LEGO MINDSTORMS NXT 2.0" (όχι το λογισμικό Edu 2.1) και θα φορτώσετε το κατάλληλο πρόγραμμα που ονομάζεται "01 line.rbt" και θα εξετάσετε και θα τροποποιήσετε το λογισμικό, ακολουθώντας τις παρακάτω οδηγίες:
Ανοίξτε το λογισμικό "LEGO MINDSTORMS NXT 2.0" (όχι το λογισμικό Edu 2.1). Ο εκπαιδευτής σας θα σας πει πού αποθηκεύονται τα αρχεία στον υπολογιστή σας και από αυτήν τη θέση θα ανοίξετε το πρόγραμμα "1 γραμμή". Απλώς επιλέξτε "Αρχείο", στη συνέχεια "Άνοιγμα" και επιλέξτε το πρόγραμμα "1 γραμμή" για να ανοίξετε.
Μόλις ανοίξει το πρόγραμμα, μπορείτε να χρησιμοποιήσετε το εικονίδιο "χέρι" για να μετακινήσετε ολόκληρη την εικόνα της οθόνης του προγράμματος και μπορείτε να χρησιμοποιήσετε το εικονίδιο "βέλος" για να κάνετε κλικ σε μεμονωμένα αντικείμενα για να δείτε πώς λειτουργούν (και επίσης να κάνετε αλλαγές) Το
Βήμα 7: Κατανόηση του λογισμικού ελεγκτή On-Off "01 Line"
Το πρόγραμμα "1 γραμμή" χρησιμοποιεί μια μέθοδο ελέγχου "On-Off". Σε αυτήν την περίπτωση, οι επιλογές είναι είτε "Στροφή αριστερά" ή "Στροφή δεξιά". Το γράφημα περιέχει μια περιγραφή των στοιχείων του προγράμματος:
Βήμα 8: Επεξεργασία του λογισμικού ελεγκτή On-Off "01 Line"
Αλλάξτε το σημείο ρύθμισης και συγκρίνετε τα αποτελέσματα.
Ανακαλύψατε μερικές πραγματικές τιμές του μετρητή φωτός στο βήμα 2 παραπάνω. Καταγράψατε τιμές στα μέρη β και γ, αριθμούς για τις ελάχιστες και μέγιστες τιμές που θα έβλεπε το ρομπότ κατά την εκτέλεση του κομματιού.
5 Υπολογίστε μια ΚΑΛΗ τιμή καθορισμένου σημείου (ο μέσος όρος του ελάχιστου και του μέγιστου): _
6 Επιλέξτε BAD set-pint τιμή (αριθμός πολύ κοντά στο ελάχιστο ή το μέγιστο): _
Αλλάξτε το σημείο ρύθμισης σε μία από αυτές τις τιμές χρησιμοποιώντας το εικονίδιο βέλους για να κάνετε κλικ στο πλαίσιο υπολογισμού σφάλματος και αλλάζοντας τον αριθμό που αφαιρείται (δείτε την παρακάτω εικόνα). Τώρα συνδέστε το ρομπότ στον υπολογιστή χρησιμοποιώντας το καλώδιο USB, βεβαιωθείτε ότι το ρομπότ είναι ενεργοποιημένο και κατεβάστε τη νέα έκδοση του προγράμματος "1 line" στο ρομπότ. Θα δείτε πόσο χρόνο χρειάζεται το ρομπότ για να περιστρέφεται την πίστα προς τη φορά των δεικτών του ρολογιού, μία φορά με το GOOD set-point και μία φορά με το BAD.
7 Ολοκληρώστε χρονομετρικές δοκιμές με GOOD και BAD τιμές καθορισμένων σημείων
ένα. Timeρα να γυρίσετε ολόκληρη την πίστα μία φορά (GOOD Set-Point): _
σι. Timeρα να γυρίσετε ολόκληρη την πίστα μία φορά (BAD Set-Point): _
Οι παρατηρήσεις / συμπεράσματά σας; _
Βήμα 9: Κατανόηση της "02 Line" On-Off με λογισμικό ελεγκτή Dead-Zone
Εάν το AC και η θερμότητα στο σπίτι σας συνεχίζουν να ενεργοποιούνται και να απενεργοποιούνται όλη την ημέρα, θα μπορούσε σίγουρα να καταστρέψει το σύστημα HVAC (ή τουλάχιστον να συντομεύσει τη ζωή του). Οι περισσότεροι θερμοστάτες κατασκευάζονται με ενσωματωμένη "νεκρή ζώνη". Για παράδειγμα, εάν το σημείο ρύθμισης είναι 70 βαθμοί Φαρενάιτ, ο θερμοστάτης μπορεί να μην ενεργοποιήσει το AC έως ότου φτάσει τους 72 βαθμούς, ούτε να ενεργοποιήσει τη θερμότητα μέχρι να πέσει η θερμοκρασία στους 68 βαθμούς. Εάν η νεκρή ζώνη γίνει πολύ μεγάλη, το σπίτι μπορεί να γίνει άβολο.
Στην περίπτωσή μας, θα χρησιμοποιήσουμε το πρόγραμμα γραμμής 02 για να προσθέσουμε μια νεκρή ζώνη, κατά την οποία το ρομπότ θα οδηγεί απλώς ευθεία.
Τώρα εξετάστε το αρχείο λογισμικού "γραμμή 02" όπως περιγράφεται στο γράφημα και όπως περιέχεται στο συνημμένο αρχείο.
Αυτό το αρχείο λογισμικού προγραμματίζει το ρομπότ να ακολουθήσει τη γραμμή χρησιμοποιώντας τον έλεγχο On-Off με διαφορικό χάσμα. Αυτό είναι επίσης γνωστό ως Deadband και σημαίνει ότι το ρομπότ θα στρίψει αριστερά ή δεξιά ανάλογα με το σφάλμα, αλλά αν το σφάλμα είναι μικρό, το ρομπότ θα πάει απλώς ευθεία.
Το πρόγραμμα "γραμμή 02" υπολογίζει πρώτα τα παραπάνω αφαιρώντας το σημείο ρύθμισης από τη Μέτρηση Φωτός και, στη συνέχεια, κάνοντας τις συγκρίσεις όπως σημειώθηκε παραπάνω. Εξετάστε το πρόγραμμα στον υπολογιστή και καταγράψτε τις τιμές που βλέπετε.
Ποια είναι η τρέχουσα (αρχική) τιμή του προγράμματος "2 γραμμών" του Set-Point; _
Ποια είναι η τρέχουσα (αρχική) τιμή του προγράμματος "2 γραμμών" "Μεγάλο" Θετικό σφάλμα; _
Ποια είναι η τρέχουσα (αρχική) τιμή των "2 γραμμών" προγραμμάτων "Μεγάλο" Αρνητικό Σφάλμα; _
Ποιο εύρος σφαλμάτων Dead-Band θα προκαλέσει την ευθεία πορεία του ρομπότ; ΑΠΟ ΠΡΟΣ _
Εκτελέστε τρεις (3) δοκιμές χρόνου με διαφορετικές τιμές για το παραπάνω σφάλμα "Μεγάλο". Οι τρέχουσες ρυθμίσεις "2 γραμμών" καθώς και δύο άλλες ρυθμίσεις θα υπολογίσετε. Έχετε ήδη επιλέξει ένα GOOD Set-Point για το ρομπότ σας. Τώρα θα επιλέξετε δύο διαφορετικές σειρές Dead-Band και θα καταγράψετε τον χρόνο που χρειάζεται το ρομπότ για να κάνει έναν δεξιόστροφο γύρο:
Αρχικές ρυθμίσεις για τη γραμμή 02 _
Dead -Band +4 έως -4 _
Dead -Band των +12 έως -12 _
Βήμα 10: Κατανόηση του αναλογικού λογισμικού ελεγκτή "03 Line"
Με τον αναλογικό έλεγχο, δεν ενεργοποιούμε ή απενεργοποιούμε μόνο τη θερμότητα, ενδέχεται να έχουμε αρκετές ρυθμίσεις για το πόσο να ενεργοποιήσουμε τον φούρνο (όπως το μέγεθος των φλογών στην κορυφή της σόμπας). Στην περίπτωση του ρομπότ, δεν έχουμε μόνο τρεις ρυθμίσεις κινητήρα (αριστερά, δεξιά και ευθεία). Αντ 'αυτού, μπορούμε να ελέγξουμε την ταχύτητα του αριστερού και του δεξιού τροχού για να έχουμε μεγάλη ποικιλία στροφών. Όσο μεγαλύτερο είναι το σφάλμα, τόσο πιο γρήγορα θέλουμε να επιστρέψουμε στη γραμμή.
Ας δούμε τον Αναλογικό Έλεγχο με το πρόγραμμα "03 line"
Το πρόγραμμα για τη γραμμή "03" είναι πιο περίπλοκο, διότι όχι μόνο δημιουργεί τη μέθοδο ελέγχου "Αναλογική", αλλά περιέχει επίσης όλο το λογισμικό για τον έλεγχο Αναλογικών-Ολοκληρωτικών, Αναλογικών-Διαφορικών και Αναλογικών-Ολοκληρωτικών-Διαφορικών (PID) Το Όταν φορτώνετε το λογισμικό, πιθανότατα θα είναι πολύ μεγάλο για να χωράει ταυτόχρονα στην οθόνη, αλλά έχει πραγματικά τρία μέρη, όπως φαίνεται στο συνημμένο γράφημα.
Α - Τα μαθηματικά για τον υπολογισμό του σφάλματος και ο «λογισμός» για την εύρεση του ολοκλήρου και του παραγώγου του σφάλματος με την πάροδο του χρόνου.
Β - Τα μαθηματικά για τον υπολογισμό της αριστερής ταχύτητας κινητήρα με βάση τις ρυθμίσεις ελέγχου PID των Kp, Ki και Kd
Γ - Τα μαθηματικά για τον έλεγχο των ορίων ταχύτητας κινητήρα και αποστολή των σωστών στροφών κινητήρα στον αριστερό και τον δεξιό κινητήρα.
Και οι τρεις εκτελούν τους δικούς τους άπειρους βρόχους (μετά την προετοιμασία) και μπορείτε να περιηγηθείτε χρησιμοποιώντας το εικονίδιο "χέρι", αλλά επιστρέψτε στο εικονίδιο "βέλος" για να εξετάσετε τα περιεχόμενα του κουτιού και να αλλάξετε τις ρυθμίσεις.
Βήμα 11: Επεξεργασία του προγράμματος 03 Line (Proportional Control)
Στο μεσαίο τμήμα (ενότητα Β στην προηγούμενη περιγραφή) θα παρατηρήσετε ότι στο πρόγραμμα "γραμμή 03", οι ρυθμίσεις του Ki και του Kd είναι και οι δύο 0.
Ας τα αφήσουμε έτσι. Θα αλλάξουμε μόνο την τιμή του Kp, το αναλογικό μέρος του ελεγκτή.
Ο Kp αποφασίζει πόσο ομαλά το ρομπότ αλλάζει ταχύτητα καθώς απομακρύνεται από τη γραμμή. Εάν το Kp είναι πολύ μεγάλο, η κίνηση θα είναι εξαιρετικά σπασμωδική (παρόμοια με το χειριστήριο On-Off). Εάν το Kp είναι πολύ μικρό, τότε το ρομπότ θα κάνει διορθώσεις πολύ αργά και θα απομακρυνθεί πολύ από τη γραμμή, ειδικά στις καμπύλες. Μπορεί ακόμη και να παρασυρθεί στο σημείο να χάσει εντελώς τη γραμμή!
13 Ποιο Set-Point χρησιμοποιεί το πρόγραμμα "03 line"; (αφαιρείται μετά την ανάγνωση της ρύθμισης φωτός στον βρόχο Α) _
14 Ποια είναι η τιμή του Kp στο τρέχον πρόγραμμα "03 line"; _
Χρονικές δοκιμές για τον αναλογικό ελεγκτή (πρόγραμμα "3 γραμμών")
Θα χρησιμοποιείτε τις αρχικές ρυθμίσεις για το πρόγραμμα "03 line" που είναι αποθηκευμένο στη μνήμη του ρομπότ σας για να κάνετε μια χρονομέτρηση και θα χρησιμοποιείτε επίσης δύο άλλες τροποποιήσεις στο πρόγραμμα "03 line" για συνολικά τρεις μετρήσεις χρονομέτρησης. Οι τροποποιήσεις που πρόκειται να κάνετε περιλαμβάνουν
DRIFTY - Βρίσκοντας μια τιμή Kp που κάνει το ρομπότ να παρασύρεται πολύ αργά και πιθανότατα να χάσει τη θέα από τη γραμμή (αλλά ελπίζω όχι). Δοκιμάστε μια Kp διαφορετικές τιμές μεταξύ 0,5 και 2,5 (ή άλλη τιμή) έως ότου λάβετε μία όπου το ρομπότ παρασύρεται, αλλά παραμένει στη γραμμή.
JERKY - Βρίσκοντας μια τιμή Kp που κάνει το ρομπότ να σπρώχνει μπρος -πίσω, πολύ παρόμοιο με τον τύπο On -Off κίνησης. Δοκιμάστε μια τιμή Kp κάπου μεταξύ 1,5 και 3,5 (ή άλλη τιμή) μέχρι να λάβετε μία όπου το ρομπότ μόλις αρχίζει να εμφανίζει την κίνηση εμπρός και πίσω, αλλά όχι πολύ δραματικά. Αυτή είναι επίσης γνωστή ως η "κρίσιμη" τιμή του Kp.
Οι δοκιμές χρόνου για ολόκληρη τη φορά των δεικτών του ρολογιού γύρω από το κομμάτι χρειάζονται μόνο με τις αρχικές τιμές "3 γραμμών" και τα δύο νέα σύνολα τιμών (DRIFTY και JERKY) που ανακαλύπτετε με το ρομπότ να ακολουθεί μόνο ένα μικρό μήκος διαδρομής. Μην ξεχνάτε να κατεβάζετε αλλαγές στο ρομπότ σας κάθε φορά!
15 Καταγράψτε τις αναλογικές τιμές ελέγχου και τις χρονικές δοκιμές για το πρόγραμμα "3 γραμμές" (θυμηθείτε να κάνετε λήψη αλλαγών στο ρομπότ!) Για καθεμία από αυτές τις τρεις τιμές του Kp (η αρχική τιμή γραμμής 03 και δύο τιμές που καθορίζετε με δοκιμή και σφάλμα) να είναι DRIFTY και JERKY).
Βήμα 12: Προηγμένοι ελεγκτές PID
Πριν ξεκινήσετε αυτό το βήμα, φροντίστε να ολοκληρώσετε τα προηγούμενα βήματα, καταγράφοντας όλες τις ζητούμενες πληροφορίες, με το συγκεκριμένο ρομπότ που σκοπεύετε να χρησιμοποιήσετε για αυτό το εργαστήριο. Κάθε ρομπότ είναι ελαφρώς διαφορετικό, όσον αφορά τις μηχανικές πτυχές, τις πτυχές του κινητήρα και ιδιαίτερα τα αποτελέσματα του αισθητήρα φωτός στην πίστα.
Αριθμοί που θα χρειαστείτε από τα προηγούμενα πειράματα
16 Μέγιστη ανάγνωση αισθητήρα φωτός (από το βήμα 2) _
17 Ελάχιστη ανάγνωση αισθητήρα φωτός (από το βήμα 5) _
18 ΚΑΛΗ ρύθμιση για το σημείο ρύθμισης (μέσος όρος των παραπάνω) _
19 ΡΥΘΜΙΣΗ DRIFTY για Kp (από το βήμα 15) _
20 JERKY (κρίσιμη) ρύθμιση για Kp (από το βήμα 15) _
Κατανόηση του ελεγκτή PID
Μπορεί να έχετε μάθει για τον ελεγκτή Proportional Integral Differential (PID) ως μέρος μαθημάτων Industrial Controls και μια καλή γρήγορη επισκόπηση είναι online στη Wikipedia (https://en.wikipedia.org/wiki/PID_controller).
Στην περίπτωση αυτού του πειράματος, η μετρούμενη τιμή είναι η ποσότητα φωτός που ανακλάται από το δάπεδο. Το σημείο ρύθμισης είναι η επιθυμητή ποσότητα φωτός όταν το ρομπότ βρίσκεται ακριβώς πάνω από το άκρο της μαύρης ταινίας. Το σφάλμα είναι η διαφορά μεταξύ της τρέχουσας ανάγνωσης φωτός και του σημείου ρύθμισης.
Με τον Αναλογικό ελεγκτή, η ταχύτητα του αριστερού κινητήρα ήταν ανάλογη με το σφάλμα. ΕΙΔΙΚΑ:
Error = Light Reading-Set-Point
Σε αυτό το γραφικό, το σημείο ρύθμισης ορίστηκε στο 50.
Αργότερα, για να βρούμε την ταχύτητα του αριστερού κινητήρα, πολλαπλασιάζουμε το σφάλμα με τη σταθερά αναλογίας "Kp" συγκεκριμένα:
L Motor = (Kp * Error) + 35
Όπου σε αυτό το γραφικό, το Kp έχει οριστεί σε 1,5 και η προσθήκη του 35 συμβαίνει σε άλλο μέρος του προγράμματος. Η τιμή 35 προστίθεται για να μετατρέψει τον αριθμό που βρίσκεται κάπου στην περιοχή -40 σε +40, για να είναι ένας αριθμός που είναι κάπου μεταξύ 10 και 60 (λογικές ταχύτητες κινητήρα).
Το Integral είναι ένα είδος μνήμης του παρελθόντος. Εάν το σφάλμα ήταν κακό για μεγαλύτερο χρονικό διάστημα, το ρομπότ πρέπει να επιταχύνει προς το σημείο ρύθμισης. Το Ki χρησιμοποιείται για τον πολλαπλασιασμό με το ακέραιο (το ολοκλήρωμα είναι το τρέχον άθροισμα των σφαλμάτων - στην περίπτωση αυτή, μειώνεται κατά 1,5 κάθε επανάληψη, ώστε το ρομπότ να έχει μια «ξεθωριασμένη μνήμη» παλαιότερων σφαλμάτων).
Το Παράγωγο είναι ένα είδος μελλοντικής πρόβλεψης. Προβλέπουμε ένα μελλοντικό σφάλμα συγκρίνοντας το τελευταίο σφάλμα με το τρέχον σφάλμα και υποθέτουμε ότι ο ρυθμός αλλαγής σφάλματος θα είναι κάπως γραμμικός. Όσο μεγαλύτερο είναι το μελλοντικό σφάλμα, τόσο πιο γρήγορα πρέπει να μεταβούμε στο σημείο ρύθμισης. Το Kd χρησιμοποιείται για πολλαπλασιασμό με το Παράγωγο (το παράγωγο είναι η διαφορά μεταξύ του τρέχοντος σφάλματος και του προηγούμενου σφάλματος).
L Motor = (Kp * Error) + (Ki * Integral) + (Kd * Παράγωγο) + 35
Βήμα 13: Εύρεση των καλύτερων παραμέτρων PID
Υπάρχουν διάφοροι τρόποι που μπορούν να χρησιμοποιηθούν για την εύρεση των παραμέτρων PID, αλλά η κατάστασή μας έχει μοναδικές πτυχές που μας επιτρέπουν να χρησιμοποιήσουμε έναν πιο «χειροκίνητο» πειραματικό τρόπο εύρεσης των παραμέτρων. Οι μοναδικές πτυχές που έχουμε είναι:
- Οι πειραματιστές (εσείς) έχετε καλή κατανόηση του τρόπου λειτουργίας του μηχανήματος
- Δεν υπάρχει κίνδυνος τραυματισμού αν ο ελεγκτής τρελαθεί και επίσης δεν υπάρχει κίνδυνος να καταστραφεί το ρομπότ λόγω κακών ρυθμίσεων του ελεγκτή
- Ο αισθητήρας φωτός είναι μια τέτοια ατημέλητη συσκευή ανίχνευσης και υπάρχει μόνο ένας αισθητήρας φωτός, οπότε δεν μπορούμε παρά να ελπίζουμε ότι θα έχουμε ένα οριακά καλό τελικό αποτέλεσμα. Επομένως, μια "καλύτερη προσπάθεια" είναι καλή για τα πειράματά μας
Πρώτον, χρησιμοποιήσαμε ήδη τη "γραμμή 03" για να αποφασίσουμε για την καλύτερη Kp (το GOOD Set-point και οι τιμές JERKY Kp βήμα 18 & 20 παραπάνω). Δείτε το πρώτο γράφημα για οδηγίες σχετικά με το πώς βρήκαμε την τιμή JERKY για Kp.
Χρησιμοποιήστε το λογισμικό "γραμμή 04" για να προσδιορίσετε το Ki. Αρχικά θα τροποποιήσουμε το "4 line" για να έχουμε τις τιμές που καταγράψαμε στα στοιχεία 18 και 20 παραπάνω. Στη συνέχεια, θα αυξήσουμε σιγά σιγά το Ki μέχρι να λάβουμε μια τιμή που πραγματικά μας μεταφέρει στο σημείο ρύθμισης πολύ γρήγορα. Δείτε το δεύτερο γράφημα για οδηγίες σχετικά με τον τρόπο επιλογής της τιμής για το Ki.
21 ΓΡΗΓΟΡΗ Αξία του Κι που εγκαθίσταται στο σημείο ρύθμισης το ταχύτερο (ακόμη και με κάποια υπέρβαση) _
Χρησιμοποιήστε το λογισμικό "γραμμή 05" για να προσδιορίσετε το Kd. Τροποποιήστε πρώτα το "5 line" με τιμές από τα βήματα 18, 20 και 21 και, στη συνέχεια, αυξήστε το Kd μέχρι να αποκτήσετε το τελικό ρομπότ εργασίας που φτάνει στο σημείο ρύθμισης γρήγορα και με πολύ μικρή υπέρβαση εάν υπάρχει. Το τρίτο γράφημα δείχνει οδηγίες σχετικά με τον τρόπο επιλογής Kd.
22 OPTIMAL Value of Kd _
23 ΠΟΣΟ ΧΡΕΙΑΖΕΤΑΙ ΤΟ ΡΟΜΠΟΤ ΣΑΣ ΓΙΑ ΝΑ ΚΥΚΛΟΦΟΡΕΙ ΤΗΝ ΙΧΝΗ ΤΩΡΑ;;; _
Βήμα 14: Συμπέρασμα
Το εργαστηριακό πείραμα πήγε πολύ καλά. Με περίπου 20 μαθητές, χρησιμοποιώντας τις 10 (δέκα) ρυθμίσεις σταθμού εργασίας + ρομπότ που εμφανίζονται στο πρώτο γραφικό, δεν υπήρξε ποτέ καταγραφή των πόρων. Το πολύ τρία ρομπότ περιστρέφονταν την πίστα κάθε φορά για τα χρονόμετρα.
Σας συνιστώ να σπάσετε το τμήμα ελέγχου PID (τουλάχιστον, προγράμματα "γραμμή 04" και "05 γραμμή") σε μια ξεχωριστή ημέρα, λόγω των εννοιών που εμπλέκονται.
Ακολουθεί μια ακολουθία βίντεο που δείχνει την εξέλιξη των στοιχείων ελέγχου (από "01 γραμμή" σε "05 γραμμή") χρησιμοποιώντας τιμές που επέλεξα - αλλά κάθε μαθητής κατέληξε σε ελαφρώς διαφορετικές τιμές, κάτι που είναι αναμενόμενο!
ΘΥΜΗΘΕΙΤΕ: Ένας από τους κορυφαίους λόγους για τους οποίους οι πολύ καλά προετοιμασμένες ομάδες ρομπότ τα καταφέρνουν άσχημα σε αγώνες διαγωνισμού είναι το γεγονός ότι δεν πραγματοποιούν βαθμονόμηση στην ακριβή τοποθεσία που θα πραγματοποιηθεί το γεγονός. Ο φωτισμός και οι μικρές αλλαγές θέσης των αισθητήρων λόγω τρεμούλας μπορούν να επηρεάσουν σημαντικά τις τιμές των παραμέτρων!
- 01 γραμμή (On -Off) Έλεγχος PID με ρομπότ Lego -
- 02 γραμμή (On-Off με Dead-Zone) Έλεγχος PID με ρομπότ Lego-https://videos.ecpi.net/Watch/n4A5Lor7
- 03 line (Proportional) PID Control with Lego Robots -
- 04 line (Proportional -Integral) PID Control with Lego Robots -
- 05 line (Proportional-Integral-Derivative) PID Control with Lego Robots-https://videos.ecpi.net/Watch/s6LRi5r7
Συνιστάται:
Retro Prototyping, ιδανικό για διδασκαλία: 14 βήματα (με εικόνες)
Retro Prototyping, Great for Teaching: Έχετε αναρωτηθεί ποτέ πού βρίσκεται ο όρος " Breadboard " προήλθε από? Ακολουθεί ένα παράδειγμα για το τι αφορούσαν τα breadboard. Στις πρώτες μέρες της ηλεκτρονικής, τα εξαρτήματα ήταν μεγάλα και δυσκίνητα. Δεν είχαν τρανζίστορ ή ενσωματωμένο κύκλωμα
Arduion Stop Watch Διδασκαλία: 5 Βήματα
Arduion Stop Watch Teaching: Συχνά παίζω αργά το βράδυ όταν παίζω ηλεκτρικό, οπότε σκοπεύω να χρησιμοποιήσω έναν μετρητή κώδικα για να χρονομετρήσω την ώρα. Όταν το χρονοδιάγραμμα φτάσει σε μια συγκεκριμένη ώρα, θα εκπέμπει μουσική και λυχνίες LED για να υπενθυμίσει την ώρα συγγραφής της εργασίας. Τέλος, θα υπάρχει LED. ΕΓΩ
ΕΝΑΛΛΑΚΤΙΚΟ ΕΛΕΓΧΟΥ ΣΗΜΑΤΟΣ ΓΕΝΝΗΤΡΙΑΣ ΕΛΕΓΧΟΥ ΓΙΑ ΕΛΕΓΧΟ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΑΧΥΤΗΤΑΣ (ESC): 7 Βήματα
ΕΝΑΛΛΑΚΤΙΚΟ ΕΛΕΓΧΟΥ ΕΓΧΕΙΡΙΔΙΟΥ ΣΗΜΑΤΟΣ ΓΕΝΙΚΟΥ ΓΙΑ ΤΗΝ ΗΛΕΚΤΡΟΝΙΚΗ ΤΑΧΥΤΗΤΑ (ESC): Πριν από λίγο καιρό δημοσίευσα ένα βίντεο (https://www.youtube.com/watch?v=-4sblF1GY1E) στο κανάλι μου στο YouTube όπου έδειξα πώς να φτιάχνω ανεμογεννήτρια από κινητήρα DC χωρίς ψήκτρες. Έκανα το βίντεο στα Ισπανικά και εξηγούσε ότι αυτός ο κινητήρας είχε δοθεί σε
Ρομπότ εξισορρόπησης / ρομπότ 3 τροχών / ρομπότ STEM: 8 βήματα
Ρομπότ εξισορρόπησης / ρομπότ 3 τροχών / ρομπότ STEM: Έχουμε δημιουργήσει ένα συνδυασμένο ρομπότ εξισορρόπησης και 3 τροχών για εκπαιδευτική χρήση σε σχολεία και εκπαιδευτικά προγράμματα μετά το σχολείο. Το ρομπότ βασίζεται σε ένα Arduino Uno, μια προσαρμοσμένη ασπίδα (παρέχονται όλες οι λεπτομέρειες κατασκευής), μια μπαταρία ιόντων λιθίου (όλα κατασκευασμένα
Απλή διαδραστική διεπαφή χρήστη για διδασκαλία και αξιολόγηση .: 11 βήματα
Απλή Διαδραστική Διασύνδεση Χρήστη για Διδασκαλία και Αξιολόγηση: Αυτό το έργο αναπτύχθηκε ως μέρος μιας τάξης πανεπιστημίου, ο στόχος ήταν να δημιουργηθεί ένα διαδραστικό σύστημα διδασκαλίας και αξιολόγησης ενός συγκεκριμένου θέματος. Για αυτό χρησιμοποιήσαμε μια επεξεργασία σε έναν υπολογιστή για τη διεπαφή και ένα Arduino NANO για το κουμπί arcade και τις λυχνίες LED, έτσι