FAÇA UM TERMOSTATO COM PIC16F676 E 3 DISPLAY DE 7 SEGUIMENTOS (ESCALA DE 0-100 GRAUS, COM SENSOR LM35)

0

Gostaria de fazer um simples termostato usando um pic 16f676 e alguns display de 7 seguimentos? Então veja este artigo…

Veja o esquema abaixo:

Este material é uma adaptação para usar 7 seguimentos no lugar de display de cristal liquido,do artigo ‘termostato com pic‘. Foram usados 4 botões para controlar os pontos de máxima temperatura (desliga rele) e mínima temperatura (religa o rele). Apertando o botão ‘MAX’ iremos notar que os displays mudam para apresentar a temperatura regulada para desligar a carga. Mantendo este botão acionado e apertando ‘UP’, iremos incrementar este valor e apertando ‘DOWN’ iremos decrementar até o mínimo que corresponderá ao valor escolhido dos contadores ‘MIN_H e MIN_L’. O mesmo princípio de funcionamento ocorre com o botão ‘MIN’, que ao ser apertado mostra o valor que irá religar o rele. Com este botão apertado e apertando também ‘DOWN’ irá decrementar o valor mostrado e apertando ‘UP’ irá incrementar até o valor máximo dado pelos contadores ‘MAX_H e MAX_L’.
A apresentação dos resultados nos displays de 7 seguimentos ocorre de forma multiplexada, sendo realizada na rotina de interrupção do timer 0. A cada interrupção é apresentado um digito diferente apontado pelo contador ‘PONTK’. Também, durante a interrupção, são testados os botões e se deve acionar o rele ou não. O acionamento do rele é feito de maneira não muito comum: Usa-se 3 diodos IN4148 junto aos catodos dos displays para formar uma função ‘AND’ com o valor digital da saida RC0 (pino 10). Somente quando os 3 catodos estiverem com ‘1’ (ou seja, os 3 transistores no corte) é que será analisado o nivel digital do pino 10 para acionar ou não, o transistor, cujo coletor tem o rele ligado. Na parte de conversão analógica para digital, foi usado a tensão do VCC como referência, visando sobrar pinos. Foi colocado um trimpot (multivoltas) de 10k para fazer o ajuste preciso da temperatura mostrada. Para calibrar, coloque um voltimetro preciso do GND ao pino central do LM35. Agora, virando o trimpot de forma gradativa, ajuste para apresentar o mesmo valor. Por exemplo: Voltimetro apresenta o seguinte valor na tela -> 289,0 mVolts (= 28,9º graus centigrados). Ajuste o trimpot para mostrar nos displays do termostato o valor -> 28.9 , e pronto! Já está calibrado!
Quando a temperatura exceder o limite de 99.9ºC , irá mostrar a seguinte mensagem de erro -> ‘ER.R’.
Foi optado por rele de 12 volts para evitar que, ao acionar e desacionar, interfira no valor do vcc de 5 volts, já que este é usado como referêncial e geraria pequenas diferença de leitura. Opcionalmente, poderá ter um led indicador de on/off ligado do vcc ao coletor do transistor drive do rele. A fonte de alimentação deverá fornecer 12 volts (adaptador de parede) e ser regulada com um 7805 para obtermos uma boa estabilidade de tensão.
Obs: Este material é de uso didático apenas, servindo de base para novos projetos. Está sujeito a ter bugs ainda não detectados por ocasião da montagem em protoboard e dos testes realizados.
Caso queira uma versão com LCD de cristal liquido, clique neste link.

Segue o arquivo ASM:

TERMOSTATO_676_7SEG_ASM

Segue o arquivo HEX:

TERMOSTATO_676_7SEG_HEX

Segue a placa de circuito impresso, cedida gentilmente por Agnaldo ‘Foxcom’ (duvidas: agnaldofraga@hotmail.com):

TERMOSTATO 16F676 7 SEGUIMNETOS

Manuais:
LM35
PIC16F676 DATASHEET

Curiosidades:
Como as aves conservam seu calor no extremo frio?
Sabe o que é o ONDOL?
Você sabe que tipo de extintor usar em caso de incêndio?
O que está acontecendo com o clima da Terra?
Qual a origem do universo e a vida?
Dicas para quem viaja de avião

Outros assuntos:
Como evitar ferir com palavras?
Quatro dicas para lidar com problemas financeiros e dívidas
Como lidar com sucesso com os sogros
Como reagir a um assédio sexual
Como parar de adiar as coisas
Entrevista com um bioquímico
Porque ocorrem tantos desastres naturais?

Até o próximo artigo!

0

5 comments

  1. 0

    😯 Claudio, tem com abaixar a leitura para um exemplo -10 graus, neste exemplo, vendo no data do lm35 ja vi que o limite dele e 0 graus, seria para medir um freezer de bebidas tipo as de beer no bares. la eu vejo geralmente -3 a -5 graus. se possivel usar outro sensor qual seria????

    1. 0

      Olá Agnaldo! No datasheet do lm35, na figura 7, tem uma montagem que permite ler de -55 a +150 graus, mas necessita entrada diferencial (usar um amp. operacional, com fonte simétrica). Teria que adicionar mais componentes a placa e limitar o máximo a 99,9 graus (pois temos 3 dígitos apenas). Com respeito a outros sensores, existem milhares de tipos diferentes que poderiam ser usados, sendo necessário, logicamente, adaptar o programa a cada um deles.
      Cláudio

  2. 1

    :mrgreen: Olá Claudio ja disponibilizeu em seu
    e-mail o desenho desta versão com display 7 seguimentos, fiz tb um versão de painel para caixa
    modelo patola…. inte mais

  3. 0

    :mrgreen: Olá Claudio, ja esta montado o pcb desta versão e funcionando 100%, tive que alterar algumas das configurações a respeito dos port, das chaves, vou fazer uma revisão e ti envio mais este desenho ok. Abraços….

Comments are closed.