Recentemente, descobri em meus backups antigos este artigo escrito por mim já há alguns anos. Esse é mais um entre muitos que eu não lembro se submeti ou não a Editora Saber para sua avaliação e posterior publicação. Realmente não lembro de ter publicado o mesmo e sendo assim seria "inédito".

ATENÇÃO: Esse projeto apesar de antigo, têm seus componentes ainda facilmente encontrados no mercado especializado (consulta feita em fevereiro de 2021) e, consequentemente, poderá ser montado sem maiores problemas.



TERMÔMETRO DUPLO COM MICROCONTROLADOR PIC

Quantas vezes você não precisou comparar duas temperaturas presentes em pontos distintos?! Geralmente a solução para o problema seria utilizar dois termômetros, porém em certas ocasiões nem sempre se dispõe de um quem dirá de dois instrumentos. O circuito proposto neste artigo poderá ajudar o técnico/engenheiro a resolver esta “falta de ferramentas”.


Detalhe do Termômetro instalado no meu antigo laboratório - imagem feita em 31/03/2008

Termômetro instalado no meu antigo laboratório junto com outros projetos - imagem feita em 18/05/2010 

Termômetro instalado no novo laboratório! (um forno!)
Foto tirada em Janeiro/2022!!!


Case para o sensor externo feito com Impressora 3D. Link para download no final do artigo.


A PROPOSTA

A proposta é bem simples: um pequeno termômetro capaz de medir até duas temperaturas distintas ao mesmo tempo. Para que a precisão possa ser considerada a mesma para os dois pontos de medida, utilizei o mesmo sensor para ambas as entradas.

As temperaturas são então apresentadas em um mostrador formado por dois displays de sete segmentos para cada entrada (totalizando quatro displays de sete segmentos). Com isso é possível medir temperaturas da ordem de 0ºC à 99ºC (limite estabelecido).

Como o termômetro é microcontrolado, é possível selecionar uma temperatura máxima para cada entrada, bastando para isso alterar o programa. No “default” eu selecionei a temperatura de 31ºC para ambas entradas. Quando esta temperatura for alcançada, um LED de alerta piscará. Como o termômetro é duplo, temos dois LEDs, um para cada entrada.


Não é necessário dizer que se trata de um circuito experimental e, portanto, sua precisão não deve ser comparada a um equipamento profissional. Seu uso é recomendado apenas em situações onde a precisão não seja um requesito principal. Em meus testes constatei uma precisão de aproximadamente +/- 0,5%, que para os propósitos do circuito pode ser considerada adequada.


O CIRCUITO



Na figura acima você tem o circuito eletrônico do termômetro duplo. O microcontrolador PIC16F819 Microchip (CI1) foi o escolhido.

A seguir você tem as principais características deste microcontrolador.

- Memória de programa FLASH com 2k bytes;
- 256 bytes de RAM para dados;
- 256 bytes de EEPROM para dados (setup e outras);
- 16 pinos de I/O com dreno de corrente na ordem de 20mA;
- Cinco canais analógicos com 10 bits;
- Dois “timer’s” de 8 bits;
- Um “timer” de 16 bits;
- Dois canais CCP (Capture, Compare and PWM);
- Um canal síncrono SPI e I2C (modo escravo);
- Clock externo (LP, XT e HS) ou interno;
- Oito freqüências para oscilador interno: 31 kHz, 125 kHz, 250 kHz, 500 kHz, 1 MHZ, 2 MHz, 4MHz e 8MHz;
- Wath Dog Timer (cão de guarda) interno;
- Características “low-power” (baixo consumo de corrente);
- Controle de “Power-on Reset” e “Power-up Timer”;
- Proteção de código contra cópias (anti-pirataria);
- Código de instruções reduzido (35 instruções Assembly);
- Encapsulamento DIP com 18 pinos;
- etc.

Para aquele que deseja maiores informações sobre este microcontrolador, recomendo uma vista ao site do fabricante e/ou o download do datasheet no site do fabricante, http://www.microchip.com.

O sensor de temperatura escolhido foi o LM35 da National Semicondutores. Este sensor tem boa precisão e sua escala é linear. A cada 1 ºC o sensor acrescenta ou decrementa 10 mV em sua saída (+/- 10 mV). A faixa de trabalho para este sensor é da ordem de -55 ºC a + 150 ºC, dependendo do modelo selecionado. Para meu protótipo escolhi a versão LM35D que trabalha na faixa de 0 ºC a 100 ºC.

Para quem tem curiosidade em conhecer um pouco mais sobre o LM35, mais uma vez recomendo uma visita ao site do fabricante http://www.national.com.

CI2 é um duplo operacional LM358, também da National Semicondutores. Este amplificador operacional trabalha muito bem com fonte simples (alguns AMP OPS requerem fonte do tipo simétrica). Cada operacional foi configurado como “amplificador não inversor” com ganho igual a cinco. Assim o fundo de escala do AD do PIC, com tensão de referência +VDC (5 VDC), é alcançado com facilidade.

Esta observação é bastante importante para garantir uma melhor precisão ao circuito. Como o LM35D é linear com uma escala igual a +/- 10 mV por ºC, a 0º o mesmo terá em sua saída 0 VDC e a 100 ºC, sua saída apresentará 1 VDC.

Como a tensão de referência positiva do PIC não pode ser inferior à ½ VDC (2,5 VDC) é necessário “amplificar” o sinal de entrada para que o fundo de escala do AD possa ser alcançado com facilidade. Assim, estaremos efetivamente trabalhando com toda a precisão do AD do microcontrolador.

A seguir, na tabela abaixo, você tem a representação “matemática” para a precisão alcançada em ambas as situações descritas: com e sem amplificação do sinal de entrada.

Tabela – comparação para os sinais de entrada

Sem amplificação – fundo de escala em 1 VDC

Com amplificação – fundo de escala em 5 VDC

Fundo de escala igual a 1 VDC:

resolução=5VDC/1024=0,004882 VDC

= (1VDC x 1024)/5VDC = 204

0 ºC -> 00H

100 ºC -> CCH (204 decimal)

Precisão 8 bits (00 a FFH) com fundo de escala incorreto (menor que FFH)

Fundo de escala igual a 5 VDC:

resolução=5VDC/1024 = 0,004882 VDC

= (5VDC x 1024)/5VDC = 1024

0 ºC -> 00H

100 ºC -> 400H (1024 decimal)

Precisão 10 bits (00 a 400H) com fundo de escala correto (400H)

Observando atentamente a tabela acima você poderá concluir que, seja qual for o caso, é sempre aconselhável ajustar os níveis de tensão de saída de um sensor para que o mesmo esteja adequado aos níveis de entrada do conversor AD com que vai trabalhar.

Como dito, antes da explanação sobre a necessária amplificação do sinal de saída do sensor LM35D, os amplificadores operacionais foram configurados como “amplificadores não inversores” com ganho “5”. As fórmulas necessárias para o calculo podem ser vistas a seguir:


Vout=[(Rx/Ry)+1] x Vin

ganho = Vout/Vin

Substituindo R12 ou R14 no lugar de Rx e R13 ou R15 como Ry basta fazer os cálculos para se encontrar os valores de tensão para fundo de escala (ganho informado x tensão de entrada)

Os displays DISP1, DISP2, DISP3 e DISP4 são do tipo catodo comum e o controle dos mesmos é feito através do método da varredura. DISP1 e DISP2 mostrarão a temperatura lida do sensor CI3 e DISP3 e DISP4 a outra temperatura lida do sensor CI4.

CI6 (CD4051) é uma chave analógica multiplexada com oito entradas/saídas e uma saída/entrada. Esta chave permite selecionar o sensor desejado (CI3 ou CI4), para a tomada da temperatura.

Você poderá estranhar a presença desta chave analógica no circuito, já que no inicio da descrição deste artigo artigo onde foram dadas as características do microcontrolador escolhido foi dito que o mesmo possui cinco entradas AD. A explicação para isto é bem simples: existe uma configuração a ser respeitada para o uso dos ADs no PIC.

No datasheet do microcontrolador PIC16F819, onde é descrito a configuração do registrador ADCOM1 (registrador que selecionará os canais ADs) você encontrará a resposta.

Cada canal AD do PIC está ligado a um pino físico no microcontrolador e este pino é compartilhado com pinos de I/O digitais também. A tabela abaixo mostra como é feita esta seleção, de acordo com o valor informado em ADCOM1.

Tabela – Seleção dos canais analógicos, VREF+ e VREF e pinos de I/O

PCFG3:


AN4

RA5

AN3

RA3

AN2

RA2

AN1

RA1

AN1

RA0

VREF+

VREF-

Canais

ADC

Ref.

Externa

0000

A

A

A

A

A

VDD

VSS

5

0

0001

A

VREF+

A

A

A

RA3

VSS

4

1

0010

A

A

A

A

A

VDD

VSS

5

0

0011

A

VREF+

A

A

A

RA3

VSS

4

1

0100

D

A

D

A

