Αξιολόγηση Χρήστη: 5 / 5

Αστέρια ΕνεργάΑστέρια ΕνεργάΑστέρια ΕνεργάΑστέρια ΕνεργάΑστέρια Ενεργά
 

Υπό ανάπτυξη

l298n

Περίληψη

Στο παρακάτω άρθρο θα σας δείξω πως να χειριστείτε να τεστάρετε ενα βηματικό κινητήρα. Δεν θα χρειαστεί να φτιάξουμε κάποια πολύπλοκη συσκευή ή να αγοράσουμε κάποιο πανάκριβο τέστερ. Το μόνο που χρειάζεται είναι ένα arduino board και μια μικρη πλακέτα με το ολοκληρωμένο L298N που οδηγεί τόσο κινητήρες συνεχούς ρεύματος όσο και βηματικούς κινητήρες. Τέλος θα χρειαστεί και ένα τροφοδοτικό για να δώσει το απαραίτητο ρεύμα στο βηματικό κινητήρα.

Hardware                                           

Απαραίτητα Υλικά

  • Arduino uno board
  • L298Ν motor driver
  • step motor
  • τροφοδοτικό

Συνδεσμολογίες - Σχέδια

Arduino Stepper L298N 01

Βήματα υλοποίησης

Βήμα 1:

Pinout

    OUT1  βηματικό μοτέρ A+
    OUT2  μοτέρ βηματικής λειτουργίας A-
    12V jumper - αφαιρέστε το αν χρησιμοποιείτε τάση τροφοδοσίας μεγαλύτερη από 12V DC. Όταν ο βραχυκυκλωτήρας είναι στη θέση του, ο ρυθμιστής τάσης είναι ενεργός (που σημαίνει 12V μέγιστο σε αυτήν την είσοδο).
    Συνδέστε την τάση τροφοδοσίας του κινητήρα στην  κλέμα +12, η οποία μπορεί να φτάσει από 6 βολτ μέχρι μέγιστη στα 35V DC. Αφαιρέστε το βραχυκυκλωτήρα 12V εάν η τάση ειναι μεγαλύτερη των 12V DC
    GND την γείωση του τροφοδοτικού
    παράγεται 5V τάση όταν ο βραχυκυκλωτήρας 12V  είναι στη θέση του. Αυτό είναι ιδανικό για την τροφοδότηση του Arduino σας.
    ΕΝΑ βραχυκυκλωτήρας.  Αφήστε το στη θέση του όταν χρησιμοποιείτε ένα βηματικό μοτέρ.
    ΙΝ1
    IN2
    IN3
    IN4
    ΕΝΒ βραχυκυκλωτήρας. Αφήστε το στη θέση του όταν χρησιμοποιείτε ένα βηματικό μοτέρ.
    OUT3  βηματικός κινητήρας B+
    OUT4  βηματικός κινητήρας B-

Συνδέστε την πλακέτα οδηγού βηματικού L298N σε τροφοδοσία ισχύος 9V ... 12V χρησιμοποιώντας τον ακροδέκτη (+ 12V) και (GND). Αφήστε το jumper στη θέση του. Τώρα μπορείτε να χρησιμοποιήσετε τον ακροδέκτη + 5V στο  (και τον πείρο GND) για να τροφοδοτήσετε το Arduino. Αν αφαιρέσετε το βραχυκυκλωτήρα, ο ρυθμιστής τάσης θα είναι απενεργοποιημένος και ο + 5V ακροδέκτης στο δεν είναι πλέον ενεργός.

Βήμα 2:




Software

Βήματα υλοποίησης

Βήμα 1:

Ανοίγουμε την εφαρμογή του sketch και φορτώνουμε μια κάθε φορά εφαρμογή

/*
 Stepper Motor έλεγχος - μία περιστροφή

 Αυτό το πρόγραμμα οδηγεί unipolar or bipolar βηματικό κινητήρα.
 The motor είναι συνδεμένο στα ψηφιακές ακίδες 8 - 11 του Arduino.

 Tο μοτέρ θα περιστραφεί μια φορά προς μια κατεύθυνση, και μετά μια περιστροφή στην αντίθετη κατεύθυνση.
 */

#include <Stepper.h>

const int stepsPerRevolution = 200;  // σύνηθες βήματα για μια περιστροφή όταν έχουμε βημα 1.8 μοίρες 360/1.8=200

// αρχικοποίηση της βιβλιοθήκης για τα χρησιμοποιούμενες ακίδες 8 ως 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
  // ορισμός ταχύτητας περιστροφής στα 60 rpm:
  myStepper.setSpeed(60);
  // αρχικοποίηση serial θύρας:
  Serial.begin(9600);
}

void loop() {
  // περιστροφή ένα βήμα στη μια κατεύθυνση:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);

  // περιστροφή ένα βήμα στην άλλη κατεύθυνση: 
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}

Βήμα 2:

/*
 έλεγχος βηματικού - ένα βήμα τη φορά

 Tο motor θα κάνει ένα βήμα αλλά πολύ αργά και προς μια κατεύθυνση.

 Χρησιμοποιήστε το για να βρείτε τα βήματα του κινητήρα σας,
 εάν δεν τα γνωρίζετε.
 */

#include <Stepper.h>

const int stepsPerRevolution = 200;  // σύνηθες βήματα για μια περιστροφή όταν έχουμε βημα 1.8 μοίρες 360/1.8=200

// αρχικοποίηση της βιβλιοθήκης για τα χρησιμοποιούμενες ακίδες 8 ως 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

int stepCount = 0;         // αριθμός βημάτων που θα παίρνει ο κινητήρας

void setup() {
  // αρχικοποίηση της serial θύρας:
  Serial.begin(9600);
}

void loop() {
  // κίνηση βήμα βήμα:
  myStepper.step(1);
  Serial.print("steps:");
  Serial.println(stepCount);
  stepCount++;
  delay(500);
}


Βήμα 3:

 

/*
 Έλεγχος ταχύτητας βηματικού κινητήρα

 Ένα ποτενσιόμετρο θα συνδεθεί στην αναλογική είσοδο Α0.

 Το μοτέρ γυρνάει δεξιόστροφα. Η μεγαλύτερη τιμή από το ποτενσιόμετρο,
 θα επιφέρει την μεγαλύτερη ταχύτητα. Διότι η setSpeed() θέτει καθυστέρηση μεταξύ των βημάτων,
 να σημειωθεί το μοτέρ είναι λιγότερο ανταποκρίσιμο στις μεταβολές με χαμηλή ταχύτητα όταν το ποτενσιόμετρο έχει μικρές τιμές.
 */

#include <Stepper.h>

const int stepsPerRevolution = 200;  // σύνηθες βήματα για μια περιστροφή όταν έχουμε βημα 1.8 μοίρες 360/1.8=200

// Αρχικοποίηση library στις ακίδες 8 ως 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

int stepCount = 0;  // αριθμός βημάτων 

void setup() {
  // καμία αλλαγή ή ρύθμιση σε αυτό το Void
}

void loop() {
  // Διαβάζουμε την τιμή από το ποτενσιόμετρο:
  int sensorReading = analogRead(A0);
  // Αντιστοιχίζουμε στην περιοχή από 0 εως 100 την τιμή του ποτενσιομέτρου:
  int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
  // θέτουμε την ταχύτητα:
  if (motorSpeed > 0) {
    myStepper.setSpeed(motorSpeed);
    // βήμα 1/100 μιας περιστροφής:
    myStepper.step(stepsPerRevolution / 100);
  }
}



Αποτέλεσμα

.............................................................

.............................................................

Συμπεράσματα - Βελτιώσεις

................................................................

................................................................

Συχνές Ερωτήσεις

.................................................................

..................................................................

   

Προσθήκη νέου σχολίου


Κωδικός ασφαλείας
Ανανέωση