martes, 4 de agosto de 2015

Tutorial: robot coche - Introducción + Módulo de potencia L298N


Este tutorial es el primero de una serie de tutoriales que tienen por objetivo la realización de un robot tipo coche, controlado por un Arduino UNO.

En este tutorial, se va a hacer una pequeña introducción de la tracción del vehículo, el módulo de potencia necesario y un programa sencillo para testear los motores.

Motores

El vehículo de este tutorial va a consistir en dos motores DC que trabajan desde 3V hasta los 6V. Simplificando, su funcionamiento se basa en aplicarle corriente al motor para que el eje gire. Se puede aplicar corriente en ambos sentidos, lo que provocará que dicho motor gire también en ambos sentidos. Estos motores tienen dos pestañas (bornas) en las que se conectarán los cables. Normalmente hay que soldar los cables para que queden fijos.


Módulo de potencia

Se necesitará un módulo de potencia, es decir, electrónica extra para hacer funcionar estos motores. ¿Por qué? Porque estos motores tienen un consumo de 250 mA y la placa Arduino UNO (con la que vamos a trabajar), sólo puede sacar por los pines digitales 40 mA como intensidad máxima.

(Detalle de tornillería de Nylon para levantar el módulo para no dañar la mesa, cortesía de Electrohobby.es)

El módulo elegido es el puente H basado en el encapsulado L298N (fácil de encontrar por "motor driver L298N" en muchas tiendas).

Este dispositivo puede ser alimentado, con el jumper de la salida de 5 V activo (ver imagen abajo), desde 6V hasta 12V para un funcionamiento mínimo de los motores (existe una caída de tensión de hasta 3V dentro del módulo, entonces necesitaremos un mínimo de 6V para poder tener a la salida de los motores los 3V mínimos).



Explicación inputs/outputs del módulo

La alimentación del módulo se hace por las entradas de +12V Input y GND, conectando el primero al positivo de la batería (si es un portapilas, cable rojo ahí) y el negativo al GND (cable negro del portapilas ahí).

La salida de los motores será por las bornas de Output A y Output B. IMPORTANTE conectar positivo y negativo de forma simétrica de los motores para que los motores giren en la misma dirección.

El módulo tiene una salida de 5V para alimentar la placa Arduino desde el mismo, la salida +5V Output. Recordar que se necesita el jumper puesto entre los pines de Enable 5V output.

Dejando el jumper de los pines de Enable A y Enable B, activaremos el Output A y el Output B respectivamente.

Los Digital Input son para excitar los motores. Son cuatro pines que irán conectados a salidas digitales del Arduino. El IN1 e IN2 para el motor conectado al Output A y el IN3 y el IN4 para el motor conectado en el Output B. Para que el coche vaya hacia delante o hacia atrás, girando los motores de forma correcta, tendremos que activar siempre los IN2+IN4 en HIGH o IN1+IN3 en HIGH (siempre números pares juntos e impares juntos para ir rectos, tanto hacia delante como hacia atrás).

Material

2x motores DC
Cables
Módulo puente H L298N
Soldador y estaño (en caso de no venir soldados los cables a las bornas de los motores)

Conexión

El siguiente esquema muestra la conexión de los cables entre los diferentes componentes.


Para este programa, con 6V en el portapilas es suficiente. Para un sólo motor y con el ENABLE B activo y el ENABLE A desactivo (como en la imagen), recomendable no exceder de los 9V.


Programa

El siguiente programa sirve para probar los motores y como primera toma de contacto con el módulo L298N.

int IN3 = 4; 
int IN4 = 3;
 
void setup()
{
  pinMode (IN3, OUTPUT);
  pinMode (IN4, OUTPUT);    
      
}
void loop()
{
  // Motor gira en un sentido
  digitalWrite (IN3, HIGH);
  digitalWrite (IN4, LOW); 
  delay(5000);
  // Motor no gira
  digitalWrite (IN3, LOW); 
  delay(500);
  // Motor gira en sentido inverso
  digitalWrite (IN4, HIGH);
  delay(5000);
  // Motor no gira
  digitalWrite (IN4, LOW); 
  delay(500);
}

Vídeo


Os animamos a subir vuestros vídeos del tutorial funcionando en nuestro Facebook
nombrándonos en Twitter.

P.