quinta-feira, 18 de agosto de 2011

TUTORIAL: Sensor de temperatura com Arduino


TUTORIAL: Sensor de temperatura com Arduino
Resumo: Ler um sensor de Temperatura (LM35), utilizando o Arduino. Converter o sinal analógico lido, na temperatura correspondente, em grau Celsius, e enviar este valor para o computador via porta USB (Serial).


  • Componentes

    • Arduino

    Arduino é uma plataforma de hardware e software abertos que simplifica a criação e prototipagem de projetos de eletrônica.
    Uma típica placa Arduino é composta por um controlador, algumas linhas de E/S digital e analógica, além de uma interface serial ou USB, para interligar-se ao computador, que é usado para programá-la e interagi-la em tempo real.





    Figura 1: Arduino

    Neste exemplo, o que nos interessa são as portas analógicas do Arduino, pois iremos ler um sensor analógico.

    O Arduino é dotado de seis portas analógicas, que vão de A0 à A5 (figura 01), com resolução de 10 bits, e faixa de leitura de 0 à 5V.


    § Sensor de Temperatura LM35




    Existem no mercado, hoje em dia, diversos tipos de sensores de temperatura, estima-se que talvez nenhum outro tipo seja de tão simples o manuseio e exija tão poucos aparatos eletrônicos, para que funcione, quanto o modelo LM35, pois o circuito usual é bastante simples, necessitando apenas do sensor propriamente dito.






    Figura 02: Sensor de temperatura LM35


    O sensor LM35 apresenta uma saída de tensão linear relativa à temperatura em que ele se encontrar no momento em que for alimentado por uma tensão de 4-20Vdc e GND, tendo em sua saída um sinal de 10mV para cada Grau Celsius de temperatura.

    Este sensor poderá ser alimentado com alimentação simples ou simétrica, dependendo do que se desejar como sinal de saída, mas independentemente disso, a saída continuará sendo de 10mV/ºC.


    v Condicionamento do Sinal

    Arduino
    Porta analógica
    10 bits*


    0 à 5V
    Sensor LM35
    Sensor analógico
    10mV/ºC**
    -55 à 150ºC

    * Resolução de 10 bits: quer dizer que os limites de conversão A/D, em valores digitais são de 0 à 1023 ( 2¹º = 1024 ), ou seja, se em uma entrada analógica for aplicado um sinal de 0V, o valor correspondente será 0 (valor analógico convertido digitalmente). Já uma entrada de 5V e 2,5V terão correspondentes em 1023 e 511, respectivamente, e assim por diante linearmente.
    ** Quer dizer que para cada grau Celsius, o sensor somará em sua saída analógica 10mV, por exemplo: em uma temperatura de 0ºC, o sensor terá uma saída de 0V. Já em uma temperatura de 25ºC, temos um sinal de 250mV ( 25 x 10mV = 250mV ).

    Equação

    Descrição: para efeito de cálculo, vamos considerar que se a temperatura medida, no sensor, for de 500ºC*, então o valor digital equivalente seria 1023, logo qual a temperatura T para um valor digital S? Aplica-se então essa relação à regra de três simples, e obtere
    mos uma equação que relaciona o sinal convertido, do sensor, com a temperatura atual no mesmo.



    * Lembrando que o sensor LM35 tem uma faixa de leitura de temperatura entre -55ºC à 150ºC. O valor de 500ºC foi usado apenas para efeito de cálculo, visando chegar a valores inteiros ao final da equação.


    Firmware
    //Serial-temperatura

    int SENSOR = 0; //Definindo variáveis
    float S = 0;
    float T = 0;
    void setup(){
    Serial.begin(9600); //Configurando taxa de transferência porta serial
    Serial.println("Lendo Temperatura...");//imprime na tela
    }
    void loop(){
    S = analogRead(SENSOR);//Lê porta analógica e armazena em S
    T = (S * 500)/1023;//Conversão do sinal lido em Temperatura


    Serial.print(T);//Imprime o valor de T (temperatura)


    Serial.println(" C");//imprime em seguida

    delay(1000);//Intervalo de cada ciclo
    }




    Exemplo


    Figura 1


    Figura 2: Montagem Arduino + Sensor LM35


    Figura 3: Firmware e Monitor Serial




    Você também pode assistir a este tutorial, no link abaixo:




    ou no site da EngCOMPER: www.engcomper.com (Na aba Tutoriais)






    4 comentários:

    1. axei mutio interessante o projeto, mas gostaria de saber se ha como fazer esse sensor usando outro metodo que não precise usar o arduino, se sim qual???

      ResponderExcluir
      Respostas
      1. Se a idéia por exemplo é disparar um transistor, teria que colocar um resistor na saída do CI e liga-lo à base de um transistor NPN, quanto maior for a resistência maior seria a temperatura para disparar o transistor, esse transistor poderia por exemplo ligar uma pastilha de peltier, para gelar água por exemplo, assim quando a água estiver gelada ele corta a tensão no transistor a pastilha desliga, quando ela começar a esquentar ele liga de novo mantendo a água gelada. Um exemplo simples.

        Excluir
    2. Pode ligar o sensor com uma fonte estabilizada de 5 v nas portas Vs(+) e GND(-) e ler o sinal com um multímetro digital nas portas Sinal e GND(-).

      ResponderExcluir
    3. Pode ligar o sensor com uma fonte estabilizada de 5 v nas portas Vs(+) e GND(-) e ler o sinal com um multímetro digital nas portas Sinal e GND(-).

      ResponderExcluir