Controlar temperatura de um Fermentador de Cerveja com Arduino

Boa tarde 

Pessoal

Venho aqui solicitar a ajuda de vocês em um projeto que estou desenvolvendo para controlar a temperatura de um fermentador de cerveja artesanal, o problema é o seguinte, a cada dia eu tenho que desligar ele um minuto para que ele não trave, já troquei 5 fontes de 5 volts porque quando coloco uma fonte nova ela funciona uns 3 dias e depois a cada dia trava, ai já não sei se é problema na fonte ou no arduino, neste projeto ele tem 3 rele que acional uma bomba pra circular a água e ligar uma máquina de ar condicionado de 12.000 btu pra esfriar ou esquentar. Alguém poderia me ajudar nesta questão, e futuramente neste projeto gostaria de controlar via internet e poder programar o tempo em que ficaria cada faixa de temperatura. Segue anexo o programa do Arduino.

Se tiver alguém com o interesse de desenvolver, por favor entre em contato comigo. Obrigado

Exibições: 934

Anexos

Responder esta

Respostas a este tópico

Outra coisa é tentar depurar para verificar onde ocorre o erro, sugestão nas rotinas que ativam as cargas externas, como exemplo em anexo.

Anexos

Vou implementar o uso WDT. Obrigado

Esquema elétrico

Anexos

Bom dia Anselmo, 

Favor especificar quais fontes de alimentação esta usando para todo o circuito .

Uma fonte somente? Qual a especificação da fonte ?  Como esta alimentando o Arduino ? E a placa dos relés? e os contactores?

Já implementou algum filtro  como o Rui sugeriu ? 

O seu problema provavelmente é devido à ruido elétrico.

Bom Dia, José

Obrigado pela sua resposta, eu estou usando uma fonte de 5 Volts e de 5 amperes, onde sai um par de fio pra alimentar o arduino e outro par pra alimentar a placa dos reles, e as contactoras estão em 220 vlts que são acionado pelos reles de 5 volts. E quando aos filtros ainda não implementei, vou fazer assim que tiver um tempinho e testar.

A sua placa de relés pode estar gerando ruidos que estão travando seu Arduino. 

Ou então os contactores podem gerar spikes na fonte. 

Sugestão para teste - use uma fonte separada para seu Arduino. 

Ok, José, vou colocar outra fonte e assim monitorar pra ver se vai continuar o problema, Obrigado.

Anselmo, tinha um problema com um modulo de potencia que enlouquecia o arduino, resolvi com optoacopladores entre os pinos do arduíno e do drive a ser alimentado. Como algo para se pensar como plano "C", neste caso utilizei o 4N25.

Opá Joacir, Obrigado pela dica, vou tentar também. Obrigado.

Bom dia!

Se o problema é pontual de 3 em 3 dias, pode ser memória, você esta usando alguma memória e não limpando seu conteúdo ou usando alguma função recursiva?

Tem alguma função que monitora a memória do ATmega? Verifica se ela não esta enchendo ate estourar(memory overflow).

Se fosse ruído daria a qualquer momento, durante os acionamentos das contactoras!

O Rodrigo pode ter razão.

Uma das formas mais eficientes de economizar memória é usar a macro F().

Ela pode ser usada nos comandos print, tanto na serial quanto no lcd.

Veja onde você usa esses comandos print e revise. Você só pode usar em valores constantes.

Exemplo:

Em vez de:

Serial.println("Iniciado");

Use:

Serial.println(F("Iniciado"));

https://www.baldengineer.com/arduino-f-macro.html

http://labdegaragem.com/profiles/blogs/artigo-arduino-e-otimiza-o-d...

OK, Jose, vou dar uma revisada. Obrigado.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço