Motores Paso a Paso | Unipolares y Bipolares | Tutorial
A diferencia de los Motores-CC que giran a todo lo que dan cuando son conectados a la fuente de alimentación, los Motores-PaP solamente giran un ángulo determinado, los primeros sólo disponen de dos terminales de conexión, mientras los otros pueden tener 4, 5 o 6, según el tipo de motor que se trate, por otro lado los motores de corriente continua no pueden quedar enclavados en una sola posición, mientras los motores paso a paso sí.
Esas son sólo algunas de las diferencias entre ambos tipos de motores, el primer contacto que tuve con uno de estos fue cuando desarmé una disketera de esas antiguas de 5 1/4, y la pregunta era "como ponerlo en funcionamiento...?" hasta que encontré muy buena información al respecto, y aquí vamos...
Los motores paso a paso son comúnmente utilizados en situaciones en que se requiere un cierto grado de precisión, por ejemplo en las disketeras anteriormente mencionada puedes encontrarlo unido al cabezal haciéndolo avanzar, retroceder o posicionarse en una determinada región de datos alojadas en el disket.
El ángulo de giro de estos motores es muy variado pasando desde los 90º hasta los 1.8º e incluso 0.72º, cada ángulo de giro, (también llamado paso) se efectúa enviando un pulso en uno de sus terminales, es decir que por ejemplo en motores que tienen 90º de giro por paso, se requiere 4 pulsos para dar una vuelta completa, mientras que en los de 1,8º necesitas 200 pulsos, y en los otros necesitas 500.
El que tengo aquí a mano tiene un ángulo de giro de 3,6º es decir que necesita 100 pulsos para dar una vuelta completa, esto puede variar según la forma de control que quieras utilizar.
Los Motores-PaP suelen ser clasificado en dos tipos, según su diseño y fabricación pueden ser Bipolares o Unipolares, aquí tienes un par de imágenes que lo diferencian el uno del otro...
Espero que hayas notado la diferencia, bueno, es que mientras los Unipolares disponen de dos bobinas independientes los Bipolares parecieran tener 4 debido al terminal central que es el común de cada par de bobinas, pues a eso se debe aquello de los 6 cables y que si unes los terminales Com1 y Com2 tienes un terminal común y 4 terminales de control (es decir 5 cables). Bien, ahora veamos como controlar estos motores...
Motores Bipolares
Si tienes la suerte de toparte con uno de estos,(el que tengo yo lo saqué de un disco duro, p) deberás identificar los cables 1a, 1b, 2a y 2b, lo cual es muy sencillo, ya que si utilizas un tester puedes medir la resistencia entre cada par de terminales, ya que los extremos 1a y 1b deben tener la misma resistencia que los extremos 2a y 2b, ahora si mides la resistencia en forma cruzada no te marcará nada ya que corresponden a bobinas distintas.
Bien, pasemos ahora a lo más interesante que es controlar estos motores bipolares.
El tema es que para hacerlo debes invertir las polaridades de los terminales de las bobinas 1 y 2 en una determinada secuencia para lograr un giro a derecha, y en secuencia opuesta para que gire a izquierda, la secuencia sería la que se muestra en esta tabla...
Recuerda que 1a y 1b corresponden a un misma bobina, mientras 2a y 2b corresponden a la otra...
Esto de invertir polaridades ya lo vimos anteriormente, lo que necesitamos ahora es la interfaz para controlar estos motores, ya que en la mayoría de los casos se hace a través de un microcontrolador, o por medio de la PC y como estos entregan muy poca corriente nos la tenemos que arreglar.
Una de las mejores opciones para controlar estos motores es hacer uso del Driver L293B que ya lo mencionamos anteriormente, el circuito en cuestión sería el siguiente...
En el esquema L1 y L2 son las bobinas del motor, los diodos D1 a D8 son para proteger al integrado de las sobretensiones generadas por dichas bobinas, las líneas marcadas en azul corresponden a la tensión de alimentación de los motores, mientras la marcada en verde a los niveles TTL de control del integrado, los terminales 1 y 9 se unieron para hacer un solo terminal de habilitación, y finalmente 1a, 1b, 2a y 2b son las entradas de control para la secuencia de las bobinas del motor, este circuito puede servir de base para muchos proyectos, ya sea controlado por PC o por microcontrolador.
De ahora en más todo se reduce a seleccionar un lenguaje de programación y empezar a codificar las secuencias según la tabla anterior.
Ahora vamos por el que sigue...
Motores-PaP - Lección 2
Motores Unipolares
Estos motores comparado a los anteriores tienen sus ventajas, a pesar de tener mas de 4 cables son más fáciles de controlar, esto se debe a que tienen un terminal común a ambas bobinas. Una forma de identificar cada uno de los cables es analizar la forma de conexión interna de estos motores.
En la imagen los dos bobinados del motor se encuentran separados, pero ambos tienen un terminal central el cual lo llamaremos común (Com1, Com2) jeje, esto parece de puertos... ))
Bueno, en fin, la cuestión es que este motor tiene 6 cables, y ahora vamos a ponerle nombre a cada uno de ellos. Con el multímetro en modo ohmetro comenzamos a medir resistencias por todos los cables y para mayor sorpresa solo se obtienen tres valores distintos y que se repiten varias veces...
- · No marca nada
· 47 ohm
· 100 ohm
Eso me dio a mi, pero analicémoslo un poco...
100 Ohm es el mayor valor por lo tanto corresponde a los extremos de las bobinas, es decir A-B o bien C-D.
47 Ohm es aproximadamente la mitad de 100, por tanto esa debe ser la resistencia entre el terminal común y ambos extremos de una bobina, por ejemplo entre A-Com1 o B-Com1, o bien en la otra bobina, C-Com2 o D-Com2.
Lo que queda pendiente es cuando no marca nada, y bueno es que en ese momento se midieron los cables de bobinas distintas.
Ahora suponte que unes los terminales Com1 y Com2, entonces te quedas con un motor de 5 cables
Aquí la resistencia entre cualquier terminal y el común es la misma y aproximadamente la mitad de la resistencia entre los extremos de las bobinas.
Eso fue para identificar el cable común, ahora vamos por los otros...
Como unimos los cables comunes de cada bobina los cuatro cables restantes serán A, B, C y D, y esto ya es a lo guapo, conecta el terminal común al positivo de la fuente de alimentación, toma uno de los 4 cables que te quedaron, lo bautizas como A y lo mandas a GND y no lo sacas de ahí hasta que te lo diga, el motor quedará enclavado en una sola posición, ahora abre los ojos bien grandes y sostén otro de los tres que te quedaron, presta mucha atención en esta oportunidad ya que cuando lo conectes a GND el motor dará un primer paso y luego ya le estaremos enseñando a caminar jaja...!!!
Aquí pueden ocurrir 3 cosas:
- · Que el motor gire a derecha, lo bautizas como B
· Que gire a izquierda, lo nombras D
· Si no pasa nada es C
Si este último cable era B entonces lo desconectas y manteniendo A Conectado buscas D, es decir que gire a izquierda y bueno, C es el que quedó libre. ahora si ya estamos listos para comenzar.
Lo que necesitamos ahora es un circuito para manejar este motor, y lo vamos a hacer fácil, mira, te consigues un ULN2003 o un ULN2803, que creo es 4 ó 5 veces más económico que el L293B, y es algo así...
Se trata de un array de transistores Dárlington capaz de manejar hasta 500mA en sus salidas, sólo debes tener en cuenta que las salidas están invertidas respecto de las entradas, observa el diagrama interno de una de ellas, se puede apreciar que son de colector abierto. Bien, ahora montemos el siguiente circuito...
Y sí..., lo pondremos a funcionar con el puerto paralelo, no es que sea miedoso, pero por si las moscas, le puse 4 diodos 1N4148, y a demás un diodo zener de 12v para proteger al integrado, este circuito lo puedes montar en una placa de pruebas, que creo está demás decirlo.
Nos queda saber como será la secuencia para poner en marcha estos motores.
Antes de comenzar a explicarlo observa un momento el esquema del circuito y podrás darte cuenta, que los bobinados del motor requieren un pulso de señal negativa para ser activados, como el ULN tiene sus salidas invertidas, cada vez que envíes un "1" por el pin INn se transformará en "0" a la salida, es decir en el pin OUtncorrespondiente.
Bien, ahora sí pasemos a lo que sigue...
Motores-PaP - Lección 3
Secuencia para Motores-PaP Unipolares
Estas secuencias siguen el orden indicado en cada tabla para hacer que el motor gire en un sentido, si se desea que gire en sentido opuesto, sólo se debe invertir dicha secuencia.
Básicamente alcancé a conocer 3 formas de controlar estos motores-PaP, la primera es realizar una secuencia que activa una bobina por pulso...
La verdad es que con esto bastaría, pero al trabajar con una sola bobina se pierde un poco el torque del motor.
La otra propuesta es activar las bobinas de a dos, en este caso el campo magnético se duplica, y en consecuencia el motor tiene mayor fuerza de giro y retención, la secuencia sería la siguiente...
Lo que noté con este tipo de secuencia es que los movimientos resultan demasiado bruscos, y encima las baterías no te aguantan mucho tiempo, pero dicen que este es de los más recomendados.
En estas dos formas de control vistas anteriormente se respetan la cantidad de pasos preestablecidas para cada motor, por ej., si tiene un ángulo de giro de 90º, con 4 pasos das una vuelta completa, pero también puedes hacerlo con 8 pasos, para lo cual deberías programar la siguiente secuencia.
Esta es una combinación de las dos anteriores, y conocida como secuencia de medio paso, por si te preguntas que pasa con la fuerza de giro, sólo puedo decirte que en este caso es bueno tener en cuenta la inercia del motor cuando este se encuentra en movimiento.
También deberías saber que hay un tiempo determinado para realizar la secuencia en cada uno de los pasos que se debe dar, ya que si la velocidad de los pulsos es demasiado alta, es posible que el motor se vuelva loco y gire en el sentido que se le ocurra, o bien quedarse titubeando en una sola posición sin saber que demonios hacer, respecto a eso, no queda otra que probar, y ver que pasa...
Lo más interesante esta por venir...
Motores-PaP - Lección 4
Algo más para ponerlo a prueba.
De todo lo visto anteriormente no hay nada mejor que ponerlo en práctica, así es que me tomé el trabajo de hacer un pequeño programita en VBasic 6, para ver el funcionamiento de este motor, observa...
jeje, no es eeeeeeel programa, pero sirve para iniciarnos en el tema. Antes de que comiences a preguntar, te diré que lo probé con Windows'98, Windows Millennium, y Windows'XP y funciona de 10, debo aclarar que en Windows'XP tuve un par de inconvenientes al utilizar inpout32.dll, así que la dejé, en su lugar conseguí una nueva librería y su nombre es IO.dll, toda la información que necesites de esta librería, la puedes conseguir enhttp://www.geekhideout.com/iodll.shtml, y es de los mismos creadores de Parallel Port Monitor, lo que tiene de bueno, es el soporte para las distintas versiones de Windows y puedes usarla sin tener que especificar en cual trabajas, que bueno no...!, claro queeee está en inglés...
Otra cosa que quiero mencionar, parte del código lo saqué de una de las ediciones de la USERS más precisamente la Extra#45, así es que te puede parecer familiar el código fuente de este programita, y como siempre, no puedo estar tranquilo si no le modifico algo, en fin, ahí está...
Todos los detalles de la programación se encuentran en los comentarios del código fuente, el cual está adjunto.
Por cierto, también incluí la dll y el ejecutable, por si las moscas...!!!
Ok. mis queridos amigos, espero que haya sido de su agrado este pequeño tutorial, por lo pronto vamos a descansar un poco, luego vemos en que líos nos metemos.
Por cierto, vuelvo a repetir...
Cualquier daño ocasionado a tu ordenador por el uso de esta información, no será mi responsabilidad, de acuerdo...?
Ten mucha precaución cuando trabajes con el puerto de tu máquina, ya que cualquier error puede traerte grandes dolores de cabeza...!
0 comentarios:
Publicar un comentario