Pic resetando, PIC16F28A para controlar todo o circuito

D

Denis F. Choltman

Guest
bom dia :D

bom, estou fazendo um TCC pro meu curso de mecatrônica e o projeto é um protótipo de um semáforo ecológico fotovoltáico com apenas um globo (LED RGB com 3 cores - Vermelho, Verde, Azul).
Estou utilizando 37 Leds e para acioná-los estou utilizando um relé, também estou utilizando o PIC16F28A para controlar todo o circuito e o display do contador.

Ele é baseado nesse princípio.

(LED RGB) Vermelho - 15s
(LED RGB) Verde - 10s
(LED RGB - Vermelho + Verde) Amarelo - 5s

Esse é o ciclo.

Porém quando ele reeincia o ciclo pela terceira vez na cor vermelha do LED quando ele termina os 15s ele reseta o PIC, começando o ciclo denovo e após 15s ele reseta denovo, repete isso umas três vezes, então ele continua o ciclo para verde depois o amarelo novamente.

E continua assim.
Repete a cor vermelha 3 vezes (pelo reset), e depois ele continua o ciclo verde e amarelo.

Alguém poderia me ajudar a arrumar esse reset?
é comum isso acontecer?
 
Olá amigo....
Isto não é normal não. O microcontrolador não tem que resetar.
Seguinte, já verificou se o WatchDog está desabilitado?.... Confira também se o pino de reset não está flutuando... Outra possibilidade é o firmware estar se deslocando para um local indevido..... Trabalha com algum ponteiro? Ele pode estar te enviando para este local indevido... Caso tenha alguma interrupção que não possua a função de tratamento ele irá resetar.

Abraço.
 
Olá

Nunca trabalhei com este modelo de pic, os pic18f2550 e 4450 podem resetar caso ocorra estouro da pilha, verifique se existe alguma subrotina com chamada recursiva que possa estar estourando a pilha.
 
Olá.
Você pode testar um monte de coisas para saber o que está acontecendo.
Uma delas, é verificar o hardware e colocar um resistor de 10k para pull-up do MCLR e, lógico, habilitar MCLR. Já tive problemas de reset com esse pic e isso ajudou. Posta um esquemático para que possamos analisar e te ajudar.

Para saber qual tipo de reset está acontecendo, você tem que testar o registrador PCON, item 14.4.6 do datasheet DS40044D.
Você também deve rodar o programa no simulador do MPLAB. Lá você consegue ver, passo-a-passo, o que está acontecendo. Se for um problema de firmware, é lá que você irá conseguir "ver" onde está o problema.

Você tá usando assembly ou C? O bom do C é que você tem esses problemas e não consegue resolver. Eu sou fã do assembly e para esse PIC, é o que uso e usaria.


Posta o seu programa e o seu hardware aqui para que possamos te ajudar melhor.

Luiz Fellipe Salomon
LaBit - Laboratório de Bits
www.labit.com.br
 

Welcome to EDABoard.com

Sponsor

Back
Top