On nous a récemment demandé des détails sur la précision absolue du Yocto-Thermocouple et des mesures de température par thermocouple en général. Comme il est impossible de répondre à cette question sans explications détaillées, nous en avons fait un article qui puisse servir à tous. Voyons donc quelle précision absolue on peut raisonnablement attendre d'un thermocouple, puis testons avec un expérience si la valeur théorique se vérifie...
Précision théorique
Une sonde thermocouple est constitué de deux fils métalliques différents, utilisant des alliages métalliques spécifiques. La jonction de ces deux métaux crée une faible tension électrique entre les deux fils, dont la valeur dépend très directement de la température de la jonction (appelé point chaud), et qui peut être mesurée à l'autre bout des fils (appelé point froid). A cet endroit, la jonction entre les fils et le bornier produit aussi un effet thermocouple dépendant de la température au point froid. Si cette température est connue, on peut donc soustraire le potentiel causé par le thermocouple au point froid et en déduire le potentiel créé par la jonction au point chaud. De là, on peut estimer la température du point chaud.
La jonction de deux alliages à l'extrêmité d'une sonde thermocouple
La précision de la mesure dépendra donc de la précision de la sonde elle-même (les fils thermocouples), ainsi que de l'instrumentation utilisée pour mesurer la sortie de la sonde.
Précision d'une sonde thermocouple
L'erreur théorique d'une sonde thermocouple vient principalement des impuretés et des inexactitudes de l'alliage utilisé pour produire la sonde. Il existe des standards qui bornent cette erreur, différemment pour chaque type de thermocouple, en définissant plusieurs qualités. Voilà par exemple la plage d'erreur définie par l'IEC pour les thermocouples de type K:
(source: Texas Instruments, Application Report SBAA274)
La classe 2 correspond à la qualité standard. Ce diagramme indique donc que l'erreur maximale attendue sur un thermocouple standard est de +/- 2.5°C tant que la température ne dépasse pas 330°C. C'est donc une plage d'incertitude de 5°C... ouch !
La bonne nouvelle est que cette erreur dépend des caractéristiques physiques de la sonde thermocouple, et qu'il est donc possible de la compenser par une calibration, que vous pouvez même stocker dans le module Yoctopuce, comme décrit dans un précédent article.
La moins bonne nouvelle est qu'il faut savoir qu'en plus de son erreur initiale, une sonde thermocouple peut être sujette à des problèmes de dérive,¹ en particulier si elle est exposée à des hautes températures - ce qui est en général le cas. Le moment où la dérive se produit n'est pas prédictible, et peut mener d'un jour à l'autre à des fortes erreurs de mesures, qui ne peuvent être détectées que par la comparaison avec un autre capteur. Une fois la sonde atteinte de dérive, il est inutile de la recalibrer, car elle continuera à dévier: elle doit être remplacée.
Précision du Yocto-Thermocouple lui-même
Pour déterminer la température au bout d'une sonde thermocouple, le Yocto-Thermocouple doit effectuer deux mesures: d'une part il doit mesurer la "force électro-motrice", c'est-à-dire la tension générée par la sonde thermocouple, et d'autre part il doit mesurer la température du point de contact avec la sonde afin d'interpréter correctement le potentiel mesuré pour calculer la température à l'extrémité.
Bien qu'elle ne soit en général que de l'ordre de quelques millivolts, la mesure de la force électro-motrice n'est pas une grande source d'erreur: le bruit électrique ne risque de fausser la mesure que de quelques dixièmes de degrés. Le plus problématique est de mesurer précisément la température du point de contact avec la sonde. Le Yocto-Thermocouple dispose d'un capteur de température absolue sur le PCB juste entre les deux borniers, mais rien ne garantit que la température soit exactement la même que sur les contacts du bornier dans le cas où le module serait soumis à un gradient de température. La plage d'erreur typique annoncée de 1°C+/-1%, déterminée de manière empirique, est principalement destinée à couvrir ce risque. Voyons ce qu'il en est en pratique...
Précision absolue en pratique
Il n'est pas aussi aisé qu'on pourrait le penser de vérifier la précision absolue d'une sonde de température. En effet, il ne suffit pas de mettre la sonde que l'on veut tester à côté d'une sonde de référence, car il n'est pas trivial de les soumettre à différentes températures de manière parfaitement identique. Du fait qu'elles ne sont pas exactement au même endroit, elles seront forcément soumises à des conditions légèrement différentes: il est courant de rencontrer des variations de plus d'un degré entre deux points voisins d'une pièce ou même d'un four à air tournant.
Plutôt que d'essayer vainement de créer des conditions de mesure identiques, nous avons choisi de faire un dispositif qui permette d'évaluer la variation spatiale des conditions de mesure, et ainsi de pouvoir estimer l'erreur absolue. Nous avons donc fabriqué une petite plaque en fibre de verre (FR-4) avec cinq points de mesure de référence par des petites sondes Pt100, et quatre points de test pour des sondes thermocouple:
Notre dispositif de test pour thermocouple
Deux points de test sont mesurés à l'aide des deux entrées d'un unique Yocto-Thermocouple, tandis que les deux autres points de test sont mesurés individuellement sur des modules séparés, afin de voir si cela fait une différence. Sur l'une des entrées inutilisées d'un module, nous avons mis un pont (un simple fil), simulant une force électro-motrice nulle, qui nous permet d'obtenir une lecture la valeur de température mesurée sur le PCB, utilisée pour estimer la température au point de contact avec la sonde.
Les sondes Pt100 sont mesurées par des Yocto-PT100, et tous ces modules sont raccordés à un YoctoHub-Ethernet pour pouvoir les interroger à travers le réseau dans différents environnements:
Le système de test complet
Premier test
Le premier test consiste à vérifier que notre dispositif fournit bien le type de résultat attendu. Voici un exemple de valeurs mesurées à conditions ambiantes:
Mesures à température ambiante
On observe une variation attendue sur les mesures des Pt100 de l'ordre de +/-0.1°C. On peut donc en déduire que l'erreur effective totale sur les valeurs mesurées à l'aide des thermocouples est d'environ 2°C. C'est bien dans la plage d'erreur théorique, mais c'est probablement plus que ce que vous n'attendiez, non?
Voyons si l'on peut quantifier les origines de cette erreur de mesure.
Origines de l'erreur
Pour commencer, une mesure avec un multimètre de précision sur le bornier du Yocto-Thermocouple nous confirme que la mesure de la force électro-motrice, telle qu'on peut la lire à l'aide de la méthode get_signalValue(), correspond à la réalité à quelques centièmes de millivolt près. Ce n'est donc pas le problème.
Pour réduire le risque de gradient thermique entre le bornier auquel est raccordé la sonde et le capteur de température sur le PCB, on peut séparer la partie de mesure du Yocto-Thermocouple du système à l'aide d'un petit câble à 4 fils. Ainsi on peut l'éloigner de toute l'électronique du système, qui dégage de la chaleur de manière non homogène.
On peut séparer la partie de mesure du corps du module
L'effet est flagrant: l'erreur diminue de près de 1°C en séparant la partie de mesure des sources de chaleur. Et si en réchauffant entre les mains la partie de mesure du module, on peut facilement observer l'effet des perturbations sur la mesure du thermocouple, particulièrement marqué lors des transitions rapide de température du PCB:
Effet sur les mesures des variations de température du circuit de mesure
Le reste de l'erreur, soit un peu plus de 1°C, est imputable à la sonde thermocouple elle-même. Il s'agit d'un fil torsadé tel que ceux que nous fournissons avec le Yocto-Thermocouple. Ce sont des produits bons marchés - sans quoi ils coûteraient plus cher que le module lui-même - pour lesquels il ne faut pas avoir d'attentes démesurées...
Conclusion
On espère que ce petit rappel théorique et cette expérience pourront vous éviter des déceptions lors de l'utilisation de sondes thermocouple. Souvenez-vous en tout cas que, de base, les thermocouples n'ont pas une bonne précision absolue. Lorsqu'il est possible, il vaut mieux utiliser une sonde Pt100 si la précision compte.
Si l'on veut néanmoins obtenir une mesure relativement précise avec un thermocouple, il faut:
- utiliser un thermocouple de classe 1 (ou classe spéciale selon les standards ANSI)
- préserver la partie de mesure du Yocto-Thermocouple des gradients de température, si nécessaire en la séparant du corps du module comme décrit dans le manuel
- effectuer une calibration initiale à l'aide d'une sonde Pt100 de référence
- prévoir une mesure redondante avec une autre sonde de fabrication différente pour détecter la dérive de la sonde en fin de vie. C'est impératif en particulier si le thermocouple sert à contrôler la régulation d'un four!
Et rappelons pour finir les trois règles de bases pour l'utilisation des thermocouples, même lorsque la précision absolue n'est pas recherchée:
- ne jamais rallonger une sonde thermocouple avec du fil de cuivre, mais toujours utiliser du fil thermocouple du même type sur toute la longueur.
- ne jamais utiliser de soudure avec un métal étranger (étain) pour les raccords: les fils de rallonge doivent être en contact direct avec les fils de la sonde pour préserver les propriétés du thermocouple.
- si l'objet mesuré est un métal ou un liquide conducteur stocké dans un récipient potentiellement conducteur lié à la terre, même indirectement, il faut impérativement utiliser un thermocouple avec isolation minérale pour éviter les courants de terre.
¹ Quelques sources concernant les problèmes de dérive:
- Michele Scervini DRIFT: A SHORT EXPLANATION, University of Cambridge, 2009
- Webster, E.S. Low-Temperature Drift in MIMS Base-Metal Thermocouples. Int J Thermophys 35, 574–595 (2014).