SKU: OT2099-B41 Αριθμός είδους: AA034 EAN: 8720589817425
Με αυτήν την L298N Motor Driver Board μπορείτε εύκολα να ελέγχετε DC κινητήρες και βηματικούς κινητήρες με, για παράδειγμα, ένα Arduino, ESP32, Raspberry Pi, microcontroller ή άλλο ψηφιακό σύστημα ελέγχου.
Η μονάδα βασίζεται στο γνωστό L298N Dual H-Bridge motordriver. Χάρη στις δύο ενσωματωμένες H-γέφυρες μπορείτε να ελέγχετε ανεξάρτητα δύο απλούς brushed DC κινητήρες, συμπεριλαμβανομένης της φοράς περιστροφής και της ρύθμισης ταχύτητας. Επιπλέον, η μονάδα μπορεί να χρησιμοποιηθεί για τον έλεγχο ενός διπολικού βηματικού κινητήρα.
Η τροφοδοσία του κινητήρα μπορεί, σύμφωνα με τις προδιαγραφές αυτής της μονάδας, να κυμαίνεται μεταξύ 5 και 35 V DC. Η λογική λειτουργεί στα 5 V. Το L298N υποστηρίζει ρεύμα έως 2 A ανά κανάλι υπό κατάλληλες συνθήκες, ενώ η καλή ψύξη είναι σημαντική σε υψηλότερα φορτία.
Το L298N δεν προορίζεται μόνο για βηματικούς κινητήρες. Η πλακέτα είναι πολύ κατάλληλη για τον έλεγχο συνηθισμένων brushed DC κινητήρων.
Με μία μονάδα μπορούν να ελεγχθούν ξεχωριστά έως δύο DC κινητήρες:
Μέσω των ψηφιακών εισόδων μπορείτε να καθορίσετε τη φορά περιστροφής κάθε κινητήρα. Μέσω των συνδέσεων ENA και ENB μπορεί επίσης να δοθεί σήμα PWM για τη ρύθμιση των στροφών των κινητήρων.
Έτσι είναι δυνατές, μεταξύ άλλων, οι ακόλουθες λειτουργίες:
Αυτό καθιστά τη μονάδα κατάλληλη, μεταξύ άλλων, για ρομποτικά αυτοκίνητα, οχήματα, μικρά μηχανήματα, ενεργοποιητές, ανεμιστήρες και άλλα έργα με DC κινητήρες.
Οι δύο H-γέφυρες μπορούν επίσης να χρησιμοποιηθούν μαζί για τον έλεγχο ενός διπολικού βηματικού κινητήρα. Οι τέσσερις έξοδοι κινητήρα OUT1 έως OUT4 συνδέονται τότε στα δύο πηνία του βηματικού κινητήρα.
Η σειρά με την οποία ενεργοποιούνται τα IN1 έως IN4 καθορίζει στη συνέχεια τη φορά περιστροφής και το μοτίβο βημάτων.
Για DC κινητήρες η ταχύτητα μπορεί να ρυθμιστεί μέσω PWM (Pulse Width Modulation).
Για αυτό αφαιρούνται οι jumpers των ENA και/ή ENB και αυτές οι συνδέσεις συνδέονται με μια έξοδο PWM του microcontroller.
Όταν ο αντίστοιχος jumper παραμένει τοποθετημένος, το κανάλι παραμένει συνεχώς ενεργοποιημένο και ο κινητήρας μπορεί να ελέγχεται μέσω των IN pins χωρίς ξεχωριστό σήμα PWM.
Motorvoeding / VS
Σύνδεση για την τάση τροφοδοσίας των κινητήρων.
GND
Κοινή γείωση για τροφοδοσία και έλεγχο. Το GND του microcontroller και του motordriver πρέπει να συνδεθούν μεταξύ τους.
5V
Σύνδεση 5V για τη λογική της μονάδας. Ανάλογα με τη διαμόρφωση του ρυθμιστή 5V και του jumper, αυτή η σύνδεση μπορεί να λειτουργεί ως είσοδος ή έξοδος τροφοδοσίας.
OUT1 / OUT2
Έξοδος της H-γέφυρας A. Εδώ συνδέεται ο DC κινητήρας A.
IN1 / IN2
Ψηφιακές είσοδοι ελέγχου με τις οποίες καθορίζεται η φορά περιστροφής του κινητήρα A.
ENA
Είσοδος enable του κινητήρα A. Μπορεί επίσης να χρησιμοποιηθεί για ρύθμιση ταχύτητας PWM.
OUT3 / OUT4
Έξοδος της H-γέφυρας B. Εδώ συνδέεται ο DC κινητήρας B.
IN3 / IN4
Ψηφιακές είσοδοι ελέγχου με τις οποίες καθορίζεται η φορά περιστροφής του κινητήρα B.
ENB
Είσοδος enable του κινητήρα B. Μπορεί επίσης να χρησιμοποιηθεί για ρύθμιση ταχύτητας PWM.
| ENA | IN1 | IN2 | Λειτουργία |
|---|---|---|---|
| HIGH | HIGH | LOW | Φορά περιστροφής 1 |
| HIGH | LOW | HIGH | Φορά περιστροφής 2 |
| HIGH | LOW | LOW | Σταμάτημα/φρένο |
| HIGH | HIGH | HIGH | Σταμάτημα/φρένο |
| LOW | X | X | Έξοδος απενεργοποιημένη |
Η πραγματική φορά περιστροφής εξαρτάται από τον τρόπο με τον οποίο τα δύο καλώδια του κινητήρα είναι συνδεδεμένα στα OUT1 και OUT2.
Για τον κινητήρα B ο έλεγχος λειτουργεί με τον ίδιο τρόπο μέσω των IN3, IN4 και ENB.
Το χρησιμοποιούμενο L298N είναι ένας dual full-bridge driver που έχει σχεδιαστεί ειδικά για τη μεταγωγή επαγωγικών φορτίων όπως DC κινητήρες, βηματικοί κινητήρες, ρελέ και solenoïdes. Το ίδιο το L298 υποστηρίζει, σύμφωνα με τον κατασκευαστή, τάση τροφοδοσίας κινητήρα έως 46 V και διαθέτει, μεταξύ άλλων, θερμική προστασία.
Σε αυτήν την ολοκληρωμένη μονάδα διατηρείται τάση τροφοδοσίας κινητήρα από 5 έως 35 V DC.
Το αναφερόμενο μέγιστο ρεύμα των 2 A πρέπει να θεωρείται ως μέγιστη τιμή του driver. Σε υψηλότερα συνεχή ρεύματα κινητήρα δημιουργείται σημαντική απώλεια θερμότητας στο L298N. Το πρακτικά αξιοποιήσιμο συνεχές ρεύμα εξαρτάται επομένως από, μεταξύ άλλων, την τάση τροφοδοσίας, την ψύξη, τη θερμοκρασία περιβάλλοντος και το φορτίο.
Ελέγξτε επίσης όχι μόνο το ονομαστικό ρεύμα ενός DC κινητήρα, αλλά και το ρεύμα εκκίνησης και το ρεύμα μπλοκαρίσματος (stall current). Αυτό μπορεί να είναι πολλαπλάσιο από το ρεύμα κατά τη φυσιολογική λειτουργία.
Το L298N χρησιμοποιεί διπολικά τρανζίστορ εξόδου και επομένως έχει μεγαλύτερη πτώση τάσης από τους σύγχρονους MOSFET motordrivers. Η τάση που φτάνει πραγματικά στον κινητήρα είναι επομένως χαμηλότερη από την παρεχόμενη τάση τροφοδοσίας.
Αυτό είναι ιδιαίτερα σημαντικό για κινητήρες χαμηλής τάσης. Για εφαρμογές όπου είναι σημαντική η πολύ υψηλή απόδοση ή η πολύ μικρή πτώση τάσης, ένας σύγχρονος MOSFET driver μπορεί να είναι καλύτερη επιλογή.
Η L298N Motor Driver Board είναι μια ευέλικτη διπλή H-γέφυρα για τον έλεγχο τόσο συνηθισμένων DC κινητήρων όσο και βηματικών κινητήρων. Με μία μονάδα μπορούν να ελεγχθούν δύο DC κινητήρες ανεξάρτητα προς τα εμπρός και προς τα πίσω και η ταχύτητα μπορεί να ρυθμιστεί μέσω PWM. Εναλλακτικά, και οι δύο H-γέφυρες μπορούν να χρησιμοποιηθούν μαζί για έναν διπολικό βηματικό κινητήρα.
Χάρη στον απλό ψηφιακό έλεγχο, αυτή η μονάδα είναι πολύ κατάλληλη για χρήση με Arduino, ESP32 και άλλους microcontrollers.
Έτσι συνδέεις το Πλακέτα Οδήγησης Κινητήρα L298N κόκκινη σε ένα Arduino UNO ή ESP32, με ένα παράδειγμα sketch που μπορείς να ανεβάσεις αμέσως.
Αυτό το παράδειγμα δείχνει πώς να ελέγχετε DC μοτέρ χρησιμοποιώντας μια πλακέτα driver μοτέρ L298N. Το Arduino ορίζει την κατεύθυνση περιστροφής του μοτέρ μέσω ψηφιακών pins λογικής και ρυθμίζει την ταχύτητα του μοτέρ με PWM στο pin enable. Το πρόγραμμα κινεί τα μοτέρ προς τα εμπρός, τα σταματά και στη συνέχεια τα κινεί προς την αντίθετη κατεύθυνση.
/*
* ==================================================================
* Generated by Codey.online — https://www.codey.online
* ==================================================================
* Project : L298N Motor Driver Control with Arduino Uno
* Board : Arduino UNO (arduino:avr:uno)
* Parts : L298N Motor Driver Board
* Libraries : none (built-in)
*
* Codey Online is an AI-powered browser IDE for Arduino and ESP32.
* Describe your project and Codey writes the code, draws the wiring
* diagram and uploads it to your board, straight from the browser.
* This code is free to use, modify and share, without warranty.
* ==================================================================
*/
// L298N Motor Driver Control Demo
const int ENA_PIN = 5; // PWM speed control
const int IN1_PIN = 8; // Motor A direction 1
const int IN2_PIN = 9; // Motor A direction 2
const int IN3_PIN = 10; // Motor B direction 1
const int IN4_PIN = 11; // Motor B direction 2
void stopMotors() {
digitalWrite(IN1_PIN, LOW);
digitalWrite(IN2_PIN, LOW);
digitalWrite(IN3_PIN, LOW);
digitalWrite(IN4_PIN, LOW);
analogWrite(ENA_PIN, 0);
}
void driveForward(int speedVal) {
digitalWrite(IN1_PIN, HIGH);
digitalWrite(IN2_PIN, LOW);
digitalWrite(IN3_PIN, HIGH);
digitalWrite(IN4_PIN, LOW);
analogWrite(ENA_PIN, speedVal);
}
void driveReverse(int speedVal) {
digitalWrite(IN1_PIN, LOW);
digitalWrite(IN2_PIN, HIGH);
digitalWrite(IN3_PIN, LOW);
digitalWrite(IN4_PIN, HIGH);
analogWrite(ENA_PIN, speedVal);
}
void setup() {
Serial.begin(115200);
pinMode(ENA_PIN, OUTPUT);
pinMode(IN1_PIN, OUTPUT);
pinMode(IN2_PIN, OUTPUT);
pinMode(IN3_PIN, OUTPUT);
pinMode(IN4_PIN, OUTPUT);
stopMotors();
Serial.println(F("L298N Motor Driver initialized."));
}
void loop() {
Serial.println(F("Driving forward"));
driveForward(200);
delay(2000);
Serial.println(F("Stopping"));
stopMotors();
delay(1000);
Serial.println(F("Driving reverse"));
driveReverse(200);
delay(2000);
Serial.println(F("Stopping"));
stopMotors();
delay(1000);
}
Wiring diagram and example code generated by Codey.online — https://www.codey.online
Αυτό το έργο ελέγχει δύο DC μοτέρ χρησιμοποιώντας ένα ESP32 και έναν driver γέφυρας H L298N. Το sketch περιστρέφει και τα δύο μοτέρ προς τα εμπρός, τα σταματά, τα κινεί προς τα πίσω και δείχνει τον έλεγχο ταχύτητας PWM. Συνδέστε εξωτερική τροφοδοσία στον ακροδέκτη 12V του L298N για να παρέχετε αρκετό ρεύμα για μεγαλύτερα μοτέρ.
/*
* ==================================================================
* Generated by Codey.online — https://www.codey.online
* ==================================================================
* Project : ESP32 Dual DC Motor Control with L298N
* Board : ESP32 DEVKIT V1 (esp32:esp32:esp32doit-devkit-v1)
* Parts : L298N Motor Driver Board
* Libraries : none (built-in)
*
* Codey Online is an AI-powered browser IDE for Arduino and ESP32.
* Describe your project and Codey writes the code, draws the wiring
* diagram and uploads it to your board, straight from the browser.
* This code is free to use, modify and share, without warranty.
* ==================================================================
*/
const int ENA_PIN = 14;
const int IN1_PIN = 27;
const int IN2_PIN = 26;
const int IN3_PIN = 25;
const int IN4_PIN = 33;
const int ENB_PIN = 32;
void setMotors(int speedA, int dirA, int speedB, int dirB) {
// Motor A direction
if (dirA > 0) {
digitalWrite(IN1_PIN, HIGH);
digitalWrite(IN2_PIN, LOW);
} else if (dirA < 0) {
digitalWrite(IN1_PIN, LOW);
digitalWrite(IN2_PIN, HIGH);
} else {
digitalWrite(IN1_PIN, LOW);
digitalWrite(IN2_PIN, LOW);
}
analogWrite(ENA_PIN, speedA);
// Motor B direction
if (dirB > 0) {
digitalWrite(IN3_PIN, HIGH);
digitalWrite(IN4_PIN, LOW);
} else if (dirB < 0) {
digitalWrite(IN3_PIN, LOW);
digitalWrite(IN4_PIN, HIGH);
} else {
digitalWrite(IN3_PIN, LOW);
digitalWrite(IN4_PIN, LOW);
}
analogWrite(ENB_PIN, speedB);
}
void setup() {
Serial.begin(115200);
pinMode(ENA_PIN, OUTPUT);
pinMode(IN1_PIN, OUTPUT);
pinMode(IN2_PIN, OUTPUT);
pinMode(IN3_PIN, OUTPUT);
pinMode(IN4_PIN, OUTPUT);
pinMode(ENB_PIN, OUTPUT);
Serial.println("L298N Motor Driver Initialized");
}
void loop() {
// Drive forward
Serial.println("Moving Forward");
setMotors(200, 1, 200, 1);
delay(2000);
// Stop
Serial.println("Stopping");
setMotors(0, 0, 0, 0);
delay(1000);
// Drive backward
Serial.println("Moving Backward");
setMotors(200, -1, 200, -1);
delay(2000);
// Stop
Serial.println("Stopping");
setMotors(0, 0, 0, 0);
delay(1000);
// Speed ramp up
Serial.println("Ramping Speed Forward");
for (int spd = 0; spd <= 255; spd += 15) {
setMotors(spd, 1, spd, 1);
delay(100);
}
delay(500);
setMotors(0, 0, 0, 0);
delay(1500);
}
Wiring diagram and example code generated by Codey.online — https://www.codey.online