Control de motores con Arduino
Un motor de corriente con nua (denominado también motor DC por las iniciales en inglés direct
current) es una máquina que convierte energía eléctrica en mecánica, provocando un movimiento
rotatorio, gracias a la acción de un campo magné co.
Arduino ene pines de entrada y de salida para comunicarse sicamente con su entorno. Los pines de
salida pueden dar una pequeña can dad de energía que sirve por ejemplo para encender un LED, pero
no pueden alimentar a un motor. Para ello necesitamos un circuito que haga de intermediario. Este
circuito, el controlador o driver de motores, tomará energía de otra fuente (una pila, batería o
equivalente) y siguiendo las instrucciones de Arduino hará funcionar el motor.
Para poder controlar un motor necesitamos dos caracterís cas fundamentales:
Inver r el sen do de giro del motor.
Graduar la velocidad de giro del motor.
Drivers con Puentes H
Un motor DC cambia el sen do de giro cuando inver mos los polos posi vo y nega vo en sus
bornes, y este circuito mediante una serie de interruptores hace internamente ese cambio de
polaridad. Lo que usaremos es un circuito integrado que ene esos interruptores y las abrirá y
cerrará siguiendo instrucciones del Arduino.
Señales PWM
Un motor DC está preparado para funcionar a la tensión que permite el fabricante. Si le damos
una tensión menor girará más despacio, llegando en el extremo a pararse. Así podemos regular
la velocidad.
Arduino no puede (con excepciones) regular directamente los vol os que salen por un pin,
pero puede generar señales PWM y así simular una tensión menor en vol os.
Tecnologías para la Automatización. Control de motores con Arduino 1
Caracterís cas generales de los drivers
Cuando elegimos un driver debemos tener en cuenta varias cosas;
Cuan dad de motores a controlar. Si tenemos circuitos integrados que pueden controlar esa
can dad de motores.
La potencia (consumo en mA) que necesitan esos motores. El driver deberá entregar esa
potencia o más.
Qué tensión de alimentación (en V) enen los motores.
Si la potencia es suficiente podremos conectar dos motores en paralelo a una misma salida de
un driver. También podemos conectar varios drivers pero en ese cado necesitaremos un
Arduino con muchas salidas (como el Mega 2560) o un circuito más especializado con otro po
de comunicación.
Drivers más u lizados en proyectos DIY/DIWO
L9110
L298N
L297D
TB6612FNG
DRV8835
En esta materia solo trataremos 2 de ellos.
L298N
Sirve para controlar motores de entre 6 y 50 vol os y con un consumo máximo de 2 A. Un
mismo integrado sirve para controlar dos motores.
Tres pines de control para el motor A, dos de ellos digitales (IN1, IN2) y uno PWM (ENA).
Otro tres con el mismo esquema para el motor B (IN3, IN4, ENB).
La operación del driver ene la siguiente lógica
Tecnologías para la Automatización. Control de motores con Arduino 2
Esquema de conexión con Arduino UNO
L293D
Este driver puede encontrarse montado en una placa independiente, en una shield (que puede
controlar hasta 4 motores con dos integrados) o el integrado suelto, que es como lo vamos a
ver aquí ahora. Puede controlar dos motores entre 4.5 y 25 vol os y con un consumo máximo
de 600 mA.
El esquema de conexión es el siguiente:
La lógica de funcionamiento es la misma que en el L298N. Posee dos pines de dirección
(digitales) y uno PWM (enable) por cada lado del integrado. También dos entradas de
alimentación, para los motores y para el propio integrado.
Tecnologías para la Automatización. Control de motores con Arduino 3