LusoRobótica - Robótica em Português

Sobre o LusoRobótica - antigo => Sugestões e Questões => Tópico iniciado por: andremendes em 20 de Maio de 2012, 21:48

Título: Sensor LM335A
Enviado por: andremendes em 20 de Maio de 2012, 21:48
Boas.

Alguém me sabe dizer como calibrar o sensor de temperatura LM335A ?

Obrigado.
Título: Re: Sensor LM335A
Enviado por: Njay em 20 de Maio de 2012, 21:57
Há uma secção da datasheet do mesmo só sobre como fazer isso.
Título: Re: Sensor LM335A
Enviado por: andremendes em 20 de Maio de 2012, 22:18
Há uma secção da datasheet do mesmo só sobre como fazer isso.

Já tinha estado a ver... mas ou não encontrei ou não percebi o que li, pois não consegui decifrar lá nada que me pudesse ajudar.

Vou voltar a tentar ler aquilo melhor para ver se me oriento.
Título: Re: Sensor LM335A
Enviado por: Njay em 20 de Maio de 2012, 22:20
Força... se tiveres dúvidas concretas, apita.
Título: Re: Sensor LM335A
Enviado por: andremendes em 20 de Maio de 2012, 22:28
Obrigado.

Entretanto uma questão quanto às ligações. GRD, 5V e sinal... é necessário algum tipo de resistência para alguma das 3 ligações necessárias ?
Título: Re: Sensor LM335A
Enviado por: Njay em 20 de Maio de 2012, 22:38
Acho que estás a confundir o LM35 com o LM335. O LM35 é que tem GND, alimentação e saída de sinal.

O LM35 tem 2 pinos de allimentação e um 3º onde "sai" uma tensão proporcional à temperatura.

O LM335 funciona como um díodo zener, em que a queda de tensão é proporcional à temperatura; tem 3 terminais mas o terceiro ("ajuste") é apenas para o calibrares para teres melhor precisão, e se não quiseres nem precisas de o usar. Isto usa-se como um Zener, portanto precisa de uma resistência, mas mais uma vez a datasheet tem exemplos de aplicações tipicas, e o 1º circuito ("Basic temperature sensor") mostra a forma mais simples de o usar.
Título: Re: Sensor LM335A
Enviado por: andremendes em 20 de Maio de 2012, 22:40
Acho que estás a confundir o LM35 com o LM335. O LM35 é que tem GND, alimentação e saída de sinal.

O LM35 tem 2 pinos de allimentação e um 3º onde "sai" uma tensão proporcional à temperatura.

O LM335 funciona como um díodo zener, em que a queda de tensão é proporcional à temperatura; tem 3 terminais mas o terceiro ("ajuste") é apenas para o calibrares para teres melhor precisão, e se não quiseres nem precisas de o usar. Isto usa-se como um Zener, portanto precisa de uma resistência, mas mais uma vez a datasheet tem exemplos de aplicações tipicas, e o 1º circuito ("Basic temperature sensor") mostra a forma mais simples de o usar.

Então devo de estar a fazer confusão... É que eu já utilizei o LM35, mas o que quero agora utilizar é mesmo o LM335. Então é possivel que esteja também a fazer algumas ligações mal e por isso a coisa não esteja a funcionar.

Porque as temperatura até que tem estado dentro do previsto... mas por exemplo quando faço calor sobre o sensor ele desce a temp e não aumenta. Sem ter isto bem ligado 1º nem sei se o código estará também ele correto.
Título: Re: Sensor LM335A
Enviado por: Njay em 20 de Maio de 2012, 22:57
A montagem básica é mesmo o 1º exemplo da datasheet. Podes usar uma resistência de 1.8K a 2.2K. Depois o sinal que "sai do zener" (no ponto em que a R e o LM335 se unem) é 10mV por cada grau Kelvin. A escala de graus Kelvin é igual à de graus centigrados mas 0ºK = -273.15ºC, daí que no código, depois de leres o valor da tensão, tens que efectuar uma conversão (subtrair 273.15!) para teres a temperatura em ºC.
Se leres 0V, a temperatura é 0V x 0.01V/ºK = 0ºK = -273.15ºC.
20ºC seriam 20ºC + 273.15ºC = 293.15ºK -> 295.15ºK x 0.01V/ºK = 2.9315V.
Genericamente, se Vin for a tensão lida (em Volt), temos que a temperatura (Tc) em ºC é Tc = Vin / 0.01 - 273.15
Título: Re: Sensor LM335A
Enviado por: andremendes em 20 de Maio de 2012, 22:59
A montagem básica é mesmo o 1º exemplo da datasheet. Podes usar uma resistência de 1.8K a 2.2K. Depois o sinal que "sai do zener" (no ponto em que a R e o LM335 se unem) é 10mV por cada grau Kelvin. A escala de graus Kelvin é igual à de graus centigrados mas 0ºK = -273.15ºC, daí que no código, depois de leres o valor da tensão, tens que efectuar uma conversão para teres a temperatura em ºC.
Se leres 0V, a temperatura é 0V x 0.01V/ºK = 0ºK = -273.15ºC.
20ºC seriam 20ºC + 273.15ºC = 293.15ºK -> 295.15ºK x 0.01V/ºK = 2.9315V.
Genericamente, se Vin for a tensão lida (em Volt), temos que a temperatura (T) em ºC é T = Vin / 0.01 - 273.15

