lunes, 1 de septiembre de 2014

Motor paso a paso unipolar

Generalidades
El motor paso a paso es un dispositivo electromecánico que convierte una serie de impulsos eléctricos en desplazamientos angulares discretos, lo que significa que es capaz de avanzar una serie de grados (paso) dependiendo de sus entradas de control.
El motor paso a paso se comporta de la misma manera que un conversor digital-analógico (D/A) y puede ser gobernado por impulsos procedentes de sistemas lógicos.
Este motor presenta las ventajas:
  • Alta precisión.
  • Repetitividad en cuanto al posicionamiento.
Estos motores suelen tener 5 ó 6 cables de salida dependiendo de su conexionado interno.
Este tipo se caracteriza por ser más simple de controlar, estos utilizan un cable común a la fuente de alimentación y posteriormente se van colocando las otras líneas a tierra en un orden específico para generar cada paso, si tienen 6 cables es porque cada par de bobinas tiene un común separado, si tiene 5 cables es porque las cuatro bobinas tiene un solo común.
En esta imagen tenemos un motor unipolar con reductora de engranajes de 6 cables obtenido de una vieja impresora.
Motor paso a paso unipolar de impresora
Identificación de los cables
Para la identificación del orden en el que debe enviarse los pulsos al motor, hay que emplear el polímetro ya que nos va a arrojar valores de resistencias entre cables que serán los que nos sirvan para identificar el positivo o positivos común y los grupos de cables que vamos a formar.
Cuando el motor tiene 6 cables, va a haber 2 cables comunes que uniremos y formaremos un único común.
En la siguiente imagen podemos ver el detalle de unión de los 2 cables positivos que coinciden en ser los rojos.
Motor paso a paso unipolar 6 cables
En el siguiente vídeo podemos ver como se identifican los cables para ordenarlos posteriormente y obtener un movimiento continuo.
   
  Resumen de la identificación en caso de ser 6 cables:

Tomamos un cable cualquiera y medimos la resistencia con los demás.
  1. Los que arrojen un resultado de resistencia formarán parte del grupo.
  2. Los restantes formarán otro grupo entre sí.
  3. En cada grupo. El cable que ofrezca una menor resistencia  al unirlo con los otros (la mitad) será el positivo.
  4. Realizamos la misma operación en el otro grupo.
  5. Unimos ambos positivos.
  6. Establecemos el orden de secuencia tomando un cable alternativamente de cada grupo.
 Conexión a la placa Picaxe
Para conectarlo a la placa Picaxe podemos hacerlo de 2 formas:
  • Conectarlos en el orden obtenido previamente a las salidas B.4, B.5, B.6 y B.7 tanto en las clemas azules de conexión de salida o en los pines que están en la parte central de la placa.
  • Conectarlos a las salidas B.0, B.1, B.2 y B.3 pero sólo podemos hacerlo en los pines de la parte central de la placa ya que si los conectamos en las clemas de conexión de salida tenemos el problema que son conexiones con buffer y no funcionarían, por lo que hay que sacarlas directamente de la salida del chip picaxe que se encuentra en los pines de la zona central.
Conexión motor paso a paso a placa picaxe
Funcionamiento

En este vídeo podemos ver el funcionamiento continuo de forma indefinida de un motor paso a paso con gran reducción.




Programación
El funcionamiento de un motor paso a paso es muy sencillo. Básicamente hay que hacer 2 cosas:
  • Indicar que las conexiones son de salida (output)
  • Emplear el comando let pins con el estado de cada salida, es decir, todas las conexiones desconectadas excepto la que esté en uso en ese momento.
Nota: Recuerda que desconexión o apagado es un "0" excepto en las conexiones B.4, B.5, B.6 y B.7 que van al contrario porque pasan por el chip L293D que invierte la señal. Por lo tanto en dichas conexiones se emplea un "1" para desconectar.
Si hubieramos sacado las conexiones de la parte central sería como siempre ya que es directo del chip, sin pasar por el L293D.
Programa básico:
'%%%%%%%%%%%%%%MOTOR PASO A PASO%%%%%%%%%%%
output B.0    'Conexiones puestas como salidas
output B.1
output B.2
output B.3
output B.4
output B.5
output B.6
output B.7
inicio:   ' Funcionamiento indefinido del motor paso a paso
let pins =%11100000  'Orden  B.7......B.0  (Conectamos B.4, las demás apagadas)
pause 50  ' No es inprescindible. Solo hace que vaya algo mas despacio.
let pins =%11010000  'Orden B.7......B.0  (Conectamos B.5, las demás apagadas)
pause 50 
let pins =%10110000  'Orden B.7......B.0  (Conectamos B.6, las demás apagadas)
pause 50 
let pins =%01110000  'Orden B.7......B.0  (Conectamos B.7, las demás apagadas)
pause 50 
goto inicio   ' Vuelta a empezar