jueves, 17 de octubre de 2013

Programación del PIC16F84A ( Si RA0=0 gira hacia la derecha, RA0=1 gira hacia la izquierda )

__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC
List P=16F84A
#include <P16F84A.inc>
Retardo equ 20H
Retardo2 equ 21H
Retardo3 equ 22H

org 00H
goto inicio

inicio: bsf STATUS, RP0
bsf PORTA, 0
bcf PORTB, 0
bcf PORTB, 1
bcf PORTB, 2
bcf PORTB, 3
bcf STATUS, RP0

inicio2: btfsc PORTA, 0
goto sigue2



bsf PORTB, 0
bsf PORTB, 1
bsf PORTB, 2
bsf PORTB, 3



sigue: bcf PORTB, 0
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8



bsf PORTB, 0
bcf PORTB, 1
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8


bsf PORTB, 1
bcf PORTB, 2
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8



bsf PORTB, 2
bcf PORTB, 3
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8


bsf PORTB, 3
goto inicio2


bsf PORTB, 0
bsf PORTB, 1
bsf PORTB, 2
bsf PORTB, 3




sigue2: bcf PORTB, 3
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8



bsf PORTB, 3
bcf PORTB, 2
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8


bsf PORTB, 2
bcf PORTB, 1
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8



bsf PORTB, 1
bcf PORTB, 0
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8


bsf PORTB, 0
  goto inicio
end









Secuencia de motor paso a paso para girar hacia la Izquierda ( Programacion en Mplab)

__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC
List P=16F84A
#include <P16F84A.inc>
Retardo equ 20H
Retardo2 equ 21H
Retardo3 equ 22H

org 00H
goto inicio

inicio: bsf STATUS, RP0
bcf PORTB, 0
bcf PORTB, 1
bcf PORTB, 2
bcf PORTB, 3
bcf STATUS, RP0


bsf PORTB, 0
bsf PORTB, 1
bsf PORTB, 2
bsf PORTB, 3



sigue: bcf PORTB, 0
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8



bsf PORTB, 0
bcf PORTB, 1
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8


bsf PORTB, 1
bcf PORTB, 2
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8



bsf PORTB, 2
bcf PORTB, 3
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8


bsf PORTB, 3
goto sigue
end























miércoles, 16 de octubre de 2013

Secuencia Motor Paso a Paso para girar hacia la Derecha

__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC
List P=16F84A
#include <P16F84A.inc>
Retardo equ 20H
Retardo2         equ 21H
Retardo3         equ 22H
                        org 00H

goto inicio

inicio: bsf STATUS, RP0
bcf PORTB, 0
bcf PORTB, 1
bcf PORTB, 2
bcf PORTB, 3
bcf STATUS, RP0


bsf PORTB, 0
bsf PORTB, 1
bsf PORTB, 2
bsf PORTB, 3



sigue:      bcf PORTB, 3
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8



bsf PORTB, 3
bcf PORTB, 2
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8


bsf PORTB, 2
bcf PORTB, 1
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8



bsf PORTB, 1
bcf PORTB, 0
movlw d'10'
movwf Retardo3
movlw d'10'
movwf Retardo2
movlw d'10'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8


bsf PORTB, 0
goto sigue
end






lunes, 30 de septiembre de 2013

Programación del PIC16F84A en MPLAB ( Secuencia: encender - apagar un led )

__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC
List P=16F84A
#include <P16F84A.inc>
Retardo equ 20H
Retardo2         equ 21H
Retardo3         equ 22H
org 00H
goto inicio

inicio: bsf STATUS, RP0
bcf PORTA, 0
bcf STATUS, RP0

bcf PORTA, 0

sigue: bsf PORTA, 0
movlw d'10'
movwf Retardo3
movlw d'100'
movwf Retardo2
movlw d'250'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8

bcf PORTA, 0
movlw d'10'
movwf Retardo3
movlw d'100'
movwf Retardo2
movlw d'250'
movwf Retardo
nop
decfsz Retardo,f
goto $-2
decfsz Retardo2,f
goto $-6
decfsz Retardo3,f
goto $-8
goto sigue
end

¿Que es un motor paso a paso unipolar?


Estos motores suelen tener 6 o 5 cables de salida, dependiendo de su conexión interna. Este tipo se caracteriza por ser más simple de controlar. 
Los motores paso a paso son ideales para la construcción de mecanismos en donde se requieren movimientos muy precisos. 
La característica principal de estos motores es el hecho de poder moverlos un paso a la vez por cada pulso que se le aplique. Este paso puede variar desde 90° hasta pequeños movimientos de tan solo 1.8°, es decir, que se necesitarán 4 pasos en el primer caso (90°) y 200 para el segundo caso (1.8°), para completar un giro completo de 360°. 

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.