A ligação já fiz... Estou é a usar resistencia de 1k ha problema? Se não o que tenho é de 10k. Mas as conversões acho que tinha bem, mas isto não me le bem. Não sei que valores lhe estou a passar erradamente. Porque quando ter as temperaturas certas, ele le ao contrario... fica mais quente e ele começa a baixa a temp. Deixa la ver isto td novamente.
Título: Re: Sensor LM335A
Enviado por: Njay em 20 de Maio de 2012, 23:09
Não há problema com 1K se estiveres a usar 5V, mas depois é melhor usar ~2K. Quanto mais corrente passar por ele, mais tendência tem para aquecer e depois tens um erro maior, porque em vez de estar à temperatura do que queres medir, ele está à sua própria temperatura. Na datashet tens os limites de corrente que podem atravessar o "zener".
Título: Re: Sensor LM335A
Enviado por: andremendes em 21 de Maio de 2012, 15:21
Não há problema com 1K se estiveres a usar 5V, mas depois é melhor usar ~2K. Quanto mais corrente passar por ele, mais tendência tem para aquecer e depois tens um erro maior, porque em vez de estar à temperatura do que queres medir, ele está à sua própria temperatura. Na datashet tens os limites de corrente que podem atravessar o "zener".

O problema que continuo a ter é mesmo na leitura... Nunca tenho uma leitura correta da temperatura. Estou a fazer algo mal na conversão no código.
Título: Re: Sensor LM335A
Enviado por: andremendes em 21 de Maio de 2012, 16:13
 
Código: [Seleccione]
int TempPIN = 0;
  float leitura;

  void setup(){
    Serial.begin(9600);
  }

  void loop(){
    leitura = analogRead(TempPIN);
       
    leitura = (((leitura / 1023) * 5) * 100);
    Serial.print("Celsius: ");   
    leitura = (leitura - 272.15);
    Serial.println(leitura);   
   
    delay(1000);
    }


Parece-me tudo correto, mas recebo é alguns valores muito dispares... Pode estar a dar 25ºC, 'aplico' calor começa a aumentar e do nada começa a marcar 21, depois 19, logo de seguida passa para vinte e tal...
Título: Re: Sensor LM335A
Enviado por: Njay em 21 de Maio de 2012, 18:43
Isso é o comportamento de um díodo, cuja queda de tensão baixa com o aumento de temperatura (diz-se que tem um "coeficiente de temperatura negativo"). Não terás isso ligado ao contrário?

(é 273.15 e não 272.15)
Título: Re: Sensor LM335A
Enviado por: andremendes em 21 de Maio de 2012, 18:47
Isso é o comportamento de um díodo, cuja queda de tensão baixa com o aumento de temperatura (diz-se que tem um "coeficiente de temperatura negativo"). Não terás isso ligado ao contrário?

Penso que não... Segui o datasheet. Vai em anexo o esquema de como liguei.

Título: Re: Sensor LM335A
Enviado por: Njay em 21 de Maio de 2012, 18:51
Parece-me bem. Mede a tensão "de saída" com o multimetro (mede na pata da R). Experimenta outro LM335, podes ter estragado esse.
Título: Re: Sensor LM335A
Enviado por: andremendes em 21 de Maio de 2012, 19:51
Parece-me bem. Mede a tensão "de saída" com o multimetro (mede na pata da R). Experimenta outro LM335, podes ter estragado esse.

Tenho é de arranjar um multimetro... Achas que possa ter estragado o sensor ? Ele agora parece medir bem... Tem é aqueles 'saltos' que referi. Mas tenho é de confirmar de outra forma a temperatura real no espaço onde o sensor está para ter a certeza.
Título: Re: Sensor LM335A
Enviado por: Njay em 21 de Maio de 2012, 20:13
Se a tensão não aumenta com a temperatura, não está bem. Também não está bem se os valores não são aproximadamente os esperados. O sensor tem um erro, tá na datasheet mas penso que são até +/- 3ºC, erro este que podes reduzir calibrando-o.
Título: Re: Sensor LM335A
Enviado por: andremendes em 21 de Maio de 2012, 20:36
Se a tensão não aumenta com a temperatura, não está bem. Também não está bem se os valores não são aproximadamente os esperados. O sensor tem um erro, tá na datasheet mas penso que são até +/- 3ºC, erro este que podes reduzir calibrando-o.

Vou então ver se depois consigo fazer a medição e ver se está okay.

Obrigado.