O circuito da figura acima poderá ser montado em um
pront-o-board
, placa padrão ou outro método que acharmelhor. A idéia deste circuito é ser apenas um teste. Não preciso dizer que após a montagem do mesmo, seja qualfor ela, você deve rever atentamente todas as ligações, evitando assim danos aos componentes, principalmente aoPIC, caso algo tenha sido ligado erro. No mundo "real" as coisas queimam!. Se você é adepto dos simuladores nãotem muito com o que se preocupar, a não ser com o que esta perdendo: "o prazer inestimável de ter feito umamontagem e vê-la funcionando!!!". O transistor pode esquentar um pouco, dependendo do motor utilizado. O uso deum radiador de calor pode ajudar.
Os botões BT1 e BT2 permitem o controle da velocidade. Ao se pressionar BT1 o motor aumentará de velocidade atéseu limite máximo. BT2 permite reduzir esta velocidade. Os tempos mínimos e máximos para T1 e T2 neste circuitoPWM estão entre 10ms a 70ms, aproximadamente.A alimentação para o circuito deve ser separada. O microcontrolador precisa de 5 volts. Para o motor, a alimentaçãodeve estar de acordo com o tipo utilizado. Lembrando que um circuito PWM podem gerar interferências muito fortese os microcontroladores são sensíveis a estas interferências. Separar a alimentação ajudará a impedir os efeitosdestas interferências.
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 nestesite ou qualquer outro que você disponha, desde que para microcontroladores PIC. Através do
set
de instruçõesdetalhado na segunda parte da teoria também oferecida neste site, você poderá estudar e compreender melhor ofuncionamento do programa. O código fonte foi ricamente comentado, para demonstrar o seu funcionamento. Eu nãovou "pegar na sua mão" para guiá-lo. Estudar é preciso e o "caminho das pedras" já foi dado!Código fonte – PWM_CTRL.ASM
;**************************************************************;* Controle PWM para motores DC;*;* Marcio Jose Soares - 01/10/2002;**************************************************************;;**************************************************************;definições do programa;**************************************************************radix dec ;padrao->valores decimalinclude <P16F84A.INC> ;inclue arquivo __CONFIG _CP_OFF & _PWRTE_OFF & _WDT_OFF & _XT_OSC ;configura bitsPICRES equ 0x00 ;endereço de resetPICINT equ 0x04 ;endereço de interrupçõesPICRAM equ 0x0C ;endereço da RAMMOTOR equ 0 ;i/o do motorCHV1 equ 1 ;i/o da chave para aumentar a velocidade do motorCHV2 equ 2 ;i/o da chave para diminuir a velocidade do motorLED equ 3 ;i/o do LEDMAX equ 0x59 ;valor máximo para PWMMIN equ 0X0C ;valor mínimo para PWM;;**************************************************************;variaveis do programa;**************************************************************org PICRAMT1 res 1 ;variável para tempoT2 res 1 ;variável para tempo _TMAX res 1 ;variável para trabalhar tempo máximo _TMIN res 1 ;variável para trabalhar tempo mínimo;;**************************************************************;area do reset;**************************************************************
Page 2 of 5PWM com PIC3/11/2009http://arnerobotics.com/eletronica/Microcontrolador_PIC_pratica_1.htm
Leave a Comment