domingo, 15 de julio de 2012
MATERIAL:
1-L293D.
1- Motor Bipolar 24v.
1- PIC 16f84a.
1- Crystal 4Mhz.
2- Capacitores cerámicos de 22pf.
2- Resistores de 10k.
2- Push button.
Un motor paso a paso gira en función de una secuencia de pulsos aplicados a sus devanados. El eje del motor gira un determinado ángulo por cada impulso de entrada. Los incrementos de rotación o pasos se miden en grados.
Motor Bipolar
De este motor salen cuatro hilos conectados al circuito del control, que realiza la función de cuatro interruptores electrónicos dobles, se pueden obtener las secuencias para que el motor gire de un lado o del otro.
Vccs2 es el voltaje del motor, EN 1,2,3,4 poner a 1.
Circuito simulado en proteus:
Giro a la derecha
Half step
Modo medio paso, el rotor avanza medio paso por cada pulso de exitacion. presenta como principal ventaja una mayor resolucion de paso.
Al presionar los dos pushbutton se activa este modo.
Giro a la izquierda
Modo paso completo, avanza un paso por cada pulso de exitacion.
Al presionar el primer pushbutton se activa este modo.
Video de la simulación Proteus:
Programa en asm.
__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSCLIST P=16F84A
INCLUDE<P16F84A.INC>
cblock
endc
status equ 0x03
porta equ 0x05
portb equ 0x06
trisa equ 0x85
trisb equ 0x86
org 0
inicio
bsf status,5
bsf porta,0
bsf porta,1
clrf portb
bcf status,5
activar
btfss porta,0
goto giro
clrf portb
goto fin
giro
btfsc porta,1
goto izq_z
call der
goto fin
izq_z
call izq
fin
goto activar
izq
movlw b'00000101'
movwf portb
call Retardo_20ms
movlw b'00000110'
movwf portb
call Retardo_20ms
movlw b'00001010'
movwf portb
call Retardo_20ms
movlw b'00001001'
movwf portb
call Retardo_20ms
return
der
movlw b'00001001'
movwf portb
call Retardo_20ms
movlw b'00001000'
movwf portb
call Retardo_20ms
movlw b'00001010'
movwf portb
call Retardo_20ms
movlw b'00000010'
movwf portb
call Retardo_20ms
movlw b'00000110'
movwf portb
call Retardo_20ms
movlw b'00000100'
movwf portb
call Retardo_20ms
movlw b'00000101'
movwf portb
call Retardo_20ms
movlw b'00000001'
movwf portb
call Retardo_20ms
return
INCLUDE <retardos.inc>
end
Para aumentar o disminuir el tiempo del disparo utilizar los tiempos de la librería de retardos.
DESCARGAR SIMULACION, ASM Y HEX:
REFERENCIAS:
- Microcontrolador 16f84 desarrollo de proyectos, pag. 481-504
Etiquetas:
lenguje asm,
practicas simuladas
|
24
comentarios
Suscribirse a:
Entradas (Atom)