- Κινητήρες Stepper:
- Υπολογισμός των Βημάτων ανά Επανάσταση για το Stepper Motor:
- Γιατί χρειαζόμαστε μονάδες προγράμματος οδήγησης για κινητήρες Stepper;
- Διάγραμμα κυκλώματος για περιστρεφόμενο κινητήρα Stepper χρησιμοποιώντας ποτενσιόμετρο:
- Κωδικός για το Arduino Board:
- Εργαζόμενος:
Οι κινητήρες Stepper παίρνουν όλο και περισσότερο τη θέση τους στον κόσμο των ηλεκτρονικών. Ξεκινώντας από μια κανονική κάμερα παρακολούθησης έως μια περίπλοκη μηχανήματα / ρομπότ CNC, αυτά τα Stepper Motors χρησιμοποιούνται παντού ως ενεργοποιητές, καθώς παρέχουν ακριβή έλεγχο. Σε αυτό το σεμινάριο θα μάθουμε για τον πιο συνηθισμένο / φθηνό διαθέσιμο κινητήρα stepper 28-BYJ48 και πώς να το συνδέσουμε με το Arduino χρησιμοποιώντας το stepper ULN2003.
Στο τελευταίο έργο έχουμε απλώς Interfaced Stepper Motor με Arduino, όπου μπορείτε να περιστρέψετε τον κινητήρα stepper εισάγοντας τη γωνία περιστροφής στο Serial Monitor of Arduino. Εδώ σε αυτό το έργο, θα περιστρέψουμε το Stepper Motor χρησιμοποιώντας το ποτενσιόμετρο και το Arduino, όπως αν γυρίσετε το ποτενσιόμετρο δεξιόστροφα, τότε το βήμα θα περιστραφεί δεξιόστροφα και αν γυρίσετε το ποτενσιόμετρο αριστερόστροφα τότε θα περιστραφεί αριστερόστροφα.
Κινητήρες 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) για να ολοκληρώσει μια πλήρη περιστροφή.
Υπολογισμός των Βημάτων ανά Επανάσταση για το 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. Υπάρχουν πολλοί τύποι μονάδων οδηγού και η βαθμολογία ενός θα αλλάξει ανάλογα με τον τύπο του κινητήρα που χρησιμοποιείται. Η πρωταρχική αρχή για όλες τις μονάδες οδηγού θα είναι η πηγή / βύθιση επαρκούς ρεύματος για τη λειτουργία του κινητήρα.
Διάγραμμα κυκλώματος για περιστρεφόμενο κινητήρα Stepper χρησιμοποιώντας ποτενσιόμετρο:
Το διάγραμμα κυκλώματος για τον ελεγκτή Stepper Motor χρησιμοποιώντας ποτενσιόμετρο και Arduino φαίνεται παραπάνω. Χρησιμοποιήσαμε τον κινητήρα Stepper 28BYJ-48 και τη μονάδα ULN2003 Driver. Για να ενεργοποιήσουμε τα τέσσερα πηνία του κινητήρα stepper χρησιμοποιούμε τις ψηφιακές ακίδες 8,9,10 και 11. Η μονάδα οδήγησης τροφοδοτείται από τον ακροδέκτη 5V της πλακέτας Arduino. Ένα ποτενσιόμετρο συνδέεται με A0 με βάση τις τιμές του οποίου θα περιστρέψουμε τον κινητήρα Stepper
Αλλά, τροφοδοτήστε τον οδηγό με εξωτερική τροφοδοσία όταν συνδέετε κάποιο φορτίο με τον κινητήρα στέπα. Επειδή χρησιμοποιώ απλώς τον κινητήρα για λόγους επίδειξης, έχω χρησιμοποιήσει τη ράγα + 5V του Arduino Board. Επίσης, θυμηθείτε να συνδέσετε το Ground of the Arduino με τη γείωση της μονάδας Driver.
Κωδικός για το Arduino Board:
Πριν ξεκινήσουμε τον προγραμματισμό με το Arduino, ας καταλάβουμε τι πρέπει να συμβεί πραγματικά στο πρόγραμμα. Όπως ειπώθηκε προηγουμένως, θα χρησιμοποιήσουμε τη μέθοδο ακολουθίας 4 βημάτων, οπότε θα έχουμε τέσσερα βήματα για να εκτελέσουμε μια πλήρη περιστροφή.
Βήμα |
Ενεργοποίηση καρφίτσας |
Ενεργοποιημένα πηνία |
Βήμα 1 |
8 και 9 |
Α και Β |
Βήμα 2 |
9 και 10 |
Β και Γ |
Βήμα 3 |
10 και 11 |
Γ και Δ |
Βήμα 4 |
11 και 8 |
Δ και Α |
Η μονάδα οδήγησης θα έχει τέσσερα LED χρησιμοποιώντας τα οποία μπορούμε να ελέγξουμε ποια πηνία ενεργοποιείται ανά πάσα στιγμή. Το πλήρες βίντεο επίδειξης βρίσκεται στο τέλος αυτού του σεμιναρίου.
Σε αυτό το σεμινάριο πρόκειται να προγραμματίσουμε το Arduino με τέτοιο τρόπο ώστε να μπορούμε να περιστρέψουμε το ποτενσιόμετρο που είναι συνδεδεμένο στον ακροδέκτη A0 και να ελέγξουμε την κατεύθυνση του κινητήρα Stepper. Το πλήρες πρόγραμμα μπορεί να βρεθεί στο τέλος του σεμιναρίου εξηγούνται παρακάτω μερικές σημαντικές γραμμές.
Ο αριθμός των βημάτων ανά περιστροφή για τον κινητήρα 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 (1);
Για να κάνουμε το μοτέρ να κινείται ένα βήμα αριστερόστροφα μπορούμε να χρησιμοποιήσουμε την ακόλουθη γραμμή.
stepper.step (-1);
Στο πρόγραμμά μας θα διαβάσουμε την τιμή του αναλογικού πείρου Α0 και θα το συγκρίνουμε με την προηγούμενη τιμή (Pval). Εάν έχει αυξηθεί, κινούμαστε 5 βήματα δεξιόστροφα και αν μειωθεί, μετακινούμε 5 βήματα αριστερόστροφα
potVal = χάρτης (analogRead (A0), 0,1024,0,500); εάν (potVal> Pval) stepper.step (5); εάν (potVal
Εργαζόμενος:
Μόλις γίνει η σύνδεση, το υλικό θα πρέπει να μοιάζει με αυτό στην παρακάτω εικόνα.
Τώρα, ανεβάστε το παρακάτω πρόγραμμα στο Arduino UNO και ανοίξτε τη σειριακή οθόνη. Όπως συζητήθηκε προηγουμένως, πρέπει να περιστρέψετε το ποτενσιόμετρο για να ελέγξετε την περιστροφή του κινητήρα Stepper. Η περιστροφή του δεξιόστροφα θα περιστρέψει το βηματικό μοτέρ δεξιόστροφα και το αντίστροφο.
Ελπίζω ότι καταλάβατε το έργο και σας άρεσε να το φτιάξετε. Η πλήρης εργασία του έργου φαίνεται στο παρακάτω βίντεο. Εάν έχετε αμφιβολίες, δημοσιεύστε τα στην παρακάτω ενότητα σχολίων ή στα φόρουμ μας.