Controlador de Motores L298N

  • El L298N permite controlar la velocidad y dirección de hasta dos motores de corriente continua.
  • Su límite principal es una caída de tensión de 3V, lo que reduce la potencia óptima que pueden recibir los motores.
  • Es ampliamente utilizado en proyectos de robótica, especialmente para coches y robots controlados por microcontroladores como Arduino.
  • El controlador cuenta con protecciones contra cortocircuitos, sobrecalentamientos y sobrecorriente.

l298n

El controlador de motores L298N es una opción muy popular dentro de los proyectos de robótica y electrónica en general, gracias a su bajo coste y facilidad de uso. Con este módulo, podemos controlar tanto motores de corriente continua como motores paso a paso, regulando su velocidad y dirección de giro. A lo largo de este artículo, vamos a desglosar todo lo que necesitas saber sobre el L298N, desde las conexiones básicas hasta cómo usarlo con un Arduino para el control de motores. Sigue leyendo para sacarle el máximo partido a este versátil controlador.

Si alguna vez has trabajado con proyectos de robótica o vehículos controlados por un microcontrolador como Arduino, probablemente te hayas encontrado en la situación de necesitar más potencia para mover motores de cierto tamaño. Aquí es donde entra en juego el módulo L298N, un controlador que permite manejar esta potencia adicional para motores eléctricos de forma sencilla. Vamos a profundizar en todos sus detalles.

¿Qué es y cómo funciona el L298N?

El L298N es un controlador de motores que utiliza un sistema de puentes-H (H-Bridge) para invertir la polaridad de la corriente y, por lo tanto, controlar la dirección de giro del motor. Este módulo es capaz de controlar dos motores de corriente continua o un motor paso a paso. La corriente máxima que puede proporcionar es de 2A por salida, con un pico máximo de 3A, y admite un rango de alimentación de entre 3V y 35V. Es importante tener en cuenta que este módulo tiene una eficiencia relativamente baja, lo que implica que los motores recibirán una tensión aproximadamente 3V menor que la aplicada al módulo. Estas pérdidas se disipan en forma de calor.

La estructura interna del módulo incluye dos puentes H, una tecnología muy utilizada en electrónica para controlar la dirección de la corriente. Cada puente está compuesto por cuatro transistores dispuestos en una configuración que permite controlar tanto la polaridad como la desconexión del motor. Además, el L298N incorpora diodos de protección y otras medidas para evitar posibles daños al manejar estos motores.

Componentes y conexiones básicas

l298n pin-out

El módulo L298N se caracteriza por su sencillez de uso y su flexibilidad para adaptarse a varios tipos de proyectos. A continuación te explicamos las conexiones más importantes del controlador:

  • Vin y GND: Estos pines se utilizan para conectar la fuente de alimentación del módulo. Puede soportar entre 3V y 35V de entrada de voltaje.
  • V lógico: Este pin tiene dos funciones, dependiendo de si está activado el regulador de voltaje mediante un jumper. Si el jumper está conectado, este pin proporcionará una salida de 5V que podemos utilizar para alimentar dispositivos como Arduino. Si el jumper está quitado, deberemos alimentar el componente lógico con una fuente de 5V.
  • IN1, IN2, IN3, IN4: Estos pines controlan la dirección de los motores. Por ejemplo, para el motor A, si IN1 está a HIGH e IN2 a LOW, el motor girará en un sentido. Si IN1 está a LOW e IN2 a HIGH, girará en el sentido opuesto.
  • ENA y ENB: Controlan la velocidad de los motores mediante señales PWM (Modulación por ancho de pulso). Si los jumpers están colocados, los motores funcionarán a velocidad constante; si no, podremos ajustar la velocidad con valores de 0 a 255.

Funcionamiento y alimentaciones del L298N

Existen dos formas principales de alimentar un L298N:

  • Con un solo suministro de energía: En este caso, utilizamos una fuente de hasta 12V, conectamos el jumper para habilitar el regulador de 5V y no conectamos nada al pin de 5V, ya que este actuará como salida.
  • Con dos fuentes de energía: Otra alternativa es alimentar el módulo con dos fuentes distintas, una de ellas proveerá los 5V necesarios para la parte lógica del módulo y la otra los 12V o más para el motor, desconectando en este caso el jumper del regulador para evitar generar daños al módulo.

Tanto si usas una como dos fuentes de alimentación, recuerda siempre prestar atención a los pines de entrada y salida para evitar cortocircuitos o posibles daños.

Programación con Arduino

Una de las grandes ventajas del L298N es su fácil integración con proyectos basados en Arduino. Esto se debe a que con tan solo conectar unos pocos pines podemos controlar tanto la velocidad como la dirección de uno o más motores. Aquí te mostramos cómo programar el L298N con Arduino:

Primero, asignamos los pines que utilizaremos para controlar los motores:

int ENA = 10;   // Habilita motor A
int IN1 = 9;    // Dirección Motor A
int IN2 = 8;    // Dirección Motor A
int ENB = 5;    // Habilita motor B
int IN3 = 7;    // Dirección Motor B
int IN4 = 6;    // Dirección Motor B

Comenzamos configurando los pines como salidas en el setup() y declarando las funciones necesarias para mover los motores en ambas direcciones:

void Adelante() {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, 255);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENB, 255);
}

void Atras() {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  analogWrite(ENA, 128);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENB, 128);
}

Podemos ajustar la velocidad de los motores cambiando los valores en la función analogWrite(), que acepta valores entre 0 y 255, donde 255 es la velocidad máxima.

Protecciones del L298N

Una característica notable del L298N es que incorpora varias protecciones para evitar daños tanto en el controlador como en los motores. Estas protecciones incluyen:

  • Protección contra sobrecorriente: Si el módulo detecta una corriente mayor de la que puede soportar, activará una protección para evitar daños.
  • Protección contra sobrecalentamiento: El L298N está diseñado para disipar el calor generado durante el funcionamiento, pero si la temperatura supera ciertos límites, el módulo activará su protección térmica.
  • Diodos de protección: Estos diodos evitan que los picos de tensión inducidos por la inercia de los motores dañen el módulo.

Ejemplo práctico: Control de un coche robótico

El uso del controlador L298N es muy común en proyectos de robótica, como por ejemplo en coches robóticos controlados con Arduino. En este setup, al montar el L298N en el chasis y conectarlo al Arduino, podemos controlar tanto la dirección como la velocidad de las ruedas del coche.

El esquema habitual de conexiones es el siguiente: Alimentas el módulo L298N con una batería externa para los motores (usualmente 6V o 12V) y conectas el pin de 5V de salida al Arduino. Desde el Arduino controlas los pines IN1, IN2, IN3 e IN4 para manejar los motores. Esta configuración te permite hacer girar el coche hacia adelante, hacia atrás y realizar giros en diferentes direcciones.

Si quieres simplificar la programación y el control, puedes utilizar librerías como LEANTEC_ControlMotor.h. Esta biblioteca te permite programar los motores con comandos más sencillos como: control.Motor(velocidad, direccion).

El L298N es una excelente solución para controlar motores en proyectos pequeños y medianos, siendo su uso muy extendido en la comunidad maker. Aunque hay otros controladores más avanzados y eficientes, la combinación de versatilidad, precio y sencillez del L298N lo hace una de las mejores opciones para proyectos DIY.


Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.