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

Ποια είναι η λειτουργία των βηματικών κινητήρων

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

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

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

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

Πηγή: noesis.edu.gr

Οι δυνάμεις που ασκούνται στην περιέλιξη, σπρώχνουν τη μια πλευρά της προς τα πάνω και την άλλη προς τα κάτω, με αποτέλεσμα αυτή να περιστρέφεται. Γι’ αυτό και το σύρμα λέγεται “ρότορας”, ενώ ο ηλεκτρομαγνήτης “στάτορας”.

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

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

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

Γενικά

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

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

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

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

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

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

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

2 τυλίγματα σε σειρά που λειτουργούν ως + και – πόλοι
Η γωνία ενός βήματος εξαρτάται από το πόσα τυλίγματα υπάρχουν.

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

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

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

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

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

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

Διαδοχή φάσεων

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

Για ένα μισό βήμα, ενεργοποιούμε διαδοχικά το +Α, +Α+Β, +Β, +Β-Α, -Α,-Α-Β, -Β,-Β+Α

Το Κύκλωμα

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

Βασικό κύκλωμα ελέγχου βηματικού κινητήρα.

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

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

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

Ο ελεγκτής Α4988

Ο κώδικας

Θα υλοποιήσουμε με κώδικα ένα σενάριο το οποίο θα κάνει μία πλήρη περιστροφή δεξιόστροφα και στη συνέχεια μία πλήρη αριστερόστροφη περιστροφή με παύσεις του 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);
}
}

Βίντεο

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

13 Αυγούστου, 2019

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

  1. Μια διόρθωση στο κώδικα. το Υ<=8 πρεπει να αλλαξει σε Υ<8. Αν το αφησεις <=8 το μοτερ κανει μια πληρη περιστροφη αναποδα συν μια επιπλεον κινηση 45 μοιρων.

  2. Γεια σας, Θα ήθελα να ρωτήσω αν υπάρχουν περισσότερες πληροφορίες για τις μονάδες μέτρησης των βηματικών μοτέρ κάπου. Κάθε βηματικό μοτέρ έχει από τον κατασκευαστή κάποιες τιμές αλλά δεν μπορώ να τις κατανοήσω πλήρως..
    Αναπτύσσω ένα project και προσπαθώ να το φτιάξω πρώτα σε μικρή κλίμακα χρησιμοποιώντας 3d εκτυπωτή, κυκλώματα arduino και μικρά 12βολτα βηματικά μοτέρ… Κατάφερα να κατανοήσω και να εφαρμόσω τους διάφορες κώδικες και κυκλώματα αλλά αυτό που θέλω να κατασκευάσω δεν ξέρω αν μπορώ τελικά να το κάνω με βηματικά μοτέρ μεγαλύτερης κλίμακας φυσικά. Δεν έχω βρει αρκετές πληροφορίες για το πόσο γρήγορα μπορούν να περιστραφούν ή πόση δύναμη έχουν και αν τα σταματήσουμε βίαια πως μπορούμε να τα ελέγξουμε. Πως μπορούμε να διαβάσουμε ότι το μοτέρ σταμάτησε και να εφαρμόσουμε πχ. μία κατάσταση φρένου με την μέγιστη δύναμη του μοτέρ. Αν η δύναμη που θα ασκήσουμε είναι μεγαλύτερη τότε αυτό θα περιστραφεί ανάποδα με κάποια αντίσταση (πχ το σπρώχνουμε με το χέρι) θα μπορούμε να το διαβάσουμε αυτό και να ξέρουμε σε ποια θέση βρίσκεται;
    Θα ήθελα μερικές πληροφορίες ή λινκ για το που μπορώ να τις βρω (έχω ψάξει αρκετά)
    Παράδειγμα:
    Έστω ότι η κατασκευή μου περιστρέφει μία φορά ένα βηματικό μοτέρ αριστερόστροφα και μία δεξιόστροφα και είναι ενσωματωμένος ένας κάθετος άξονας στο μοτέρ… Στη μισή στροφή το σταματάμε με το χέρι. Πως μπορώ να το αντιληφθώ αυτό και με ποιον τρόπο μπορώ να φρενάρω με τις μέγιστες δυνάμεις το μοτέρ… Και να το κάνω θα μπορώ να ξέρω αν οι δυνάμεις του χεριού είναι μεγαλύτερες και περιστραφεί προς κάποια κατεύθυνση τα βήματα περιστροφής; Η τελικά μόνο με έξτρα αισθητήρες θα μπορεί να γίνει αυτό; Στο lego μπορούμε να διαβάσουμε τις μοίρες που περιστρέφεται το μοτέρ όταν το περιστρέφουμε με το χέρι… Μπορεί και τις διαβάζει και μας δίνει τιμές. Αυτό μπορούμε να το κάνουμε; Ευχαριστώ για την όποια απάντηση…

    • Καλησπέρα,
      Οι βηματικοί κινητήρες έχουν ως χαρακτηριστική μονάδα μέτρησης τα βήματα (100,200,400). Ο αριθμός αυτός αντιπροσωπεύει τον αριθμό βημάτων που χρειάζεται ένα μοτέρ για να κάνει έναν πλήρη κύκλο 360 μοίρες.
      Ένας κινητήρας 200 βημάτων έχει 1,8 μοίρες ανά βήμα. (ο κάθε κατασκευαστής δίνει οδηγίες κατά την αγορά του μοτέρ)
      Η ταχύτητα περιστροφής εξαρτάται από την συχνότητα του παλμού κίνησης και από το αν λειτουργούμε τον κινητήρα σε full ή half step. ένας κινητήρας 200 βημάτων με 1 παλμό το δευτερόλεπτο θα κάνει 200 δευτερόλεπτα να περιστραφεί, ενώ με 200 παλμούς το δευτερόλεπτο θα κάνει ένα δευτερόλεπτο για έναν πλήρη κύκλο.
      Όσο για το ερώτημα πως καταλαβαίνουμε σε ποιες μοίρες σταμάτησε ο βηματικός κινητήρας, αυτό για να το πετύχουμε χρειαζόμαστε έναν encoder ο οποίος θα διαβάζει την θέση. Για το βίαιο σταμάτημα υπάρχουν διατάξεις που εντοπίζουν την αύξηση του ρεύματος (αυτό συμβαίνει όταν σταματάμε ένα μοτέρ βίαια) και άρα την επέμβαση στην περιστροφή ενός μοτέρ.

Αφήστε ένα σχόλιο

Η ηλ. διεύθυνση σας δεν δημοσιεύεται.

Σχεδιασμός © GetCert. Με επιφύλαξη παντός δικαιώματος.