COMO VER A TEMPERATURA DE UM SENSOR DE TEMPERATURA LM35 NO PC USANDO UM TERMINAL SERIAL E UM PIC16F675

0

Algumas aplicações podem exigir que os dados de um sensor de temperatura sejem enviados para um PC, pela porta serial (ou usando um adaptador serial/usb). Com um pequeno microcontrolador PIC 12F675 e um sensor LM35, poderemos dar conta do recado. Como? Veja mais…

Abaixo temos o esquema elétrico que é bem simples.

Foi usado apenas um transistor BC558, um capacitor de 1 uF, um diodo de uso geral e 3 resistores para acoplar o PIC (pino 5) com a DB9 (serial), em seu pino 2. O pino 3 apenas fornece tensão para polarização negativa.
Para receber os dados em um PC, você deverá abrir um terminal de rs232, como o HyperTerminal, ou outros que desejar, e ajustar para receber a 38400 bauds, 8 bits, sem paridade, 1 stop bit, no handshake.
Ao ligar a comunicação, rodando o HyperTerminal, deverá apresentar na tela do PC, algo assim:

*************TERMÔMETRO_RS232******************

Blog: ‘LARIOS.TECNOLOGIA.WS’

TEMPERATURA = 24.5 C

No pino 6, foi colocado um potenciômetro (trimpot), de preferência, um multivoltas, para fornecer uma tensão de referência para a conversão analógica/digital da tensão a ser medida, no caso, do sensor LM35. Com ajuda de um multitester, deverá ser ajustada para 2,048 volts (pino 7 em relação ao GND). Para conferir a atuação do sensor LM35, basta ler a tensão na sua saída, pois ele fornece 10 mVolts/grau centigrado.Se, por exemplo,ler 267 mVolts, teremos 26,7 graus centigrados. Deverá ser usado uma ligação curta para o sensor e também blindada, com bom aterramento na malha, para evitar captar nterferências que deixam instáveis as medições.
A rotina ASM para transmitir (SEND) é bem reduzida, com apenas 24 linhas de código, usando 3 registradores (buffer,cnt,cnt1), e trabalha a 38400 bauds, valor este escolhido por produzir menor erro de temporização.

Cálculo da duração de cada bit a ser transmitido :

tempo de duração= 1/38400 => 26,04 uSeg

Foi obtido no delay ‘t_baud’ o valor de 26 uSeg, sendo o erro de baud rate igual a:

erro de baud rate = 26,04 – 26 => 0,04

Isto representa apenas 0,16 % (bem aceitável).
Visto que a frequência do oscilador interno do PIC pode variar de um para outro (e especialmente se já é usado e não foi salvo o valor de OSCAL), foi utilizado um cristal externo de 4MHZ.
Este termometro pode ser usado para simplesmente ver a temperatura ambiente, colocando-se uma plaquinha de circuito impresso com os componentes e a alimentação poderá ser fornecida pela própria serial, com ajuda de diodos e um zener de 5 volts, pois o consum é mínimo. Para outras aplicações, poderá ser uma fonte externa com regulador 7805 ou aproveitar a alimentação do circuito em que esteja montado.

Segue o arquivo ASM:

TERMOMETRO_RS232_ASM

Segue o arquivo HEX:

TERMOMETRO_RS232_HEX

Manuais:
PIC12f675
LM35
EIA-232

Curiosidades:
NanoBíblia
Prontuário Médico sob a pele do paciente
Ano de Einstein
Universo cheio de surpresas
Universo – obra do acaso?
Nosso inigualável sistema solar
Mapeamento do céu
Qual a origem do universo e a vida?

Outros assuntos:
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

8 comments

  1. 0

    Olá Claudio, usaria da seguinte forma; um painel conteria as chaves que controlaria os relés por exemplo: tomada 1, tomada 2 …..tomada 10, todas usando a malha resistiva que você mencionou, quando aperto a tecla da tomada 1 ligaria a porta do pic correspondente a tomada 1 e ao voltar apertar desligaria, assim por diante, ligada a outra placa onde estaria o mcu com os relés por um par de fios. Se eu fizer usando uma porta para cada saída eu teria que usar um pic16f877 e teria que usar um cabo com no minimo 11 vias para essa quantidade de comandos. Espero ter conseguido me expressar!
    Sérgio

    1. 0

      Olá Sergio! Entendi bem. Vou colocar no ‘caderninho’ para bolar o esquema e asm . Aguarde…..
      Claudio

  2. 0

    Olá Claudio, isso mesmo! Eu tenho em mente em fazer um controle para a minha bancada onde possa ligar desligar as tomada da bancada e acionar lampadas em serie para aumentar ou diminuir a potencia das lampadas! daria pra fazer isso mecanicamente! mas como estou iniciando em microcontroladores acho que seria uma forma de aprender e ficaria muito legal! eu acho!!
    Obrigado pela resposta! pode me ajudar??

    1. 0

      Olá SergioLuiz!
      Entendi bem agora. Seria então um tipo de controle remoto, via 2 fios , multi-canais, com reles de cargas na saídas. Mas, me explique, por gentileza, como você usaria isto na prática . Por favor, poderia fazer um descritivo como o exemplo a seguir: ‘Eu aperto um teclado de telefone (que fica mais fácil implementar), vamos supor, a tecla ‘0’ que vai ligar a luz da bancada, a tecla ‘1’…… até a tecla número x, sendo um toque na tecla irá ligar e outro toque irá desligar….’.
      Cláudio

  3. 0

    Boa tarde Claudio!estou novamente pedindo um auxilio, gostaria de comandar as saídas de um microcontrolador usando apenas uma entrada. nessa entrada seria usada resistores como em microcontroladores de tvs e monitores comandando portas independentes. Não sei se consegui explicar… grato se puder me ajudar.

    1. 0

      Olá Sergio! Tudo bem! Quanto ao que você deseja, seria um controle por malha de resitores formando um divisores de tensão, e , a medida que apertamos um determinado botão, teremos uma determinada tensão, que o microcntrolador irá comparar com uma tabela e escolher qual saída irá ligar/desligar. É isto o que você tem em mente? Se for, e não querendo ser intrometido ou se puder nos revelar (curiosidade!!!) no que pretende usa-lo?
      Cláudio

Comments are closed.