Este módulo basado en el chip L298N te permite controlar dos motores de corriente continua o un motor paso a paso bipolar de hasta 2 amperios.
El módulo cuenta con todos los componentes necesarios para funcionar sin necesidad de elementos adicionales, entre ellos diodos de protección y un regulador LM7805 que suministra 5V a la parte lógica del integrado L298N. Cuenta con jumpers de selección para habilitar cada una de las salidas del módulo (A y B). La salida A esta conformada por OUT1 y OUT2 y la salida B por OUT3 y OUT4. Los pines de habilitación son ENA y ENB respectivamente.
Conexión de alimentación
Este módulo se puede alimentar de 2 maneras gracias al regulador integrado LM7805.
Cuando el jumper de selección de 5V se encuentra activo, el módulo permite una alimentación de entre 6V a 12V DC. Como el regulador se encuentra activo, el pin marcado como +5V tendrá un voltaje de 5V DC. Este voltaje se puede usar para alimentar la parte de control del módulo ya sea un microcontrolador o un Arduino, pero recomendamos que el consumo no sea mayor a 500 mA.
Cuando el jumper de selección de 5V se encuentra inactivo, el módulo permite una alimentación de entre 12V a 35V DC. Como el regulador no esta funcionando, tendremos que conectar el pin de +5V a una tensión de 5V para alimentar la parte lógica del L298N. Usualmente esta tensión es la misma de la parte de control, ya sea un microcontrolador o Arduino.
Recomendamos nunca conectar una tensión de entrada al pin de +5V, cuando el jumper de selección de 5V se encuentre activado. Esto provocaría un corto y podría dañar permanentemente el módulo.
Control de un motor DC
Como demostración, vamos a controlar un motor DC a través de la salida B del módulo. El pin ENB se conectará con el jumper a +5V.
El ejemplo esta desarrollado en Arduino UNO, pero el código es compatible con cualquier Arduino.
Esquema de conexión
Código en Arduino
El programa básicamente activa el motor en un sentido por 4 segundos, luego detiene el motor por 0.5 segundos, después activa el motor en sentido inverso por 4 segundos y por último detiene el motor por 5 segundos. Luego repite la acción indefinidamente.
/* Ejemplo de control de motor DC usando modulo L298 http://www.roboticadelacosta.uy El programa activa el motor en un sentido por 4 segundos, para el motor por 1 segundo, activa el motor en sentido inverso por 4 segundos y se detiene por 5 segundos. Luego repite la acción indefinidamente. */ int IN3 = 5; // In3 conectada al pin 5 del Arduino int IN4 = 4; // In4 conectada al pin 4 del Arduino void setup() { pinMode (IN4, OUTPUT); // Establecemos el pun 4 como de salida pinMode (IN3, OUTPUT); // Establecemos el pun 5 como de salida } void loop() { // Girar en un sentido digitalWrite (IN4, HIGH); digitalWrite (IN3, LOW); delay(4000); // Detener motores un segundo digitalWrite (IN4, LOW); delay(1000); // Girar en sentido inverso digitalWrite (IN3, HIGH); delay(4000); // Detener motores un segundo digitalWrite (IN3, LOW); delay(1000); }