por Pask » 07 Jan 2007 20:04
Caro amigo, esse negócio do PIC resetar de forma inesperada, não é de hoje! Tenho um circuito "em placa de circuito-impresso" que usa o PIC 16F877 e o problema, às vezes, acontece mesmo! Porém, eu consegui minimizar o problema fazendo o seguinte:
1 - Mantenha o capacitor de 100nF entre o Vdd e o GND e o mais próximo quanto possível do chip. Esse capacitor é muito importante porque evita que transitórios rápidos provenientes da linha de alimentação entrem no PIC e possam tumultuar lá por dentro.
2 - Acrescente um capacitor eletrolítico de 100uF entre o pino 1 e o GND (pino de MCLR). Esse capacitor impedirá variações ou quedas muito bruscas de tensão no pino de MCLR evitando que o PIC reset indesejavelmente.
3 - Dê uma boa olhada na filtragem da fonte que você está usando e, se possível, procure melhorá-la. Ruídos na fonte com montagens em PROTO-BOARDS são terríveis. Elimine-as do melhor jeito que vc puder.
4 - Desative, se der, o "power-up timer" do PIC nas suas palavras de configuração CONFIG. Coloque PWRT_OFF. O que acontece é que se este recurso estiver ativado, ele levará o PIC a resetar com tensões de alimentação inferiores a 4V, mesmo que esta queda aconteça por um breve milésimo de segundo!
EXPLICANDO O FENÔMENO: Esse problema do reset maluco do PIC acontece pelo seguinte: toda vez que uma carga fortemente indutiva como um grande transformador, um relé de maior corrente, um motor ou qualquer outro dispositivo indutivo comuta pelo mesmo circuito elétrico da rede onde o PIC está alimentado, ocorre a irradiação "conduzida" pela fiação de uma EMI -INTERFERÊNCIA ELETROMAGNÉTICA. O que acontece é que todo circuito que contenha bobinas ou solenóides, quando é desligado, tenta de opor à variação da corrente que ocorre no momento do desligamento gerando uma força contra-eletromotriz de grande amplitude (vários kilovolts)! Esse "pulso" de alta tensão é de curtíssima duração mas poderoso o suficiente para prejudicar circuitos eletrônicos sensíveis e microprocessados como os de um microcontrolador como o PIC. Então, não tem jeito, o jeito é usar esse subterfúgios para evitar mas "não impedir" que esse pulso atue todas as vezes que ele surge.
No meu caso, com as medidas acima, eu melhorei a coisa em 70% e hoje os resets indevidos ainda acontecem só que com menos freqüência do que antes! Boa sorte.
Pask.