A

VDD

VSS

3

0

0101

D

VREF+

D

A

A

RA3

VSS

2

1

0110

D

D

D

D

D

VDD

VSS

0

0

0111

D

D

D

D

D

VDD

VSS

0

0

1000

A

VREF+

VREF-

A

A

RA3

RA2

3

2

1001

A

A

A

A

A

VDD

VSS

5

0

1010

A

VREF+

A

A

A

RA3

VSS

4

1

1011

A

VREF+

VREF-

A

A

RA3

RA2

3

2

1100

A

VREF+

VREF-

A

A

RA3

RA2

3

2

1101

D

VREF+

VREF-

A

A

RA3

RA2

2

2

1110

D

D

D

D

A

VDD

VSS

1

0

1111

D

VREF+

VREF-

D

A

RA3

RA2

1

2



Pinos configurados como I/O digital (D)


Pinos configurados como entrada analógica (A), VREF+ ou VREF-

Observando atentamente a tabela, você perceberá que a escolha para mais de um canal analógico no PIC compromete outros pinos, que passam a atuar como entrada de referência de tensão (VREF+ ou VREF-). Como o número de pinos de I/O é reduzido no microcontrolador em questão, optei pela inserção da chave analógica (CI6). Porém nesta chave, foram utilizadas apenas duas de suas entradas, deixando livres outras seis.

Com um pequeno esforço e “adições” poder-se-ia utilizar estas entradas que sobraram para ler até oito temperaturas diferentes, demonstrando-as aos pares (temos apenas dois mostradores). A você que possa estar interessado neste tipo de implementação, considero este um bom desafio. Este acrescentará bons conhecimentos àquele que conseguir finalizá-lo. Deixo isso por conta de cada um.

O jumper JP1 não tem nenhuma função pré-estabelecida no circuito. O mesmo foi inserido para posterior utilização por parte do "programador", que venha necessitar de um setup extra. O uso desta entrada é livre.

O circuito também recebeu um regulador de 5 VDC (CI5) para alimentar o circuito, com capacitores de filtro (C2, C3, C4 e C5). O diodo D1 impede que o termômetro se danifique, caso a alimentação de entrada seja ligada de forma invertida. Esta alimentação deve ser fornecida por uma fonte externa com tensões entre 7,5VDC à 12VDC e capacidade de corrente da ordem de 1 A.

Para você que deseja utilizar o circuito em ambiente industrial, por exemplo, é prudente lembrar que o ambiente em questão é “rico” em EMIs (Interferências Eletromagnéticas). Sendo assim, todo cuidado com a alimentação externa e a blindagem do circuito será pouco. A fonte que alimentará o circuito deverá ser bem blindada e ter um bom filtro. Geralmente o técnico/engenheiro de automação conhece a maioria das “harmônicas” indesejáveis presentes em seu ambiente e saberá tratar disso com eficiência. Caso o mesmo ainda não tenha se deparado com tal problema em seu ambiente e notar problemas com o termômetro duplo, terá uma excelente oportunidade de estudar sobre Interferências Eletromagnéticas e assim, com este estudo, realizar alterações e implementações necessárias no intuito de diminuir a ação da EMI no circuito.


MONTAGEM


Na figura acima você tem minha sugestão para a confecção do circuito impresso do Termômetro Duplo. Trata-se de uma placa “dupla face”. Na figura, ambas as faces estão representadas juntamente com a mascara dos componentes. Mais abaixo você encontrará o desenho de ambas as faces separadas para a sua confecção. Utilize o desenho acima apenas para referência do encaixe dos componentes na placa.

O circuito também pode ser montado utilizando um outro método qualquer como placa padrão ou mesmo matriz de contatos para testes e verificação de funcionamento. Nestes casos sugiro o máximo de atenção nas ligações e também que estes circuitos não sejam levados a campo, já que é notório que montagens em placa padrão e matriz de contatos são mais susceptíveis a interferências e outros problemas que placas de circuito impresso.

É recomendável o uso de suportes para todos os CIs, assim como para os displays de sete segmentos. Os suportes para os displays podem ser adaptados de suportes para CIs de 24 ou 40 pinos (dividido em dois).

O CI5 requer um dissipador de calor do tipo TO-220. Todos os resistores são de 1/8 Watt com precisão de 5% (salvo indicação contrária). Caso você não encontre um resistor com 40 k para R12 e R14, poderá utilizar dois resistores em série para alcançar o valor. Um resistor de 1 k e um resistor de 39 k podem ser uma boa escolha. Os resistores R12, R13, R14 e R15 devem ter boa precisão (preferencialmente 1%).

