Ola bom dia.
Preciso de ajuda com um termostato com LM35, potenciômetro a ligar um led.
O LM35 esta ligado ao A0.
Potenciômetro esta na A2.
Esta marcando as temperaturas certas o LM35, mas ao mexer no potenciômetro para especificar a temperatura ao lm35 ao chegar nos 35 graus pelo potenciômetro ele altera o valor do lm35.
Coloquei o código no pastebin.
Grato.
Tags:
Luis, deixei assim para teste
if (Temp <= valPot) { // neste caso se temperatura menor que leitura do potenciômetro Liga relay
digitalWrite(relay, HIGH);
delay(1000);
Serial.println(" Ligou");
}
else {
digitalWrite(relay, LOW);
delay(2000);
}
Reduziu a loucura do relay, mas achei interessante que consegui observar o problema, quando o relay liga, o LM35 aumenta a leitura em 2ºC, por isso que fica doido. Antes de utilizar a técnica do Rui, aumentava consideravelmente por ex: 70ºC.
Cabe observar que tenho um termostato com DS18b20, e a sua solução funciona corretamente.
Eu não testei o relay em uma rede a parte, mas acho complicado ter que usar uma fonte separada para acionar o mesmo, mas se der para usar o LM35 barateia o termostato.
Ola pessoal.
bom como havia dito, fiz um termostato com NTC10k e potenciôemtro e funcionou tranquilho !!
Agora voltei com o LM35 e colocando um capacitor de 470uF (Rui disse sobre o capacitor) fico estável a temperatura.
Mas a agora nã apaga mais, se mantei ligado e a aqui esta com 21 graus.
Deveria ligar o led em 22 graus ao setar o pot a 22.
Adicionei um arquivo de como estou montando o LM35 e o pot.
Grato !
Jorge estava pesquisando encontrei essa postagem no próprio fórum do Lab http://labdegaragem.com/forum/topics/problema-lm35-motor-12v-arduino
Existem duas soluções interessantes, uma é colocar dois capacitores cerâmicos no LM35, postado no comentário do Kraftman
Outra sugestão dada pelo André Andrade na discussão LM35 variando muito no Arduino, foi aterrar logicamente o pino de leitura, mas não sei como faz.
Mas se eu entendi direito seria fazer isto, mas preciso testar para ver.
analogWrite(A2, LOW);
Ola.
Isso de alterar logicamente pensei em algo.
Vamos dizer que no sketch o lm35 envia o valor de temperatura a cada 10 segundos, ai poderia energiza-lo 1 segundo antes, assim não ficando sempre energizado somente quando for envia o valor.
O código que fiz e com a dica do Rui do capacitor parou com a oscilação esta fixo, o porem agora é ligar o led com o valor pelo potenciômetro.
Essa do capacitor cerâmico é muito boa também !
JM, bom dia,
fiz um teste que melhorou muito a estabilidade da leitura.
Alimentei o LM35 com um resistor pequeno (470 Ohms) e coloquei
um capacitor de 10uf neste encontro do resistor com o LM35.
Depois liguei este encontro na entrada Aref do arduino, e defini que
o ADC usaria a referencia externa.
O que ocorre:
se a tensão que alimenta o LM35 variar, ela vai variar também em Aref,
o que fara um cancelamento da variação, e deixará a medida isenta de variações da alimentação do LM35.
Rui
fiz os testes de manhã e no meu código utilizei o pino Aref Interno via código gostei que aprendi mais uns macetes de programação, estabilizou bem a leitura, mas no meu caso o rele continua afetando a leitura, testarei uma dica que achei neste site, amanhã se houver tempo
https://heliosoph.wordpress.com/2012/03/21/connecting-an-arduino-wi...
termostato lm35 arduino Aref internal
Ola.
Mas assim desta forma não precisaria do pot, não ?
Ola pessoal.
Consegui com ajuda de vc's finalizar o termostato.
Estava eu errando em algo por falta de atenção, troquei a comparação de uma variavel por outra. if (valor < pot){... teria que ser como o luis cito acima tempo < pot.
Fiz um pequeno video do funcionamento dele.
Grato.
https://www.youtube.com/watch?v=UWK-gPfXK-Y
Entendi, e esse foi o erro meu.
Obrigado.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por