Un motor paso a paso al contrario de los motores convencionales que giran continuamente, – como su nombre lo indica – se mueve de a un paso a la vez. Si comandamos el motor para que se mueva en determinado número de pasos, este rota incrementalmente en ese número indicado de pasos y paradas.
Los motores Paso pueden ser vistos como motores eléctricos sin conmutadores. Típicamente todas las bobinas en el motor son parte del estator, y el rotor son o bien un imán permanente, o en el caso de los motores paso a paso de reluctancia variable, un bloque dentado de algún material magnético suave. Toda la conmutación de be ser manejada externamente por el controlador del motor, y típicamente los motores y los controladores se diseñan de tal forma que el motor pueda mantenerse en una posición fija, como también rotar en un sentido o en otro. La mayoría de motores paso a paso, pueden ser controlados con pasos a frecuencias audibles, lo que les permite girar a velocidades relativamente altas, y con un controlador adecuado, pueden ser “arrancados” y “frenados” muy rápidamente.
En algunas aplicaciones, hay que escoger entre usar un servomotor o un motor paso a paso. Ambos tipos de motor ofrecen posibilidades similares para posicionamiento preciso, pero difieren en varios sentidos. En primer lugar, los servo-motores requieren sistemas de control de retroalimentación análoga, típicamente esto supone el uso de un potenciómetro lineal para proveer de “Feedback” acerca de la posición del rotor, además que se necesitan de circuitos que haga que la corriente del motor sea inversamente proporcional a la diferencia entre la posición deseada y la corriente del motor.
Cuando se está escogiendo entre servo-motores y motores paso a paso, cierto número de aspectos han de tenerse en cuenta; cual de ellos usar dependerá de la aplicación. Por ejemplo, la repetibilidad del posicionamiento hecho con un motor paso a paso depende de la geometría del rotor del motor, mientras que la repetibilidad de posicionamiento con un servo motor depende generalmente de la estabilidad del potenciómetro y otros componentes análogos en el circuito de retroalimentación.
Los motores paso a paso pueden usarse en sistemas simples de control en lazo abierto; estos son generalmente adecuados para sistemas que operan a bajas aceleraciones con cargas estáticas, en cambio el control por lazo cerrado puede ser esencial para altas aceleraciones, particularmente si involucran cargas variables. Si un motor paso a paso en un control de lazo abierto es esforzado en un par superior al que puede soportar, todo el conocimiento acerca de la posición del rotor se pierde y el sistema debe reinicializarse, por el contrario los servo-motores no tienen ese problema.
Los motores paso a paso son conocidos en inglés como Steper Motors, en alemán como Scrhittmotoren y en francés como moteurs pas à pas.
Aspectos básicos en Motores Paso a Paso
Ahora vamos a darle un vistazo más de cerca a los motores paso a paso. La primera cosa que advertimos al tener uno de ellos en nuestras manos es que tiene más de dos cables para controlarlo, varias versiones tienen cuatro, cinco, seis y en ocasiones más cables. Otra cosa que notamos es que cuando hacemos rotar manualmente el eje, sentimos un movimiento “entallado” de a partes y no uno continuo como sería de esperar en otros motores.
La forma más sencilla de pensar en un motor paso a paso, es un imán en barra que gira alrededor de su centro con cuatro imanes individuales pero exactamente iguales rodeándolo. Si hacemos girar el imán sin energizar ninguna de las bobinas obtenemos esa sensación “amuescada” debido a que una fuerza magnética relativamente grande es generada debido a la alineación de uno de los imanes permanentes con el centro de los electroimanes; esta fuerza es llamada “par de frenado”.
Vamos a asumir que la posición inicial del rotor magnético es como se muestra en la Figura 1A, ahora ponemos en marcha la bobina A; es decir, dejamos fluir la corriente a través de la bobina para crear un electroimán como se muestra en la figura 1B. En este caso el motor no se mueve, pero tampoco podemos moverlo libremente a mano (o por lo menos debe aplicársele un mayor momento para poder moverlo) debido al alto “par de aferramiento”. Este par es generado por la atracción de los polos norte y sir del imán del rotor y del electroimán producido en el estator por la corriente.
Para mover el motor en el sentido de las agujas del reloj desde su posición inicial, necesitamos generar un par el esa misma dirección. Esto se hace apagando la Bobina A, y encendiendo la Bobina B. El electroimán en la Bobina B hala el rotor magnetizado y el motor se alinea por sí mismo con la Bobina B como se muestra en la Figura 2A. Apagando la Bobina N y encendiendo la Bobina V el motor se moverá un paso hacia adelante como se muestra en la Figura 2B.
Comparando la Figura 1B y la Figura 2B, podemos entender que la sentido del flujo de corriente en la Bobina C es exactamente opuesta a la sentido del flujo en la Bobina A. Esto es necesario para generar un electroimán de polaridad correcta, que hale el rotor en el sentido de las manecillas del reloj. Por la misma lógica, la dirección de la corriente en la bobina D debe ser opuesta a la de la Bobina B cuando el rotor efectúa el siguiente paso (apagando la bobina C y encendiendo la bobina D).
Un giro de 360° se completará si apagamos la Bobina D y encendemos la Bobina A. La secuencia descrita de operación de las bobinas (B, C, D, A), es responsable de la rotación en el sentido del reloj del motor.
Motores paso a paso Unipolares y Bipolares
Dos terminales en cada una de las cuatro bobinas en un motor paso a paso pueden presentarse en diferentes formas. Todos los terminales pueden ser sacados del motor separadamente. Alternativamente se pueden formar dos bobinados, conectando A y C juntos y B y C juntos como se muestra en la figura 3. Los terminales de esos dos devanados pueden ser sacados del motor de tres formas diferentes, como se muestra en la figura 3, Figura 4 y la Figura 5, estas configuraciones son la Bipolar (4 terminales), la Unipolar de 5 terminales y la Unipolar de 6 terminales.
Tipos de motores paso a paso
Los motores paso a paso vienen en dos variedades, motores paso a paso de imán permanente, y los motores paso a paso de reluctancia variable (también hay motores híbridos, los cuales son indistinguibles de los motores de imán permanente desde el punto de vista del control). Si no hay una etiqueta que identifique el motor, podemos saber de que tipo es probándolos con la mano: si al girarlos manualmente el rotor se mueve a “saltos” entonces se trata de un motor paso a paso de imán permanente, si se mueve continuamente entonces se trata de un motor paso a paso de reluctancia variable (puede haber cierta sensación ligera de movimiento a “saltos” debido a el magnetización residual del rotor). Más información sobre como distinguir los motores paso a paso los encontrarás mas adelante.
Los motores paso a paso vienen en un amplio rango de resoluciones angulares. Los más ordinarios giran típicamente 90 grados por paso, mientras que motores de imán permanente de alta resolución pueden manejar 1.8 o incluso 0.72 grados por paso. Con un controlador apropiado, la mayoría de motores de imán permanente e híbridos pueden moverse medios pasos y algunos controladores pueden hacer moverlos en fracciones de pasos, esto es conocido como micropaso o microstepping.
Para ambos, los motores de imán permanente y de reluctancia variable, si únicamente una bobina del motor está energizada, el rotor (sin carga aplicada) se moverá rápidamente a un ángulo fijo y luego mantendrá ese ángulo hasta que el par aplicado exceda el par de retención (holding torque) del motor, en ese punto el motor girará, tratando de mantenerse en los sucesivos puntos de equilibrio.
Un motor paso a paso actual de Imán Permanente
El simple motor paso a paso que describimos anteriormente, se mueve en pasos bastante toscos de 90°. Cómo hacen los motores actuales para conseguir pasos tan pequeños como 7.5°? El estator (es decir los electroimanes estacionarios) de un motor real tiene más segmentos en el. Un arreglo con ocho estatores se muestra en la Figura 6.
El rotor también es diferente, un rotor cilíndrico con 6 polos se muestra en la Figura 6. Hay entonces 45 grados entre cada sección del estator y 60 grados entre cada polo del rotor. Usando el principio de un vernier, el movimiento real del rotor por cada paso es 60 menos 45, es decir 14 grados. En este caso sólo hay dos bobinas: una conecta las secciones de los polos A, C, F y H. Asumamos que la corriente esta fluyendo en cierto sentido únicamente a través de la primera bobina, y las secciones están conectadas de tal manera que:
- A y C tienen polaridad SUR (S)
- E y G tienen polaridad NORTE (N)
El rotor se alineará de acuerdo a como se muestra en la figura 6. Digamos que queremos que el rotor se mueva 15 grados en el sentido de las manecillas. Podriamos remover la corriente aplicada al primer bobinado y energizar el segundo, en el que las seciones B, D, F y H están conectadas juntas de tal forma que:
- B y D tienen polaridad SUR (S)
- F y H tienen polaridad NORTE (N)
En el siguiente paso la corriente a través del bobinado 2 es removido y una corriente de polaridad inversa es aplicada en el bobinado 1. Esta vez, A y C tienen polaridad N, y E y G tienen polaridad S; de esta manera el rotor hará un paso más de 15 grados en la dirección de las manecillas del reloj. El principio de operación es el mismo que en motor paso a paso básico con una barra de imán como rotor y cuatro electroimanes individuales como estatores, pero en esta última construcción se logran pasos de 15 grados. Diferentes “ángulos de paso” (esto es, el desplazamiento angular por paso) pueden obtenerse variando el numero de polos en el estator y en el rotor. En un motor actual, ambos el motor y el estator son cilíndricos, como se muestra en la Figura 7. Este tipo de motor es llamado “Motor paso a paso de Imán permanente (PM)” debido a que el rotor es un imán permanente. Estos son motores de bajo costo con ángulos de paso típicos de 7.5 o 15 grados.
Motor paso a paso de reluctancia variable
Hay un tipo de motor en el cual el rotor no es cilíndrico, sino que se ve como barras con un número de dientes en el, como se muestra en la figura 8. Los dientes están hechos de un material ferreo suave. El electroimán producido por la activación de las bobinas del estator secuencialmente, atrae la barra metálica (rotor) hacia el camino de reluctancia mínimo en el circuito magnetico. Cuando tratamos de mover manualmente un motor paso a paso de reluctancia variable cuando se encuentra desenergizado no tenemos esa misma sensación de “amuescado” que tenemos con los motores paso a paso convencionales. Como el estator es un electroimán y el rotor es una pieza de hierro suave, o hay flujo magnético en el espacio de aire cuando el motor está desenergizado; por lo tanto no hay un par que frene el rotor.
El motor paso a paso de reluctancia variable que se muestra en la Figura 8 tiene cuatro dientes en el rotor, separados entre ellos 90 grados; también tiene seis polos de estator separados por 60 grados. Así cuando los bobinados se energizan en una secuencia que se repite de 2, 3, 1 y así sucesivamente, el motor rotará con un ángulo de paso de 30 grados. Estos motores proveen menos par de parada cuando se comparan con los motores paso a paso de imán permanente (PM), pero las características de par dinámico son mejores.
Los motores paso a paso de reluctancia variable se construyen normalmente con tres o cinco bobinados de estator, en contraposición a los dos bobinados de los motores paso a paso PM.
Motores Paso a Paso Hibridos (HB)
La construcción de motores paso a paso de imán permanente (PM) se vuelve muy complejo para ángulos de paso menores a 7.5 grados. Ángulos menores pueden realizarse mediante la combinación de motores paso de reluctancia variable y motores paso de imán permanente. A estos tipos de motores se les llama motores paso a paso híbridos (HB), los cuales pueden tener ángulos de paso mucho menores, tan pequeños como 0.9 grados por paso.
Un motor hibrido típico se muestra en la Figura 9. La construcción del estator es similar a la de un motor paso a paso de imán permanente (PM), y el rotor es cilíndrico y magnetizado como en los motores PM, pero también tiene multiples dientes como un motor paso a paso de reluctancia variable (VR). Los dientes en el rotor proveen un mejor camino para el flujo que pasa a través de lugares preferentes en el espacio de aire entre el rotor y el estator. Esto incrementa el par de frenado (que hace que el rotor se quede en su lugar bajo carga) y el par dinámico, en comparación con los otros dos tipos de motores paso a paso.
Los motores híbridos tienen un ángulo de paso menor comparado con los motores de imán permanente, pero son muy costosos. El aplicaciones de bajo costo el ángulo de paso de un motor paso a paso de imán permanente puede ser dividido en ángulos menores usando técnicas de control mejores a las tradicionales.
Los motores paso a paso de imán permanente y los motores paso a paso híbridos son más populares que los motores paso a paso de reluctancia variable, y debido a que la construcción de estos motores es muy similar, un circuito de control puede manejar fácilmente ambos tipos de motores.
Como identificar los terminales de los motores paso a paso de imán permanente e híbridos
Los códigos de colores de los cables que salen del motor no son estándar; sin embargo usando un multímetro / ohmímetro, es fácil identificar los finales de los bobinados.
Si únicamente salen 4 terminales del motor, entonces el motor paso a paso es bipolar. Si la resistencia medida entre dos terminales, digamos terminal 1 y 2 en la Figura 3, es finita, entonces esos son los terminales de una bobina. Si el multímetro muestra un circuito abierto (esto es, si estas tratando de medir entre los terminales 1 y 3, o 1 y 4, o 2 y 3, o 2 y 4), entonces los terminales son de diferentes bobinados.
Si hay 5 cables que salen del motor, entonces la resistencia entre un terminal y todos los demás terminales será aproximadamente la misma. Este terminal es el terminal común que une a los bobinados y los demás cables son los terminales de las diferentes bovinas. La Figura 4 muestra que el terminal 5 es el común, mientras que los terminales 1, 2, 3, y 4 son los finales de las bovinas.
En el caso de un motor con 6 cables como en la figura 5, la resistencia entre los terminales 1 y 2 debe ser aproximadamente el doble que la resistencia medida entre los terminales 1 y 3, y 2 y 3. Lo mismo es aplicable para el otro bobinado (los 3 cables restantes).
En todos los casos, una vez que los terminales son identificados es importante sabe la secuencia en la que los terminales deben ser energizados. Esto se hace energizando los terminales uno tras otro. Si el motor se mueve sin problemas en una dirección en particular, digamos en el sentido de las manecillas, cuando los bobinados son energizados, entonces la secuencia de encendido es correcta. Si el motor parece trabarse o se mueve de un lado a otro avanzando a trompicones, entonces la secuencia debe ser cambiada y verificada hasta lograr un movimiento fluido.
Par (torque) y velocidad en los motores Paso a paso
La velocidad de un motor paso a paso depende de la rata en la que se enciendan y se apaguen las bobinas. El termino que se usa para designar esto es la tasa o rata de paso, así pues, la velocidad máxima depende de la inductancia de las bobinas del estator. La figura 10 muestra el circuito equivalente de una bobina del estator y la relación entre el incremento de la corriente y la inductancia del bobinado. Podemos observar que toma más tiempo llegar a la corriente dada, en una bobina con una inductancia grande en comparación con una bobina con menos inductancia. Así, cuando se usa un motor con una alta inductancia, se necesita se debe dar suficiente tiempo para que la corriente se incremente antes de efectuar el siguiente paso. Si el tiempo entre dos comandos de paso es menor que el tiempo de incremento de la corriente, el resultado es un “desliz”, es decir el motor se salta un paso.
Desafortunadamente la inductancia de los bobinados no está bien documentada en la mayoría de las hojas de datos (data-sheets) de los motores paso a paso. En general, para motores pequeños, la inductancia de las bovinas es mucho menor que su resistencia, y la constante de tiempo es baja. Con una constante de tiempo menor, el incremento de la corriente en la bovina será mayor, lo que permite una rata de pasos mayor. Usando un controlador de Resistencia – Inductancia (RL) se pueden lograr ratas de paso mayores en motores con una inductancia elevada.
La mejor forma de decidir la velocidad máxima es estudiando las características del par vs. la rata de pasos (expresada en pulsos por segundo o pps) de un motor paso a paso en particular (mostrado en la Figura 11). El par “pull-in” es el máximo par de carga con el que el motor puede arrancar o parar instantáneamente sin saltarse pasos. El par “pull-out” es el par disponible cuando el motor está continuamente acelerado al punto de operación.
Del gráfico podemos concluir que para este motor en particular la “máxima frecuencia de auto arrancado” es de 200 pps. El término “máxima frecuencia de autoarrancado” es la rata máxima de pasos a la cual el motor puede arrancar instantáneamente sin carga y sin saltarse pasos. Mientras no haya carga el motor puede acelerarse hasta a 275 pps.
Drivers de motores paso a paso
El mecanismo de control para motores unipolares de 5 y 6 cables es medianamente simple y es mostrado en la figura 12 (A y B). Únicamente se muestra una bobina en la figura, pero las otras pueden ser conectadas de la misma forma.
Comparando la Figura 12A y la Figura 12B, vemos que la dirección del flujo de corriente es opuesta en las secciones A y C de la bobina, tal como lo explicamos en una sección anterior. Pero el flujo de corriente en una sección particular de la bobina es siempre uniforme, de ahí que se les llama motores unipolares.
Los motores paso a paso bipolares no tienen el terminal común. Esto hace la construcción del motor más sencilla, pero necesita un tipo diferente de circuito de control, que invierta el flujo de corriente a través de la bobina entera alternando la polaridad de los terminales, dándonos así el nombre de motores paso a paso bipolares.
Un motor paso a paso bipolar es capaz de ofrecer pares más altos debido a que la bobina completa está energizada, no solamente la mitad como en los motores unipolares. Miremos el mecanismo de inversión de voltaje a través de una de las bovinas como se muestra en la Figura 13. Este circuito es llamado un puente – H, debido a que se asemeja a la letra “H”. La corriente puede ser invertida en la bovina cerrando los interruptores apropiados. Si el interruptor A y D están cerrados, entonces la corriente fluye en una dirección, y si los interruptores B y C son cerrados, entonces la corriente fluye en la dirección contraria.
Mientras el motor paso a paso se vuelve “mayor”, la inductancia del la bobina también se incrementa. Una alta inductancia da como resultado un incremento lento de la corriente en las bobinas, lo que limita la rata de pasos como se explicó en una sección anterior. Podemos reducir esta constante de tiempo adicionando externamente una resistencia apropiada en serie con la bobina y aplicando más voltaje que el especificado sobre el circuito, sin embargo, la resistencia debe ser escogidade tal manera que el el voltaje sobre las bobinas del motor no se exeda los límites especificados, es decir el voltaje adicional es “absorbido” por la resistencia. Este método también es útil cuando tenemos una fuente de poder fija con una salida mayor que la especificada por el motor. Este tipo de control es llamado un control resistivo-inductivo (RL). Se puede incluir ciertos circuitos electrónicos para variar el valor de la resistencia dinámicamente, y de esta forma obtener el mejor resultado posible.
La principal desventaja de este tipo de control, es que, puesto que es usado con motores con motores con motores de alto torque, la corriente que pasa a través de la resisitencia es grande; por consiguiente hay una alta discipación de calor, que hace que el tamaño del controlador se vuelva muy voluminoso.
Esta resistencia puede ser evitada usando un control de corriente con PWM (Modulación por ancho de pulso – Pulse Width Modulation) en los bobinados. En el control PWM, la corriente que fluye a través de los bobinados puede ser controlado modulando el tiempo en “ON” y el tiempo en “OFF” de los interruptores con pulsos PWM, así sie asegura que a través de las bobinas sólo fluye la corriente requerida, como se muestra en la Figura 14.
Control de un motor paso a paso
Existen una gran cantidad de métodos para controlar motores paso a paso, en este post, nos concentraremos en los métodos mas utilizados comunmente para este propósito
Control de un motor paso a paso – Paso completo, una fase encendida
Para controlar un motor paso a paso, necesitamos un circuito de control apropiado como se discutió anteriormente. Los controladores unipolares únicamente pueden ser utilizados con motores unipolares.En esta sección nos concentraremos en el control de motores bipolares, . Los motores unipolares pueden ser conectados a un driver bipolar simplemente ignorando los conectores centrales (haciendo esto el motor se vuelve bipolar). Lo siguiente que necesitamos es un secuenciador que emita las senales adecuadas en la secuencia requerida a los puentes H. El controlador se construirá usando el PIC18C452. Se usan dos puentes H para controlar los dos bobinados de los motores paso a paso. El diagrama de bloques funcionales se muestra en la Figura 15. El ejemplo 1 muestra el código requerido para con control de pasos escrito para el PIC18C452.
El código que hace que las salidas del microcontrolador RB<5:2> de 0 a 1 secuencialmente, lo que apaga o aplica una polaridad positiva (+) o negativa (-) a las bobinas A y B, como se muestra a continuación, el Paso 1 sigue luego del Paso 4 y el ciclo continúa:
| Bobina A | Bobina B | |
|---|---|---|
| + | 0 | Paso 1 |
| 0 | + | Paso 2 |
| - | 0 | Paso 3 |
| 0 | - | Paso 4 |
0 = bobina apagada (OFF)
+ = la corriente fluye en una dirección
- = la corriente fluye en la dirección opuesta
La secuencia de comandos de paso se actualiza con (por ejemplo) el Timer0 en la rutina del servicio de Interrupciones. Luego de realizar cada comando de paso en la secuencia, el PIC18C452 espera a que el contador de Timer0 se desborde (overflow) y active la interrupción, para luego realizar el siguente paso. Este tiempo de espera puede ser programado cargando diferentes valores en el registro TRM0. La velocidad del motor depende de este valor en el registro TRM0.
Ecuación 1: Calcular el periodo de espera del comando de paso No. Pasos por revolución = 360 / Angulo de paso del motor pps = ( rpm / 60 ) * No. pasos por revolución Tespera = 1 / pps
Por ejemplo, para hacer girar un motor de imán permanente PM con un ángulo de paso de 7.5 grados, a una velocidad de 120 revoluciones por minuto (rpm), se necesitan 96 pulsos por minuto (pps). Esto significa que el tiempo de espera debe ser de 1/96 de segundo para alcanzar esta velocidad.
En lugar de crear un ciclo de retraso por software, se carga el modulo Timer0 del PIC18C452 con un valor apropiado para generar una intrrupción en el procesador cada 1/96 segundos. Los pasos se actualizan en la rutina del servicio de interrupciones. Cargando diferentes valores en el modulo Timer 0, se puede cambiar fácilmente la velocidad del motor. La corriente a través de las dos bobinas parece una “ola” como se muestra en la Figura 16, por esta razon es llamado “Controlador de onda”.
Este controlador dirige la corriente unicamente a traves de una de las bobinas en un instante determinado, por este motivo también es llamado “Control de una fase encendida” (One Phase On control en inglés). Es el tipo mas simple de controlador. El torque generado en este modo es bajo, debido a que únicamente se usa una bobina a la vez. para el mismo motor paso a paso, podemos mejorar las características de torque disenando un mejor controlador y de esta forma mejorar las capacidades del drive.
Los siguientes son los tipos de Drives más comunes para motores paso a paso:
- Drive de paso completo de “Dos Fases Encendidas”
- Drive de medio paso, donde el motor se mueve en un ángulo equivalente a la mitad del paso completo (3.75 grados en el caso de un motor con un angulo de paso de 7.5 grados)
- Drive de Micropaso (en el cual se requieren flujos desiguales de corriente en las dos bobinas), en donde el rotor se mueve una fracción del angulo de paso total (1/4, 1/8, 1/16 o 1/32)
Ejemplo 1: Código de implementación del control de una fase encendidas para motores paso a paso
#define STEP_TWO b’00010000’ ; switches
#define STEP_THREE b’00001000’
#define STEP_FOUR b’00000100’
clrf STEP_NUMBER ; Initialize start of step sequence
;***********************************************************************
Initialize here TMR0 module, enable TMR0 interrupt and load a value in TMR0
;***********************************************************************
;************************************************************************
; Routine in TMR0 ISR which updates the current sequence for the next steps
;************************************************************************
org 2000h
UPDATE_STEP
incf STEP_NUMBER,F ; Increment step number
btfsc STEP_NUMBER,2 ; If Step number = 4h then clear the count
clrf STEP_NUMBER
movf STEP_NUMBER,W ; Load the step number to Working register
call OUTPUT_STEP ; Load the sequence from the table
movwf PORTB ; to Port B
return
OUTPUT_STEP
addwf PCL,F ; Add Wreg content to PC and
retlw STEP_ONE ; return the corresponding sequence in Wreg
retlw STEP_TWO
retlw STEP_THREE
retlw STEP_FOUR
Control de un motor paso a paso – Paso completo, dos fases encendidas
En este método, ambos bobinados del motor están energizados siempre. En vez de apagar una bobina y encender la otra. Secuencialmente, unicamente se cambia la polaridad de una bobina a la vez se cambia como se muestra:
| Bobina A | + | - | - | + | + | … |
| Bobina B | + | + | - | - | + | … |
El codigo escrito para el control de “Una Fase Encendida” se modifico, como se muestra en el Ejemplo 2 para lograr un contro de “Dos Fases Encendida”.
Ejemplo 2: Código de implementación del control de dos fases encendidas para motores paso a paso
#define STEP_ONE b’00100000’ ; PortB<5:2> are used to connect the
#define STEP_TWO b’00010000’ ; switches
#define STEP_THREE b’00001000’
#define STEP_FOUR b’00000100’
clrf STEP_NUMBER ; Initialize start of step sequence
;***********************************************************************
Initialize here TMR0 module, enable TMR0 interrupt and load a value in TMR0
;***********************************************************************
;**************************************************************************
; Routine in ISR which updates the current sequence for the next steps
;**************************************************************************
org 2000h
UPDATE_STEP
incf STEP_NUMBER,F ; Increment step number
btfsc STEP_NUMBER,2 ; If Step number = 4h then clear the count
clrf STEP_NUMBER
movf STEP_NUMBER,W ; Load the step number to Working register
call OUTPUT_STEP ; Load the sequence from the table
movwf PORTB ; to PortB
return
OUTPUT_STEP
addwf PCL,F ; Add Wreg content to PC and
retlw STEP_ONE | STEP_TWO ; return the corresponding sequence in Wreg
retlw STEP_TWO | STEP_THREE
retlw STEP_THREE | STEP_FOUR
retlw STEP_FOUR | STEP_ONE
La función UPDATE_STEP es la misma que en el Ejemplo 1, pero en la función OUTPUT_STEP, los dos pasos se “Juntan” (Operación Booleana OR), lo quye hace que dos salidas del PortB estén en 1; esto enciende las dos bobinas simultaneamente . La secuencia de energización de ambas bobinas se muestra en la Figura 17.
Con la corriente fluyendo en ambas direcciones simultáneamente, el rotor se alinea por si mismo entre los polos magnéticos “norte promedio” y el “sur promedio”, como se muestra en la Figura 18. Debido a que ambas fases siempre están encendidas, este metodo ofrece 41.4% más torque que el Drive de motor paso a paso de “Una Fase Encendida”.
Control de un motor paso a paso – Medio Paso
Este método es de hecho una combinación de los controles de “Una Fase Encendida” y “Dos Fases Encendidas”, como se muestra en la siguiente tabla:
|
STEP_NUMBER |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8(0) |
|
Posicion del Rotor |
1/2 |
1 |
1 1/2 |
2 |
2 1/2 |
3 |
3 1/2 |
4/0 |
|
Corriente en la Bobina A |
+ |
0 |
- |
- |
- |
0 |
+ |
+ |
|
Corriente en la Bobina B |
+ |
+ |
+ |
0 |
- |
- |
- |
0 |
Cuando la corriente fluye unicamente en una bobina, el rotor se alinea con los polos del estator en las posiciones 0, 1, 2 y 3, como se muestra en la Figura 19. Cuando la corriente fluye en ambas bobinas, el rotor sealinea por si mismo entre dos polos del estator en las posiciones 1/2, 1 1/2, 2 1/2 y 3 1/2. De esta manera vemos que comparado con el método de paso completo, el múmero de pasos se duplica. Esto implica que un motor con un angulo de paso de 7.5° puede moverse a 3.75° por paso en el modo “Medio paso” y por consiguiente se hara 96 pasos antes de completar una rotación de 360°, comparado con 48 pasos que haría en el modo de “Paso completo”. Ahora, para mover el motor a 120 rpm, como se discutio anteriormente, la tasa de pasos tiene también que ser duplicada a 192 pps.
El codigo para lograr medio paso se muestra a continuación. La secuencia de energización de las bobinas del estator se muesta en la Figura 20.
Ejemplo 3: Código de implementación del control de medio paso
#define STEP_ONE b’00100000’ ; PortB<5:2> are used to connect the
#define STEP_TWO b’00010000’ ; switches
#define STEP_THREE b’00001000’
#define STEP_FOUR b’00000100’
clrf STEP_NUMBER ; Initialize start of step sequence
;***********************************************************************
Initialize here TMR0 module, enable TMR0 interrupt and load a value in TMR0
;***********************************************************************
;**************************************************************************
; Routine in ISR which updates the current sequence for the next steps
;**************************************************************************
org 2000h
UPDATE_STEP
Incf STEP_NUMBER,F ; Increment step number
btfsc STEP_NUMBER,3 ; If Step number = 8h then clear the count
clrf STEP_NUMBER
movf STEP_NUMBER,W ; Load the step number to Working register
call OUTPUT_STEP ; Load the sequence from the table
movwf PORTB ; to Port B
return
OUTPUT_STEP
addwf PCL,F ; Add Wreg content to PC and
retlw STEP_ONE ; return the corresponding sequence in Wreg
retlw STEP_ONE | STEP_TWO
retlw STEP_TWO
retlw STEP_TWO | STEP_THREE
retlw STEP_THREE
retlw STEP_THREE | STEP_FOUR
retlw STEP_FOUR
retlw STEP_FOUR | STEP_ONE
Control de un motor paso a paso con Micropaso
Usando la técnica de micropaso podemos hacer girar el motor paso a paso con pasos equivalentes a una fración (1/4, 1/8, 1/16, 1/32) de un paso completo esto hace que tengamos una resolución mucho mayor a la que podriamos obtener usando la técnica de Paso Completo y de Medio Paso. El control por micropaso requiere de una relativamente alta capacidad de procesamiento, pero ofrece múltipes ventajas:
- Movimiento más suave y fluido a bajas velocidades
- Incremento en la resolución de posicionamiento de paso, como resultado de un ángulo de paso menor
- Torque máximo, tanto a bajas como altas velocidades (rata) de paso
Esta anotación ha sido principalmente una traducción del articulo de Padmaraja Yedamale y Sandip Chattopadhyay para Microchip Technology Inc.. También me he basado en el texto de Douglas Jones Control of Stepping Motors




















