Manejo de un Motor de Pasos
Periféricos
Regreso al menú principal INTERCONEXIONANDO UN MOTOR DE PASOS CON EL MICROCONTROLADOR 8051 En muchas aplicaciones de Control Automático, es necesario el accionamiento de válvulas o sistemas de engranes con una exactitud y precisión muy alta. En Robótica, son indispensables éstas características, donde las manos y brazos mecánicos deben de ejecutar movimientos de gran precisión. Existen muchas otras ramas de la electrónica donde la utilización de dispositivos de posicionamiento mecánico son indispensables. Un motor de pasos resuelve en gran medida este problema, ya que su principio de funcionamiento le permite realizar pequeños movimientos (pasos), con gran exactitud y repetibilidad. El motor de pasos es un motor eléctrico cuyo eje gira una cantidad específica por cada pulso de entrada que recibe, lo cual permite el control de posición, velocidad, y sentido (dirección). Existen diferentes tipos de motores de pasos, de los cuales veremos funcionamiento de uno ellos, el Motor de Magneto Permanente.
el
En la figura 1 , se muestra un diagrama del Motor de pasos de Magneto Permanente, el cual está construido de un rotor que incluye polos magnéticos de polaridad contraria colocados uno junto al otro. El estator contiene bobinas alineadas de tal forma que sus energización secuencial provoca que el rotor se desplace a las posiciones de mínima reluctancia magnética.
Manual del Microprocesador 8051
1
Dr. Alejandro Vega
Manejo de un Motor de Pasos
Periféricos
El número de pasos varía según sea la aplicación que se requiera. Existen en el mercado desde, 0.1 a 120 grados. Los ángulos más comunes son de 1.8, 2.0, 2.5, 5.0, 15 y 30 grados, que respectivamente dan 200, 180, 144,72, 24 y 12 pasos/revolución. Los motores de pasos son alimentados con fuentes de corriente directa y manejados con circuitería lógica. PRINCIPIO DE OPERACIÓN DEL MOTOR. Su diagrama se muestra en la figura 2, y su principio de funcionamiento es el siguiente: A
on 2
S N S
S
on N
S
B
N S N
N
on
N S N
S
on
B’
N
A’
4
A on 3 N S N
on S
N
B
N
S
N S
N
S
S N
N
S
S on A’ Fig. 2 Principio de funcionamiento de un motor de pasos
Manual del Microprocesador 8051
2
Dr. Alejandro Vega
on B’
Manejo de un Motor de Pasos
Periféricos
Consideremos primeramente, la bobina A-A’ la cual se energiza haciendo circular la corriente de A hacia A’ por lo cual el polo inferior se polariza positivamente, atrayendo al polo sur del rotor (parte inferior del rotor), y el superior negativamente el cual atrae, al polo norte del rotor, (parte superior del rotor), de tal manera que se realiza el primer paso . Para que realice un segundo paso en el mismo sentido consideremos, ahora, la desactivación de la bobina A-A’ y la activación de las bobinas B-B’, al circular la corriente la bobina B polariza negativamente lo que atrae al polo positivo del rotor (N) y la bobina B’ se polariza positivamente atrayendo al polo negativo (S) del rotor. Esto hace que gire un otro paso. Para que gire un tercer paso, desenergizamos las bobinas B-B’ y ahora volvemos a activar las bobinas A-A’, pero ahora haciendo circular la corriente de A’ hacia A por lo cual el polo superior se polariza positivamente, atrayendo al polo sur del rotor (parte inferior del rotor), y el inferior negativamente, el cual atrae, al polo norte del rotor (parte superior del rotor). Siguiendo con un cuarto paso en el mismo sentido, sea la bobina B-B’, ahora alimentada en sentido contrario, es decir haciendo circular la corriente de B’ hacia B, con la bobina A-A’ desactivada. El polo de la derecha se polariza positivamente atrayendo al polo sur del rotor (parte inferior del rotor), y el de la izquierda negativamente, el cual atrae, al polo norte del rotor, (parte superior del rotor). Por último para completar el ciclo, volvamos a conectar las cuatro bobinas como al inicio por lo cual el rotor girará un cuarto de paso. Si el ciclo se vuelve repetitivo podremos observar el movimiento del rotor en sentido de las manecillas del reloj. La velocidad dependerá de la activación y desactivación de las bobinas. Como podemos observar 4 pasos fueron necesarios para que el motor girara 90 grados de su posición original, si quisiéramos que el motor girara una vuelta completa tendríamos que darle 12 pasos, es decir repetir el ciclo 4 veces. De aquí se observa que, el número de pasos de un motor está condicionado al número de polos del imán permanente (rotor), o bien al número de bobinas, (estator). V. gr. para un motor de 2 bobinas y 200 pasos, se requiere que el rotor tenga 50 polos.
Manual del Microprocesador 8051
3
Dr. Alejandro Vega
Manejo de un Motor de Pasos
Periféricos
Como cada una de las bobinas deben ser energizadas en los dos sentidos, (fig. 3).
Un circuito que se propone para la activación de estas bobinas es la figura 4.
VCC
Rc
Rb NPN DAR
BOBINA DEL MOTOR
Rb PNP DAR SECUENCIA DE ENERGIZACION
Rc
-VCC
FIG.4 BOBINA CONECTADA A LOS TRANSISTORES
Size
Document Number
REV
A Date:
May 13, 1998
Sheet
of
Cuando el transistor 1, es activado la parte A de la bobina queda energizada positivamente y la A’ negativamente. Cuando el transistor 1 se desactiva y el transistor 2, se activa, la parte A se energiza negativamente y la A’ positivamente, de esta manera se invierten las polaridades. Este circuito se presenta para cada una de las bobinas.
Manual del Microprocesador 8051
4
Dr. Alejandro Vega
Manejo de un Motor de Pasos
Periféricos
El arreglo en general del circuito se presenta en la figura 4, en donde, se puede apreciar el circuito 74194 el cual es un registro de corrimiento de 4 bits con su siguiente lógica de control:
Ahora interconectaremos el microcontrolador 8051 al circuito de control del motor de pasos (fig. 5), como podemos apreciar se utilizan las líneas de P1.0 a P1.3, para poder controlar el CLR, S0, S1 y CLK respectivamente. La primera línea, CLR, desactiva el circuito, es decir, ninguna de las dos bobinas se encuentran energizadas. Mediante S0=1, S1=1 y un transiente positivo por el CLK, el dato paralelo es cargado. Un “1” es cargado en una sola de las líneas de salida y las demás con “0” con el fin de que solo sea energizada una bobina por paso y en un solo sentido. El sentido de giro del motor se debe al valor de de S0 y S1.
VCC VCC R13 VCC
A
3 R1
5
R9 2
4
NPN DAR 1 2
R2 VCC VCC
-VCC VCC R3
B 7
R10 1
PNP DAR
6 2 3 4 5 6 7 11 9 10 1
SR A B C D SL
R4 QA QB QC QD
R14
15 14 13 12
VCC
VCC
-VCC
R15
VCC
VCC
C R5
9
R11 14
CLK S0 S1 CLR
8
R6
74194
NPN DAR
-VCC
VCC
VCC
R7
D 11
R12
Q? PNP DAR
13 10 R8
LM339 R16 -VCC
VCC
P1.4 DEL 8031 P1.3 DEL 8031 ETAPA DE ENERGIZACION DE BOBINAS DEL MOTOR DE PASOS Document Number
P1.7 DEL 8031
Size
REV
A Date:
Manual del Microprocesador 8051
5
March 27, 1998
Sheet
of
Dr. Alejandro Vega
Manejo de un Motor de Pasos
Periféricos
BUS DE DATOS
33pF
31 19
11.05592MHz VCC 18 10uF RESET
EA/VP
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
X1 X2
33pF 9 12 13 14 15
100K
1 2 3 4 5 6 7 8
1N4148
RESET P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7
INT0 INT1 T0 T1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
RD WR PSEN ALE/P TXD RXD
8031
39 38 37 36 35 34 33 32
3 4 7 8 13 14 17 18
21 22 23 24 25 26 27 28
1 11
D0 D1 D2 D3 D4 D5 D6 D7
2 5 6 9 12 15 16 19
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
10 9 8 7 6 5 4 3 25 24 21 23 2 26 27
OC G 74LS373
17 16 29 30 11 10
20 22 1
5V
VCC
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14
O0 O1 O2 O3 O4 O5 O6 O7
11 12 13 15 16 17 18 19
VCC
CE OE VPP
2 OHMS 10 WATTS
27256 A
3 5
VCC
2
TIP120
4 1.2K 10k 1 10 9 11
VCC
7 6 5 4 3 2
1 2
CLR S1 S0 CLK SL D C B A SR
BOBINA 1 DEL MOTOR
B VSS 10K QD QC QB QA
7 1
12 13 14 15
TIP125
6 1.2K
VCC 2 OHMS 2 OHMS
VSS
74HC194
10 WATTS
C
10 WATTS
9 14
TIP120
8 1.2K
BOBINA 2 D DEL MOTOR
TIP125
11 13
VSS
10 1.2K
2 OHMS
10 WATTS
LM339
Size
INTERCONEXIONADO DEL MICROCONTROLADOR A UN MOTOR DE PASOS Document Number
A Date:
REV
SISTEMA MINIMO2 March 30, 1998
Sheet
of
PROGRAMA DE CONTROL DE MOTORES A PASOS ;********************************************* ;* PROGRAMA PARA CONTROL DE MOTORES DE PASOS** ;*** Se utiliza el T0 como base de tiempo **** ;*** T0 = 10,000 mseg. **** ;*** 100 pasos por segundo, 1 Revol.= 2seg**** ;*** Primero girara durante 10 segundos a **** ;** la derecha,despues parara durante 2seg *** ;*a continuaci"n, girara hacia la izquierda* ;** Repetira la secuencia indefinidamente *** ;*** P1.0 = SEÑAL DE CONTROL DEL CLK ****** ;*** P1.1 = CONTROL DE LA SEÑAL S1 ****** ;*** P1.2 = CONTROL DE LA SEÑAL S0 ****** ;*** P1.3 = CONTROL DE LA SEÑAL DE CLR ****** ;********************************************* 0000 0000 000B 000B 000E 0011 0012 0015 0018 001A 001C 001E
020012 758CD8 758AF0 32 758CD8 758AF0 C293 D293 C290 D290
MOTOR:
ORG 00H LJMP MOTOR ORG 0BH MOV TH0,#0D8H MOV TL0,#0F0H RETI MOV TH0,#0D8H MOV TL0,#0F0H CLR P1.3 SETB P1.3 CLR P1.0 SETB P1.0
;SE ;SE ;SE ;DE
; SE RECARGA EL T0 CON ;LA BASE DE T=-10,000 ; SE CARGA CON LA BASE ;DE TIEMPO = ;10000useg. DESACTIVA EL MOTOR VUELVE ACTIVAR CARGA EL VALOR INICIAL CORRIMIENTO "0001"
;******************************************** ;**EL MOVIMIENTO SE REALIZARA A LA DERECHA ** ;********* S0=1 y S1=0 *********** ;******************************************** 0020 758901 MOV TMOD,#01H ;SE ESTABLECE T0 COMO
Manual del Microprocesador 8051
6
Dr. Alejandro Vega
Manejo de un Motor de Pasos
0023 758810 0026 75A882 0029 C291
Periféricos
MOV TCON,#10H ;TEMPORIZADOR EN MODO 1 MOV IE,#82H ;SE PERMITE LA INTER.T0 REPITE: CLR P1.1
002B D292
SETB P1.2
002D 113B
ACALL PSS
002F 114B 0031
ACALL PARO
;S1=0 ;S0=1 ;SE LLAMA A LA RUTINA DE ;PASOS ;SE LLAMA A LA RUTINA DE PARO
;******************************************** ;* EL MOVIMIENTO SE REALIZARA A LA IZQUIERDA* ;********* S0=0 y S1=1 ********** ;******************************************** 0031 C292 CLR P1.2 ;S0=0 0033 D291 SETB P1.1 ;S1=1 ;SE LLAMA A LA RUTINA DE PASOS 0035 113B ACALL PSS ;SE LLAMA A LA RUTINA DE PARO 0037 114B ACALL PARO ;SE REPITE LA SECUENCIA DE MANERA INDEFINIDA 0039 80EE SJMP REPITE ;********************************************* ;*** RUTINA DE MOVIMIENTO DEL MOTOR ******** ;********************************************* 003B 003D 003F 0042 0044 0046 0048 004A
7B07 7AD0 308DFD C290 D290 DAF7 DBF3 22
PSS: PAS1: PASO:
MOV R3,#07H ;R2R3 COMO CONTADORES DE MOV R2,#0D0H ;2000 PASOS=10 VUELTAS JNB TCON.5,PASO ; ESPERA 10 mseg. CLR P1.0 ;SE ENVIA UN PULSO DE SETB P1.0 ;RELOJ "CLK" DJNZ R2,PASO DJNZ R3,PAS1 RET
;********************************************* ;******* RUTINA DE PARO DEL MOTOR ********* ;********************************************* 004B 004D 004F 0051 0053 0055 0057 0059 005B 005D 005F 0000
C293 7C14 7D00 7E00 DEFE DDFC DCFA D293 C290 D290 22
PARO:
CLR P1.3 ; SE DESACTIVA EL MOTOR MOV R4,#20 ; CONTADORES PARA 2 SEG. MOV R5,#00 ; DE PARO TOTAL DEL MOV R6,#00 ; MOTOR. TIEMPO: DJNZ R6,TIEMPO DJNZ R5,TIEMPO DJNZ R4,TIEMPO SETB P1.3 ;SE VUELVE ACTIVAR EL M. CLR P1.0 ;SE CARGA EL VALOR INICIAL SETB P1.0 ;DE CORRIMIENTO "0001" RET END
Manual del Microprocesador 8051
7
Dr. Alejandro Vega