Șoferul motorului L298N este un modul popular pentru controlul motoarelor DC și motoarelor pas cu pas. Vă permite să controlați viteza și direcția motorului folosind semnale PWM de la Arduino, ceea ce îl face ideal pentru robotică și proiecte de automatizare. Acest tutorial vă va ghida prin conectare și utilizarea L298N cu Arduino.
Ce vei avea nevoie
- L298N Modul de șofer al motorului
- Arduino Board (de exemplu, Uno, Mega, Nano)
- DC Motors sau Motors Stepper
- Sursa de alimentare externă (de exemplu, baterie de 9V sau 12V)
- Tablă de pâine și jumper
- Un computer cu IDE Arduino instalat
Pasul 1: Înțelegerea șoferului motorului L298N
Modulul L298N este un driver cu motor dual H-Bridge, ceea ce înseamnă că poate controla viteza și direcția a două motoare DC în mod independent sau un motor pas cu pas.
L298N PINOUT
Ac | Funcţie |
---|---|
In1, in2 | Motor o intrare de control a direcției |
In3, in4 | Controlul de control al direcției motorului B |
Ena | Motor un control de viteză (intrare PWM) |
ENB | Controlul vitezei motorului B (intrare PWM) |
OUT1, OUT2 | Motor A Outputs |
Out3, out4 | Ieșiri ale motorului B. |
12V (VCC) | Sursă de alimentare externă pentru motoare |
5V (opțional) | Sursa de alimentare logică (dacă jumperul este eliminat) |
GND | Sol |
Note:
- Modulul include un regulator de bord 5V care alimentează circuitele logice dacă jumperul este în loc și VCC este 7-12V.
- Înlăturarea jumperului necesită să furnizați separat o alimentare logică de 5V.
Pasul 2: Cablarea L298N către Arduino
Iată cum să conectați L298N la un Arduino Uno și două motoare DC:
Pinul L298N | Pinul Arduino |
---|---|
Ena | PIN 10 (PWM) |
În1 | Pinul 8 |
In2 | Pinul 9 |
ENB | PIN 11 (PWM) |
In3 | Pinul 6 |
In4 | Pinul 7 |
GND | Arduino GND |
12V (VCC) | Putere externă (9V/12V) |
Out1, out2 | Motor un terminale |
Out3, out4 | Motor B terminale |
Pasul 3: Încărcați codul
Iată un exemplu de schiță pentru a controla două motoare DC:
Cod de exemplu
// Motor A connections
#define ENA 10
#define IN1 8
#define IN2 9
// Motor B connections
#define ENB 11
#define IN3 6
#define IN4 7
void setup() {
// Set all pins as outputs
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop() {
// Move Motor A forward
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 150); // Set speed (0-255)
// Move Motor B backward
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(ENB, 150); // Set speed (0-255)
delay(2000); // Run for 2 seconds
// Stop both motors
digitalWrite(ENA, LOW);
digitalWrite(ENB, LOW);
delay(1000); // Pause for 1 second
// Move both motors in reverse
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, 200);
analogWrite(ENB, 200);
delay(2000); // Run for 2 seconds
// Stop both motors
digitalWrite(ENA, LOW);
digitalWrite(ENB, LOW);
delay(1000); // Pause for 1 second
}
Pasul 4: Testați configurarea
- Conectați Arduino la computer prin USB.
- Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
- Încărcați codul la Arduino făcând clic pe Încărcați.
- Observați motoarele care se învârt înainte, se opresc și se inversează pe baza secvenței programate.
Opțional: controlul vitezei dinamic
Puteți regla dinamic viteza motorului modificând valorile PWM trimise la ENA
şi ENB
pini folosind analogWrite (). De exemplu:
analogWrite(ENA, 100); // Slow speed
analogWrite(ENA, 255); // Full speed
Aplicațiile L298N
- Construirea roboților motorizați
- Controlul centurilor transportoare
- Conducerea motoarelor pas cu pas
- Automatizarea sistemelor cu motoare cu curent continuu
Depanare
- Motoarele care nu se învârt: Asigurați -vă că sursa de alimentare externă este conectată și oferă suficient curent.
- Direcția motorie incorectă: Verificați cablarea pinilor în pini și a conexiunilor inversă, dacă este necesar.
- Comportament motor instabil: Folosiți o sursă de alimentare stabilă și evitați conexiunile libere.
Concluzie
Ați interfațat cu succes driverul motorului L298N cu Arduino pentru a controla motoarele DC. Acest modul versatil vă permite să gestionați viteza și direcția motorului cu ușurință. Experimentați în continuare prin integrarea senzorilor, a telecomenzilor sau a altor module în proiectele dvs. motorizate!