banner

blog

Aug 17, 2023

Como obter o valor da temperatura a partir de uma medição com termistor

Todos os produtos que projetei em minha carreira possuíam algum tipo de circuito de temperatura. Os circuitos mais simples e econômicos usam um termistor de coeficiente de temperatura negativo (NTC) ou coeficiente de temperatura positivo (PTC) para medir a temperatura. O circuito mais básico é baseado em um divisor de resistor conectado a um microcontrolador de baixo custo (MCU) com um conversor analógico-digital (ADC). Este artigo explica como usar um termistor NTC ou PTC com um ADC, juntamente com as diversas técnicas de processo para converter os resultados medidos pelo ADC em um valor de temperatura utilizável.

Um circuito termistor típico fornece uma tensão (VSense) que é aplicada a uma entrada ADC; o ADC então converte essa tensão em um valor digital LSB (bit menos significativo) que é proporcional à tensão de entrada. Uma resolução ADC comum é de 12 bits para muitos MCUs de baixo custo, portanto, as fórmulas neste artigo usarão resolução de 12 bits. A Figura 1 mostra os circuitos divisor de tensão e de corrente constante.

Você pode usar a Equação 1 para converter o valor medido do ADC LSB de 12 bits em uma tensão:

onde a resolução ADC (ADC de 12 bits (212)) é 4.096 bits no total, VREF é 3,3 V e o valor ADC LSB medido é 2.024 (exemplo de valor ADC LSB de uma placa de teste da família de termistores Texas Instruments (TI) TMP61).

Por exemplo:

A Equação 2 calcula a resistência do VSense do divisor de tensão:

Por exemplo:

A Equação 3 calcula a resistência da corrente constante, Ibias:

onde Ibias é 200 µA (corrente padrão padrão para uma peça da família TMP61) e VSense é 1,63 V.

Por exemplo:

Depois de converter a tensão em uma representação ADC, há várias maneiras de obter a temperatura real da tensão VSense do termistor. O método mais comum utiliza uma tabela de consulta (LUT), também conhecida como tabela de resistência, normalmente fornecida pelo fabricante do termistor. Uma tabela LUT de 1°C possui 166 elementos e deve ser armazenada em seu controlador, mas isso consome memória do controlador. Para reduzir o número de elementos, você poderia usar uma LUT de 5°C, mas então você pode ter algum erro linear no cálculo. Uma LUT de 5°C exigirá 33 elementos, mas ninguém quer ver uma resolução de 5°C, portanto será necessário um processamento adicional da LUT para obter uma resolução melhor que 5°C ou 1°C. Discutirei isso mais detalhadamente na seção Interpolação Linear.

Outro método é usar uma equação de Steinhart-Hart, que é baseada em um ajuste de curva polinomial de 3ª ordem. Será necessário concluir a matemática do log natural e você deve ter um controlador de ponto flutuante ou bibliotecas matemáticas de ponto flutuante para realizar os cálculos. A equação de Steinhart-Hart é mais precisa que uma LUT.

Os PTCs podem usar uma equação polinomial, dada a saída linear do dispositivo. As equações polinomiais são a maneira mais precisa de obter a temperatura de um termistor. Um polinômio é uma expressão matemática de variáveis ​​que envolve apenas as operações de adição, subtração, multiplicação e números inteiros não negativos. Outra maneira de descrever polinômios é fornecer uma equação de ajuste de curva para uma inclinação. Você mesmo deve aplicar o ajuste polinomial e depois resolver a função de regressão (a temperatura baseada no ajuste da curva) para obter a temperatura. A maioria dos PTCs são baseados em polinômios.

Não se preocupe; depois de dominar os polinômios, você obterá melhor precisão; além disso, você não precisará de um LUT em seu controlador. Estas são funções matemáticas simples que podem ser processadas mais rapidamente do que uma LUT com interpolação. A TI possui uma ferramenta de design que pode fornecer uma LUT ou função polinomial e de regressão de quarta ordem, com exemplos de como aplicar essas funções matemáticas em código C para o seu controlador para obter as temperaturas mais precisas de um termistor.

Uma LUT normalmente varia de -40°C a 125°C, mas irá variar com base nos limites térmicos do termistor. Existem dois tipos de LUTs: 1°C e 5°C. Veja a Figura 2 para exemplos.

O método LUT funciona assim:

COMPARTILHAR