Os sensores CI3 e CI4, ambos LM35D podem ser ligados por cabos com até 1 metro de comprimento. Estes cabos devem ter boa maleabilidade e excelente fator de condução (baixa resistência) para evitar perdas no mesmo, já que o sinal de saída no LM35D é baixo (0 a 1VDC). Cabos com capa de silicone, do tipo utilizados em instrumentação são os mais indicados nestes casos. Na falta, cabos flat podem dar conta do recado sem maiores problemas. Quanto maior for o cuidado com a transferência do sinal, melhor será a precisão do circuito como um todo.

O jumper JP1 pode ser feito com uma barra de pinos com dois segmentos. Como detalhado mais acima, o mesmo não tem função específica, e foi inserido no circuito para posterior implementação por parte de quem desejar.


PROGRAMA


Na figura acima temos o fluxograma simplificado que demonstra o funcionamento do programa que está disponível mais abaixo. O mesmo foi desenvolvido na Linguagem C e para compilá-lo usei na época o compilador da CCS C Compiler, versão PCM 3.15 - IDE versão 3.28. Eu não sei se você ainda encontra esse compilador disponível na WEB. Caso não encontre terá de utilizar um outro qualquer e fazer as adaptações necessárias requeridas pelo novo compilador. Isso é por sua conta!

Obs.: Caso fique complicado encontrar o referido compilador ou um mais recente você não precisa se preocupar, pois eu inseri o arquivo HEX junto com o pacote do código fonte, para ser utilizado na gravação do microcontrolador. O uso do compilador só será necessário caso você deseje alterar o código-fonte, de acordo com suas necessidades.


TESTE E USO

Uma das etapas mais importante de um teste diz respeito à verificação das etapas anteriores. Muitos simplesmente ignoram esta regra mais que básica e assim vêem horas de trabalho serem perdidas, com a queima de um CI importante ou ao se depararem com um problema no circuito aparentemente insolúvel (como um curto “invisível” entre trilhas). Nestes casos a maioria recorre a maneira mais simples que é abandonar a montagem, acreditando que o circuito proposto não é funcional.

Faz parte dos “testes” de qualquer montagem a verificação das etapas anteriores (confecção da placa, inserção dos componentes, solda, ligações, etc). A placa de circuito impresso deve ser verificada, todas as ligações checadas, soldas e outras também. Para as montagens feitas em placa padrão e ou matriz de contatos a atenção deve ser redobrada, já que é bem fácil cometer um erro neste tipo de montagem. Nunca diga “eu tenho certeza absoluta de que tudo está correto” sem antes ter feito uma verificação que possa, com a mesma absoluta certeza, confirmar o dito.

Para testar o circuito basta gravar o microcontrolador com o arquivo HEX fornecido. Insira o mesmo na placa e alimente o circuito. Após 1 segundo os mostradores apresentarão as temperaturas medidas. Caso ambos os sensores estiverem no mesmo ambiente, ambos os mostradores irão apresentar uma mesma temperatura que deverá ser a presente no ambiente. Para fazer um teste derradeiro basta segurar com as pontas dos dedos um dos sensores e observar a variação da temperatura medida. Faça a mesma coisa com o outro sensor e observe a variação no outro mostrador.

Para instalar o sistema, uma caixa metálica ou mesmo plástica do tipo comercial como as fornecidas pela fabricante Patola, são uma excelente escolha. E claro, caso você tenha uma impressora 3D poderá imprimir sua própria caixa.


CONCLUSÃO

O custo de algumas ferramentas e equipamentos no mercado é alto (principalmente importadas e num momento de dolar alto!!!). Muitos estudantes, hobbistas e até micro-empreendedores têm uma verba bastante reduzida. O uso de equipamentos alternativos do tipo "made in home" podem ser boa uma solução para um determinado problema e ainda render bons “elogios” ao “autor” da solução.

Boa montagem e até a próxima!



DOWNLOADS

- Circuito elétrico
- Layout do circuito impresso - máscara
- Layout do circuito impresso - trilhas TOP
- Layout do circuito Impresso - trilhas BOTTON
- Pacote do programa para gravação do microcontrolador PIC
- Lista de materiais
- Link para download dos arquivos STLs para case externo - Thingiverse


Especificações:

- Cérebro - microcontrolador PIC16F819
- Sensores - 2 sensores de temperatura LM35
- Saídas - 2 mostradores formados por 2 displays de 7 segmentos cada
- Alimentação - Fonte externa 7.5 - 12VDC 1A




Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor.