- Κινητήρες Stepper:
- Υπολογισμός των Βημάτων ανά Επανάσταση για το Stepper Motor:
- Γιατί χρειαζόμαστε μονάδες προγράμματος οδήγησης για κινητήρες Stepper;
- Διάγραμμα και επεξήγηση κυκλώματος ελέγχου θέσης κινητήρα Arduino Stepper:
- Κωδικός για το Arduino Board:
- Εργασία του Stepper Motor με το Arduino:
Οι κινητήρες Stepper παίρνουν όλο και περισσότερο τη θέση τους στον κόσμο των ηλεκτρονικών. Ξεκινώντας από μια κανονική κάμερα παρακολούθησης έως μια περίπλοκη μηχανήματα / ρομπότ CNC, αυτοί οι βηματικοί κινητήρες χρησιμοποιούνται παντού ως ενεργοποιητές, δεδομένου ότι παρέχουν ακριβή έλεγχο. Ένα Stepper Motor είναι ένας σύγχρονος κινητήρας χωρίς ψήκτρες που ολοκληρώνει μια πλήρη περιστροφή σε μια σειρά βημάτων. Σε αυτό το φροντιστήριο Arduino stepper motor, θα μάθουμε για τον πιο συχνά διαθέσιμο stepper motor 28-BYJ48 και πώς να το συνδέσουμε με το Arduino χρησιμοποιώντας την μονάδα ULN2003 stepper motor.
Κινητήρες Stepper:
Ας ρίξουμε μια ματιά σε αυτόν τον κινητήρα Stepper 28-BYJ48.
Εντάξει, έτσι σε αντίθεση με έναν κανονικό κινητήρα DC, αυτός έχει πέντε καλώδια όλων των φανταχτερών χρωμάτων που βγαίνουν από αυτόν και γιατί συμβαίνει αυτό; Για να το καταλάβουμε αυτό πρέπει πρώτα να μάθουμε πώς λειτουργεί ένα stepper και ποια είναι η ειδικότητά του. Πρώτα απ 'όλα, οι κινητήρες steppers δεν περιστρέφονται, περπατούν και έτσι είναι επίσης γνωστοί ως step motors. Δηλαδή, θα κινούνται μόνο ένα βήμα τη φορά. Αυτοί οι κινητήρες έχουν μια ακολουθία πηνίων που υπάρχει σε αυτά και αυτά τα πηνία πρέπει να ενεργοποιούνται με ένα συγκεκριμένο τρόπο για να περιστραφεί ο κινητήρας. Όταν κάθε πηνίο ενεργοποιείται, ο κινητήρας κάνει ένα βήμα και μια ακολουθία ενεργοποίησης θα κάνει τον κινητήρα να κάνει συνεχή βήματα, κάνοντάς το έτσι να περιστρέφεται. Ας ρίξουμε μια ματιά στα πηνία που υπάρχουν μέσα στον κινητήρα για να γνωρίζουμε ακριβώς από πού προέρχονται αυτά τα καλώδια.
Όπως μπορείτε να δείτε, ο κινητήρας διαθέτει διάταξη Unilolar 5-lead coil. Υπάρχουν τέσσερα πηνία που πρέπει να ενεργοποιηθούν με μια συγκεκριμένη σειρά. Τα κόκκινα καλώδια θα τροφοδοτούνται με + 5V και τα υπόλοιπα τέσσερα καλώδια θα τραβηχτούν στη γείωση για να ενεργοποιήσουν το αντίστοιχο πηνίο. Χρησιμοποιούμε έναν μικροελεγκτή όπως το Arduino ενεργοποιώντας αυτά τα πηνία σε μια συγκεκριμένη σειρά και κάνουμε τον κινητήρα να εκτελέσει τον απαιτούμενο αριθμό βημάτων.
Λοιπόν τώρα, γιατί ονομάζεται αυτός ο κινητήρας 28-BYJ48; Σοβαρά!!! Δεν γνωρίζω. Δεν υπάρχει τεχνικός λόγος για αυτόν τον κινητήρα να ονομάζεται έτσι. ίσως πρέπει να βυθίσουμε πολύ βαθύτερα σε αυτό. Ας δούμε μερικά από τα σημαντικά τεχνικά δεδομένα που λαμβάνονται από το δελτίο δεδομένων αυτού του κινητήρα στην παρακάτω εικόνα.
Αυτό είναι ένα κεφάλι γεμάτο πληροφορίες, αλλά πρέπει να εξετάσουμε λίγα σημαντικά για να μάθουμε τι είδους stepper χρησιμοποιούμε, ώστε να μπορούμε να τον προγραμματίσουμε αποτελεσματικά. Πρώτα γνωρίζουμε ότι είναι ένας κινητήρας Stepper 5V αφού ενεργοποιούμε το κόκκινο καλώδιο με 5V. Στη συνέχεια, γνωρίζουμε επίσης ότι είναι ένας τεσσάρων φάσεων κινητήρας αφού είχε τέσσερα πηνία σε αυτό. Τώρα, ο λόγος γραναζιών είναι 1:64. Αυτό σημαίνει ότι ο άξονας που βλέπετε έξω θα κάνει μια πλήρη περιστροφή μόνο εάν ο κινητήρας στο εσωτερικό περιστρέφεται για 64 φορές. Αυτό οφείλεται στα γρανάζια που συνδέονται μεταξύ του κινητήρα και του άξονα εξόδου, αυτά τα γρανάζια βοηθούν στην αύξηση της ροπής.
Ένα άλλο σημαντικό στοιχείο που πρέπει να παρατηρήσετε είναι το Stride Angle: 5.625 ° / 64. Αυτό σημαίνει ότι ο κινητήρας όταν λειτουργεί με ακολουθία 8 βημάτων θα κινείται 5,625 μοίρες για κάθε βήμα και θα πάρει 64 βήματα (5,625 * 64 = 360) για να ολοκληρώσει μια πλήρη περιστροφή. Μπορείτε να μάθετε περισσότερα σχετικά με τη λειτουργία βηματικών κινητήρων με ARM LPC2148, ATMega16 Microcontroller, MSP430.
Υπολογισμός των Βημάτων ανά Επανάσταση για το Stepper Motor:
Είναι σημαντικό να γνωρίζετε πώς να υπολογίζετε τα βήματα ανά Επανάσταση για το stepper κινητήρα σας επειδή μόνο τότε μπορείτε να τον προγραμματίσετε αποτελεσματικά.
Στο Arduino θα λειτουργήσουμε τον κινητήρα σε ακολουθία 4 βημάτων, ώστε η γωνία διασκελισμού να είναι 11,25 ° δεδομένου ότι είναι 5,625 ° (δίνεται σε φύλλο δεδομένων) για ακολουθία 8 βημάτων θα είναι 11,25 ° (5,625 * 2 = 11,25).
Βήματα ανά περιστροφή = 360 / γωνία βήματος
Εδώ, 360 / 11.25 = 32 βήματα ανά επανάσταση.
Γιατί χρειαζόμαστε μονάδες προγράμματος οδήγησης για κινητήρες Stepper;
Οι περισσότεροι κινητήρες stepper θα λειτουργούν μόνο με τη βοήθεια μιας μονάδας οδηγού. Αυτό συμβαίνει επειδή η μονάδα ελέγχου (στην περίπτωσή μας Arduino) δεν θα είναι σε θέση να παρέχει αρκετό ρεύμα από τους ακροδέκτες I / O για να λειτουργεί ο κινητήρας. Έτσι, θα χρησιμοποιήσουμε μια εξωτερική μονάδα, όπως η μονάδα ULN2003 ως stepper motor driver. Υπάρχουν πολλοί τύποι μονάδων οδηγού και η βαθμολογία ενός θα αλλάξει ανάλογα με τον τύπο του κινητήρα που χρησιμοποιείται. Η πρωταρχική αρχή για όλες τις μονάδες οδηγού θα είναι η πηγή / βύθιση επαρκούς ρεύματος για τη λειτουργία του κινητήρα.
Διάγραμμα και επεξήγηση κυκλώματος ελέγχου θέσης κινητήρα Arduino Stepper:
Το διάγραμμα κυκλώματος για το έργο ελέγχου κινητήρα arduino stepper φαίνεται παραπάνω. Χρησιμοποιήσαμε τον κινητήρα Stepper 28BYJ-48 και τη μονάδα ULN2003 Driver. Για να ενεργοποιήσουμε τα τέσσερα πηνία του κινητήρα stepper χρησιμοποιούμε τις ψηφιακές ακίδες 8,9,10 και 11. Η μονάδα οδήγησης τροφοδοτείται από τον ακροδέκτη 5V της πλακέτας Arduino.
Αλλά, τροφοδοτήστε τον οδηγό με εξωτερική τροφοδοσία όταν συνδέετε κάποιο φορτίο με τον κινητήρα στέπα. Επειδή χρησιμοποιώ απλώς τον κινητήρα για λόγους επίδειξης, έχω χρησιμοποιήσει τη ράγα + 5V του Arduino Board. Επίσης, θυμηθείτε να συνδέσετε το Ground of the Arduino με το έδαφος της μονάδας Diver.
Κωδικός για το Arduino Board:
Πριν ξεκινήσουμε τον προγραμματισμό με το Arduino, ας καταλάβουμε τι πρέπει να συμβεί πραγματικά στο πρόγραμμα. Όπως ειπώθηκε προηγουμένως, θα χρησιμοποιήσουμε τη μέθοδο ακολουθίας 4 βημάτων, οπότε θα έχουμε τέσσερα βήματα για να εκτελέσουμε μια πλήρη περιστροφή.
Βήμα |
Ενεργοποίηση καρφίτσας |
Ενεργοποιημένα πηνία |
Βήμα 1 |
8 και 9 |
Α και Β |
Βήμα 2 |
9 και 10 |
Β και Γ |
Βήμα 3 |
10 και 11 |
Γ και Δ |
Βήμα 4 |
11 και 8 |
Δ και Α |
Η μονάδα οδήγησης θα έχει τέσσερα LED χρησιμοποιώντας τα οποία μπορούμε να ελέγξουμε ποια πηνία ενεργοποιείται ανά πάσα στιγμή. Το βίντεο που δείχνει την ακολουθία ενεργοποίησης βρίσκεται στο τέλος αυτού του σεμιναρίου.
Σε αυτό το σεμινάριο πρόκειται να γράψουμε τον κωδικό κινητήρα arduino stepper και για αυτό θα προγραμματίσουμε το Arduino με τέτοιο τρόπο ώστε να μπορέσουμε να εισαγάγουμε τον αριθμό των βημάτων που πρέπει να ακολουθήσει ο κινητήρας stepper μέσω της σειριακής οθόνης του Arduino. Το πλήρες πρόγραμμα μπορεί να βρεθεί στο τέλος του σεμιναρίου εξηγούνται παρακάτω μερικές σημαντικές γραμμές.
Ο αριθμός των βημάτων ανά περιστροφή για τον κινητήρα stepper υπολογίστηκε να είναι 32. ως εκ τούτου το εισάγουμε όπως φαίνεται στην παρακάτω γραμμή
# καθορισμός ΒΗΜΑΤΑ 32
Στη συνέχεια πρέπει να δημιουργήσετε περιπτώσεις στις οποίες καθορίζουμε τις ακίδες στις οποίες έχουμε συνδέσει τον κινητήρα Stepper.
Stepper stepper (ΒΗΜΑΤΑ, 8, 10, 9, 11);
Σημείωση: Ο αριθμός των καρφιτσών είναι απρόσκοπτος ως 8,10,9,11. Πρέπει να ακολουθήσετε το ίδιο μοτίβο ακόμη και αν αλλάξετε τους ακροδέκτες στους οποίους είναι συνδεδεμένος ο κινητήρας σας.
Δεδομένου ότι χρησιμοποιούμε τη βιβλιοθήκη Arduino stepper, μπορούμε να ρυθμίσουμε την ταχύτητα του κινητήρα χρησιμοποιώντας την παρακάτω γραμμή. Η ταχύτητα κυμαίνεται από 0 έως 200 για κινητήρες stepper 28-BYJ48.
stepper.setSpeed (200);
Τώρα, για να κάνουμε τον κινητήρα να κινηθεί ένα βήμα μπορούμε να χρησιμοποιήσουμε την ακόλουθη γραμμή.
stepper.step (val);
Ο αριθμός των βημάτων που θα μετακινηθούν θα παρέχονται από τη μεταβλητή "val". Δεδομένου ότι έχουμε 32 βήματα και 64 ως σχέση μετάδοσης, πρέπει να μετακινήσουμε το 2048 (32 * 64 = 2048), για να κάνουμε μια πλήρη περιστροφή.
Η τιμή της μεταβλητής "val" μπορεί να εισαχθεί από τον χρήστη χρησιμοποιώντας τη σειριακή οθόνη.
Εργασία του Stepper Motor με το Arduino:
Μόλις γίνει η σύνδεση, το υλικό θα πρέπει να μοιάζει με αυτό στην παρακάτω εικόνα.
Τώρα, ανεβάστε το παρακάτω πρόγραμμα στο Arduino UNO και ανοίξτε τη σειριακή οθόνη. Όπως συζητήθηκε προηγουμένως, θα πρέπει να κάνουμε 2048 βήματα για να κάνουμε μια πλήρη περιστροφή, οπότε όταν μπαίνουμε στο 2048 ο κινητήρας θα κάνει μια πλήρη περιστροφή προς τα δεξιά, κάνοντας 2048 βήματα. Για περιστροφή αριστερόστροφα, απλώς εισάγετε τον αριθμό με αρνητικό σύμβολο "-". Έτσι, η είσοδος -1024 θα κάνει τον κινητήρα να περιστρέφεται κατά το ήμισυ προς την αντίθετη φορά του ρολογιού. Μπορείτε να εισαγάγετε οποιεσδήποτε επιθυμητές τιμές, όπως η είσοδος 1 θα κάνει τον κινητήρα να κάνει μόνο ένα βήμα.
Ελπίζω ότι καταλάβατε το έργο και σας άρεσε να το φτιάξετε. Η πλήρης εργασία του έργου φαίνεται στο παρακάτω βίντεο. Εάν έχετε οποιεσδήποτε αμφιβολίες, δημοσιεύστε τα στην ενότητα σχολίων κάτω από τα φόρουμ μας.