Escolar Documentos
Profissional Documentos
Cultura Documentos
Sendo assim, vemos que este mtodo de controle o ideal para aplicaes de motores CC
para a trao de pequenos robs, braos mecnicos e outros tipos de automatismos.
CIRCUITO PRTICO
O circuito da figura acima poder ser montado em um pront-o-board , placa padro ou outro
mtodo que achar melhor. A idia deste circuito ser apenas um teste. No preciso dizer
que aps a montagem do mesmo, seja qual for ela, voc deve rever atentamente todas as
ligaes, evitando assim danos aos componentes, principalmente ao PIC, caso algo tenha
sido ligado erro. No mundo "real" as coisas queimam!. Se voc adepto dos simuladores
no tem muito com o que se preocupar, a no ser com o que esta perdendo: "o prazer
inestimvel de ter feito uma montagem e v-la funcionando!!!". O transistor pode esquentar
um pouco, dependendo do motor utilizado. O uso de um radiador de calor pode ajudar.
Os botes BT1 e BT2 permitem o controle da velocidade. Ao se pressionar BT1 o motor
aumentar de velocidade at seu limite mximo. BT2 permite reduzir esta velocidade. Os
tempos mnimos e mximos para T1 e T2 neste circuito PWM esto entre 10ms a 70ms,
aproximadamente.
A alimentao para o circuito deve ser separada. O microcontrolador precisa de 5 volts. Para
o motor, a alimentao deve estar de acordo com o tipo utilizado. Lembrando que um
circuito PWM podem gerar interferncias muito fortes e os microcontroladores so sensveis
a estas interferncias. Separar a alimentao ajudar a impedir os efeitos destas
interferncias.
O PROGRAMA
O programa foi desenvolvido utilizando a Linguagem Assembly Microchip e compilado no
MPASM Microchip (http://www.microchip.com). Para grava-lo voc poder utilizar o projeto
do gravador PROGPICII, presente neste site ou qualquer outro que voc disponha, desde
que para microcontroladores PIC. Atravs do set de instrues detalhado na segunda parte
da teoria tambm oferecida neste site, voc poder estudar e compreender melhor o
funcionamento do programa. O cdigo fonte foi ricamente comentado, para demonstrar o
seu funcionamento. Eu no vou "pegar na sua mo" para gui-lo. Estudar preciso e o
"caminho das pedras" j foi dado!
Cdigo fonte PWM_CTRL.ASM
;**************************************************************
;* Controle PWM para motores DC
;*
equ
equ
equ
equ
equ
equ
equ
equ
equ
0x00
0x04
0x0C
0
1
2
3
0x59
0X0C
;endereo de reset
;endereo de interrupes
;endereo da RAM
;i/o do motor
;i/o da chave para aumentar a velocidade do motor
;i/o da chave para diminuir a velocidade do motor
;i/o do LED
;valor mximo para PWM
;valor mnimo para PWM
;
;**************************************************************
;variaveis do programa
;**************************************************************
org PICRAM
T1
res 1 ;varivel para tempo
T2
res 1 ;varivel para tempo
_TMAX res 1 ;varivel para trabalhar tempo mximo
_TMIN res 1 ;varivel para trabalhar tempo mnimo
;
;**************************************************************
;area do reset
;**************************************************************
org PICRES
goto inicio
;reset
;desvia do endereco 0x04 - interrupo
;
;**************************************************************
;area das interrupes
;**************************************************************
org
PICINT
retfie
;
;**************************************************************
;inicio do programa
;**************************************************************
inicio:
movlw 0x00
movwf INTCON
clrf
clrf
PORTA
PORTB
bsf
STATUS,RP0
movlw 0x06
movwf TRISA
movlw 0x00
movwf TRISB
bcf
STATUS,RP0
movlw
movwf
MAX
_TMAX
movlw
movwf
MIN
_TMIN
;
;**************************************************************
;loop principalo do programa
;**************************************************************
loop:
call
TECLA
;verifica Tecla
PWM:
bsf
call
bcf
call
goto
PORTA,MOTOR
TMIN
PORTA,MOTOR
TMAX
loop
;liga pulso
;aguarda
;desliga pulso
;aguarda
;
;**************************************************************
;subrotina para testar tecla
;**************************************************************
TECLA:
nop
nop
nop
;perde 3 ciclos
btfss PORTA,CHV2
goto TC2
;testa chave 2
;pressionada
nop
nop
nop
;perde 3 ciclos
btfss PORTA,CHV1
goto TC1
;testa chave 1
;pressionada
goto
TC3
;
;**************************************************************
;subrotina para incrementar velocidade
;**************************************************************
TC1:
nop
nop
nop
;perde 3 ciclos
;
movf _TMIN,W
andlw 0xFF
xorlw MAX
btfss STATUS,Z
goto TC1_1
bsf PORTA,LED
goto TC3
TC1_1:
incf _TMIN,F
decf _TMAX,F
goto TC3
;incrementa registro
;decrementa registro
;volta
;**************************************************************
;subrotina para decrementar velocidade
;**************************************************************
TC2:
nop
nop
nop
;perde 3 ciclos
movf _TMIN,W
andlw 0xFF
xorlw MIN
btfss STATUS,Z
goto TC2_1
goto TC3
TC2_1:
decf _TMIN,F
incf _TMAX,F
bcf PORTA,LED
TC3:
bcf STATUS,Z
return
;incrementa registro
;decrementa registro
;desliga led
;garante bit Z como 0
;retorna
;
;**************************************************************
;subrotina para temporizao do PWM
;**************************************************************
TMIN:
movf _TMIN,W
movwf T1
goto car_1
TMAX:
movf _TMAX,W
movwf T1
goto car_1
;
;**************************************************************
;subrotina para temporizao do PWM
;**************************************************************
car_1:
movlw 0xff
movwf T2
dec_1:
decfsz T2,1
goto
dec_1
decfsz T1,1
goto car_1
retlw 0x00
;
;**************************************************************
;fim do programa
;**************************************************************
end
CONCLUSO
O microcontrolador PIC16F84 apesar de pequeno demonstra grandes possibilidades. O
controle de cargas com PWM s uma delas. Muito se pode conseguir fazer com um
microcontrolador PIC. Tudo depende apenas da sua criatividade e fora de vontade.
PIC16F84A/4MHz microcontrolador
TIP112A transistor NPN darlington
1N4001 diodo retificador
Led comum
Capacitores
1 100nF cermico
2 33pF cermico
Diversos
3 - chaves push-botton
1 crystal 4MHz
1 motor DC 3 a 6V
2 suportes para 4 pilhas pequenas
Pront-o-board ou placa padro para a montagem, fios para ligao, etc