Google+ Ηλεκτρολόγος μηχανικός: To βηματικό μοτέρ (stepper motor). Έλεγχος με arduino και οδηγό (AM2170 driver). Παράδειγμα προγράμματος κίνησής του.
Προσοχή: Οι οδηγίες που δίνονται στο παρόν blog πρέπει να εφαρμόζονται από άτομα με εξουσιοδότηση από τον νόμο για την πραγματοποίηση ηλεκτρολογικών εργασιών καθώς και τις απαραίτητες γνώσεις. Μη τήρηση των κανόνων ασφαλείας ενδέχεται να εγκυμονεί κινδύνους για όσους πραγματοποιούν τις εργασίες, αλλά και για το κοινό.

To βηματικό μοτέρ (stepper motor). Έλεγχος με arduino και οδηγό (AM2170 driver). Παράδειγμα προγράμματος κίνησής του.

Ένας τύπος κινητήρα που χρησιμοποιείται για τον ακριβή έλεγχο της θέσης του άξονά του είναι ο βηματικός κινητήρας ή stepper motor.

Είναι μοτέρ που χρειάζεται συνεχές ρεύμα για την λειτουργία του, δεν έχει καρβουνάκια και η κατασκευή του είναι συμπαγή με αντοχή και οικονομική.
Τον βρίσκουμε συνήθως σε μικρές ισχύς και διαστάσεις, σε εκτυπωτές, scanner, ελεγκτές θέσης ηλεκτροβαλβίδων φρέζες CNC και αλλού.

Το όνομα του : " βηματικός " προέρχεται από τον τρόπο λειτουργίας του, δίνοντας συνεχή τάση χωρίς μεταβολή της κάνει ένα και μόνο μικρό βήμα συγκεκριμένης γωνίας. Σε αυτή την θέση μένει "κολλημένο". Δίνοντας μετά τροφοδοσία με άλλο συνδυασμό σύνδεσης ή πολικότητας ο άξονας κάνει άλλο ένα βήμα. Μετά από έναν συγκεκριμένο αριθμό βημάτων οι εντολές επαναλαμβάνονται. Ένα τυπικό νούμερο είναι 4 βήματα και 200 βήματα για μια πλήρεις περιστροφή.

Για τον έλεγχό του χρειάζεται κύκλωμα οδηγό που έχει τα απαραίτητα ηλεκτρονικά που χρειάζονται για την τροφοδοσία και σύνδεση των συνήθως δυο πηνίων του, που είναι στον στάτη, στο σταθερό τμήμα του μοτέρ.Το σταθερό τμήμα με τα πηνία μπορεί να είναι και στην μέση του μοτέρ, αυτό που συνήθως αποκαλούμε ρότορα, σε αυτή την περίπτωση γυρίζει το κέλυφος στο οποίο είναι συνδεδεμένος και ο άξονας.
 Συνήθως οι οδηγοί ελέγχου έχουν δυο ξεχωριστές πηγές τροφοδοσίας, μια για το λογικό τμήμα, συνήθως στα 5 volt dc και μια για την τροφοδοσία του μοτέρ, συνήθως από 12 μέχρι 50 volts dc. Το πρόγραμμα ελέγχου είναι συνήθως από μικροελεγκτή.



Στο video φαίνεται ένα βηματικό μοτέρ που ελέγχεται με arduino και με την dual full-bridge PWM motor driver AM2170 πλακέτα της AMtek.
Το μοτέρ και ο ελεγκτής ¨ξηλώθηκαν" από χαλασμένο εκτυπωτή.



stepper motor driver
Διάγραμμα του οδηγού του μοτέρ.



//_________________________________________________________________
// Πρόγραμμα ελέγχου κίνησης Stepper Motor.Το μοτέρ ήταν σε εκτυπωτή.
// Η πλακέτα ελέγχου είναι και αυτή από τον ίδιο εκτυπωτή και βασίζεται στον ΑΜ2170 της ΑΜtek.
// Από το serial monitor του περιβάλλοντος ελέγχου του arduino  δίνουμε την καθυστέρηση (σε msec) μεταξύ των 4 βημάτων.
// Αρνητική τιμή αλλάζει την κατεύθυνση.
// ______ http://greekelectrician.blogspot.gr/ ______

             
// Ορισμός pin του ΑΜ2170 που συνδέονται στο arduino uno
#define I01 5
#define I11 6
#define phase1 7
#define I02 8
#define I12 9
#define phase2 10

int xronos = 230; //msec... Αρχικός χρόνος όπως τα 230 volt της ΔΕΗ :-)
int xrono;
int peristrofi = 1;

