Cómo puedo hacer y programar un motor utilizando Arduino - Tutorial detallado

Las bondades que ofrecen las placas de Arduino es tal que es posible realizar una gran cantidad de proyectos de pequeña, mediana y gran escala de acuerdo a las prestaciones con las cuales se cuenten. Porque no basta solamente tener el Arduino programado si no existe una conexión con otros elementos que lleven a cabo el algoritmo creado. Entre las tantas implementaciones que se pueden realizar, encender un motor, cambiar su sentido de giro y más son solo algunas de ellas. Es por ello que en este tutorial detallado te explicaremos cómo hacer y programar un motor utilizando Arduino.

Cómo puedo hacer y programar un motor utilizando ARDUINO - Tutorial detallado

Índice()
  1. ¿De qué se trata la programación de un motor?
  2. ¿Cuáles son los distintos motores que puedo programar?
    1. Motor DC Brushless
    2. Motor CD
    3. Driver L298
    4. Motor Servo
    5. Driver L293D
  3. ¿De qué forma elegir el mejor motor para mis necesidades?
  4. ¿Cómo puedo programar el motor que requiero con Arduino?
    1. Juntar todos los componentes
    2. Designar las bobinas a sus pines
    3. Programar el motor de manera manual

¿De qué se trata la programación de un motor?

Básicamente la programación de un motor es poder utilizar un hardware junto a un software que enlazado con un amplificador que permita llevar la corriente a niveles adecuado para el accionamiento del mismo. Este amplificador por lo general es conocido como 'driver' y es el artefacto que permite controlar el motor mediante una programación establecida.

programar motor con placa arduino

Visto de otra manera, la placa Arduino se programa con las entradas y salidas al driver de modo que este escale la corriente para poder encender o apagar el motor, invertir el sentido de giro o aumentar la velocidad del motor. Para ello hay que realizar las conexiones necesarias antes de cargar el programa a la placa Arduino.

Existen distintos tipos de motores que se pueden accionar mediante programación Arduino. A continuación mencionaremos lo más utilizados y cómo funcionan. También puedes ahorrarte tiempo al momento de usar el IDE de Arduino ejecutando los comandos CMD en Windows con PC o laptop facilmente de manera que puedas hacer todo más rápido.

¿Cuáles son los distintos motores que puedo programar?

Como mencionamos anteriormente, existen varios tipos de motor que se pueden utilizar para programar con una placa Arduino. A continuación te presentamos los modelos que puedes utilizar y adquirir para implementar, de acuerdo a lo que quieras hacer.

placa arduino

Motor DC Brushless

Este tipo de motor es característico por no tener escobillas al carecer de anillos rozantes para cambiar de polaridad la corriente del campo magnético. En comparación con los demás tipos de motor, este es el más económico cuyo mantenimiento es mínimo además de ser liviano.

Por ser de complejidad baja para manipular es muy utilizado en aplicaciones tecnológicas así como en mecanismos de bandejas lectoras de DVD.

Motor CD

También conocido como motor de corriente directa o de corriente continua, es el motor básico que convierte energía eléctrica en energía mecánica. Este está compuesto por un estator y un rotor que se accionan entre ellos para hacer la transformación de la energía.

En el estator se crean los polos o el campo magnético que ejerce influencia sobre el rotor al momento que por este pasa la corriente eléctrica. De esa manera mediante la Ley de Faraday se produce el movimiento rotatorio. A este tipo de motor se le regula la velocidad fácilmente por lo que es común encontrarlo en muchas aplicaciones.

Driver L298

Aunque no es un motor en sí, es una herramienta electrónica que permite controlar la velocidad y el sentido de giro de dos motores al mismo tiempo. Puede producir hasta 2 amperios de corriente además de tener un rango de temperatura de trabajo extensa, de 20 ºC hasta 135 ºC.

implementacion de placa arduino

Motor Servo

Los servo motores son un tipo muy peculiar por contar con un lazo de retroalimentación que les permite regular su velocidad, aceleración, eje y sentido de giro. Cuenta con un gran torque porque tiene un potenciómetro que acciona a un motor CD.

Básicamente un motor servo es una placa Arduino, un potenciómetro y un motor CD cuya finalidad es mover engranajes. Suelen ser utilizados a nivel industrial por la facilidad que tiene al momento de regular su estado de funcionamiento.

Driver L293D

Al igual que el Driver L298, el Driver L293D no es un motor en sí sino más bien un controlador de motores. Es ideal para el control de 4 motores CD o 2 servo motores al mismo tiempo de manera que se puede jugar con las combinaciones.

Lo que lo caracteriza es que cuenta con 4 circuitos separados donde se puede regular la carga que recibirá cada motor.

¿De qué forma elegir el mejor motor para mis necesidades?

