Voy a jugar con un motor paso a paso (stepper motor) con Arduino.
Para saber lo que es un motor paso a paso y cómo funcionan puedes consultar aquí o aquí.
Para manejar el motor con Arduino emplearemos el controlador ULN2003 (el mío en concreto es ULN2003AN). Es muy frecuente encontrar este controlador como parte de un módulo «didáctico» que viene con unos leds que indican qué bobina está funcionando en cada momento.
El motor tiene dos «modos» de funcionamiento: de paso completo (full-step mode) y de medio paso (half-step mode).
Tanto el motor como este controlador suelen venir en casi cualquier kit de aprendizaje de Arduino.
El stepper que yo tengo es un 28BYJ-48. Funciona a 5V DC y es muy barato (en torno a 2€).
El esquema de conexión es el siguiente:
Conectado quedaría así:
O si empleamos el módulo sería de la siguiente forma:
Que podemos ahorrarnos los cables si conectamos el módulo directamente a los pines 8, 9 10 y 11 del Arduino, como se muestra en las dos siguientes figuras:
Lo ideal es alimentar el motor desde una fuente externa y no desde la placa de Arduino, ya que en teoría se necesita más corriente de la que Arduino puede proporcionar.
Código
En el IDE de Arduino vienen varios ejemplos que hacen uso del stepper.
Referencias
http://www.makerbothy.com/?p=269
- Wikipedia
- Adafruit
- El Cajón de Ardu
- http://www.instructables.com/id/Controlling-a-Stepper-Motor-with-an-Arduino/