TERMÔMETRO COM SENSOR LM35 + PIC16F676
   
    Este projeto é bem simples, utiliza um sensor tipo LM35 para medir a temperatura. O sensor é ligado diretamente na entrada analógica do PIC16F676. Este lê a grandeza analógica e converte-a para digital através do conversor A/D interno e também mostra o valor correspondente a temperatura em graus Celsius através de três displays a LED, de sete segmentos. Os displays são multiplexados e ainda é usado um CI 4511 (conversor BCD para display sete segmentos) para minimizar o uso de I/Os do microcontrolador.

    CARACTERÍSTICAS:

 
    Fotografias da gambiarra:

term_lm35



term_lm35a


    Apesar de aparecer 4 displays na foto, um dígito não é implementado (o da esquerda).
   
    O software foi escrito em assembly e basicamente, faz 32 leituras A/D separadas por um intervalo de 30ms, somando os valores de cada leitura. Quando forem finalizadas as 32 leituras, o valor total da soma destas deverá ser dividido por 32; aí temos o valor da conversão A/D. Como a tensão de referência é de 2.048V e a resolução do conversor A/D é de 10 bits, cada bit lido equivale a 2mV na entrada analógica, então temos que multiplicar o valor lido por 2. Então, pela lógica, o somatório de 32 leituras A/D deverá ser dividido por 32 e depois multiplicado por 2. Para simplificar a coisa, o que fazemos é dividir o somatório das 32 leituras por 16, que equivale ao que disse antes. O software utiliza a interrução do timer0 para multiplexar os displays. O prescale é aplicado ao timer0, sendo configurado para dividir por 4. O timer0 é apenas "limpado" a cada interrupção, então temos quatro contagens de 0 a 256 para que ocorra a interrupção de multiplexação dos displays. O microcontrolador é configurado para funcionar com oscilador RC interno, de 4MHz, uma vez que precisamos de I/Os e não é necessário muita precisão de clock.
    A utilização de múltiplas leituras e posterior divisão pelo número delas, dá uma maior estabilidade à indicação. Foi escolhido a quantia de 32 vezes pelo fato de ser fácil fazer rotinas de divisão/multiplicação para esse valor, bastando apenas utilizar as Instruções RRF/RLF para este fim.

    CALIBRAÇÃO:
    A calibração é muito simples, consiste em ajustar a tensão de referência em 2.048V no pino 12 do PIC(Vref) através do trimpot de 220R, no esquema R11.

    ESQUEMA ELÉTRICO: Está no formato de imagem:
    term_f676_sch.png

    PROGRAMA:
    Abaixo está o link para pegar o programa, em assembly.
    term_f676.asm


    Retornar para a página principal