Antes de seleccionar un motor y adquirirlo hay factores importantes a tomar en cuenta antes de tomar un decisión. Principalmente todo se basará en la implementación que quieras llevar a cabo. En líneas generales debes tener en cuenta los siguientes aspectos técnicos:

  • El torque de carga. Es importante que conozcas el torque de la carga de manera que utilices un motor que tenga un torque de arranque mayor, de lo contrario no moverás a la carga y podrías dañar el motor.
  • Velocidad del motor. Un aspecto importante para dimensionar el motor, su velocidad. Ten en cuenta cuánta velocidad necesita tu proyecto.

placa electronica

  • Trabajo máximo. En el caso de que vayas a trabajar con cargas variables es importante que siempre se mantengan en el rango de trabajo de motor.
  • Corriente nominal. Es la corriente base que necesita el motor para poder girar de forma constante. De acuerdo a la tensión de alimentación y la resistencia del circuito tendrás que seleccionar un motor de capacidades lógicas.
  • Tensión de alimentación. Al momento de seleccionar el motor este debe ser capaz de accionarse por la señal del driver el cual se acciona de acuerdo a la señal del Arduino.
  • Potencia del motor. Dependiendo de la aplicación que quieras llevar a cabo, tendrás que dimensionar correctamente la potencia nominal del motor.
  • Versatilidad en el giro. Es importante que sepas cómo será el sentido de giro del motor de manera que escojas uno que te permita realizar todos los cambios que necesites.

De la misma manera debes tener en cuenta el tamaño físico del motor así cómo dónde lo vas a colocar a girar además de que cuente con los soportes necesarios. Por otro lado, al momento de desarrollar el proyecto es vital que tengas actualizado el sistema de tu PC para poder utilizar el IDE de Arduino de mejor manera.

¿Cómo puedo programar el motor que requiero con Arduino?

codigo de programacion

En líneas generales, la programación de un motor con Arduino variará de acuerdo al tipo, sin embargo también la implementación es parecida en todos los casos. Simplemente hay que seguir una serie de pasos hasta llegar a la programación manual en el IDE de Arduino. Encontrarás en la página oficial de Arduino la librería con la que podrás programar servo motores.

Juntar todos los componentes

Antes que todo y primero que nada, hay que juntar todos los elementos que formarán parte del circuito del motor. Lo principal es conectar la placa Arduino al controlador, luego la batería al controlador y por último, el motor al controlador. Debes conocer bien cuáles son los pines del Arduino que tendrás que conectar al controlador.

Designar las bobinas a sus pines

Dependiendo de lo que quieras realizar con el motor tendrás que designar las bobinas del mismo a los pines del Arduino de manera que puedas regular su velocidad y torque de forma correcta.

Programar el motor de manera manual

Lo siguiente será programar de manera manual el motor en el IDE de Arduino para luego cargar el programa a la placa y así empezar a controlar tu motor. Las siguientes líneas de código sirven para accionar un motor de manera normal, con su torque máximo nominal.

  1. */
  2. #define IN1 8
  3. #define IN2 9
  4. #define IN3 10
  5. #define IN4 11
  6. int paso [4][4] =
  7. {
  8. {1, 1, 0, 0},
  9. {0, 1, 1, 0},
  10. {0, 0, 1, 1},
  11. {1, 0, 0, 1}
  12. };
  13. void setup()
  14. {
  15. pinMode(IN1, OUTPUT);
  16. pinMode(IN2, OUTPUT);
  17. pinMode(IN3, OUTPUT);
  18. pinMode(IN4, OUTPUT);
  19. }
  20. void loop()
  21. {
  22. for (int i = 0; i < 4; i++)
  23. {
  24. digitalWrite(IN1, paso[i][0]);
  25. digitalWrite(IN2, paso[i][1]);
  26. digitalWrite(IN3, paso[i][2]);
  27. digitalWrite(IN4, paso[i][3]);
  28. delay(10);
  29. }
  30. }

herramientas para conexiones

Explicando un poco el funcionamiento del código se crean cuatro variables donde se guardan los pines para accionar el motor. Así mismo se declara una matriz con el par de bobinas que se accionan de acuerdo al cableado. Se establecen los pines de salida que va directamente al motor y en el ciclo infinito del proceso se van accionando las bobinas de acuerdo a un ciclo for.

Como puedes ver la implementación de proyectos con motores utilizando placas Arduino es sencilla, simplemente se deben contar con los elementos necesarios así como con el algoritmo correcto. Por otro lado, también puedes controlar un motor a través de tu dispositivo móvil conociendo cómo activar y ocultar el menú de desarrollador en Android para poder acoplar mediante Bluetooth los comandos de accionamiento del mismo.

Espero que esta información te sea de ayuda para que hagas desde cero tu propio proyecto con motores utilizando Arduino, ¡hasta la próxima!

Subir