Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Γνωριμία με το σύστημά μας
- Βήμα 2: Hacking the Motor
- Βήμα 3: Ρύθμιση του προγράμματος οδήγησης
- Βήμα 4: Έλεγχος του κινητήρα
Βίντεο: 28BYJ-48 5V Stepper Motor και A4988 Πρόγραμμα οδήγησης: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Θέλατε ποτέ να πιέσετε ένα ρομπότ να γυρίζει με ακριβή γωνία, χρησιμοποιώντας μόνο μερικές εξόδους του Arduino ή του micro: bit σας; Όλα αυτά για φθηνά; Αυτό είναι το διδακτικό για εσάς! Σε αυτό το διδακτικό θα δούμε πώς να οδηγείτε ένα πολύ φτηνό stepper μοτέρ χρησιμοποιώντας μόνο 2 εξόδους του ελεγκτή μας και απαιτώντας μόνο τροφοδοτικό 5V!
Το έκανα διδάξιμο αφού προσπάθησα λίγο να συγκεντρώσω τις πληροφορίες, σκοντάφτοντας μερικές φορές στην παραπληροφόρηση και ήθελα να σώσω άλλους από το να περάσουν από την ίδια διαδικασία.
Αλλά πριν ξεκινήσετε, γιατί τέτοιο περιορισμό;
- Γιατί 5V: επειδή θέλω να το ενσωματώσω σε ένα κινητό ρομπότ που θα λειτουργεί μόνο με μπαταρία λιθίου 3,7, την οποία μπορώ να βγάλω 5V με ενισχυτή.
- Γιατί να χρησιμοποιείτε το A4988 και όχι το ULN2003 που έρχεται συχνά με τον κινητήρα 28BYJ; Διότι, πρώτα, απαιτεί 4 εισόδους. Επομένως, η χρήση του A4988 μας κάνει να εξοικονομήσουμε 2 από τις πολύτιμες εξόδους του ελεγκτή μας (και αν σας αρέσει να εργάζεστε με το micro: bit όπως εγώ, τότε αυτές οι έξοδοι είναι πολύτιμες …)! Αλλά υπάρχουν και άλλα! Η ικανότητα οδήγησης του μοτέρ δίνοντας απλά τα βήματα ως υψηλές παρορμήσεις, μας δίνει τη δυνατότητα να οδηγούμε τον κινητήρα με ένα απλό PWM. Με τον καθορισμό του κύκλου λειτουργίας στο 50%, η αλλαγή της συχνότητας του PWM θα αλλάξει την ταχύτητα περιστροφής του κινητήρα. Γιατί είναι υπέροχο; Επειδή αν θέλετε να ρυθμίσετε την ταχύτητα του κινητήρα μου και στη συνέχεια να συνεχίσετε να ελέγχετε άλλα πράγματα με το Arduino ή το micro: bit, τότε μπορείτε απλά να ρυθμίσετε το PWM μου και να το ξεχάσετε, κάτι που θα κάνει τον κωδικό σας πολύ πιο αναγνώσιμο και τη ζωή σας τόσο πολύ. πιο εύκολο (για παράδειγμα, αν θέλετε να φτιάξετε ένα ρομπότ όπως αυτό).
Ας ξεκινήσουμε λοιπόν!
Προμήθειες
Εδώ είναι αυτό που θα χρειαστείτε για αυτό το διδακτικό:
- 1x βηματικό μοτέρ 28BYJ
- Πρόγραμμα οδήγησης 1x A4988
- 1x breadboard ή σανίδα πρωτοτύπων, ένας πυκνωτής και μερικά καλώδια
- Micro: μπιτ και πλακέτα επέκτασης ή Arduino
- Τροφοδοσία 5V (+3,3V εάν χρησιμοποιείτε Micro: bit). Για αυτό χρησιμοποίησα μια μπαταρία λιθίου 18650 και μια ασπίδα μπαταρίας.
- 1x πολύμετρο
Βήμα 1: Γνωριμία με το σύστημά μας
Το πρώτο πράγμα που θα συνιστούσα να ξεκινήσω, θα ήταν να μάθω περισσότερα για τα βηματικά μοτέρ και το πρόγραμμα οδήγησης A4988. Γεια, αλλά γιατί χρειαζόμαστε αυτόν τον οδηγό; Θα μπορούσαμε να ελέγξουμε ένα βηματικό μοτέρ χωρίς οδηγό; Η απάντηση είναι όχι. Πίνακες όπως οι Micro: bit και Arduino είναι καλοί στην επεξεργασία πληροφοριών αλλά όχι στο να δίνουν πολύ ρεύμα και χρειάζεστε ρεύμα για να κάνετε μια βηματική κίνηση. Για να μάθετε περισσότερα σχετικά με τον τρόπο λειτουργίας του κινητήρα και του οδηγού, αυτή είναι η αναφορά που θα συνιστούσα. Είναι συνθετικό αλλά περιέχει επίσης τις περισσότερες πληροφορίες που θα χρειαστείτε για την καλωδίωση.
Αλλά περιμένετε πριν προσπαθήσετε να συνδέσετε οτιδήποτε! Είναι το 28BYJ προσαρμοσμένο στο A4988; Εάν κάνετε μια γρήγορη αναζήτηση, θα δείτε ότι αυτός ο κινητήρας έρχεται σπάνια με το A4988 ως οδηγό. Εάν διαβάσετε προσεκτικά την προηγούμενη αναφορά, ίσως δείτε γιατί: το stepper μας είναι μονοπολικό μοτέρ ενώ το A4988 έχει σχεδιαστεί για να κινεί διπολικούς κινητήρες, οπότε θα πρέπει να χαράξουμε λίγο τον κινητήρα μας!
Βήμα 2: Hacking the Motor
Για να κάνετε τους κινητήρες σας συμβατούς με τον οδηγό κινητήρα, απλώς αφαιρέστε το κόκκινο καλώδιο από το λευκό βύσμα. Για να κόψετε το βύσμα, αφαιρέστε το κόκκινο σύρμα και κόψτε το κόκκινο σύρμα του κινητήρα. Στη συνέχεια, αλλάξτε το κίτρινο και ροζ καλώδιο στο βύσμα. Κρατήστε το κόκκινο καλώδιο και το βύσμα για το επόμενο βήμα!
Για να βγάλετε ένα καλώδιο από το βύσμα, σπρώξτε το καλώδιο που θέλετε να αφαιρέσετε στη φίσα και, στη συνέχεια, σπρώξτε το ορατό μεταλλικό κομμάτι στο σύνδεσμο με ένα αιχμηρό εργαλείο (παραπάνω είναι μια εικόνα όπου το κάνω αυτό με το αγαπημένο μου μαχαίρι, το opinionel!), και τελικά τραβήξτε και τελικά όλο το πράγμα θα πρέπει να βγει όπως στην παραπάνω εικόνα. Η τελευταία εικόνα δείχνει πώς θα πρέπει να φαίνεται ο σύνδεσμος στο τέλος αυτών των τροποποιήσεων: η σειρά του καλωδίου στον σύνδεσμο πρέπει να είναι πορτοκαλί/ροζ/κίτρινο/μπλε.
(ΥΓ: στο διαδίκτυο θα βρείτε κάποια μαθήματα που δείχνουν ότι πρέπει να ξεκολλήσετε το κόκκινο καλώδιο από τον κινητήρα και μετά να ξύσετε το PCB, ξεχάστε το, αυτό δεν είναι απαραίτητο. Άχρηστο;)
Βήμα 3: Ρύθμιση του προγράμματος οδήγησης
Τώρα… ώρα να οδηγήσετε αυτόν τον κινητήρα με τον οδηγό; Δεν με συγχωρείτε ακόμα! Βλέπετε τη βίδα στην πλακέτα A4988; Λοιπόν, θα πρέπει να το παλέψουμε. Αυτή η βίδα βασικά σας επιτρέπει να ρυθμίσετε πόσο ρεύμα θα περάσει από τα πηνία του κινητήρα σας. Στην περίπτωσή μας, ενώ το τροφοδοτικό μας δίνει 5V και τα πηνία μας στον κινητήρα έχουν αντίσταση 50 Ohms, το ρεύμα μας δεν θα είναι μεγαλύτερο από 100mA, το οποίο θα πρέπει να υποστηρίζεται από τον κινητήρα, ώστε τελικά να παραλείψετε αυτό το βήμα. Ωστόσο, εάν είστε σαν εμένα και θέλετε να έχετε τον κινητήρα σας μόνο όσο ρεύμα χρειάζεται, ακολουθήστε.
Για να ρυθμίσετε το πρόγραμμα οδήγησης, ακολουθήστε τη μέθοδο 2 αυτού του άρθρου με αυτές τις προσαρμογές (όπως δείχνει η παραπάνω εικόνα)
- Χρησιμοποιήστε το 5V από την ασπίδα μπαταρίας τόσο για τη λογική όσο και για την είσοδο ισχύος του κινητήρα (λέγεται ότι το VMOT χρειάζεται περισσότερα από 8V, αλλά τα 5V λειτουργούν!). Οι 2 ακίδες GND στην πλακέτα είναι συνδεδεμένες, επομένως δεν χρειάζεται να τις συνδέσετε και τις δύο στη γείωση της μπαταρίας.
- Συνδέστε επίσης τις καρφίτσες STEP και DIR στο 5V (όχι στο Arduino όπως φαίνεται στο αναφερόμενο άρθρο)
- Κατά τη ρύθμιση του πολύμετρου, έθεσα το ρεύμα στα 50mA, το οποίο ήταν αρκετό για να οδηγήσω τους κινητήρες μου χρησιμοποιώντας μισά βήματα (περισσότερα για αυτό στο επόμενο βήμα). Για να συνδέσω το πολύμετρό μου για να μετρήσω το ρεύμα στο πηνίο του κινητήρα, όπως μπορείτε να δείτε στην παραπάνω εικόνα, αποσυνδέω το κίτρινο καλώδιο από τη φίσα και έβαλα το κόκκινο σύρμα, ώστε να μπορώ να βάλω το πολύμετρό μου από το κόκκινο στο το κίτρινο σύρμα για τη μέτρηση του ρεύματος.
Βήμα 4: Έλεγχος του κινητήρα
Αυτό ήταν όλο, είμαστε σχεδόν έτοιμοι να κάνουμε το μοτέρ μας να γυρίσει. Τα μόνα πράγματα που πρέπει να κάνετε είναι:
- για να αφαιρέσετε το πολύμετρό μας από το σύστημά μας, εάν δεν το έχετε κάνει ήδη,
- συνδέστε το MS1 με το 5V που θα κάνει τον οδηγό να χρησιμοποιεί μισά βήματα (είχα πρόβλημα να γυρίσει το ρομπότ με πλήρη βήματα στα 5V. Αλλά ως μέρος του στόχου μου ήταν να λειτουργούν όλα σε 5V δέχτηκα να θυσιάσω λίγη ταχύτητα και για να αποκτήσω κάποια ακρίβεια),
- παρέχουμε στις καρφίτσες STEP και DIR αυτό που θέλουμε από τον ελεγκτή μας.
Στη συνέχεια: εάν θέλετε να ελέγξετε τον κινητήρα χρησιμοποιώντας το Arduino, απλώς ακολουθήστε το άρθρο εδώ, όπου θα βρείτε ένα δείγμα κώδικα. Αν θέλετε να το ελέγξετε με το micro: bit, τότε μείνετε μαζί μου για λίγο ακόμα.
Micro: bit, όπως το Arduino, έρχεται με GPIO. Επομένως, μόλις το τροφοδοτήσουμε (με 3,3V!), Τότε μπορούμε να το προγραμματίσουμε για έξοδο STEP και DIR. Παρόλο που φαίνεται να υπάρχουν πολλές εισροές και εκροές, προειδοποιήστε ότι στην πραγματικότητα πολλές από αυτές προορίζονται ήδη για άλλους σκοπούς. Μπορείτε να μάθετε περισσότερα σχετικά με αυτό σε αυτό το άρθρο. Θα δείτε σε αυτό το άρθρο ότι στην πραγματικότητα πολλές από τις εισόδους/εξόδους μοιράζονται με την οθόνη και επομένως, εάν θέλετε να τις χρησιμοποιήσετε, τότε θα πρέπει να απενεργοποιήσετε την οθόνη. Αλλά ας μην κλείσουμε την οθόνη! Λοιπόν ποιες καρφίτσες μπορούμε να χρησιμοποιήσουμε; Θα χρησιμοποιήσω τους πείρους 2 και 8 όπως δεν θα χρησιμοποιήσω τα μαξιλάρια (καρφίτσα 2).
Συνδέστε το pin 2 του micro: bit στο STEP, το pin 8 στο DIR, ανεβάστε το συνημμένο πρόγραμμα χρησιμοποιώντας τον αγαπημένο σας επεξεργαστή micro: python (χρησιμοποίησα mu-editor). Αυτό το πρόγραμμα βασικά ρυθμίζει ένα PWM στον πείρο 2 με περίοδο 1 χιλιοστό του δευτερολέπτου (και κύκλο λειτουργίας 50%) και ο κινητήρας σας θα πρέπει να περιστρέφεται. Ρυθμίστε τον πείρο 8 σε 0 ή 1 για να τον γυρίσετε με τον ένα ή τον άλλο τρόπο και αλλάξτε την περίοδο για να γυρίσει την ταχύτητα που θέλετε (αρκεί να μην θέλετε να πάει πολύ γρήγορα … για μένα ένας παλμός κάθε χιλιοστό του δευτερολέπτου ήταν κοντά στη μέγιστη ταχύτητα που μπορούσα να φτάσω).
Για να γίνουν τα πράγματα λίγο πιο συμπαγή και να μπουν εύκολα σε ένα κινητό ρομπότ, έφτιαξα μια μικρή σανίδα. Ο πίνακας εμφανίζεται στην παραπάνω εικόνα. Στην εικόνα υπάρχει ένα μοβ σύρμα που πηγαίνει από το VMOT στο VDD και κρύβεται στη σκιά. Επίσης, το κίτρινο σύρμα που πηγαίνει από το SLP στο RST δεν είναι συγκολλημένο, απλά το έβαλα εκεί για να αντιπροσωπεύσει τη συγκόλληση που έβαλα στο πίσω μέρος του πίνακα για να συνδέσω αυτές τις 2 ακίδες. Παρατήρηση: η ψύκτρα κανονικά δεν απαιτείται με ένα τέτοιο σύστημα, καθώς σχεδιάζουμε πολύ, πολύ λιγότερο από 1Α.
Αυτό είναι όλο, ελπίζω ότι αυτό το διδακτικό θα βοηθήσει πολλούς από εσάς να απολαύσουν τη δύναμη του βηματικού κινητήρα στα έργα σας.
Συνιστάται:
Magic Hercules - Πρόγραμμα οδήγησης για ψηφιακές λυχνίες LED: 10 βήματα
Magic Hercules - Driver for Digital LEDs: Γρήγορη επισκόπηση: Η μονάδα Magic Hercules είναι ένας μετατροπέας μεταξύ του γνωστού και απλού SPI στο πρωτόκολλο NZR. Οι είσοδοι της μονάδας έχουν ανοχή +3,3 V, ώστε να μπορείτε να συνδέσετε με ασφάλεια όλους τους μικροελεγκτές που λειτουργούν σε τάση +3,3 V. Η χρήση
Πώς να φτιάξετε ένα στατικό πρόγραμμα οδήγησης LCD με διεπαφή I²C: 12 βήματα
Πώς να φτιάξετε στατικό πρόγραμμα οδήγησης LCD με διεπαφή I²C: Οι οθόνες υγρών κρυστάλλων (LCD) χρησιμοποιούνται ευρέως για εμπορικές και βιομηχανικές εφαρμογές λόγω των καλών οπτικών ιδιοτήτων τους, του χαμηλού κόστους και της χαμηλής κατανάλωσης ενέργειας. Αυτές οι ιδιότητες καθιστούν την οθόνη LCD την τυπική λύση για συσκευές που λειτουργούν με μπαταρία
Μεταβλητό πρόγραμμα οδήγησης κινητήρα: 3 βήματα
Μεταβλητό πρόγραμμα οδήγησης κινητήρα: Αυτό το άρθρο δείχνει ένα απλό πρόγραμμα οδήγησης κινητήρα. Ωστόσο, αυτή σίγουρα δεν είναι η φθηνότερη λύση για ένα κύκλωμα οδήγησης κινητήρα
Raspberry Pi, Python και πρόγραμμα οδήγησης Stepper Motor TB6600: 9 βήματα
Raspberry Pi, Python και TB6600 Stepper Motor Driver: Αυτό το εγχειρίδιο ακολουθεί τα βήματα που έκανα για να συνδέσω ένα Raspberry Pi 3b με έναν ελεγκτή Stepper Motor TB6600, ένα τροφοδοτικό 24 VDC και έναν κινητήρα Stepper 6 καλωδίων. Μάλλον είμαι όπως πολλοί από εσάς και τυχαίνει να έχω μια " τσάντα αρπαγής " του υπολοίπου
Stepper Motor ελεγχόμενη Stepper Motor - Stepper Motor As a Rotary Encoder: 11 βήματα (με εικόνες)
Stepper Motor ελεγχόμενη Stepper Motor | Stepper Motor As a Rotary Encoder: Έχετε μερικά stepper motors ξαπλωμένα και θέλετε να κάνετε κάτι; Σε αυτό το Instructable, ας χρησιμοποιήσουμε έναν βηματικό κινητήρα ως περιστροφικό κωδικοποιητή για να ελέγξουμε τη θέση ενός άλλου βηματικού κινητήρα χρησιμοποιώντας έναν μικροελεγκτή Arduino. Οπότε, χωρίς άλλη παρατήρηση, ας