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

Animatronics Basics - το Servo Motor: 8 Βήματα
Animatronics Basics - το Servo Motor: 8 Βήματα

Βίντεο: Animatronics Basics - το Servo Motor: 8 Βήματα

Βίντεο: Animatronics Basics - το Servo Motor: 8 Βήματα
Βίντεο: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Ιούλιος
Anonim
Image
Image

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

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

Θα χρησιμοποιήσουμε τον μικροελεγκτή Arduino ως εγκέφαλο και θα δούμε πώς λειτουργεί ένα ποτενσιόμετρο και ένα σερβο στο εσωτερικό, επίσης θα σας διδάξει πώς να δημιουργήσετε τρεις διαφορετικές μεθόδους ελέγχου:

1 - Συνεχής επαναλαμβανόμενη κίνηση

2 - Τηλεχειριζόμενη κίνηση

3 - Ενεργοποιημένη κίνηση (χρησιμοποιώντας αισθητήρα φωτός)

Βήμα 1: Λίστα μερών

Λίστα μερών
Λίστα μερών
Λίστα μερών
Λίστα μερών

Θα χρειαστείτε έναν μικροελεγκτή (που φαίνεται στην πρώτη εικόνα είναι το Arduino από τη διεύθυνση https://adafru.it μαζί με το κιτ του προϋπολογισμού τους για συνολικά $ 30) και έναν σερβοκινητήρα (μια μικρή έκδοση Tower εμφανίζεται στη δεύτερη εικόνα μαζί με μερικά εξαρτήματα σύνδεσης, από το ίδιο κατάστημα στα $ 12). Θα χρειαστείτε επίσης έναν μικρό πυκνωτή ή μια πιο ισχυρή πηγή τάσης εάν χρησιμοποιείτε πολλούς σερβοκινητήρες (θα λειτουργήσει φορτιστής τοίχου 9V για Arduino)

Ο μικροελεγκτής είναι ένας ολόκληρος υπολογιστής υπολογιστή σε ένα μόνο τσιπ. Προφανώς δεν είναι τόσο ισχυρός όσο ο υπολογιστής του σπιτιού σας, έχει πολύ ελαφριά μνήμη RAM, δεν διαθέτει μονάδα δίσκου, δεν έχει πληκτρολόγιο ή ποντίκι, αλλά είναι πραγματικά εξαιρετικός στον έλεγχο των πραγμάτων (εξ ου και το όνομα). Θα βρείτε ένα από αυτά τα τσιπ μέσα σε πολλά καθημερινά αντικείμενα, όπως πλυντήρια ρούχων και υπολογιστές ψεκασμού καυσίμου αυτοκινήτων.

Η μάρκα μικροελεγκτών "Arduino" προσθέτει επίσης κάποια άλλα κυκλώματα που το συνδέουν με τον έξω κόσμο και το τοποθετούν σε έναν βολικό πίνακα.

Παρατηρήστε ότι στο "κιτ εξαρτημάτων προϋπολογισμού" υπάρχουν μερικά καλώδια, αντιστάσεις, λυχνίες LED και ένα μπλε ζευγάρι κουμπιών, που ονομάζονται ποτενσιόμετρα. Περισσότερα για τα ποτενσιόμετρα στο επόμενο βήμα.

Τέλος, θα χρειαστείτε έναν σερβοκινητήρα και συνοδεύεται από βιδωτούς συνδετήρες για να το συνδέσετε στην κινούμενη μαριονέτα σας. Θα χρησιμοποιήσουμε τον σύνδεσμο σχήματος Χ σε αυτό το μάθημα.

Βήμα 2: Επισκόπηση ποτενσιόμετρου

Αναθεώρηση ποτενσιόμετρου
Αναθεώρηση ποτενσιόμετρου
Αναθεώρηση ποτενσιόμετρου
Αναθεώρηση ποτενσιόμετρου
Αναθεώρηση ποτενσιόμετρου
Αναθεώρηση ποτενσιόμετρου
Αναθεώρηση ποτενσιόμετρου
Αναθεώρηση ποτενσιόμετρου

Ένα ποτενσιόμετρο είναι ουσιαστικά ένα κουμπί dimmer - ή στην ηλεκτρονική ορολογία - ένα ζευγάρι μεταβλητών αντιστάσεων. Γυρίζοντας το κουμπί, κάνετε τη μία αντίσταση μεγαλύτερη και την άλλη αντίσταση μικρότερη.

Τις περισσότερες φορές χρησιμοποιούμε ποτενσιόμετρο (μερικές φορές ονομάζεται "δοχείο") για τον έλεγχο της τάσης χρησιμοποιώντας το διάγραμμα κυκλώματος που φαίνεται παραπάνω.

Η πιο αριστερή εικόνα δείχνει το πραγματικό δοχείο, με τα άνω και κάτω καλώδια συνδεδεμένα στην τάση +5 και τη γείωση, και το μεσαίο καλώδιο να εξάγει την επιθυμητή τάση. Το μεσαίο διάγραμμα δείχνει το σύμβολο για ένα δοχείο και το τελευταίο διάγραμμα δείχνει το αντίστοιχο κύκλωμα.

Οι εικόνες παρέχονται από το Wikimedia.org

Βήμα 3: Servo Motor Review

Servo Motor Review
Servo Motor Review
Servo Motor Review
Servo Motor Review
Servo Motor Review
Servo Motor Review

Ένας σερβοκινητήρας έχει τέσσερα κύρια μέρη.

1. Ένας κινητήρας που μπορεί να στρίψει εμπρός και πίσω, συνήθως σε μεγάλη ταχύτητα και ροπή.

2. Ένα σύστημα ανίχνευσης θέσης, που μπορεί να πει σε ποια γωνία βρίσκεται ο σερβοκινητήρας αυτήν τη στιγμή

3. Ένα σύστημα γραναζιών που μπορεί να κάνει πολλές περιστροφές ενός κινητήρα και να το κάνει σε μια μικρή γωνιακή κίνηση.

4. Ένα κύκλωμα ελέγχου που μπορεί να διορθώσει το σφάλμα μεταξύ της πραγματικής γωνίας και της επιθυμητής γωνίας σημείου ρύθμισης.

Τα μέρη 1 και 2 φαίνονται στην πρώτη εικόνα. Παρατηρήστε ότι το μέρος 2 είναι ένα ποτενσιόμετρο.

Το μέρος 3 εμφανίζεται στη δεύτερη εικόνα.

Το μέρος 4 εμφανίζεται στην τρίτη εικόνα.

Βήμα 4: Επαναλαμβανόμενη κίνηση

Επαναλαμβανόμενη κίνηση
Επαναλαμβανόμενη κίνηση
Επαναλαμβανόμενη κίνηση
Επαναλαμβανόμενη κίνηση
Επαναλαμβανόμενη κίνηση
Επαναλαμβανόμενη κίνηση

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

Το Arduino έρχεται με ένα Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE), το οποίο είναι ένας φανταχτερός τρόπος να πούμε ότι έρχεται με μια εφαρμογή για τον υπολογιστή σας που σας επιτρέπει να του δίνετε οδηγίες (το εικονίδιο Arduino IDE είναι μια πλάγια εικόνα 8). Αυτές οι οδηγίες παραμένουν αποθηκευμένες στον πίνακα ακόμη και αν αποσυνδέσετε τον υπολογιστή και αρχίζουν να λειτουργούν ξανά όταν επανασυνδέσετε το ρεύμα στο Arduino. Σε αυτήν την περίπτωση, θα χρησιμοποιήσουμε το λογισμικό που ονομάζεται "Sweep", το οποίο μπορείτε να βρείτε στα παραδείγματα IDE στην κατηγορία "Servo".

