Esta placa viene con todos los componentes electrónicos necesarios para funcionar sin requerir de elementos adicionales, tales como diodos de protección y un regulador LM7805 que suministra 5V a la parte lógica del integrado L298N.
Ademas proporciona jumpers para elegir que 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.
Especificaciones Técnicas:
Alimentación lógica: 6 – 12V
Rango de alimentación: 4.8 ~ 30V
Corriente máxima: 2A
Nivel alto: 2.3V = Vin = Vss – Nivel bajo: -0.3V = Vin = 1.5V
Temperatura de funcionamiento: -25 a +130 ºC
Dimensiones: 47×53mm
Peso: 29g aprox.
En el caso que el jumper de selección de 5V se encuentra activo, el módulo permite una alimentación de entre 6V a 12V DC. En cuanto al regulador se encuentra activo, el pin marcado como +5V tendrá un voltaje de 5V DC. Ese voltaje se puede usar para alimentar la parte de control del módulo ya sea un Arduino o un microcontrolador, pero alertamos que el consumo no sea mayor a 500 mA.
En el caso que el jumper de selección de 5V se encuentra inactivo, el módulo permite una alimentación de entre 12V a 35V DC. En cuanto al regulador no esta en funcionamiento, tendremos que conectar el pin de +5V a una tensión de 5V para alimentar la parte lógica del L298N. En general esta tensión es la misma de la parte de control, ya sea un Arduino o un microcontrolador.
El controlador permite controlar el sentido de giro y velocidad mediante señales TTL que podrás sacar de tu microcontrolador elegido. Cada puente está separado y dispone de indicadores LED de funcionamiento.
Advertimos que nunca conectar una tensión de entrada al pin de +5V, cuando el jumper de selección de 5V se encuentre activado. El mismo daria un corto y podría dañar permanentemente el módulo.
Como controlar un motor Dc
Ejemplo I
Vamos a controlar un motor DC a través de la salida A del módulo.
Sketch en Arduino IDE
El sketch activa el motor en un sentido por 3 segundos, luego detiene el motor por 1 segundos, después activa el motor en sentido inverso por 3 segundos y por último detiene el motor por 5 segundos. Luego repite la acción en el loop() repetidamente.
int ENT1 = 6; int ENT2 = 7; void setup() { pinMode (ENT1, OUTPUT); // Entrada 1 conectada al pin 6 pinMode (ENT2, OUTPUT); // Entrada 2 conectada al pin 7 } void loop() { // Motor gira en un sentido digitalWrite (ENT1, LOW); digitalWrite (ENT2, HIGH); // gira por 3 segundos delay(3000); // Motor no gira digitalWrite (ENT2, LOW); delay(1000); // Motor gira en sentido inverso digitalWrite (ENT1, HIGH); delay(3000); // Motor no gira digitalWrite (ENT1, LOW); delay(5000); }
Ejemplo II
variando su velocidad , para usar el motor driver L298N.Ejecutandolo con el modo PWM.
Diagrama de Conexión
Sketch
int E1 = 6; int M1 = 7; int E2 = 5; int M2 = 4; void setup() { pinMode(M1, OUTPUT); pinMode(M2, OUTPUT); } void loop() { int velocidad; for(velocidad = 0 ; velocidad <= 255; velocidad+=5) { digitalWrite(M1,HIGH); digitalWrite(M2,HIGH); analogWrite(E1, velocidad); //PWM Control de velocidad analogWrite(E2, velocidad); //PWM Control de velocidad delay(500); } }
Ejemplo III
Como controlar un motor paso a paso bipolar
Los motores paso a paso pueden ser bipolares o unipolares. En este caso usamos un motor paso a paso bipolar, pero dicho driver es capaz de controlar un motor paso a paso unipolar si se conecta en configuración bipolar, obviando los cables del tab central de las bobinas del motor. El tope de consumo que acepta es de 2 amperios.
Diagrama de conexión
Cada una de las bobinas del motor esta conectada a una salida del módulo. Para identificar las bobinas de un motor paso a paso utilizamos un multímetro en modo de continuidad. Los cables que dan continuidad son los extremos de cada bobina.
En este ejemplo, como el motor paso a paso es de 12 VDC, utilizamos el jumper de selección de +5V, para activar el regulador interno del módulo y solo hacer uso de una fuente de 12 VDC para alimentar el motor.
Los jumper de activación ENA y ENB los hemos activado de igual manera.
Sketch del ejemplo III
#include const int stepsPerRevolution = 48; // cambie este valor por el numero de pasos de su motor // inicializa la libreria 'stepper' en los pines 8 a 11 Stepper myStepper(stepsPerRevolution, 8,9,10,11); void setup() { // establece la velocidad en 50rpm myStepper.setSpeed(50); // inicializa el puerto serial a 9600 Baudios Serial.begin(9600); } void loop() { // gira una vuelta en una direccion Serial.println("clockwise"); myStepper.step(stepsPerRevolution); delay(1000); // gira una vuelta en la direccion contraria Serial.println("counterclockwise"); myStepper.step(-stepsPerRevolution); delay(1000); }
La lógica del sketch hace girar el motor paso a paso una vuelta en un sentido y luego ejecuta otra vuelta en sentido contrario. Este programa hace uso de la librería ‘Stepper.h‘, que se instala por defecto en las ultimas versiones del IDE de Arduino.
El valor de la variable stepsPerRevolution depende del número de pasos del motor paso a paso. Este valor se encuentra en las especificaciones de la hoja de datos del motor. En nuestro caso el motor paso a paso utilizado es de 48 pasos/vuelta.
Saludos Ditecno Makers .Nos vemos German