Módulo Driver L298N Puente H Dual 2 A – Controlador de Motores DC y Paso a Paso
El módulo driver L298N –conocido como dual H-bridge motor driver L298, l298 motor driver module o simplemente h bridge L298N– permite controlar dos motores DC independientes o un motor paso a paso bipolar de hasta 2 A por canal. Funciona sin problemas con Arduino Uno, Nano, Arduino Mega, ESP32, Raspberry Pi y STM32. Se usa en autos robot, robótica educativa y domótica DIY.
Características
-
- Amplio rango de voltaje (5 V – 35 V). Según ST, el puente pierde de 1,8 a 3,2 V con 1 A: con una batería de 7,4 V, el motor recibe de 4,2 a 5,6 V. El regulador de 5 V necesita al menos 7 V en la entrada.
- Regulador de 5 V en la placa: con el jumper de 5 V puesto, entrega 5 V para sensores o la placa de control.
- Doble puente H con jumpers
ENA/ENBy pinesIN1…IN4listos para PWM. - Protección térmica + diodos de rueda libre ya montados.
Especificaciones (l298n datasheet resumido)
| Parámetro | Valor |
|---|---|
| Voltaje motor | 5 V – 35 V DC |
| Voltaje lógica | 5 V (4,5 a 7 V según ST) |
| Corriente continua | 2 A por canal (máximo del chip según ST) |
| Tipo señal | PWM + dirección (TTL 3,3 V / 5 V) |
L298N pinout y conexiones
Diagrama de conexión típico con un robot de 2 motores
Formas de alimentación
- 7 a 12 V → Jumper 5 V activo. El pin
+5Ventrega 5 V para tu Arduino. - 12 – 35 V → Jumper 5 V quitado. Debes inyectar 5 V externos al pin
+5V.
+5V si el jumper está puesto: dañarás el regulador.Preguntas frecuentes
¿Cómo alimento el módulo y cuándo quito el jumper de 5 V?
Con el jumper de 5 V puesto, alimenta el módulo con 7 a 12 V. Según su hoja de datos, el regulador de 5 V de la placa necesita al menos 7 V en la entrada para entregar sus 5 V. De ese regulador se alimenta la lógica del L298N, que según ST pide 4,5 V como mínimo. Sobre 12 V, quita el jumper y lleva 5 V externos al pin +5V. Con el jumper puesto, ese pin entrega 5 V para tu Arduino y nunca debe recibir otra fuente. En los dos casos, une el GND del módulo con el de la placa de control.
¿Cómo conecto el L298N a un Arduino UNO?
Une IN1 a IN4 con los pines digitales 8 a 11, los mismos del código de ejemplo, y el GND del módulo con el GND del Arduino. Con los jumpers ENA y ENB puestos, los motores giran siempre a velocidad máxima. Para regular la velocidad, saca esos jumpers y conecta ENA y ENB a dos pines con PWM libres del Arduino, como el 5 y el 6, que controlas con analogWrite(). Alimenta el módulo con 7 a 12 V si el jumper de 5 V está puesto.
¿Qué motores puedo mover y en qué se diferencia del L293D?
Dos motores DC o un paso a paso bipolar, con un máximo de 2 A continuos por canal según la hoja de datos de ST. El L298N tiene dos puentes H completos, y cada uno invierte la polaridad de un motor para cambiar su sentido de giro. Revisa la corriente de tu motor con el eje trabado. Si pasa de 2 A, necesitas un driver más grande. El chip trabaja hasta 46 V según ST, y en esta placa el tope lo fijan antes sus condensadores, de 35 V, así que no sirve para motores de 48 o 60 V, de 220 V ni de corriente alterna. El L293D de Texas Instruments entrega 600 mA continuos por canal, con picos de 1,2 A que duran 100 µs, y trae los diodos de protección dentro del chip.
¿Por qué el motor gira más lento con el L298N?
El puente pierde voltaje. La hoja de datos de ST da una caída total de 1,8 a 3,2 V con 1 A y de hasta 4,9 V con 2 A, y esa energía se va en calor en el chip y su disipador. Con una batería de 7,4 V, un motor que pide 1 A recibe entre 4,2 y 5,6 V. Al elegir la fuente, súmale esa caída al voltaje de tu motor. Un motor de 6 V que pide 1 A necesita entre 7,8 y 9,2 V en la entrada.
¿Funciona con Raspberry Pi o ESP32?
Sí. Según ST, las entradas del L298N toman como alto cualquier señal desde 2,3 V, así que los 3,3 V de un ESP32 o de una Raspberry Pi sirven para IN1 a IN4, ENA y ENB. La lógica del módulo igual necesita 5 V, del regulador con el jumper puesto o de una fuente externa en el pin +5V. Une el GND del módulo con el de la placa. Sin esa tierra común, el módulo no reconoce las señales.
¿Puedo mover un paso a paso NEMA 17?
Sí, pero el módulo no limita la corriente. Según ST, el L298N necesita resistencias de sensado y un controlador externo, como el L297, para regularla, y esta placa no trae ese controlador. La corriente de cada bobina queda en el voltaje de la fuente, menos la caída del puente, dividido por la resistencia de la bobina. Con una bobina de pocos ohms y una fuente de 12 V, la corriente supera la nominal del motor y puede pasar los 2 A del chip, y los dos se calientan. Ajusta el voltaje de la fuente a tu motor o usa un driver con control de corriente y micropaso, como el A4988 o el DRV8825.
// Control de 2 motores DC con L298N
// Pines de control
const int IN1 = 8;
const int IN2 = 9;
const int IN3 = 10;
const int IN4 = 11;
void setup() {
// Configura los pines como salidas
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop() {
avanzar(2000); // Avanza durante 2 segundos
retroceder(2000); // Retrocede durante 2 segundos
parar(1000); // Se detiene durante 1 segundo
}
// Función para avanzar ambos motores
void avanzar(unsigned long duracion) {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(duracion);
}
// Función para retroceder ambos motores
void retroceder(unsigned long duracion) {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(duracion);
}
// Función para detener ambos motores
void parar(unsigned long duracion) {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(duracion);
}