Στη συνέχεια, θα συνδέσετε το σερβο σε έναν πυκνωτή σταθεροποιημένο 5 βολτ (κόκκινο καλώδιο Servo στο Arduino +5, καφέ καλώδιο Servo στο Arduino GND) και στο σήμα ελέγχου (κίτρινο καλώδιο Servo στον ακροδέκτη εξόδου Arduino 9). Η κεφαλή μαριονέτας είναι προαιρετική;-)

ΛΕΠΤΟΜΕΡΙΕΣ:

Εάν τα παραπάνω ήταν λίγο συγκεχυμένα, οι αναλυτικές οδηγίες είναι οι εξής:

Βήμα Α - Προγραμματισμός του Arduino

  • Ανοίξτε το Arduino IDE (θα πρέπει να είναι ένα εικονίδιο σχήματος 8 στην επιφάνεια εργασίας σας)
  • Στην ενότητα "Εργαλεία", βεβαιωθείτε ότι ο πίνακας έχει οριστεί σε "Arduino/Genuino Uno".
  • Συνδέστε το υλικό Arduino στον υπολογιστή χρησιμοποιώντας το καλώδιο USB
  • Βεβαιωθείτε ότι η ρύθμιση "Θύρα" στην ενότητα "Εργαλεία" είναι επίσης διαμορφωμένη για το Arduino.
  • Στην ενότητα "Αρχεία" επιλέξτε το "Παράδειγμα" που ονομάζεται "Σάρωση" (μπορείτε να το βρείτε στην ενότητα "Servos")
  • Πριν χρησιμοποιήσετε ή επεξεργαστείτε αυτό το αρχείο, "Αποθηκεύστε ως" ένα διαφορετικό όνομα αρχείου (μπορεί να είναι το όνομά σας ή ό, τι άλλο επιλέξετε). Αυτό θα διατηρήσει το αρχείο αμετάβλητο για τον επόμενο μαθητή που χρησιμοποιεί αυτόν τον υπολογιστή.
  • Χρησιμοποιήστε το κουμπί βέλους (ή κάτω από το "Sketch" επιλέξτε "Upload") για να ανεβάσετε το σκίτσο Sweep στο Arduino

