lunes, 11 de abril de 2016

MODULO L298N - PRACTICAS DE GIRO Y VELOCIDAD

En esta entrada aprenderemos a utilizar el módulo para programar el giro de las ruedas de nuestro proyecto y variar la velocidad de giro de las mismas.

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
En la parte inferior se encuentran los pines de control del módulo, marcados como IN1, IN2, IN3 e IN4.





1.- Práctica para el giro de un motor.










Alimentación

Este módulo se puede alimentar de 2 maneras gracias al regulador integrado LM7805.

Cuando el jumper de selección (marcado en amarillo) de 5V se encuentra activo (clavija puesta), el módulo permite recibir una alimentación de entre 6V a 12V DC. Como el regulador se encuentra activo, el pin marcado como +5V tendrá un voltaje de salida 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 (clavija quitada), el módulo permite recibir 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. El Jumper ENB debe estar puesto.

Conexiones






Código Arduino:




/* 
 Ejemplo de control de motor DC usando modulo L298
 El programa activa el motor en un sentido por 4 segundos, 
 para el motor por 500 ms, activa el motor en sentido inverso por 4 segundos 
 y se detiene por 5 segundos. Luego repite la acción indefinidamente.
  */



int IN3 = 5; 

int IN4 = 4;



void setup()

{
  pinMode (IN4, OUTPUT);    // Input4 conectada al pin 4 
  pinMode (IN3, OUTPUT);    // Input3 conectada al pin 5
}
void loop()
{
  // Motor gira en un sentido
  digitalWrite (IN4, HIGH);
  digitalWrite (IN3, LOW); 
  delay(4000);
  // Motor no gira
  digitalWrite (IN4, LOW); 
  delay(500);
  // Motor gira en sentido inverso
  digitalWrite (IN3, HIGH);
  delay(4000);
  // Motor no gira
  digitalWrite (IN3, LOW); 
  delay(5000);
}


2.- Práctica para la variación de velocidad

Si queremos controlar la velocidad del motor, tenemos que hacer uso de PWM. Este PWM será aplicado a los pines de activación de cada salida, pines ENA y ENB, respectivamente, los jumper de selección no serán usados y se deben quitar. En la placa Arduino se debe utilizar las conexiones digitales con PWM, en este caso se utiliza el Pin  nº 3
Utilizaremos también las salidas para el motor B.

Conexiones:


Código Arduino:



/* 

 Ejemplo de control de motor DC usando modulo L298
 */



int IN3 = 5;    // Input3 conectada al pin 5

int IN4 = 4;    // Input4 conectada al pin 4 
int ENB = 3;    // ENB conectada al pin 3 de Arduino
void setup()
{
 pinMode (ENB, OUTPUT); 
 pinMode (IN3, OUTPUT);
 pinMode (IN4, OUTPUT);
}
void loop()
{
  //Preparamos la salida para que el motor gire en un sentido
  digitalWrite (IN3, HIGH);
  digitalWrite (IN4, LOW);
  // Aplicamos PWM al pin ENB, haciendo girar el motor, cada 2 seg aumenta la velocidad
  analogWrite(ENB,55);
  delay(2000);
  analogWrite(ENB,105);
  delay(2000);
  analogWrite(ENB,255);
  delay(2000);
  // Apagamos el motor y esperamos 5 seg
  analogWrite(ENB,0);
  delay(5000);

}



¿Te ha gustado este tutorial?
Colabora con nosotros y haz una donación: