Descrizione
[vc_row][vc_column][vc_column_text]
Descrizione Completa: L298N Dual Stepper Motor Driver – Modulo di Controllo 5V per Robot Smart Car
Caratteristiche Principali
Il modulo L298N Dual H-Bridge Stepper Motor Driver è un componente elettronico progettato per il controllo di due motori DC o un motore passo-passo bipolare, utilizzando segnali digitali da una scheda microcontrollore come Arduino.
| Caratteristica | Valore |
|---|---|
| Tensione di alimentazione | 5V – 35V |
| Corrente massima | 2A per canale |
| Chip di controllo | L298N |
| Canali di uscita | 2 (A e B) |
| Controllo logico | 5V TTL |
| Protezione termica | Sì |
| Dimensioni tipiche | Circa 43 x 43 x 27 mm |
FunzionalitÃ
- Controllo indipendente di due motori DC o un motore stepper.
- Supporta la funzione PWM per variare la velocità dei motori.
- Include un regolatore di tensione da 5V integrato (abilitabile/disabilitabile tramite jumper).
- Dispone di terminali a vite per collegamenti rapidi dei motori e dell’alimentazione.
- Dotato di dissipatore di calore per migliorare la dissipazione termica.
Pinout del Modulo
| Pin/Terminale | Descrizione |
|---|---|
| IN1, IN2 | Controllo del Motore A |
| IN3, IN4 | Controllo del Motore B |
| ENA | PWM per Motore A |
| ENB | PWM per Motore B |
| OUT1, OUT2 | Collegamento Motore A |
| OUT3, OUT4 | Collegamento Motore B |
| VCC | Alimentazione motori (fino a 35V) |
| GND | Massa comune |
| 5V | Uscita o ingresso logica (in base al jumper 5V enable) |
Collegamento a un Arduino UNO
Schema di base per 1 motore DC
- OUT1 e OUT2 → motore DC
- IN1 (pin 8 Arduino) → controllo direzione 1
- IN2 (pin 9 Arduino) → controllo direzione 2
- ENA (pin 10 Arduino) → PWM (velocità )
- VCC → alimentazione 12V (ad esempio da batteria)
- GND → GND Arduino
- 5V → se necessario, abilitare jumper 5V per alimentare la logica
Esempio Codice Arduino: Controllo di un motore DC
// Pin definiti
int in1 = 8;
int in2 = 9;
int enA = 10;
void setup() {
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(enA, OUTPUT);
}
void loop() {
// Ruota in una direzione
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, 150); // Velocità : 0-255
delay(2000);
// Ferma il motore
analogWrite(enA, 0);
delay(1000);
// Ruota nell'altra direzione
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, 200);
delay(2000);
// Ferma il motore
analogWrite(enA, 0);
delay(1000);
}
Controllo di un motore passo-passo bipolare
Collega il motore stepper come segue:
- Filo 1 e 2 → OUT1 e OUT2
- Filo 3 e 4 → OUT3 e OUT4
- Usa IN1, IN2, IN3, IN4 per il controllo.
Esempio Codice Arduino: Motore Stepper (senza libreria)
int IN1 = 8;
int IN2 = 9;
int IN3 = 10;
int IN4 = 11;
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop() {
for (int i = 0; i < 100; i++) {
stepForward();
}
delay(1000);
for (int i = 0; i < 100; i++) {
stepBackward();
}
delay(1000);
}
void stepForward() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(10);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(10);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(10);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(10);
}
void stepBackward() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(10);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(10);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(10);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(10);
}
Suggerimenti Utili
- Non alimentare i motori dalla porta 5V di Arduino: usa un’alimentazione esterna.
- Jumper 5V ENABLE: se usi alimentazione >7V, puoi lasciare il jumper per ottenere 5V per la logica dal modulo stesso.
- ENx collegati direttamente a +5V → motore sempre attivo (non consigliato se vuoi regolare la velocità ).
- Puoi usare librerie come AccelStepper per un controllo più fluido dei motori stepper.
[/vc_column_text][/vc_column][/vc_row]