Βήμα Β - Σύνδεση του Servo Motor με το Sweep

Σε αυτό το μέρος, θα χτίσουμε παραλλαγές των κυκλωμάτων που περιγράφονται στο https://learn.adafruit.com/adafruit-arduino-lesso…. Θα συνδέσουμε τα κόκκινα και καφετιά καλώδια του Servo στο +5 και GND του Ardiuno, αντίστοιχα. Θα βάλουμε επίσης έναν πυκνωτή ισοπέδωσης τάσης σε αυτήν την τάση και τέλος θα συνδέσουμε το κίτρινο καλώδιο του σερβο στον πείρο εξόδου 9 του Arduino.

  • Αποσυνδέστε το Arduino από τη θύρα USB όταν δημιουργείτε το κύκλωμα.
  • Θα χρησιμοποιήσουμε το 5V και το Ground από την πλακέτα Arduino, οπότε μεταφέρετε αυτά στο breadboard σας χρησιμοποιώντας τα κόκκινα και πράσινα καλώδια, αντίστοιχα.
  • Δεδομένου ότι η ισχύς μπορεί να είναι λίγο τρεμάμενη από τη θύρα USB (όχι πολύ ρεύμα και ο σερβοκινητήρας μπορεί να προκαλέσει επαναφορά της πλακέτας Arduino λόγω χαμηλού ρεύματος), θα βάλουμε έναν πυκνωτή σε αυτήν την τάση, φροντίζοντας το σύρμα να φέρει την ένδειξη "μείον - "Είναι στην πλευρά του εδάφους.
  • Τώρα συνδέστε το κόκκινο (+5) και το καφέ (έδαφος) που συνδέονται με το Servo στο breadboard.
  • Η τελική ηλεκτρική σύνδεση είναι αυτή του σήματος ελέγχου. Το πρόγραμμα SWEEP θα χρησιμοποιήσει τον πείρο #9 του Arduino για να στείλει το σήμα ελέγχου, οπότε συνδέστε το με το κίτρινο καλώδιο (ελέγχου) του Servo Motor.
  • ΠΡΟΑΙΡΕΤΙΚΑ - Μπορείτε να τοποθετήσετε ένα Animatronic Head της επιλογής σας και τη βάση του πάνω από το σερβοκινητήρα πριν το δοκιμάσετε. Παρακαλούμε να είστε ευγενικοί καθώς η εφαρμογή δεν είναι τέλεια και τα πλαστικά μέρη σπάνε.
  • Θα πρέπει να είστε σε θέση να εφαρμόσετε τροφοδοσία USB στο Arduino και το πρόγραμμα SWEEP να εκτελεστεί, προκαλώντας τον σερβοκινητήρα να σαρώνει μπρος -πίσω.

