SKU: OT2099-B41 Numer artykułu: AA034 EAN: 8720589817425
Dzięki tej płytce sterownika silnika L298N możesz łatwo sterować silnikami DC i krokowymi za pomocą na przykład Arduino, ESP32, Raspberry Pi, mikrokontrolera lub innego cyfrowego systemu sterowania.
Moduł jest zbudowany wokół znanego układu L298N Dual H-Bridge. Dzięki dwóm zintegrowanym mostkom H możesz niezależnie sterować dwoma zwykłymi szczotkowymi silnikami DC, w tym kierunkiem obrotów i regulacją prędkości. Dodatkowo moduł może być używany do sterowania jednym bipolarnym silnikiem krokowym.
Zasilanie silników zgodnie ze specyfikacją tego modułu może wynosić od 5 do 35 V DC. Logika działa przy 5 V. L298N obsługuje prąd do 2 A na kanał w odpowiednich warunkach, przy czym przy większych obciążeniach ważne jest dobre chłodzenie.
L298N nie jest przeznaczony wyłącznie do silników krokowych. Płytka doskonale nadaje się do sterowania zwykłymi szczotkowymi silnikami DC.
Jednym modułem można niezależnie sterować maksymalnie dwoma silnikami DC:
Za pomocą wejść cyfrowych możesz określić kierunek obrotów każdego silnika. Przez złącza ENA i ENB można również podać sygnał PWM, aby regulować prędkość obrotową silników.
Dzięki temu możliwe są między innymi następujące funkcje:
To sprawia, że moduł nadaje się między innymi do robotów samochodowych, pojazdów, małych maszyn, siłowników, wentylatorów i innych projektów z silnikami DC.
Oba mostki H mogą być również używane razem do sterowania bipolarnym silnikiem krokowym. Cztery wyjścia silnikowe OUT1 t/m OUT4 są w tym celu podłączane do dwóch cewek silnika krokowego.
Kolejność, w jakiej sterowane są IN1 t/m IN4, określa następnie kierunek obrotów i wzór kroków.
W przypadku silników DC prędkość obrotową można regulować za pomocą PWM (Pulse Width Modulation).
W tym celu należy usunąć zworki ENA i/lub ENB, a następnie połączyć te złącza z wyjściem PWM mikrokontrolera.
Jeśli odpowiednia zworka pozostanie na miejscu, kanał jest stale włączony i silnik może być sterowany przez piny IN bez osobnego sygnału PWM.
Zasilanie silników / VS
Złącze dla napięcia zasilającego silniki.
GND
Wspólna masa dla zasilania i sterowania. GND mikrokontrolera i sterownika silnika muszą być ze sobą połączone.
5V
Złącze 5V dla logiki modułu. W zależności od konfiguracji regulatora 5V i zworki to złącze może działać jako wejście lub wyjście zasilania.
OUT1 / OUT2
Wyjście mostka H A. Podłącza się tutaj silnik DC A.
IN1 / IN2
Cyfrowe wejścia sterujące, za pomocą których określany jest kierunek obrotów silnika A.
ENA
Wejście enable silnika A. Może być również używane do regulacji prędkości PWM.
OUT3 / OUT4
Wyjście mostka H B. Podłącza się tutaj silnik DC B.
IN3 / IN4
Cyfrowe wejścia sterujące, za pomocą których określany jest kierunek obrotów silnika B.
ENB
Wejście enable silnika B. Może być również używane do regulacji prędkości PWM.
| ENA | IN1 | IN2 | Funkcja |
|---|---|---|---|
| HIGH | HIGH | LOW | Kierunek obrotów 1 |
| HIGH | LOW | HIGH | Kierunek obrotów 2 |
| HIGH | LOW | LOW | Stop/hamowanie |
| HIGH | HIGH | HIGH | Stop/hamowanie |
| LOW | X | X | Wyjście wyłączone |
Rzeczywisty kierunek obrotów zależy od sposobu podłączenia dwóch przewodów silnika do OUT1 i OUT2.
W przypadku silnika B sterowanie działa w ten sam sposób przez IN3, IN4 i ENB.
Użyty L298N to dual full-bridge driver, zaprojektowany specjalnie do przełączania obciążeń indukcyjnych, takich jak silniki DC, silniki krokowe, przekaźniki i solenoidy. Sam L298 zgodnie z producentem obsługuje napięcie zasilania silnika do 46 V i posiada między innymi zabezpieczenie termiczne.
W tej kompletnej module przyjęto napięcie zasilania silnika od 5 do 35 V DC.
Podany maksymalny prąd 2 A należy traktować jako maksymalną wartość sterownika. Przy wyższych ciągłych prądach silnika w L298N powstają znaczne straty ciepła. Praktycznie użyteczny prąd ciągły zależy więc między innymi od napięcia zasilania, chłodzenia, temperatury otoczenia i obciążenia.
Sprawdź również nie tylko prąd znamionowy silnika DC, ale także prąd rozruchowy i prąd zablokowania (stall current). Mogą one być wielokrotnie wyższe niż prąd podczas normalnej pracy.
L298N wykorzystuje bipolarne tranzystory wyjściowe i dlatego ma większy spadek napięcia niż nowoczesne sterowniki silników MOSFET. Napięcie, które faktycznie dociera do silnika, jest więc niższe niż podane napięcie zasilania.
Jest to szczególnie istotne w przypadku silników niskonapięciowych. Do zastosowań, w których bardzo wysoka sprawność lub bardzo mały spadek napięcia są ważne, nowoczesny sterownik MOSFET może być lepszym wyborem.
Płytka sterownika silnika L298N to wszechstronny podwójny mostek H do sterowania zarówno zwykłymi silnikami DC, jak i silnikami krokowymi. Jednym modułem można niezależnie sterować dwoma silnikami DC do przodu i do tyłu oraz regulować ich prędkość za pomocą PWM. Alternatywnie oba mostki H mogą być używane wspólnie do jednego bipolarnego silnika krokowego.
Dzięki prostemu cyfrowemu sterowaniu moduł ten doskonale nadaje się do pracy z Arduino, ESP32 i innymi mikrokontrolerami.
Tak podłączysz Płytka sterownika silnika L298N czerwona do Arduino UNO lub ESP32, z przykładowym szkicem, który możesz od razu wgrać.
Ten przykład pokazuje, jak sterować silnikami DC za pomocą płytki sterownika silnika L298N. Arduino ustawia kierunek obrotów silnika za pomocą cyfrowych pinów logicznych i reguluje prędkość silnika przy użyciu PWM na pinie enable. Program najpierw uruchamia silniki do przodu, zatrzymuje je, a następnie obraca je wstecz.
/*
* ==================================================================
* 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
Ten projekt steruje dwoma silnikami DC za pomocą ESP32 i sterownika mostka H L298N. Sketch wprawia oba silniki w ruch do przodu, zatrzymuje je, uruchamia w reverse i demonstruje sterowanie prędkością PWM. Podłącz zewnętrzne zasilanie do zacisku 12V modułu L298N, aby zapewnić wystarczający prąd dla większych silników.
/*
* ==================================================================
* 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