Πως λειτουργεί ο βηματικός κινητήρας (stepper motor)

Υπάρχουν διάφορα είδη ηλεκτρικών μοτέρ / κινητήρων. Ένα από αυτά είναι τα βηματικά μοτέρ ή αλλιώς stepper motor.

Σε αυτό το άρθρο θα δούμε πως λειτουργούν τα stepper motor, εξηγώντας με όσο το δυνατόν περισσότερα στοιχεία. 

Θα παρουσιάσουμε και ένα κύκλωμα με το οποίο θα ελέγξουμε ένα βηματικό μοτέρ μέσω ενός arduino.

Τι είναι ο ηλεκτρικός κινητήρας; (γενικά)

Οι ηλεκτροκινητήρες είναι διατάξεις οι οποίες εκμεταλλεύονται τον ηλεκτρομαγνητισμό. Τις τροφοδοτούμε στην είσοδο με ηλεκτρική ενέργεια και λαμβάνουμε μηχανική / κινητική ενέργεια στην έξοδο.

Ηλεκτροκινητήρας

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

Παρακάτω θα αναλύσουμε τον βηματικό κινητήρα ή stepper motor ή κινητήρα βηματισμού o οποίος είναι κατασκευασμένος για συγκεκριμένες εφαρμογές όπου απαιτείται περισσότερη ακρίβεια.  Οι βηματικοί κινητήρες ανήκουν σε μία ειδική κατηγορία κινητήρων όπως και οι σερβοκινητήρες τους οποίους θα παρουσιάσουμε σε επόμενο άρθρο.

Βηματικός κινητήρας (stepper motor)

Γενικά

Πρόκειται για έναν κινητήρα επαγωγής ο οποίος είναι σταδιακών βημάτων. Για να λειτουργήσει, χρειάζεται και ένα ηλεκτρονικό κύκλωμα το οποίο θα τροφοδοτεί τον κινητήρα με παλμούς. Κάθε παλμός και ένα βήμα (ή μισό βήμα, ανάλογα τη λειτουργία). Το χαρακτηριστικό του είναι ότι δεν κινείται ανεξέλεγκτα αλλά σε διακριτές θέσεις, και η μονάδα μέτρησης των θέσεων είναι τα βήματα. Η ποιότητά τους ως προς την ακρίβεια μετράται σε βήματα. 

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

Είδη βηματικών κινητήρων

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

  • Βηματικός κινητήρας μόνιμου μαγνήτη
  • Βηματικός κινητήρας μεταβλητής μαγνητικής αντίδρασης
  • Υβριδικός βηματικός κινητήρας

Εσωτερικό του βηματικού κινητήρα

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

Stepper motor εσωτερικά

Stepper Motor Εσωτερικά τυλίγματα

Που χρησιμοποιείται ο βηματικός κινητήρας;

Οι βηματικοί κινητήρες βρίσκουν εφαρμογή σε πολλούς τομείς όπως:

  • Ρομπότ
  • Μονάδες ανάγνωσης οπτικών δίσκων (CD - DVD)
  • CNC
  • Κάμερες (μηχανικό zoom)
  • Δορυφόροι
  • Διαστημικά οχήματα
  • Χρονοδιακόπτες
  • Ρολόγια
  • Συστήματα αυτόματης βαφής
  • Ρομποτικά συστήματα
  • Εκτυπωτές / Fax / Scanner (έλεγχος θέσης κεφαλής)

Λειτουργία 1/2 βήματος

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

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

Βήμα βηματικών κινητήρων

Τα πράσινα πλαίσια είναι τα ενεργοποιημένα. Για ένα πλήρες βήμα θα ενεργοποιήσουμε διαδοχικά τα Α(+,-) και Β(+,-). 

Το Κύκλωμα

Παρακάτω βλέπετε το κύκλωμα και τον τρόπο που πρέπει να το υλοποιήσετε. Ο πυκνωτής είναι 12V 47μF και είναι προαιρετικός. Η εξωτερική πηγή τροφοδοσίας εξαρτάται από τον κινητήρα που έχετε. Αν ο κινητήρας είναι 12V τότε θα χρειαστείτε μία εξωτερική τροφοδοσία 12V από μπαταρία ή τροφοδοτικό

Κύκλωμα βηματικός κινητήρας

Ελεγκτής (controller) A4988

Ο συγκεκριμένος ελεγκτής είναι ένας από τους τρόπους που μπορούμε να ελέγξουμε έναν βηματικό κινητήρα. Εναλλακτικά μπορούμε να χρησιμοποιήσουμε κάποιο shield για arduino ή κάποιον ειδικό controller αν π.χ. θέλουμε να φτιάξουμε έναν 3d printer ή ένα CNC.

Προσοχή! Μην συνδέετε / αποσυνδέετε το μοτέρ ενώ ο ελεγκτής A4988 είναι σε λειτουργία. Θα τον κάψετε. Είναι ευαίσθητος.

A4988 σύνδεση

Ο κώδικας

Θα υλοποιήσουμε με κώδικα ένα σενάριο το οποίο θα κάνει μία πλήρη περιστροφή δεξιόστροφα και στη συνέχεια μία πλήρη αριστερόστροφη περιστροφή με παύσεις του 1sec κάθε 45μοίρες.

// Συνδέσεις προς τον controller
const int dirPin = 2;  // Direction
const int stepPin = 3; // Step  
// Αριθμός βημάτων για μία πλήρη περιστροφή
const int STEPS_PER_REV = 200; 
void setup() { 
// Ορισμός των pin ως εξόδους
   pinMode(stepPin,OUTPUT); // Παλμός για βήμα
   pinMode(dirPin,OUTPUT);  // φορά περιστροφής
 }
void loop() {  
// Φορά περιστροφής δεξιόστροφη
   digitalWrite(dirPin,HIGH); // HIGH = Δεξιόστροφη, LOW = Αριστερόστροφη
// Περιστροφή μοτέρ. 1 πλήρης κύκλος δεξιόστροφα
   for(int x = 0; x < STEPS_PER_REV; x++) {
     digitalWrite(stepPin,HIGH); 
     delayMicroseconds(1000); 
     digitalWrite(stepPin,LOW); 
     delayMicroseconds(1000); 
   }    
// Παύση για ένα δευτερόλεπτο
   delay(1000);   
// Φορά περιστροφή αριστερόστροφα
   digitalWrite(dirPin,LOW);  
// Περιστροφή 45 μοίρες
   for(int y=0; y<8;y++) {
     for(int x = 0; x < (STEPS_PER_REV / 8); x++) {
       digitalWrite(stepPin,HIGH);
       delayMicroseconds(1000);
       digitalWrite(stepPin,LOW);
       delayMicroseconds(1000);
     }
     delay(1000);
   }  
} 

Σχετικά άρθρα

Συγκεντρωτικοί πίνακες και εισαγωγή τους στο Power query

Μορφοποίηση υπό όρους για κάθε σειρά του πίνακα

Εισαγωγή στο Powerquery. Τι ακριβώς είναι;

Πληροφορίες

Χατζηγεωργίου Γεώργιος

info[@]getcert.gr

6945531647