UN POCO DE TEORIA
Los motores paso a paso son ideales para la construcción de mecanismos en donde se requieren movimientos muy precisos. En este capítulo trataremos solamente los motores P-P del tipo de imán permanente, ya que estos son los mas usados en robótica.
Principio de funcionamiento
Básicamente estos motores están constituidos normalmente por un rotor sobre el que van aplicados distintos imanes permanentes y por un cierto número de bobinas excitadoras bobinadas en su estator.
Las bobinas son parte del estator y el rotor es un imán permanente. Toda la conmutación (o excitación de las bobinas) deber ser externamente manejada por un controlador.
Existen dos tipos de motores paso a paso de imán permanente:
Motor bipolar. tiene generalmente cuatro cables de salida (ver figura 1). Necesitan ciertos trucos para ser controlados, debido a que requieren del cambio de dirección del flujo de corriente a través de las bobinas en la secuencia apropiada para realizar un movimiento.
En figura 3 podemos apreciar un ejemplo de control de estos motores mediante el uso de un puente en H (H-Bridge). Como se aprecia, será necesario un H-Bridge por cada bobina del motor, es decir que para controlar un motor Paso a Paso de 4 cables (dos bobinas), necesitaremos usar dos H-Bridges iguales al de la figura 3 . El circuito de la figura 3 es a modo ilustrativo y no corresponde con exactitud a un H-Bridge. En general es recomendable el uso de H-Bridge integrados como son los casos del L293 .
Motor unipolar.- Estos motores suelen tener 6 o 5 cables de salida, dependiendo de su conexionado interno (ver figura 2). Este tipo se caracteriza por ser más simple de controlar.
figura2
Identificacion de bobinas en motores unipolares
- Seleccionar un cable y conectarlo a masa. Ese será llamado cable A.
- Manteniendo el cable A conectado a masa, probar cuál de los tres cables restantes provoca un paso en sentido antihorario al ser conectado también a masa. Ese será el cable B.
- Manteniendo el cable A conectado a masa, probar cuál de los dos cables restantes provoca un paso en sentido horario al ser conectado a masa. Ese será el cable D.
- El último cable debería ser el cable C. Para comprobarlo, basta con conectarlo a masa, lo que no debería generar movimiento alguno debido a que es la bobina opuesta a la A.
A continuación se puede ver la tabla con la secuencia necesaria para controlar motores paso a paso del tipo unipolares
Primera secuencia de pasos para motores PAP
Segunda secuencia de pasos para motores PAP
CONTROL DE UN MOTOR UNIPOLAR (en un solo sentido)
En la figura podemos apreciar un ejemplo de conexionado para controlar un motor paso a paso unipolar mediante el uso de un ULN2803 el cual es una array de 8 tansistores tipo Darlington capaces de manejar cargas de hasta 500mA. Las entradas de activación (Activa A, B , C y D) se conectan al puerto B del pic16f84A , pin6=A, pin7=B, pin8=C y pin9=D respectivamente
LIST P=16F84A
;DECLARACION REGISTROS A USAR
status equ 0x03
portb equ 0x06
trisb equ 0x86
reg1 equ 0x0c ;registro usado para el retardo
reg2 equ 0x0d ;registro usado para el retardo
;CONFIGURACION PUERTO B COMO SALIDA
org 0x00 ;origen del programa
bsf status,5 ;vamos al banco1 de la memoria RAM
clrf trisb ;puerto queda configurado como salida
bcf status,5 ;regresamos al banco0 de la memoria RAM
;PROGRAMA PRINCIPAL
inicio movlw b'00001000' ;cargamos W con b'00001000'
movwf portb ;mandamos lo que hay en W al puerto B
call retardo ;hacemos una pausa
movlw b'00000100'
movwf portb
call retardo
movlw b'000000010'
movwf portb
call retardo
movlw b'00000001'
movwf portb
call retardo
goto inicio
retardo
MOVLW 0x90 ;cargamos (w) con el hexadecimal 90
MOVWF reg1 ;mover lo que hay en W al registro1
MOVLW 0x90 ;cargamos (w) con hexadecimal 90
MOVWF reg2 ;mover que hay en W al registro2
uno DECFSZ reg1,1 ;Decrementa registro1 y el resultado guardalo en el mismo
GOTO uno
dos DECFSZ reg2,1 ;decrementa registro2 y el resultado guardalo en el mismo
GOTO dos
RETURN ;retorna de donde lo llamaron
end ;Fin del programita
Aqui tienen el archivo HEX. probado:
http://www.4shared.com/file/41AN3W3e/motorunipolar.html
EXPLICACION DEL PROGRAMA
Vamos hacer uso de la primera secuencia de pasos para controlar el motor PAP en un solo sentido, fijese que son 4 pasos para que complete una secuencia, por lo que podemos repetir estos 4 pasos con una etiqueta inicio e indicar que todo se repite con GOTO inicio.
con MOVLW b'00001000' guardamos la primera secuencia de paso en el registro auxiliar W y luego con MOVWF portb enviamos al puerto B la secuencia guardada en W anteriormente, en este momento se encendera solo el pin9 del puerto B y los restantes pines estaran apagados y finalmente con CALL retardo hacemos una pausa para poder visualizar el encendido
Las tres instruccciones siguientes hacen lo mismo ejecuntando el paso 2 para motores PAP (ver tabla de pasos) y solo encendera el pin8 del pic, y asi las 3 instrucciones siguientes ejecutan el paso3 y encendera el pin7 del pic, ylas 3 ultimas instrucciones ejecutan el paso4 y encendera el pin6 del pic.
Para que todo este proceso se repita solo colocamos una etiqueta inicio y hacemos bucle con GOTO inicio.
podrias publicar algo parecido al control de una puerta de garaje, porfis mi email es marisolvt2@hotmail.com gracias
ResponderEliminarEsta Ud, servida señorita.
ResponderEliminaren este foro se habla de un proyecto de:
ResponderEliminar10 pulsos RB0.0 enciende un led usando el comando WRITE
http://todopic.mforos.com/8826/4180638-contar-10-pulsos-y-encender-led/
Gracias por la informacion.
ResponderEliminarSoy principiante necesito que el programa asm controle ambos sentidos de giros.
por activacion de pulsos en entradas del pic.
Estimado si tiene algo para publicar o enviar se agradece mail carlos.aguirre@ncr.com
Hola me pudieran decir un circuito para ser una mesa giratoria con el pic porfas se lo agradeceria mucho grax
ResponderEliminarHola necesito controlar 2 motores paso a paso bipolares a control remoto alguien tiene un circuito que me ayude gracias
ResponderEliminarcon este software de control remoto active un motor pap , pero se puede activar mas de 2 usando 2 pics. un pic para el control y el otro para los motores pap
ResponderEliminarhttp://www.4shared.com/file/qF6QYgRK/Sony.html
hola, necesito controlar 3 motores a pasos con un pic18f4550, alguien puede ayudarme con la programación, estoy usando pic c compiler PCW.
ResponderEliminarkeneer12@hotmail.com
I'm wondering which blogging and site-building
ResponderEliminarplatform you are running? I'm new to running a
blog and have been thinking about using the Tripod
platform. Do you think this is a
good platform to start with? I would be extremely
grateful if I could ask you some questions through email so I can learn a bit
more before getting started. When you have some free time, please contact me at:
jeremy.logue@yahoo.com.
Appreciate it
Also visit my weblog: My Site
I'm wondering which blogging and site-building
ResponderEliminarplatform you are running? I'm new to running a
blog and have been thinking about using the Tripod platform.
Do you think this is a
good platform to start with? I would be extremely
grateful if I could ask you some questions through email so I can learn a bit
more before getting started. When you have some free time, please contact me at:
jeremy.logue@yahoo.com.
Appreciate it
Stop by my web site: My Site
my site - Go to my website
Hola , sobre plataforma de blogs se muy poco, yo uso este plataforma por que es gratis mi tema es la electronica con microcontroladores, gracias.
Eliminar¿y donde esta el control del motor pap bipolar?
ResponderEliminarmuy pronto cuando tenga tiempo lo publico.
ResponderEliminarsi deseo controlar la velocidad de MPaP y sie s posible en ambos sentidos
ResponderEliminartengo elprograma pero en css quisiera pasarlo alenguaje assembler podrias ayudarme en eso?
ResponderEliminarMe gustaria ayudar a todos pero no tengo tiempo, es mas ya no entro mucho a internet, cosas de la vida
ResponderEliminar