SKU: OT2099-B41 Varenummer: AA034 EAN: 8720589817425
Med dette L298N Motor Driver Board kan du nemt styre DC-motorer og stepmotorer med for eksempel en Arduino, ESP32, Raspberry Pi, mikrocontroller eller andet digitalt styresystem.
Modulet er opbygget omkring den velkendte L298N Dual H-Bridge motordriver. Takket være de to integrerede H-broer kan du styre to almindelige børstede DC-motorer uafhængigt af hinanden, inklusive rotationsretning og hastighedsregulering. Derudover kan modulet bruges til styring af én bipolær stepmotor.
Motorforsyningen kan ifølge specifikationerne for dette modul ligge mellem 5 og 35 V DC. Logikken arbejder på 5 V. L298N understøtter en strøm på op til 2 A pr. kanal under passende forhold, hvor god køling er vigtig ved højere belastninger.
L298N er ikke kun beregnet til stepmotorer. Boardet er meget velegnet til styring af almindelige brushed DC-motorer.
Med ét modul kan op til to DC-motorer styres separat:
Via de digitale indgange kan du bestemme rotationsretningen for hver motor. Via ENA- og ENB-tilslutningerne kan der desuden tilføres et PWM-signal for at regulere motorernes omdrejningstal.
Dermed er blandt andet følgende funktioner mulige:
Det gør modulet blandt andet velegnet til robotbiler, køretøjer, små maskiner, aktuatorer, ventilatorer og andre projekter med DC-motorer.
De to H-broer kan også bruges sammen til styring af en bipolær stepmotor. De fire motorudgange OUT1 t/m OUT4 tilsluttes herved de to spoler i stepmotoren.
Rækkefølgen, som IN1 t/m IN4 styres i, bestemmer derefter rotationsretning og stepmønster.
For DC-motorer kan omdrejningstallet reguleres via PWM (Pulse Width Modulation).
Hertil fjernes jumpers på ENA og/eller ENB, og disse tilslutninger forbindes med en PWM-udgang fra mikrocontrolleren.
Når den pågældende jumper bliver siddende, er kanalen konstant aktiveret, og motoren kan styres via IN-benene uden separat PWM-signal.
Motorforsyning / VS
Tilslutning til motorernes forsyningsspænding.
GND
Fælles stel for forsyning og styring. GND på mikrocontrolleren og motordriveren skal forbindes med hinanden.
5V
5V-tilslutning til modulets logik. Afhængigt af konfigurationen af 5V-regulatoren og jumperen kan denne tilslutning fungere som forsyningsindgang eller -udgang.
OUT1 / OUT2
Udgang fra H-bro A. Her tilsluttes DC-motor A.
IN1 / IN2
Digitale styreindgange, som bestemmer motor A's rotationsretning.
ENA
Enable-indgang til motor A. Kan også bruges til PWM-hastighedsregulering.
OUT3 / OUT4
Udgang fra H-bro B. Her tilsluttes DC-motor B.
IN3 / IN4
Digitale styreindgange, som bestemmer motor B's rotationsretning.
ENB
Enable-indgang til motor B. Kan også bruges til PWM-hastighedsregulering.
| ENA | IN1 | IN2 | Funktion |
|---|---|---|---|
| HIGH | HIGH | LOW | Rotationsretning 1 |
| HIGH | LOW | HIGH | Rotationsretning 2 |
| HIGH | LOW | LOW | Stop/bremse |
| HIGH | HIGH | HIGH | Stop/bremse |
| LOW | X | X | Udgang deaktiveret |
Den faktiske rotationsretning afhænger af, hvordan de to motorkabler er tilsluttet OUT1 og OUT2.
For motor B fungerer styringen på samme måde via IN3, IN4 og ENB.
Den anvendte L298N er en dual full-bridge driver, der er specielt designet til at koble induktive belastninger som DC-motorer, stepmotorer, relæer og solenoider. L298 understøtter ifølge producenten en motorforsyningsspænding på op til 46 V og har blandt andet termisk beskyttelse.
På dette komplette modul anvendes en motorforsyningsspænding på 5 til 35 V DC.
Den angivne maksimale strøm på 2 A skal betragtes som den maksimale driverværdi. Ved højere kontinuerlige motorstrømme opstår der betydeligt varmetab i L298N. Den praktisk anvendelige kontinuerlige strøm afhænger derfor blandt andet af forsyningsspænding, køling, omgivelsestemperatur og belastning.
Kontrollér desuden ikke kun en DC-motors nominelle strøm, men også start- og blokkeringsstrømmen (stall current). Denne kan være flere gange højere end strømmen under normal drift.
L298N bruger bipolære udgangstransistorer og har derfor et større spændingsfald end moderne MOSFET-motordrivere. Den spænding, der faktisk når frem til motoren, er derfor lavere end den tilførte forsyningsspænding.
Dette er især relevant ved lavspændingsmotorer. Til anvendelser, hvor meget høj virkningsgrad eller meget lille spændingsfald er vigtigt, kan en moderne MOSFET-driver være et bedre valg.
L298N Motor Driver Board er en alsidig dobbelt H-bro til styring af både almindelige DC-motorer og stepmotorer. Med ét modul kan to DC-motorer styres uafhængigt frem og tilbage, og omdrejningstallet kan reguleres via PWM. Alternativt kan begge H-broer bruges sammen til én bipolær stepmotor.
Takket være den enkle digitale styring er dette modul meget velegnet til brug med Arduino, ESP32 og andre mikrocontrollere.
Sådan tilslutter du L298N Motor Driver Board rød til en Arduino UNO eller ESP32, med en eksempelsketch, du kan uploade med det samme.
Dette eksempel viser, hvordan man styrer DC-motorer ved hjælp af et L298N-motordriverkort. Arduinoen bestemmer motorens rotationsretning via digitale logikben og justerer motorhastigheden med PWM på enable-ben. Programmet kører motorerne fremad, stopper dem og kører dem derefter baglæns.
/*
* ==================================================================
* 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
Dette projekt styrer to DC-motorer ved hjælp af en ESP32 og en L298N H-bro-driver. Sketchet får begge motorer til at køre fremad, stopper dem, kører dem i reverse og demonstrerer PWM-hastighedsstyring. Tilslut ekstern strøm til L298N's 12V-terminal for at levere nok strøm til større motorer.
/*
* ==================================================================
* 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