Medindo Temperatura com Termistores

Em alguns projetos, faz-se necessária a medição de uma determinada temperatura para a tomada de alguma decisão, como por exemplo, acionar uma carga ou sinalizar algo. Dependendo do projeto, talvez seja necessário monitorar a temperatura de um circuito eletrônico a fim de evitar falhas ou problemas que possam ocorrer. Com isso mente, neste tutorial te ensinaremos como utilizar o termistor NTC 10k em conjunto com um Arduino.

Projeto com Arduino uno usando Termistor NTC 10K
Projeto com Arduino uno usando Termistor NTC 10K

kit robotica educacional com Arduino ESP ou Microbit

[toc]

Da Automação Industrial para Automação Residêncial

O monitoramento da temperatura por muito tempo limitou-se a ambientes industriais, como por exemplo, no controle de fornos, no monitoramento do funcionamento de máquinas, em controle de processos, entre outros.

A redução do custo dos sistemas automáticos, impulsionada pela disseminação das placas de desenvolvimento de baixo custo e dos conceitos de Internet das Coisas (IoT – Internet of Things), possibilitaram que sensores de grandezas físicas (luminosidade e temperatura) ganhassem importância em ambientes residencias e empresariais.

Hoje, qualquer pessoa pode montar seu próprio sistema de automação que responda sozinho a variações de luminosidade e/ou temperatura utilizando tecnologias baratas tais como placas Arduino.

Sensores de temperatura estão presente em sistemas de climatização
Sensores de temperatura estão presente em sistemas de climatização

Os diferentes tipos de sensores de temperatura

A variedade de tipos de processos e ambientes no qual precisamos medir temperatura resultou em uma grande variedade de sensores de temperatura, cada um com sua particularidade.

Os principais sensores de temperatura encontrados no mercado são:

  • Termopares
  • RTD – Transdutores Termoresistivos
  • Termistores

Obs: Ainda existe outros sensores inteligentes tais como o LM35 e o DS18B20

Termopares

Sensores baseados na variação proporcional da tensão entre dois metais a temperatura ao qual são submetidos. Este efeito é chamado de Seebeck. Com custo elevado, são empregados em aplicações profissionais, onde se requer alta confiabilidade e precisão.

Esse tipo de sensor é explicado com detalhes no Tutorial Termopar tipo K + MAX6675.

RTD – Transdutores Termorresistivos

Seu funcionamento tem como base a variação proporcional da resistência de um material condutor conforme temperatura ao qual é submetido. Esse efeito é denominado de termorresistividade.

Como exemplo de transdutores termos o PT100 e o PT1000 feitos com fio de Platina. Estes dois sensores apresentam uma alta importância na indústria, pois apresentam alta precisão, além de oferecerem estabilidade e alta imunidade aos ruídos elétricos produzidos no ambiente no qual foi empregado.

Termistores

Os termistores também utilizam a propriedade física da termorresistência. A diferença é que os termistores são constituídos de semicondutores, enquanto os transdutores são constituídos por metais.

Esses componentes,  quando submetidos a uma variação de temperatura, apresentam variação no valor de sua resistência.

Diferentes tipos de termistores

A grande vantagem dos termistores é seu baixo custo e pequeno tamanho. Esses sensores são comumente utilizados em sistemas eletrônicos tais como impressoras, eletrodomésticos, notebooks,etc.

Diferença entre Termistores NTC e PTC

A relação entre temperatura e resistência pode variar de forma negativa ou positiva conforme variação de temperatura, fazendo com que os termistores se dividam em dois grupos:

– Termistores NTC

NTC é a sigla para o termo Negative Temperature Coefficient, que traduzindo significa Coeficiente Negativo de Temperatura. Isso significa que para um aumento de temperatura o termistor terá a sua resistência diminuída seguindo sua curva característica. Abaixo é possível visualizar essa curva característica de um modelo de termistor como exemplo.

Curva característica que relaciona temperatura e resistência de um termistor NTC

– Termistores PTC

PTC é a sigla para o termo Positive Temperature Coefficient, que significa Coeficiente Positivo de Temperatura. Ele apresenta um funcionamento inverso ao anterior, ou seja, quando ocorre aumento de temperatura, a resistência do termistor aumentará seguindo sua curva característica. Como no caso anterior, abaixo poderá ser visto um exemplo de curva característica de um modelo de termistor PTC.

Curva característica entre temperatura e resistência de um termistor PTC

Resistência do Termistor

Por padrão, os termistores são especificados pela sua resistência na temperatura de 25ºC. Ou seja, o termistor NTC 10k terá a resistência de 10k Ohm quando submetido a temperatura de 25ºC.

A relação entre resistência e temperatura de um termistor não é linear e pode ser feita usando coeficiente B ou Beta, fornecido pelo datasheet.

Este coeficiente é calculado baseado na formula de Steinhart–Hart que descreve a temperatura de um dispositivo semicondutor em dada temperatura. Você pode entender melhor esse coeficiente no artigo em inglês do Wikipédia sobre Termistores.

Para esse tutorial  utilizarmos a biblioteca thermistor.h que calculará o valor da temperatura conforme a resistência medida, assim não ficará mais simples medir a temperatura.

Termistor NTC 10K

Quando se trata de Arduino e outras placas de desenvolvimento, o termistor NTC 10k é definitivamente um dos sensores de temperatura mais populares.

Termistor NTC 10K 3mm
Termistor NTC 10K 3mm

Sua popularidade se dá pelo seu baixo preço e facilidade de utilização junto com microcontroladores.

Esse termistores possuem as seguintes especificações:

  • Resistência à 25ºC: 10k Ohm
  • Faixa de leitura: -55 a 125°C
  • Coeficiente Beta: B25/100  = 4300 K

Veja as especificações desse sensor na página 37 deste datasheet.


Mãos a obra – Medindo a temperatura ambiente com Termistor NTC

Componentes necessários

Para este exemplo prático, serão necessários os seguintes itens:

Com esses itens em mãos, conseguiremos medir a temperatura utilizando o sensor.

Montando o projeto

O circuito eletrônico pode ser visto logo abaixo:

Esquema de montagem do Termistor NTC 10k com Arduino Uno
Esquema de montagem do Termistor NTC 10k com Arduino Uno

Programando

Tratando-se do código, é necessário realizar o download da biblioteca “thermistor.h”, que pode ser baixada clicando aqui.

O código utilizado se encontra abaixo.

#include "thermistor.h"

int pinNTC = A1;
float temperatura;

THERMISTOR thermistor(pinNTC, 10000, 3950, 10000);

void setup()
{
    Serial.begin(9600);
}

void loop()
{
    temperatura = thermistor.read();

    Serial.print("Temperatura: ");
    Serial.print(temperatura);
    Serial.println(" graus");

    Serial.println("");

    delay(1000);
}

Colocando em prática

Aqui está imagens do resultado deste exemplo prático.

Imagem do circuito montado em protoboard
Print screen do monitor serial

Entendendo a fundo

Neste tópico serão abordados o hardware e o software deste exemplo, com o objetivo de permitir que você possa compreender bem todo o funcionamento e com isso fazer as alterações que julgar necessárias para adaptá-lo aos seus projetos.

Hardware

O hardware deste circuito consiste em um simples divisor de tensão, no qual o pino analógico A0 é conectado na junção entre o sensor e o resistor, que por sua vez, estão conectados em série. A tensão de 5V é conectada ao outro terminal do sensor e o GND é conectado ao terminal restante do resistor.

Circuito eletrônico

Quando ocorre variação de temperatura, há uma variação na resistência do sensor, e consequentemente na tensão sobre o resistor de 10kΩ. Essa variação de tensão sobre o resistor será lida pelo Arduino e com isso o valor de temperatura poderá ser estipulado.

Caso você utilize um termistor que apresente outro valor de resistência máxima, lembre-se de ter em mãos um resistor que possua um valor de resistência igual ao do termistor.

Software

Agora será explicado cada linha do código utilizado.

– Configurações iniciais

É incluso a biblioteca “Thermistor.h”.

#include <thermistor.h>

Cria-se duas variáveis, uma para armazenar o valor da temperatura e outra para usar como identificador do pino analógico utilizado.

int pinNTC = A1;
float temperatura;

Cria-se o objeto “thermistor” com os seguintes parâmetros: pino utilizado para a leitura no arduino, valor da resistência do termistor, coeficiente do termisto, valor da resistência do resistor utilizado.

THERMISTOR thermistor(pinNTC, 10000, 3950, 10000);

Habilitamos a conexão serial entre o arduino e o computador com 9600 de baud rate.

Serial.begin(9600);

– Leitura do sensor e envio para o monitor serial

É efetuada a leitura do sensor pelo comando thermistor.read() e é salvo na variável “temperatura”.

temperatura = thermistor.read();

O valor é mostrado no monitor serial e após isso, é dado um tempo de espera de 1 segundo.

Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.println(" graus");

Serial.println("");

delay(1000);

Considerações finais

Esperamos que este tutorial tenha esclarecido qualquer dúvida sobre a utilização de um termistor e suas aplicações no mundo maker.

Obrigado pela atenção e continue buscando conhecimento no portal do Vida de Silício.

Privacy Preference Center