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

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!!!

8 thoughts on “COMO VER A TEMPERATURA DE UM SENSOR DE TEMPERATURA LM35 NO PC USANDO UM TERMINAL SERIAL E UM PIC16F675

  1. 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

  2. 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. 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. 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. 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.

Back To Top