Formula matematica para correção de sensor LM35

Boa noite pessoal estou com um LM35 aqui lendo o valor de 50, gostaria de converter esse valor para aparecer em celcius , utilizando a seguinte formula:

( 5 * VALOR_SENSOR * 100) / 1024 ;

Eu teria que coloca-lo num script? como ficaria?

Exibições: 4543

Responder esta

Respostas a este tópico

Vc está conectando o LM35 em que circuito? Arduino?

ue, assim mesmo.. rssss

v_Celcius = (VALOR_SENSOR* 5 * 100)/1024;

ai da um print em v_Celcius

acredito que independente da linguagem usada a LOGICA é a mesma...

uma variavel recebe o valor da formula e imprimi o valor retornado...

Abraços

Sim com o arduino e o com o scadabr

ah foi mal pessoal coloquei esse post com preça e esqueci de um detalhe :S, gostaria de ler esse valor nos scadabr e fazer a conversão no proprio scada :S

eu fiz uma aplicação semelhante mais fiz a leitura conversão e uma suavização (as leituras de sensores tendem a ficar variando) no próprio arduino minha ideia inicial era como a sua fazer isso no scadabr mais no fim foi mais fácil fazer no arduino mesmo.

Mais em ultimo caso vc teria que usar script mesmo para fazer isso no scadabr. Ae tem varias formas de se fazer isso. Assim que chegar em casa eu do uma olhadinha e vejo se consigo lhe ajudar...

Mais do meu ponto de vista o melhor caminho é fazer isso no arduino mesmo kra

entao, como estou fazendo um projeto de iniciação cientifica tem aquela questao dos relatorios ai teria que colocar e fazer das duas formas

as linguagem usada no scada e javascript ne?

Alguém já aferiu essas temperaturas medidas pelo LM35 ?, já tentei várias fórmulas e acho que todas dão muito errado. 

entao eu usei essa formula msm ( 5 * VALOR_SENSOR * 100) / 1024 ), nao comparei com nenhum outro sensor,  mas quando eu vi na previsao do tempo os valores estavam bem proximos.

Nao tem chance do seu sensor esta com algum tipo de defeito?

Estou testando um circuito com o LM35 e precisei usar um fator de correção que chamei de "cal". A leitura do valor do sensor e a conversão ficou assim:

int reading = analogRead(sensorPin);
float voltage = reading * (Vcc / 1023.0);
float tempC = voltage * 100;
float tempCal = tempC - cal;

Faço a calibração comparando o valor corrigido "tempCal" com um termômetro Minipa MT401A que sei que a leitura está correta.

O resultado está bem satisfatório.

Rodrigo Borges

Interessante isso,no datasheet, por exemplo, informa que não necessita calibração, que ele já vem calibrado em Kelvin, mas nunca comparei com outro para saber bem.

Tb ele diz que é linear, vc chegou a comparar em outras faixas de temperatura? Se sim, o erro (ou desvio) foi muito grande? Foi linear?

Outra informação, parece que a resposta é um pouco lenta (algo como 0-100°C) em mais de 60 segundos , é isso mesmo?

Valeu!

Cara eu testei numa faixa entre 20 a 30ºC e o sensor respondeu bem e linear sim. Quanto ao erro, como disse, faço a correção no software.

Quanto a resposta acho que dependerá muito da frequencia de aquisição dos dados. Eu estou lendo o valor da entrada analogRead a cada 3 segundos e atualizo na serial. Mas já fiz testes com leituras mais rápidas e o sensor respondeu bem.

Conclusão: para aplicações onde não se exige tanta precisão (0 casas decimais) acho que o sensor atende bem sim!

Rodrigo Borges

Qual o valor de "cal"? tem como colocar ai o fonte pra estudo?

Não fiz grandes estudos não.

Primeiro reparei que a alimentação do arduino influencia muito, pois na fórmula de conversão o Vcc é uma variável. Então medi a alimentação usando tanto a USB quanto a fonte externa e é esse valor medido que uso no software.

Depois da conversão feita comparei com um termômetro calibrado e vi que o valor medido pelo LM35 era maior que a do termômetro. Então criei a variável "cal" que subtrai do valor medido pelo LM35 (float tempCal = tempC - cal)

O valor de cal encontrei observando, comparando e ajustando (processo bem empírico mesmo). Nada mais é do que a diferença entre o que o termômetro mede é que o LM35 mede.

É isso...

Rodrigo Borges

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço