En 2023 armé un carrito robot con Arduino Uno, un puente H L298N y dos motores TT de 6 V. El código cargó correctamente, las conexiones parecían correctas, pero los motores apenas se movían y el L298N calentaba hasta quemar. El problema no era el código: era el voltaje de alimentación. El L298N tiene una caída de voltaje interna de 2 V por canal. Alimentaba con 6 V y el motor solo recibía 4 V, insuficiente para el par de arranque. Además, no había colocado el disipador de calor incluido en el módulo.
El puente H L298N es el controlador de motores más vendido para Arduino, pero también el más incomprendido. Su arquitectura bipolar con transistores de potencia genera mucho calor y roba voltaje. En este artículo explicamos cómo conectarlo correctamente, qué voltaje real necesitas, cómo controlar velocidad con PWM y cuánto cuesta el kit en pesos chilenos.

Qué es el L298N y por qué pierde 2 V
El L298N es un circuito integrado de puente H dual fabricado con transistores bipolares (BJT). Cada canal puede controlar un motor DC en ambas direcciones. Sin embargo, los BJT no son interruptores perfectos: cuando conducen, presentan una caída de voltaje colector-emisor saturado (Vce(sat)) de aproximadamente 1,8 V a 2,0 V por transistor.
Como el puente H usa dos transistores en serie (uno alto y uno bajo), la caída total es de 3,6 V a 4,0 V en teoría, aunque en la práctica con los módulos comerciales se observan 1,5 V a 2,5 V de pérdida dependiendo de la corriente. Eso significa que si alimentas el L298N con 7,4 V (2S LiPo), el motor recibe solo 5,5 V. Si el motor necesita 6 V mínimo para arrancar bajo carga, no gira.
| Parámetro | Valor teórico | Valor práctico |
|---|---|---|
| Corriente máxima por canal | 2 A | 1,0 – 1,2 A con disipador; 0,6 A sin disipador |
| Caída de voltaje (Vce sat) | 1,8 – 2,0 V por transistor | 1,5 – 2,5 V total por canal |
| Voltaje de alimentación motores | 5 V – 35 V | Mínimo 7 V recomendado para motores 6 V |
| Voltaje lógico (pines IN/ENA) | 4,5 V – 7 V (TTL) | 5 V de Arduino funciona; 3,3 V falla en algunos módulos |
| Corriente lógica | ~36 mA por canal | Arduino puede alimentar directamente |
| Frecuencia PWM máxima | Hasta 40 kHz | ~490 Hz (pines 5,6,9,10,11) o ~980 Hz (pines 3,11) |
¿Buscas módulo L298N, motores DC, Arduino Uno o kits de robótica con despacho a todo Chile?
Tabla de pines del módulo L298N
El módulo L298N comercial incluye el chip, un regulador 78M05, diodos de protección y borneras de tornillo. Estos son los pines y su función:
| Pin | Función | Conexión Arduino |
|---|---|---|
| OUT1 / OUT2 | Motor A (canal 1) | Motor DC entre OUT1 y OUT2 |
| OUT3 / OUT4 | Motor B (canal 2) | Segundo motor o no usar |
| IN1 / IN2 | Dirección motor A | Digital pin 8 / 9 |
| IN3 / IN4 | Dirección motor B | Digital pin 10 / 11 |
| ENA | PWM velocidad motor A | PWM pin 5 (o 3, 6, 9, 10, 11) |
| ENB | PWM velocidad motor B | PWM pin 6 |
| +12V / VMS | Alimentación motores (5-35 V) | Fuente externa (NO Arduino) |
| GND | Tierra común | GND fuente + GND Arduino (compartida) |
| +5V | Salida regulada (con jumper) o entrada lógica | Con jumper: no conectar. Sin jumper: 5 V Arduino |
El jumper ENA/ENB en el módulo habilita el motor a máxima velocidad fija. Si quieres controlar velocidad por PWM, quita el jumper y conecta ENA/ENB a un pin PWM de Arduino. Si dejas el jumper puesto, el pin ENA no tiene efecto.
Código Arduino para controlar velocidad y dirección
Este sketch controla un motor DC conectado al canal A del L298N. Permite girar en ambas direcciones con velocidad variable mediante PWM.
// Pines del L298N canal A
const int ENA = 5; // PWM velocidad
const int IN1 = 8; // Dirección
const int IN2 = 9; // Dirección
void setup() {
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Giro horario, velocidad 70 %
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 180); // 0-255
delay(3000);
// Freno rápido (cortocircuito dinámico)
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
analogWrite(ENA, 0);
delay(1000);
// Giro antihorario, velocidad 50 %
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
analogWrite(ENA, 128);
delay(3000);
// Parada libre (rueda libre)
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
analogWrite(ENA, 0);
delay(2000);
}
El valor analogWrite(ENA, 180) equivale aproximadamente al 70 % del ciclo de trabajo PWM. En Arduino Uno, el pin 5 genera PWM a 490 Hz, suficiente para motores DC de baja inercia. Para motores más grandes, frecuencias mayores a 20 kHz eliminan el zumbido audible.
L298N vs alternativas: cuándo usar cada una
El L298N no es la única opción. Para proyectos con baterías de 3,7 V o motores de baja corriente, existen controladores más eficientes.
| Controlador | Tecnología | Caída voltaje | Corriente máx. | Ideal para |
|---|---|---|---|---|
| L298N | BJT bipolar | 1,5 – 2,5 V | 1,0 – 1,2 A | Prototipos, motores 12 V, alta corriente pico |
| L293D | BJT + diodos internos | 1,4 – 1,8 V | 0,6 A por canal | Motores pequeños, proyectos educativos |
| DRV8833 | MOSFET | 0,3 – 0,5 V | 1,2 A por canal | Baterías 3,7-7,4 V, robots móviles eficientes |
| TB6612FNG | MOSFET | 0,3 – 0,5 V | 1,2 A continuo | Reemplazo directo del L298N con mejor eficiencia |
| A4950 / DRV8871 | MOSFET | 0,2 – 0,4 V | 2,0 – 3,6 A | Motores de alto par, 12-24 V |
Para proyectos con batería de una celda LiPo (3,7 V) o dos celdas (7,4 V), el DRV8833 o el TB6612FNG son mejores opciones. Su caída de voltaje de 0,3 V permite aprovechar casi toda la batería. El L298N solo tiene sentido si ya lo tienes en stock o si trabajas con 12 V donde la caída de 2 V es proporcionalmente menor.
Errores que queman el L298N o el Arduino
1. No compartir GND entre fuente y Arduino: si la tierra de la fuente de motores no está conectada al GND de Arduino, los pines IN1-IN4 no tienen referencia de voltaje común. El L298N interpreta señales erráticas y el motor gira de forma impredecible o no arranca. Une siempre ambas tierras.
2. Alimentar motores desde el pin 5V de Arduino: el regulador de Arduino Uno entrega máximo 500 mA por USB o 800 mA por jack. Un motor TT en arranque consume 400-600 mA. Si conectas el motor directo a Arduino, el regulador se sobrecalienta y puede dañar el chip ATmega328P. Los motores siempre usan fuente externa.
3. Olvidar el disipador de calor: a 1 A de corriente y 2 V de caída, el L298N disipa 2 W de calor (P = V × I). Sin disipador, la temperatura del chip sube por encima de 85 °C en minutos y entra en protección térmica. El síntoma es que el motor funciona 30 segundos y se detiene solo. Coloca el disipador incluido y ventila el módulo.
4. Usar pin no-PWM para ENA: si conectas ENA a un pin digital sin capacidad PWM (como el pin 2, 4, 7, 12 o 13 en Arduino Uno), analogWrite() no funciona. El motor solo gira a máxima velocidad o se detiene. Los pines PWM en Arduino Uno son 3, 5, 6, 9, 10 y 11.
5. Invertir polaridad de la fuente de motores: el L298N no tiene protección de polaridad inversa en la entrada VMS. Conectar la fuente al revés destruye los diodos internos y quema el chip irreversiblemente. Verifica con multímetro antes de energizar.
¿Motor que funciona 30 segundos y se detiene? En un 80 % de los casos el L298N está entrando en protección térmica. Coloca el disipador, reduce la corriente o aumenta el voltaje de alimentación.
Cuánto cuesta el kit en Chile (2026)
| Producto | Especificación | Precio aprox. CLP |
|---|---|---|
| Módulo L298N con disipador | Puente H dual, borneras tornillo | $5.500 – $9.000 |
| Arduino Uno R3 (original) | ATmega328P, USB-B, 16 MHz | $22.000 – $32.000 |
| Arduino Uno R3 (compatible) | CH340, funcionalidad idéntica | $8.000 – $14.000 |
| Motor DC TT (amarillo/reductor) | 3-6 V, 200 rpm, eje doble | $3.500 – $5.500 / unidad |
| Motor DC 12 V con encoder | 12 V, 300 rpm, encoder Hall | $12.000 – $18.000 |
| DRV8833 (módulo breakout) | MOSFET dual, baja caída | $4.500 – $7.500 |
| TB6612FNG (módulo) | Reemplazo eficiente del L298N | $5.500 – $9.000 |
| Kit completo L298N + Arduino + motores | 2 motores TT, chasis, ruedas, protoboard | $35.000 – $55.000 |
El módulo L298N cuesta entre $5.500 y $9.000 CLP. Es económico, pero considera que por $5.500 más puedes obtener un TB6612FNG que no requiere disipador y no pierde 2 V. Para proyectos con baterías pequeñas, la diferencia se nota en autonomía.
Preguntas frecuentes
¿Por qué mi motor no gira aunque el código está correcto?
Verifica tres cosas: que el jumper ENA esté quitado si usas PWM, que la tierra de la fuente de motores esté unida al GND de Arduino, y que el voltaje de alimentación supere el voltaje del motor más 2 V de caída del L298N. Si alimentas un motor 6 V con una fuente de 6 V, el motor solo recibe 4 V y no arranca bajo carga.
¿Puedo alimentar el L298N con la misma fuente de Arduino?
Solo si el voltaje es mayor a 7 V y la corriente total no supera 500 mA. En la práctica, no es recomendable. Los motores generan ruido eléctrico que reinicia el Arduino. Usa una fuente dual o al menos un capacitor de 100 µF en paralelo con la alimentación del motor para filtrar picos.
¿Cuál es la diferencia entre parada libre y freno rápido?
En parada libre (IN1=LOW, IN2=LOW) el motor se desconecta y gira por inercia hasta detenerse. En freno rápido (IN1=HIGH, IN2=HIGH) ambos terminales del motor se cortocircuitan a tierra, generando un par de frenado electromagnético. El freno rápido detiene el motor en milisegundos pero consume más corriente.
¿Puedo controlar la velocidad sin PWM?
No de forma eficiente. Sin PWM, el L298N solo entrega voltaje completo o cero. Podrías usar una resistencia en serie para reducir velocidad, pero eso disipa energía como calor y reduce el par del motor. El PWM es la única forma de controlar velocidad sin pérdidas resistivas.
¿Cuánta corriente puede entregar un L298N realmente?
El datasheet indica 2 A por canal, pero eso es con disipador forzado y temperatura de carcasa de 25 °C. En un módulo comercial sin ventilación forzada, el límite práctico es de 1 A continuo por canal. A 1,5 A el chip alcanza 100 °C y entra en protección térmica. Si necesitas más corriente, usa dos canales en paralelo o salta a un controlador MOSFET como el A4950.
¿Dónde compro L298N, Arduino y motores en Chile?
En Ukrabot.cl puedes conseguir módulos L298N, DRV8833, TB6612FNG, Arduino Uno original y compatible, motores TT y kits de robótica con despacho a regiones. Ferretería Ukra tiene además fuentes de alimentación, protoboards y herramientas para ensamblaje.
Conclusión
El L298N sigue siendo el puente H más usado en proyectos Arduino por su precio y su tolerancia a errores de conexión. Sin embargo, su arquitectura bipolar con BJT lo hace ineficiente: pierde 2 V y genera calor que exige disipador activo. Para proyectos con baterías pequeñas o motores de 3-6 V, el TB6612FNG o el DRV8833 son mejores inversiones a largo plazo.
Antes de conectar cualquier motor, verifica tres datos: que el voltaje de alimentación supere el del motor en al menos 2 V, que el GND de la fuente esté unido al GND de Arduino, y que el pin ENA esté conectado a un pin PWM si quieres controlar velocidad. Esos tres puntos resuelven el 80 % de los problemas de “motor no gira”.
El kit básico —Arduino Uno compatible, módulo L298N y dos motores TT— cuesta aproximadamente $25.000 CLP. Eso es menos que un control de PlayStation y abre la puerta a robots seguidores de línea, brazos robóticos y carritos controlados por Bluetooth.
¿Armando tu primer robot con Arduino?
Tenemos L298N, DRV8833, Arduino Uno, motores TT y kits completos con despacho a todo Chile.
También te puede interesar:
Starter kit Arduino: qué incluye, diferencia original vs compatible y 3 proyectos con código