miércoles, 20 de enero de 2016

Control del sentido de giro de un motor DC con el driver L298N


Este POST está basado en el Driver dual L298N utilizado para el control de motores.  Este módulo basado en el chip L298N nos permite controlar hasta dos motores de corriente continua (DC) o un motor paso a paso bipolar de hasta 2 amperios (como veremos en posteriores POST).

Driver L298N

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 formada 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. 
  
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, en este caso a nuestro Arduino (a través de su pin “Vin”), 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, pero como el regulador no está funcionando, tendremos que conectar el pin de +5V a una tensión de 5V para alimentar la parte lógica del L298N, coincidiendo con la tensión que Arduino ofrece en una de sus salidas. 
Nunca hemos de 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. También hay que tener en cuenta que tanto la masa de Arduino como la del driver deben estar siempre unidas para el correcto funcionamiento del sistema. 
En este caso, 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 cambio de sentido de giro del motor se realiza invirtiendo la polaridad en los pines IN3 e IN4 del driver mediante programación. El driver y el Arduino en este caso les vamos a alimentar por separado, es decir el Arduino mediante el puerto USB y el driver mediante una fuente DC regulable de 1.5 a 12V  y 1200 mA máximo (tenemos que unir las masas de ambos dispositivos).  
El programa básicamente activa el motor en un sentido durante 2 segundos, luego se detiene el motor 1 segundo, después se activa el motor en sentido inverso durante 2 segundos y por último se detiene el motor nuevamente 1 segundo. La secuencia se repite indefinidamente en forma de bucle cerrado.



Lista de Materiales:
  
·         Arduino UNO Rev.3.

·         Cable USB tipo A-B.

·         Driver L298N.

·         Motor DC de 5V.

·         Fuente DC regulable de 1.5 a 12V (1200 mA máximo).

·         Protoboard.

·         Cables de conexión.


Código del programa:




 Video:


3 comentarios:

  1. Respuestas
    1. El motor con IN3 = ALTO e IN4 = BAJO gira en un sentido. Para que gire en sentido contrario tienes que poner IN3 = BAJO e IN4 = ALTO. Para parar el motor los dos a NIVEL BAJO.

      Eliminar
    2. Es para ir cambiando la secuencia de PIN a PIN con el mínimo código y que cambie el motor el sentido de giro automáticamente

      Eliminar