banner

Blog

Aug 17, 2023

Comment obtenir la valeur de température à partir d'une mesure de thermistance

Tous les produits que j’ai conçus au cours de ma carrière comportent une forme de circuit de température. Les circuits les plus simples et les plus économiques utilisent une thermistance à coefficient de température négatif (NTC) ou à coefficient de température positif (PTC) pour mesurer la température. Le circuit le plus basique est basé sur un diviseur de résistance connecté à un microcontrôleur (MCU) à faible coût avec un convertisseur analogique-numérique (ADC). Cet article explique comment utiliser une thermistance NTC ou PTC avec un ADC, ainsi que les différentes techniques de traitement pour convertir les résultats mesurés par l'ADC en une valeur de température utilisable.

Un circuit de thermistance typique fournit une tension (VSense) qui est appliquée à une entrée ADC ; l'ADC convertit ensuite cette tension en une valeur numérique LSB (bit le moins significatif) proportionnelle à la tension d'entrée. Une résolution ADC courante est de 12 bits pour de nombreux MCU à faible coût, les formules de cet article utiliseront donc une résolution de 12 bits. La figure 1 montre à la fois les circuits diviseur de tension et à courant constant.

Vous pouvez utiliser l'équation 1 pour convertir la valeur ADC LSB 12 bits mesurée en une tension :

où la résolution ADC (ADC 12 bits (212)) est de 4 096 bits au total, VREF est de 3,3 V et la valeur ADC LSB mesurée est de 2 024 (exemple de valeur ADC LSB d'une carte de test de la famille de thermistances Texas Instruments (TI) TMP61).

Par exemple:

L'équation 2 calcule la résistance à partir du VSense du diviseur de tension :

Par exemple:

L'équation 3 calcule la résistance à partir du courant constant, Ibias :

où Ibias est de 200 µA (courant standard par défaut pour un élément de la famille TMP61) et VSense est de 1,63 V.

Par exemple:

Une fois que vous avez converti la tension en représentation ADC, il existe plusieurs façons d'obtenir la température réelle à partir de la tension VSense de la thermistance. La méthode la plus courante utilise une table de recherche (LUT), également appelée table de résistance, normalement fournie par le fabricant de la thermistance. Une table LUT à 1°C contient 166 éléments et doit être stockée dans votre contrôleur, mais cela utilise la mémoire du contrôleur. Pour réduire le nombre d'éléments, vous pouvez utiliser une LUT à 5°C, mais vous risquez alors d'avoir une erreur linéaire dans le calcul. Une LUT à 5°C nécessitera 33 éléments, mais personne ne veut voir une résolution de 5°C, donc un traitement supplémentaire de la LUT sera nécessaire pour obtenir une résolution supérieure à 5°C ou 1°C. J'en discuterai plus en détail dans la section Interpolation linéaire.

Une autre méthode consiste à utiliser une équation de Steinhart-Hart, basée sur un ajustement de courbe polynomiale du 3ème ordre. Cela nécessitera des calculs de log naturel et vous devez disposer d'un contrôleur à virgule flottante ou de bibliothèques mathématiques à virgule flottante pour effectuer les calculs. L'équation de Steinhart-Hart est plus précise qu'une LUT.

Les PTC peuvent utiliser une équation polynomiale, étant donné la sortie linéaire de l'appareil. Les équations polynomiales constituent le moyen le plus précis d’obtenir la température d’une thermistance. Un polynôme est une expression mathématique de variables qui implique uniquement les opérations d'addition, de soustraction, de multiplication et d'entiers non négatifs. Une autre façon de décrire les polynômes est qu'ils fournissent une équation d'ajustement de courbe pour une pente. Vous devez appliquer vous-même l'ajustement polynomial, puis résoudre la fonction de régression (la température basée sur l'ajustement de la courbe) pour obtenir la température. La plupart des PTC sont basés sur des polynômes.

Ne vous inquiétez pas ; une fois que vous maîtriserez les polynômes, vous obtiendrez une meilleure précision ; de plus, vous n'aurez pas besoin d'une LUT dans votre contrôleur. Ce sont des fonctions mathématiques simples qui peuvent être traitées plus rapidement qu'une LUT avec interpolation. TI dispose d'un outil de conception qui peut vous fournir une LUT ou une fonction polynomiale et de régression du quatrième ordre, avec des exemples d'application de ces fonctions mathématiques en code C pour votre contrôleur afin d'obtenir les températures les plus précises d'une thermistance.

Une LUT varie généralement de -40°C à 125°C, mais varie en fonction des limites thermiques de la thermistance. Il existe deux types de LUT : les 1°C et les 5°C. Voir la figure 2 pour des exemples.

La méthode LUT fonctionne comme ceci :

PARTAGER