jueves, 17 de abril de 2014

Motores paso a paso...

Pues sí amigos, ya estamos aquí de nuevo con una entrega más sobre arduino y sus aplicaciones en el ámbito del arte cinético. En esta ocasión hemos estado investigando sobre motores paso a paso (stepper motors en inglés). Se trata de un tipo de motores eléctricos que permiten un control muy preciso de la rotación del eje. Son muy comunes en aparatos tan domésticos como una impresora, la máquina de aire acondicionado, etc. Busqué por internet algún tutorial que me facilitara entender cómo funcionan y cuál sería la mejor librería de arduino para sacarles el máximo partido a su movilidad. Encontré esta página web, de un ingeniero norteamericano llamado Terry King, que me pareció estupenda y que te explica fácilmente cómo utilizar los motores paso a paso más baratos que se puedan encontrar en internet, los 28YBJ-48. Yo me compré nueve en ebay, al increible precio de 2,85 € cada uno con su driver correspondiente.

Stepper + Driver
Puesto que para mover todos los motores al mismo tiempo necesitaba bastante amperaje, fui a SONICOLOR, en Sevilla, y compré una fuente de alimentación a 5V y 10AmP, muy baratita.

Mi idea era crear un cuadro en el que nueve piezas de forma cuadrada se movieran acelerando y decelerando de forma sincronizada. El movimiento de todas ellas crearía diferentes patrones en blanco y negro que jugarían con los ángulos rectos y los de 45º. Gracias a la librería para Arduino AccelStepper, creada por Mike McCauley, es posible mover varios motores paso a paso de forma que se pueda controlar la aceleración y deceleración de una manera más o menos fácil. 

Sensor casero con led + LDR
El problema que se planteaba, una vez resuelta la cuestión de crear un parche para arduino que controlara todos los movimientos de forma sincronizada, fue lograr que pudiéramos apagar toda la instalación justo en el lugar de comienzo de toda la rutina. Como al apagar, arduino no memoriza la posición de inicio, tuve que idear un tipo de sensor de paso casero mediante un led de 3mm y un sensor LDR. Si quieres apagar la instalación, lo único que tienes que hacer es presionar un pulsador y esperar a que los motores se pongan en su posición inicial, lo cual hace que actúe el sensor y de inmediato se para todo gracias a un relé.

Interruptor y pulsador
En el proceso de creación de la pieza, descubrí los pros y contras de los motores 28YBJ-48. Su principal virtud es que son super baratos, que funcionan a 5V y que aparentemente no se calientan como la mayoría de los motores paso a paso y sus drivers. Lo malo es que, debido a que sus mecanismos internos son de plástico, tiene cierta holgura (5º+/-), lo que hace que la precisión absoluta sea imposible.

A continuación os dejo un vídeo explicativo de todo el proyecto y el resultado final. Sin dejar de gustarme, he de confesar que en el futuro, empezaré a trabajar con motores más precisos, tipo Nema 17, con Easydriver 4.4. Éstos sí que permiten precisión al milímetro y coordinación total. Tendré que rascarme los bolsillos o acudir a un punto limpio a reciclar motores de impresoras rotas (Por cierto, si alguien va a tirar su vieja impresora que me llame antes).



PD.: La pieza es un homenaje al artista eslovaco Viktor Hulík. Acudid a su web y lo vais a flipar.

2 comentarios:

  1. Hola Jose, muy bueno el resultado final, felicitaciones.

    ResponderEliminar
  2. Hola jose, cual es el nombre de la obra a la que le has echo homenaje?

    ResponderEliminar