Βήμα Γ - Τροποποίηση του προγράμματος SWEEP

  • Πριν χρησιμοποιήσετε ή επεξεργαστείτε αυτό το αρχείο, "Αποθηκεύστε ως" ένα διαφορετικό όνομα αρχείου (μπορεί να είναι το όνομά σας ή ό, τι άλλο επιλέξετε). Μάλλον το κάνατε ήδη στο βήμα Α. Για καθένα από τα παρακάτω μέρη, καταγράψτε τις παρατηρήσεις σας καθώς και τυχόν αλλαγές που κάνατε στον κώδικα.
  • Χρησιμοποιώντας ένα χρονόμετρο, μετρήστε πόσο χρόνο χρειάζεται για να σκουπίσετε σε όλη τη διαδρομή και πίσω _
  • Θα κάνετε αλλαγές στο λογισμικό (μερικές φορές ονομάζεται "κώδικας" ή "σκίτσο")
  • Αλλάξτε και τις δύο τιμές "Καθυστέρηση" από 15 σε έναν άλλο Μεγαλύτερο αριθμό (επιλέξτε ένα στρογγυλό πολλαπλάσιο του 15 για ευκολία στους υπολογισμούς). Τι αξία χρησιμοποιήσατε; _. Ποιος πιστεύετε ότι θα είναι ο νέος χρόνος SWEEP; _. Μετρήστε τον νέο χρόνο SWEEP και σημειώστε τυχόν αποκλίσεις _.
  • Αλλάξτε τις Καθυστερήσεις πίσω σε 15 και τώρα αλλάξτε τις γωνίες θέσης από 180 σε απλά 90 (και οι δύο αυτές τιμές). Ποιο είναι το νέο εύρος κίνησης του σερβοκινητήρα (90 μοίρες ή περισσότερο ή λιγότερο;) _.
  • Αφήνοντας το εύρος κίνησης σε 90 μοίρες, χαμηλώστε το "Delay" σε έναν αριθμό μικρότερο από 15. Σε πόσο μικρό αριθμό μπορείτε να μεταβείτε προτού το σερβο αρχίσει να συμπεριφέρεται άτακτα ή δεν ολοκληρώνει πλέον ολόκληρο το εύρος κίνησης; _

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

Βήμα 5: Τηλεχειριζόμενη κίνηση

Τηλεχειριζόμενη κίνηση
Τηλεχειριζόμενη κίνηση
Τηλεχειριζόμενη κίνηση
Τηλεχειριζόμενη κίνηση
Τηλεχειριζόμενη κίνηση
Τηλεχειριζόμενη κίνηση

Αντί να επαναλαμβάνουμε την ίδια κίνηση όλη την ημέρα, σε αυτό το βήμα θα ελέγξουμε τηλεχειριστήριο τη θέση της animatronic μαριονέτας μας "C3PO" για να κοιτάμε αριστερά και δεξιά και οποιαδήποτε θέση ενδιάμεσα. Δεδομένου ότι ένας άνθρωπος κάνει τον έλεγχο, ονομάζουμε αυτόν τον έλεγχο "ανοιχτού βρόχου".

Με τον έλεγχο ανοιχτού βρόχου, ελέγχετε την ακριβή θέση του σερβοκινητήρα. Θα χρειαστούμε ένα κουμπί για να γυρίσετε και θα χρησιμοποιήσουμε το μπλε ποτενσιόμετρο για αυτό.

  • Θα χρειαστούμε μια άλλη θέση στο breadboard που έχει +5 και 0 (Ground) βολτ. Τρέξτε αυτά τα καλώδια για να διαχωρίσετε σειρές στο breadboard και κάντε τα μια σειρά μεταξύ τους, για να ευθυγραμμιστούν με τις εξωτερικές ακίδες του ποτενσιόμετρου που θα προσθέσουμε σε μια στιγμή.
  • Τώρα προσθέστε το Ποτενσιόμετρο. Πριν σπρώξετε τις καρφίτσες του ποτενσιόμετρου στην πλάκα ψωμιού, βεβαιωθείτε ότι και οι τρεις είναι ευθυγραμμισμένες με τις σωστές οπές και στη συνέχεια σπρώξτε τις καρφίτσες ευθεία προς τα κάτω για να μην λυγίσουν. Ο κεντρικός πείρος του ποτενσιόμετρου θα συνδεθεί με την Αναλογική Είσοδο μηδέν (A0) στο Arduino. Ένα επιπλέον καλώδιο προστίθεται για να γίνει αυτό.
  • Για να διαβάσουμε την τάση από το ποτενσιόμετρο και να το χρησιμοποιήσουμε για τον έλεγχο του σερβοκινητήρα, θα χρησιμοποιήσουμε το λογισμικό "KNOB", που βρίσκεται επίσης στην ενότητα Αρχείο -> Παραδείγματα -> Servo. Εκτελέστε το πρόγραμμα, γυρίστε το κουμπί και καταγράψτε αυτό που παρατηρείτε.

Φυσικά, θα μπορούσατε να περάσετε πολύ μακριά καλώδια έτσι ώστε το κουμπί ελέγχου να βρίσκεται σε διαφορετικό δωμάτιο από το animatronic μαριονέτα, ή να βρίσκεστε σε μικρή απόσταση (για παράδειγμα, εκτός λήψης από την κάμερα, αν κάνετε ταινία).

Βήμα 6: Ενεργοποιημένη κίνηση (χρησιμοποιώντας έναν αισθητήρα)

Ενεργοποιημένη κίνηση (με χρήση αισθητήρα)
Ενεργοποιημένη κίνηση (με χρήση αισθητήρα)
Ενεργοποιημένη κίνηση (με χρήση αισθητήρα)
Ενεργοποιημένη κίνηση (με χρήση αισθητήρα)
Ενεργοποιημένη κίνηση (με χρήση αισθητήρα)
Ενεργοποιημένη κίνηση (με χρήση αισθητήρα)

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

Στην περίπτωση του αισθητήρα ελέγχου του σερβοκινητήρα, θα χρησιμοποιούμε έναν αισθητήρα φωτός που θα ελέγχει την ακριβή θέση του σερβοκινητήρα. Όσο πιο σκοτεινή είναι η σκιά που ρίχνεται στον αισθητήρα (και πιθανότατα όσο πιο κοντά το άτομο πηγαίνει στην μαριονέτα) τόσο πιο γρήγορα και πιο μακριά η μαριονέτα γυρίζει το κεφάλι.

  • Θα αφαιρέσουμε το ποτενσιόμετρο και θα το αντικαταστήσουμε με το αντίστοιχο κύκλωμα δύο αντιστάσεων. Σε αυτή την περίπτωση, μία από τις δύο αντιστάσεις (R2) θα είναι αισθητήρας φωτός.
  • Για να μας δώσετε λίγο χώρο, απλώσαμε τους αυλακωτές +5V (αριστερά) και 0V Ground (δεξιά), ώστε να προσθέσουμε την αντίσταση 10K Ohm και τον αισθητήρα φωτός, που συνδέονται στο κέντρο στην ίδια σειρά με το καλώδιο βραχυκυκλωτήρα που οδηγεί στην αναλογική είσοδο μηδέν (A0) στον πίνακα Arduino.
  • Χρησιμοποιήστε τη σκιά του χεριού σας για να αποκρύψετε τον αισθητήρα φωτός και χρησιμοποιήστε άλλους τρόπους για να κάνετε τον αισθητήρα φωτός να λάβει τις περισσότερες και τις λιγότερες δυνατές ποσότητες φωτός. Είστε σε θέση να έχετε το πλήρες εύρος κίνησης 180 μοιρών;

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

Βήμα 7: Τώρα το δοκιμάζεις

Τώρα Δοκιμάστε το!
Τώρα Δοκιμάστε το!
Τώρα Δοκιμάστε το!
Τώρα Δοκιμάστε το!

Τώρα έχετε κατακτήσει τα τρία βασικά είδη animatronic κίνησης που μπορείτε να δημιουργήσετε με έναν μόνο σερβοκινητήρα.

- Επαναλαμβανόμενη κίνηση

- Τηλεχειριζόμενη κίνηση

- Ενεργοποίηση κίνησης με χρήση αισθητήρων

Μπορείτε να το ανεβάσετε στο επόμενο επίπεδο χρησιμοποιώντας διαφορετικά είδη μαριονέτας, κίνηση, χειριστήρια και φυσικά, την τέχνη που μόνο εσείς μπορείτε να δημιουργήσετε!

Συνιστάται: