Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; PICAXE28X2 Shield Base
- ;-------------------------------------------
- ; Disponible en ABCelectronica.net
- ;-------------------------------------------
- ;*******************************************
- ;Control de un motor stepper unipolar de 5V
- ;por medio del modulo driver ULN2803
- ;y microcontrolador PICAXE28X2 Shield Base
- ;Permitiendo colocar el eje a nuestra
- ;disposición y con la opcion de que de una
- ;vuelta completa
- ;*******************************************
- ;-------------------------------------------
- ;declaración constantes y variables
- ;LED ENCENDIDO
- symbol led = S.13
- symbol reloj = b1
- ;valor correspondiente a una vuelta
- ;completa del eje del motor stepper
- symbol intervalo = w6
- ;Pulsadores de set e inicio de programa
- ;pulsador config para colocar el eje
- ;en la posicion deseada
- symbol config = pinS.6
- symbol ledconfig = S.7
- ;pulsador pulsini para iniciar el
- ;codigo de la programación
- symbol pulsini = pinS.4
- symbol ledpulsini= S.5
- ;SALIDA PARA EL DRIVER
- ;Bobina 1 - cable rosa
- ;Bobina 2 - cable naranja
- ;Bobina 3 - cable amarillo
- ;Bobina 4 - cable azul
- ;comun - cable rojo
- symbol pinkb1 = S.A0
- symbol orangeb2 = S.A1
- symbol yellowb3 = S.A2
- symbol blueb4 = S.A3
- ;fijando valores estandar
- ;intervalo 1mS
- reloj = 1
- intervalo = 1
- ;___________________________________________
- ;PROGRAMACIÓN
- ;comprabando que el uC funciona Y
- ;"espera" a que un pulsador sea presionado
- preinicio:
- toggle led
- pause 500
- toggle led
- pause 500
- low ledpulsini, ledconfig
- condiciones:
- high led ;led de funcionamiento ON
- low ledpulsini, ledconfig ;led configuracion y principal OFF
- if config = 1 and pulsini=1 then goto preinicio
- if config = 0 and pulsini=1 then goto configuracion
- if config = 1 and pulsini=0 then goto principal
- goto preinicio
- ;Rutina para elejir la posicion del eje
- configuracion:
- low ledpulsini, ledconfig
- if config = 0 then ;comprueba que el pulsador
- do ;este presionado
- high ledconfig
- ;Movimiento del stepper
- ;Paso 1
- low orangeb2, blueb4
- pause reloj
- high pinkb1, yellowb3
- pause reloj
- ;Paso 2
- low orangeb2,yellowb3
- pause reloj
- high pinkb1, blueb4
- pause reloj
- ;Paso 3
- low pinkb1, yellowb3
- pause reloj
- high orangeb2, blueb4
- pause reloj
- ;Paso 4
- low pinkb1, blueb4
- pause reloj
- high orangeb2, yellowb3
- pause reloj
- if config = 1 then goto condiciones ;si el pulsador deja de ser
- ;presionado el motor para
- ;condicion para dar vuelta completa
- inc intervalo
- loop while intervalo<510 ;255 media vuelta
- goto configuracion
- else
- goto condiciones
- endif
- goto configuracion
- principal:
- intervalo = 1
- low ledpulsini
- high ledpulsini
- if pulsini = 0 then
- do
- ;Movimiento del stepper
- ;Paso 1
- low orangeb2, blueb4
- pause reloj
- high pinkb1, yellowb3
- pause reloj
- ;Paso 2
- low orangeb2,yellowb3
- pause reloj
- high pinkb1, blueb4
- pause reloj
- ;Paso 3
- low pinkb1, yellowb3
- pause reloj
- high orangeb2, blueb4
- pause reloj
- ;Paso 4
- low pinkb1, blueb4
- pause reloj
- high orangeb2, yellowb3
- pause reloj
- if config = 0 then goto condiciones ;si el pulsador config es
- ;presionado el motor pasa
- ;a la rutina de configuracion
- ;condicion para dar vuelta completa
- inc intervalo
- loop while intervalo<510 ;255 media vuelta
- goto principal
- else
- goto condiciones
- endif
- goto principal
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement