(Resolvido) - Termostato com LM35 e ponteciômetro

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.

http://pastebin.com/2NNMM3DV


Grato.

 

Exibições: 1618

Responder esta

Respostas a este tópico

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 !

Anexos

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

http://pastebin.com/bwr9hAmi

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.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço