Montei um circuito, ainda está na protoboard, funciona perfeitamente, lendo e transmitindo via RF 430Mhz para outro ATMEGA que está ligado a um DISPLAY.

O problema é que de vez em quando ele reseta sozinho, eu sei isso, pois além das informações de eu mando também o tempo de UPTIME, tipo está hoje a 36 horas funcionando ininterrupto, as as vezes dá 8, 9, 20 minutos e ele reseta.

Alguém tem alguma forma de tornar o circuito mais estável.

Eu alimento o ATMEGA com um 7805 e esse baixa de 21V para 5V, já coloquei um capacitor entre o VCC(pino 7) e o TERRA (pino 8) do ATMEGA, ele funciona sem cristal.

O pino de reset, já está com um resistor de PULLUP de 10KR

Se tiverem dicas, agradeço.

Atualizando 1.

Coloquei um capacitor de 100uF na saída e um de 22nF na entrada do 7805, e deixei ligado a noite para ver se não reseta sozinho.

Atualizando 2

Após colocar os dois capacitores acho que posso dizer que ficou com 99,99% de eficiência, mas quando uma determinada contatora de um Painel Elétrico é acionada, que faz funcionar um motor de 1cv, ele reseta.

Fiquei na dúvida, será que trocando a contatora, ela já tem ums 3 anos de uso, essa contatora pode estar dando faiscamento ou o motor que consumindo muita corrente e faz o reset.

Tenho outro circuito, este usando um arduino, que não reseta ao acionar essa contatora.

Outro caminho que vou tomar agora é colocar uma fonte de 12V para alimentar o circuito e manter a fonte de 21V apenas para alimentar o TRANSDUTOR de PRESSÂO.

Exibições: 2437

Responder esta

Respostas a este tópico

Eu já passei por um problema semelhante. Usava um ATtiny26 para acionar um motor de 1/2cv. Quando o motor invertia a rotação ou passava para alta rotação, o microcontrolador resetava. Tentei vários filtros e fontes de alimentação mas não resolvia. Continuei fazendo testes e conferindo o programa até que acabei resolvendo o problema. Passei a usar um cristal externo. De alguma forma o oscilador interno era muito suscetível à interferências externas e acabava falhando.

Boa, vou mudar o circuito para um com cristal e ver se para de resetar,

Obrigado.

Segundo datasheet, (do Atmega8) o pino 6 da porta C (PC6) pode ser configurado como porta IO (input /output) ou como Reset.Observe datasheet do seu micro,pois ,pode haver que ao receber um sinal digital neste pino,haveria um reset.

Desculpe, mas não entendi direito.

O PC6 é o XTAL1, ele tem que setar ele com pinMode?

Estou usando um ATMEGA328.

http://blog.webtronico.com/wp-content/uploads/2011/02/atmega328.jpg

No link acima,podemos ver o pino PC6 com duas funções:

a)Reset

b)PCINT

Quando  eu usava o AvrStudio,existia uma opção para gravar o fuse bit relativo ao modo em que o pino PC6 poderia operar.Como reset ou pino de sinais digitais.

Confira no datasheet ,a forma em que manipula o registrador.Preferencia use o AVR Studio para gravar programa.

Entendi agora, o meu, o PC6 está como RESET mesmo. eu gravo p sketch como se fosse em um lilypad.

Olá Marcelo.

Somente para entender, no "Atualizando 2" você diz que ficou com 99,99% de eficiência. Então aqueles resets anteriores vistos pelo UPTIME foram resolvidos? Estava lendo, e tudo indicava que poderia ser realmente algo de hardware, por exemplo ruído na fonte ou problema com o oscilador, mas já me deparei com problemas de software em que ocorria ou acionamento do watchdog ou stackoverfloow, problemas no retorno de  funções, etc

Aparentemente só resta um problema que é o reset no momento em que aciona uma contatora. Por acaso a alimentação do seu circuito que está entrando em reset, ele está conectado na mesma rede que alimenta a contatora? E o mesmo está bem próximo dela? Esses são pontos comuns que ajudam a irradiar ruídos para o controle. E também, ao invés de pensarmos em ruído, pode ser que seja o próprio terra do circuito que está sofrendo uma diferença de potencial fora do previsto, e isto estar ocasionando o reset. 

Um sugestão é que coloque um osciloscópio na alimentação do circuito que está entrando em reset, e faça com que aconteça o reset, acionando a contatora, e veja se realmente ocorre o ruído esperado. Caso a fonte do seu circuito esteja longe da placa, coloque o osciloscópio entre o terra de saída da fonte, e o terra na entrada do circuito, veja se aparece algum potencial diferente durante o funcionamento. São verificações que já me ajudaram bastante, tanto para descobrir se está acontecendo e partir para a solução, quanto para descobrir que não estava acontecendo e verificar demais pontos.

Caso seja comprovado o ruído, e ele for irradiado e não vindo pela fonte, talvez uma fita de cobre possa te ajudar a blindar o circuito. Praticamente uma gaiola de Faraday. Antes de comprar uma blindagem, eu fazia de uma forma bem caseira: Enrolava o circuito em papel alumínio, e ligava este ao terra de entrada. Fica feio mas é algo temporário apenas para os testes. Depois era só redesenhar o plano de terra do circuito e colocar uma fita para a blindagem se necessário.

Boa sorte.

Att.

Cara eu faria o seguinte;

_Colocava um cristal externo com dois capacitores de 22pF entre o pino do cristal e o terra;

_Provavelmente na saido do atmega vc esta ligando um optoaclopador para acionar um rele, e depois o rele acioa a contatora...se sim, você deve colcar na bobina do rele um diodo em anti-paralelo e um capacitor eletrolítico(não me lembro o valor) e também em paralelo com o contato do rele um resistor em série com um capacitor, não me lembro os valores mas posso te confirmar amanhã.Falo isso porque essa semana tivemos que resolver esses problemas de reset e resolvemos dessa forma.Outra forma seria ligando mosfet. Agora se vc ja estar a usar os mosfet, sinceramente nao sei mais como ajudar srsrrsrsrs 

Esse meu circuito, com a contatora que parece que faz o reset, está no mesmo prédio, elas compartilham apenas a REDE AC 220V (estão inclusive distantes uns 10 metros), não controla nada com esse ATMEGA, ele não aciona nenhum relê, nada, ele apenas está ligado a um transdutor de pressão, e por RF transmite para um DUELMILANOVE controlando um DISPLAY 5110.

Bem lembrado Rhaicmer,  esse circuito do capacitor em série com o resistor, e ambos em paralelo com os contatos do relé, se chama SNUBBER, e pode resolver mesmo. 

Att.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço