Hola a todos, en esta entrada os enseñaré a hacer funcionar
motores paso a paso. En primer lugar comenzaremos con una breve explicación de
qué son los mismos.
Los motores
paso a paso son ideales para
la construcción de mecanismos en donde se requieren movimientos muy precisos.La característica principal de estos motores es el hecho de poder moverlos un paso a la vez por cada pulso que se le aplique. Este paso puede variar desde 90° hasta pequeños movimientos de tan solo 1.8°, es decir, que se necesitarán 4 pasos en el primer caso (90°) y 200 para el segundo caso (1.8°), para completar un giro completo de 360°.
Estos motores poseen la habilidad de poder quedar enclavados en una posición o bien totalmente libres. Si una o más de sus bobinas está energizada, el motor estará enclavado en la posición correspondiente y por el contrario quedará completamente libre si no circula corriente por ninguna de sus bobinas.
Os dejo esta página en la que se explica muy bien estos motores. Vienen muchas imágenes de su funcionamiento y demás información.
http://www.todorobot.com.ar/informacion/tutorial%20stepper/stepper-tutorial.htm
Lo que vamos a hacer en esta práctica será coordinar 2
motores paso a paso, de tal manera que, cuando funcionen a la vez, estos giren
sin tocarse.
El objetivo de esta práctica es hacer funcionar los motores
de la mejor manera posible, puesto que hay que controlar muy bien los tiempos
entre paso y paso para que no se produzcan vibraciones, así como también saber
la sucesión de pasos o medios pasos.
Estos serían los dos motores, como podéis ver, cada uno
consta de unas muescas, concretamente 6, entre cada una de estas muescas se
encuentran 4 pasos y, por tanto, 8 medios pasos, es decir, si programamos un
programa que dé cuatro pasos enteros, pasará de una muesca a otra.
En definitiva, si entre muescas hay 4 pasos enteros y en
total hay 6 muescas, tenemos un total de 24 pasos enteros.
Por tanto si 1 paso son 2 medios pasos, tendremos un total
de 48 medios pasos para realizar un giro completo.
Lamento que esto os parezca barrio sésamo pero es importante
saber esto y tenerlo muy claro.
Para hacer que los motores anden tenemos que realizar una
secuencia concreta, que es la siguiente.
A B C D
1 0 1 0
1 0 0 1
0 1 0 1
0 1 1 0
Con esto conseguimos que el motor de 4 pasos enteros. Recordemos
entonces que lo que hasá será de ir de muesca a muesca.
Por tanto esto sería una parte del programa, en el interior
del primer flat secuence he metido un while que contiene los 8 primeros pasos,
como he tenido muchos problemas con este VI está algo desordenado, en algunos
casos he alternado entre paso y medios pasos, como os enseño en la imagen.
Dentro del cuadro amarillo, creo un flat secuence en el que
pongo un primer medio paso, seguido de un retardo y vuelvo a escribir otro
medio paso, por tanto, en una secuencia doy un paso entero, solo que dividido.
En algunos de los siguientes repito la misma acción, puesto
que así conseguía centrar el motor para que no chocara.
Con el otro motor he hecho exactamente igual (es un
copia/pega) del while de color rojo, por tanto, ambos motores se mueven ahora
iguales.
He tenido algunos problemas a la hora de coordinarlos, ya
que a veces vibran y eso hace que rocen de vez en cuando y por tanto, suene.
Aunque esto no es muy común.
Por otro lado lo que hice fue poner un control de retardos,
de tal manera que, mientras le daba a run, variaba el control mientras veía el
movimiento de los motores y me fijaba si cesaba esa vibración.
Hasta que lo conseguí.
Esto serían los dos controles que puse con los que controlo
el tiempo.
Por último este sería un vídeo demostrativo de su
funcionamiento a gran velocidad.
Fijaros como apenas tienen vibraciones por haber ajustado
los tiempos.
Gracias a esto consigo poder subir la velocidad de los motores
(reduciendo los retardos entre paso y paso).
UN SALUDO!