Ένα από τα Ο πιο δημοφιλής κινητήρας stepper είναι ο 28BYJ-48. Μετά το άρθρο που δημοσιεύτηκε σε αυτό το ιστολόγιο, θα πρέπει να γνωρίζετε ήδη ό, τι χρειάζεστε για αυτόν τον τύπο κινητήρα ακρίβειας στην οποία μπορείτε να ελέγχετε τη στροφή έτσι ώστε να προχωρά αργά ή να παραμένει στατική σε θέση που θέλετε. Αυτό τους επιτρέπει να έχουν ένα πλήθος εφαρμογών, από τη βιομηχανική έως τη ρομποτική, μέσω πολλών άλλων που μπορείτε να σκεφτείτε.
Το 28BYJ-48 είναι ένα μικρό μονοπολικός βηματικός κινητήρας, και εύκολο να ενσωματωθεί με το Arduino, καθώς διαθέτει μοντέλο μονάδας προγράμματος οδήγησης / ελεγκτή ULN2003A που συνήθως περιλαμβάνεται σε αυτό. Όλα για μια πολύ φτηνή τιμή και ένα αρκετά μικρό μέγεθος. Αυτές οι δυνατότητες το καθιστούν επίσης ιδανικό να αρχίσετε να ασκείστε με αυτές τις συσκευές.
28BYJ-48 Χαρακτηριστικά
Κινητήρας 28BYJ-498 Είναι ένας βηματικός κινητήρας που έχει τα ακόλουθα χαρακτηριστικά:
- tipo: stepper motor ή μονοπολικό stepper
- Φάσεις: 4 (πλήρες βήμα), καθώς υπάρχουν 4 πηνία μέσα.
- Resistencia: 50 Ω.
- Ροπή κινητήρα: 34 N / m, δηλαδή, εάν οι Newtons ανά μέτρο περάσουν στο Kg, θα ήταν μια δύναμη ισοδύναμη με την τοποθέτηση περίπου 0.34 Kg ανά cm στον άξονα του. Αρκετά για ανύψωση με τροχαλία λίγο πάνω από το ένα τέταρτο του κιλού.
- Κατανάλωση: 55 mA
- Βήματα ανά γύρο: Τύπος μισού βήματος (8º το καθένα)
- Ενσωματωμένο κιβώτιο ταχυτήτων: ναι, 1/64, οπότε χωρίζει κάθε βήμα σε 64 μικρότερα για μεγαλύτερη ακρίβεια, επομένως, φτάνει τα 512 βήματα των 0.7º το καθένα. Ή μπορεί επίσης να θεωρηθεί ως 256 πλήρη βήματα ανά γύρο (πλήρες βήμα).
Πλήρη ή μισά βήματα ή πλήρη και μισά βήματα, είναι οι τρόποι με τους οποίους μπορείτε να εργαστείτε. Αν θυμάστε, στο άρθρο για τους κινητήρες stepper είπα ότι το παράδειγμα κώδικα για το Arduino IDE λειτούργησε με πλήρη ροπή.
Για περισσότερες πληροφορίες, μπορείτε κατεβάστε το δελτίο δεδομένων σαςΩς για παράδειγμα αυτό. Όσον αφορά το pinout, δεν χρειάζεται να ανησυχείτε πάρα πολύ, αν και μπορείτε επίσης να δείτε πληροφορίες στο φύλλο δεδομένων του μοντέλου που έχετε αγοράσει. Αλλά αυτό το σκυρόδεμα έχει μια σύνδεση που σας επιτρέπει να συνδέσετε όλα τα καλώδια ταυτόχρονα, χωρίς να ανησυχείτε για πόλωση ή πού πηγαίνει το καθένα, απλώς εισάγετε στον ελεγκτή και ...
Όσον αφορά τον ελεγκτή κινητήρα ή τον οδηγό που περιλαμβάνονται σε αυτόν τον κινητήρα 28BYJ-48, έχετε το ULN2003A, ένα από τα πιο δημοφιλή και που μπορείτε να χρησιμοποιήσετε με το Arduino πολύ εύκολα. Διαθέτει μια σειρά τρανζίστορ Darlington που υποστηρίζει έως και 500mA και έχει καρφίτσες σύνδεσης για να συνδέσει τα 4 πηνία με τις ακίδες της πλακέτας Arduino με αριθμό από IN1 έως IN4, όπως είδατε στο άρθρο του κινητήρα stepper που ανέφερα νωρίτερα. Από το Arduino, μπορείτε να έχετε καλώδια από τον πείρο 5v και GND έως τις δύο ακίδες στην πλακέτα της μονάδας οδηγού με την ένδειξη - + (5-12v) για να τροφοδοτήσετε την πλακέτα και τον κινητήρα stepper.
Παρεμπιπτόντως, με Τρανζίστορ του Ντάρλινγκτον Επιτρέπεται η χρήση ενός ζεύγους διπολικών τρανζίστορ τοποθετημένων μαζί και ενεργώντας ως ένα απλό τρανζίστορ. Αυτό αυξάνει σημαντικά το κέρδος του σήματος στο μονό «τρανζίστορ» που προκύπτει και επιτρέπει επίσης τη μεταφορά υψηλότερων ρευμάτων και τάσεων.
El Ζεύγος Ντάρλινγκτον, όπως είναι γνωστό το απλό "τρανζίστορ" που σχηματίζεται από το συνδυασμό δύο διπολικών τρανζίστορ. Ξεκίνησε στο Bell Labs το 1952, από τον Sidney Darlington, εξ ου και το όνομά του. Αυτά τα τρανζίστορ συνδέονται με τέτοιο τρόπο ώστε ένα NPN να συνδέει τον συλλέκτη του με τον συλλέκτη του δεύτερου τρανζίστορ NPN. Ενώ ο εκδότης του πρώτου πηγαίνει στη βάση του δεύτερου. Δηλαδή, το προκύπτον τρανζίστορ ή ζεύγος έχει τρεις συνδέσεις ως ένα τρανζίστορ. Η βάση του πρώτου τρανζίστορ και ο συλλέκτης / εκπομπός του δεύτερου τρανζίστορ ...
Πού να αγοράσετε τον κινητήρα
Ο μπορείτε να βρείτε σε πολλά καταστήματα ειδικεύεται στην ηλεκτρονική, και επίσης στο διαδίκτυο όπως το Amazon. Για παράδειγμα, μπορείτε να τα αγοράσετε στη διεύθυνση:
- Για περίπου 6 € μπορείτε να έχετε ένα 28BYJ-48 κινητήρας με μονάδα οδηγού.
- Δεν βρέθηκαν προϊόντα. και καλώδια για τις συνδέσεις του, σε περίπτωση που χρειάζεστε περισσότερους από έναν κινητήρες για το ρομπότ ή το έργο που κάνετε ...
Προγραμματισμός του 28BYJ-48 με τον Arduino
Πρώτα απ 'όλα, πρέπει να είστε ξεκάθαροι για τις έννοιες ενός κινητήρα stepper, λοιπόν σας προτείνω διαβάστε το άρθρο του Hwlibre για αυτά τα αντικείμενα. Αυτοί οι κινητήρες δεν είναι σχεδιασμένοι να τροφοδοτούνται συνεχώς, αλλά να τους πολώνουν στις διαφορετικές φάσεις τους, έτσι ώστε να προωθούν μόνο τους βαθμούς που θέλουμε. Για να διεγείρετε τις φάσεις και να ελέγξετε την περιστροφή του άξονα, θα πρέπει να τροφοδοτήσετε κάθε σύνδεση σωστά.
Ο κατασκευαστής συνιστά την οδήγηση 2 πηνίων κάθε φορά.
- Για να λειτουργήσει στη μέγιστη ροπή, με την ταχύτερη ταχύτητα και μέγιστη κατανάλωση, μπορείτε να χρησιμοποιήσετε αυτόν τον πίνακα:
Βήμα | Πηνίο Α | Πηνίο Β | Πηνίο Γ | Πηνίο Δ |
---|---|---|---|---|
1 | HIGH | HIGH | LOW | LOW |
2 | LOW | HIGH | HIGH | LOW |
3 | LOW | LOW | HIGH | HIGH |
4 | HIGH | LOW | LOW | HIGH |
- Να διεγείρει μόνο ένα πηνίο κάθε φορά και να το κάνει να λειτουργεί σε λειτουργία κίνησης κυμάτων (ακόμη και για το ήμισυ, αλλά χαμηλή κατανάλωση), μπορείτε να χρησιμοποιήσετε τον ακόλουθο πίνακα:
Βήμα | Πηνίο Α | Πηνίο Β | Πηνίο Γ | Πηνίο Δ |
---|---|---|---|---|
1 | HIGH | LOW | LOW | LOW |
2 | LOW | HIGH | LOW | LOW |
3 | LOW | LOW | HIGH | LOW |
4 | LOW | LOW | LOW | HIGH |
- Ή για προκαταβολές μισά βήματα, μπορείτε να το χρησιμοποιήσετε για να επιτύχετε μεγαλύτερη ακρίβεια στροφής σε μικρότερα βήματα:
Βήμα | Πηνίο Α | Πηνίο Β | Πηνίο Γ | Πηνίο Δ |
---|---|---|---|---|
1 | HIGH | LOW | LOW | LOW |
2 | HIGH | HIGH | LOW | LOW |
3 | LOW | HIGH | LOW | LOW |
4 | LOW | HIGH | HIGH | LOW |
5 | LOW | LOW | HIGH | LOW |
6 | LOW | LOW | HIGH | HIGH |
7 | LOW | LOW | LOW | HIGH |
8 | LOW | LOW | LOW | HIGH |
Και μπορεί να σκεφτείτε ... τι έχει αυτό να κάνει με τον προγραμματισμό Arduino; Λοιπόν, η αλήθεια είναι ότι από τότε μπορείτε να δημιουργήσετε έναν πίνακα ή πίνακα με τις τιμές στο Arduino IDE έτσι ώστε ο κινητήρας να κινείται όπως θέλετε, και στη συνέχεια να χρησιμοποιήσετε την εν λόγω συστοιχία σε βρόχο ή όταν τη χρειάζεστε ... Λαμβάνοντας υπόψη ότι LOW = 0 και HIGH = 1, δηλαδή, απουσία τάσης ή υψηλής τάσης, μπορείτε να δημιουργήσετε τα σήματα που πρέπει να στείλει ο Arduino στον ελεγκτή για να οδηγήσει τον κινητήρα. Για παράδειγμα, για να κάνετε μεσαία βήματα θα μπορούσατε να χρησιμοποιήσετε τον κωδικό για τη μήτρα:
int Paso [ 8 ][ 4 ] = { {1, 0, 0, 0}, {1, 1, 0, 0}, {0, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 1, 0}, {0, 0, 1, 1}, {0, 0, 0, 1}, {1, 0, 0, 1} };
Δηλαδή, για τον πλήρη κώδικα του σκίτσου Από το Arduino IDE, μπορείτε να χρησιμοποιήσετε αυτό το βασικό παράδειγμα για να ελέγξετε πώς λειτουργεί ο κινητήρας stepper 28BYJ-48. Με αυτό, μπορείτε να περιστρέψετε τον άξονα του κινητήρα μόλις έχετε συνδέσει σωστά ολόκληρο το διάγραμμα. Προσπαθήστε να τροποποιήσετε τις τιμές ή να αλλάξετε τον κωδικό για την εφαρμογή που χρειάζεστε στην περίπτωσή σας:
// Definir pines conectados a las bobinas del driver #define IN1 8 #define IN2 9 #define IN3 10 #define IN4 11 // Secuencia de pasos a par máximo del motor. Realmente es una matriz que representa la tabla del unipolar que he mostrado antes int paso [4][4] = { {1, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 1, 1}, {1, 0, 0, 1} }; void setup() { // Todos los pines se configuran como salida, ya que el motor no enviará señal a Arduino pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); } // Bucle para hacerlo girar void loop() { for (int i = 0; i < 4; i++) { digitalWrite(IN1, paso[i][0]); digitalWrite(IN2, paso[i][1]); digitalWrite(IN3, paso[i][2]); digitalWrite(IN4, paso[i][3]); delay(10); } }
Όπως μπορείτε να δείτε, σε αυτήν την περίπτωση θα λειτουργούσε με μέγιστη ροπή ενεργοποιώντας τα πηνία δύο προς δύο ...