Diodos como sensor de temperatura - parte 1

    Olá pessoal, essas postagens vão trazer a dependência da tensão num diodo diretamente polarizado com a temperatura, e como isso pode ser usado na prática.

    Nessa primeira parte, fiz um sistema contendo um LM335, sensor de temperatura com saída de temperatura linear, em Kelvin, que será usado como a referência nas medidas, um microcontrolador ATMEGA8, um MAX232 para a comunicação serial e também diodos.

  O firmware gravado no AVR faz o uso do conversor analógico-digital, para a leitura do LM335 e também dos diodos, que, sob a mesma temperatura ambiente, de tal modo que é enviado para a serial os resultados de leituras do AD, tal como na figura abaixo:


    O que temos na parte do diodo são 5 diodos EM-2B em série, onde após alguns dias de testes e reunião de dados, farei alguns gráficos (2ª parte) e depois uma análise dos dados para o principal, levantar qual a linearidade das medidas.

    Já que, como se sabe uma medida de temperatura com resultado não-linear é muitas vezes inútil para aplicações onde não seja necessário apenas um ponto de temperatura, já que exige a linearização dos dados, isto é, mais programa sendo executado num microcontrolador ou então mais blocos de amplificador operacional para se obter o valor correto de temperatura.

   O sistema para obter os dados opera com um LM335 como a referência, este que é similar ao LM35, mas com a saída em [K], não em [°C], sua saída opera de acordo com:

Vo(T)=0,010*T [V]

    Ou seja, a cada 1K de temperatura a tensão na saída difere de 10mV, na prática, para a temperatura de fusão do gelo, 0°C=273,15K, a saída será de 2,7315V,  não contando os erros, de aprox 1K quando calibrado.

   Os diodos foram conectados em série, cinco deles, conectados também ao AD, no caso do LM335 sua leitura é convertida em K e para os diodos temos o valor do Vf total, onde todas as contas foram feitas com ponto fixo, e o programa todo ocupando seus 995bytes de flash e menos de 10 bytes de RAM.

   Isto é, um programa corretamente feito em C, para uma CPU decente, usando um compilador profissional e e boas técnicas de otimização não ocupa um espaço astronômico, tais como programas que tenho visto, feitos utilizando códigos prontos, ou então bibliotecas prontas e mal feitas. 

  Fechando parênteses quanto aos maus profissionais, que transformam o trabalho em putaria.  :(

  Aí vai a foto, foi tudo montado numa protoboard, com os conectores do ISP ligados a um AVRISP que tenho aqui.



   Por enquanto é só, aguardem os próximos posts! lol

0 comentários:

Postar um comentário