void setup()
{
   Serial.begin(9600);

//  Ορισμοί εξόδων
    pinMode(I01, OUTPUT);
    pinMode(I11, OUTPUT);
    pinMode(I02, OUTPUT);
    pinMode(I12, OUTPUT);
    pinMode(phase1, OUTPUT);
    pinMode(phase2, OUTPUT);

//   Αρχικοποίηση για σταματημένο μοτέρ    
     digitalWrite(I01, HIGH);
     digitalWrite(I11, HIGH);
     digitalWrite(I02, HIGH);
     digitalWrite(I12, HIGH);
     digitalWrite(phase1, LOW);
     digitalWrite(phase2, LOW);

}

void loop()
{
    if (Serial.available() > 0)
    {
 
               xronos = Serial.parseInt();
             
               if (xronos > 0)
                    {
                     Serial.println(xronos);
                     peristrofi = 1;
                     }
               else
                  if (xronos == 0) // Δεν γυρνάει με χρόνο μηδέν το μοτέρ.
                    {
                     xronos = 1;
                     peristrofi = 1;
                     Serial.println(xronos);
                    }
               else
                   {
                    peristrofi = -1;
                    Serial.println(xronos);
                   }                      
    }
 
    if (peristrofi==1)
    {
//Τα 4 βήματα της μιάς κατεύθυνσης
  digitalWrite(I01,LOW);
  digitalWrite(I02,HIGH);
  digitalWrite(phase1,HIGH);
  digitalWrite(phase2,LOW);
  delay(xronos);

  digitalWrite(I01,HIGH);
  digitalWrite(I02,LOW);
  delay(xronos);

  digitalWrite(I01,LOW);
  digitalWrite(I02,HIGH);
  digitalWrite(phase1,LOW);
  digitalWrite(phase2,HIGH);
  delay(xronos);

  digitalWrite(I01,HIGH);
  digitalWrite(I02,LOW);
  delay(xronos);
    }
    else
    {
    xrono=abs(xronos);
 
//  Τα 4 βήματα της άλλης κατεύθυνσης
    digitalWrite(I01,HIGH);
    digitalWrite(I02,LOW);
    digitalWrite(phase1,LOW);
    digitalWrite(phase2,HIGH);
    delay(xrono);

    digitalWrite(I01,LOW);
    digitalWrite(I02,HIGH);
    delay(xrono);

    digitalWrite(I01,HIGH);
    digitalWrite(I02,LOW);
    digitalWrite(phase1,HIGH);
    digitalWrite(phase2,LOW);
    delay(xrono);

    digitalWrite(I01,LOW);
    digitalWrite(I02,HIGH);
    delay(xrono);
    }
 
}

12 σχόλια:

  1. Συγχαρητήρια για την δουλειά σου.
    Μπορεί να γίνει κάτι αντίστοιχο με PLC και χωρίς πλακέτα;

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Για έλεγχο απ ευθείας από plc πρέπει να χρησιμοποιηθούν 8 έξοδοι με τρανζίστορ για να ελέγξουν ένα και μόνο stepper motor σαν αυτό του post (bipolar stepper motor).
      Δεν αξίζει, δεν χρησιμοποιείται.

      Διαγραφή
    2. ευχαριστώ για την απάντηση.

      Διαγραφή
  2. Amazing blog you have here, i'm sure this can attract lots of readers over the net for the cool write up. Keep it up.

    electricians auckland

    ΑπάντησηΔιαγραφή
  3. Really a wonderful post! I like it very much. Here I find everything in details. I hope I will see this type of post again in your blog.

    Electricians in Newcastle

    ΑπάντησηΔιαγραφή
  4. have read many blogs in the net but have never come across such a well written blog. Good work keep it up
    electrician supplies australia

    ΑπάντησηΔιαγραφή
  5. Valuable site, where did u come up with the information in this posting? I am pleased I discovered it though, ill be checking back soon to find out what new content pieces u have.
    Led panel

    ΑπάντησηΔιαγραφή
  6. This is a brilliant writing and very pleased to find this site. I couldn’t discover to much different information on your blog. I will surely be back again to look at some other important posts that you have in future.
    residential electrician sydney

    ΑπάντησηΔιαγραφή
  7. I really appreciate your work and very amazing and important information about the commercial electrician which have share in this blog.
    commercial electrician

    ΑπάντησηΔιαγραφή
  8. Your post is awesome. You have shared very valuable information to us. Thank you so much for sharing this.


    electrician in santa monica

    ΑπάντησηΔιαγραφή

Διαβάζω όλα τα σχόλια