En tant qu'amateur qui n'a pas accès à l'équipement de laboratoire, il me semble vraiment impossible de pouvoir calibrer la thermistance que j'ai.
Bien sûr, il existe des capteurs de température calibrés comme le DS18B20, mais les thermistances spécialement conçues pour les MCU lents comme Aruino UNO (par rapport aux nouveaux MCU) sont plus rapides.
Quelles options avons-nous pour étalonner une thermistance sans utiliser d'équipement de laboratoire?
thermistor
calibration
ElectronSurf
la source
la source
Réponses:
L'étalonnage d'une thermistance (ou principalement de tout capteur d'ailleurs) est un processus en deux étapes:
La première étape est la plus difficile, et malheureusement celle avec laquelle j'ai le moins d'expérience. Je ne le décrirai alors qu'en termes très généraux. La deuxième étape est principalement mathématique.
Mesurer les données d'étalonnage
Vous devez remplir un tableau avec des paires (T, R), c'est-à-dire avec des valeurs de résistance mesurées à des températures connues. Vos données d'étalonnage doivent couvrir toute la plage de températures dont vous aurez besoin en utilisation réelle. Les points de données qui sortent de cette plage ne sont pas très utiles. Sinon, plus vous avez de points de données, mieux c'est.
Afin de mesurer la résistance de la thermistance, je vous conseille contre l' utilisation d' un ohmmètre. Utilisez à la place la même configuration que vous utiliserez pour les mesures réelles de post-étalonnage. De cette façon, toutes les erreurs systématiques dans la mesure de résistance (comme les erreurs de décalage et de gain ADC) seront calibrées.
Pour connaître la température, vous avez deux options: utilisez des points de température fixes (comme, par exemple, de l'eau bouillante ou de la glace fondante) ou utilisez un thermomètre déjà calibré. Les points fixes sont l'étalon-or de l'étalonnage de la température, mais il est difficile de les obtenir correctement, et vous n'en trouverez probablement pas beaucoup dans la plage de températures dont vous vous souciez.
L'utilisation d'un thermomètre réputé sera probablement plus facile, mais il reste quelques mises en garde:
Rassembler les deux ensemble, dans une enceinte à forte inertie thermique (un réfrigérateur ou un four) peut aider ici.
De toute évidence, la précision du thermomètre de référence est ici un facteur très important. Il devrait être nettement plus précis que les exigences que vous avez sur votre précision de mesure finale.
Ajustement d'une loi d'étalonnage
Vous devez maintenant trouver une fonction mathématique qui correspond à vos données. C'est ce qu'on appelle un «ajustement empirique». En principe, n'importe quelle loi peut le faire tant qu'elle est suffisamment proche des points de données. Les polynômes sont un favori ici, car l'ajustement converge toujours (car la fonction est linéaire par rapport à ses coefficients) et ils sont bon marché à évaluer, même sur un microcontrôleur modeste. Dans un cas particulier, une régression linéaire peut être la loi la plus simple que vous puissiez essayer.
Cependant, à moins que vous ne soyez intéressé par une plage de températures très étroite, la réponse d'une thermistance NTC est très non linéaire et peu adaptée aux ajustements polynomiaux à faible degré. Cependant, un changement stratégique de variables peut rendre votre loi presque linéaire et très facile à adapter. Pour cela, nous allons prendre une diversion à travers un peu de physique de base ...
La conduction électrique dans une thermistance NTC est un processus activé thermiquement. La conductance peut ensuite être modélisée par une équation d'Arrhenius :
G = G ∞ exp (−E a / (k B T))
où G ∞ est appelé «facteur pré-exponentiel», E a est l' énergie d'activation , k B est la constante de Boltzmann et T est la température absolue.
Cela peut être réorganisé comme une loi linéaire:
1 / T = log A + B (R)
où B = k B / E a ; A = B log (G ∞ ); et log () est le logarithme naturel.
Si vous prenez vos données d'étalonnage et tracez 1 / T en fonction de log (R) (qui est essentiellement un tracé d'Arrhenius avec les axes inversés), vous remarquerez qu'il s'agit presque, mais pas tout à fait, d'une ligne droite. L'écart par rapport à la linéarité vient principalement du fait que le facteur pré-exponentiel dépend légèrement de la température. La courbe est néanmoins suffisamment lisse pour être ajustée très facilement par un polynôme de bas degré:
1 / T = c 0 + c 1 log (R) + c 2 log (R) 2 + c 3 log (R) 3 + ...
Si la plage de températures qui vous intéresse est suffisamment courte, une approximation linéaire peut vous convenir. Vous utiliseriez alors le soi-disant «modèle β», où le coefficient β est 1 / B. Si vous utilisez un polynôme du troisième degré, vous remarquerez peut-être que le coefficient c 2 peut être négligé. Si vous le négligez, vous avez alors la fameuse équation de Steinhart-Hart .
En général, plus le degré du polynôme est élevé, mieux il convient aux données. Mais si le degré est trop élevé, vous finirez par sur- ajuster . Dans tous les cas, le nombre de paramètres libres dans l'ajustement ne doit jamais dépasser le nombre de points de données. Si ces nombres sont égaux, la loi ajustera exactement les données , mais vous n'avez aucun moyen d'évaluer la qualité de l'ajustement. Notez que ce calculateur de thermistance (lié à dans un commentaire) n'utilise que trois points de données pour fournir trois coefficients. C'est dieu pour un étalonnage approximatif préliminaire, mais je ne m'y fierais pas si j'avais besoin de précision.
Je ne discuterai pas ici de la manière de réaliser l'ajustement. Les progiciels pour faire des ajustements de données arbitraires abondent.
la source
La lecture de la thermistance est un peu délicate. La méthode d'étalonnage ci-dessus, ne donne aucun rendement à une détection d'erreur, elle créerait deux points d'une courbe logarithmique (la courbe de réponse de la thermistance.
Cela signifie que pour chaque 0,1 ° C de changement de température, le changement de résistance correspondant variera en fonction de la plage de température.
Au début, vous pouvez rechercher une erreur d'environ 2 à 5 ° C par rapport à la température réelle, mais aucune erreur, seulement une mauvaise lecture.
Vous ne postez aucun détail sur la façon dont lisez-vous cette thermistance, Arduino peut-être? Je dois dire que certaines bibliothèques ne fonctionnent pas du tout, vous devez donc créer une fonction spéciale pour le faire.
Publiez une explication détaillée sur la façon de caractériser et de lire une thermistance. Le message est en espagnol, mais dans les balises de code, toutes les explications sont en anglais simple.
Une fois que vous avez obtenu vos coeficients ABC, votre erreur sera d'environ 0,1 ° C à partir d'une autre mesure, même sur une longueur de fil LAN de 6 m.
Ce test a lu en même temps les 4 thermistances, Vous pouvez voir une petite différence de température par rapport à 2 d'entre elles que je tenais brièvement dans mes doigts.
la source
Remplissez une tasse de glaçons et versez de l'eau pour remplir à ras bord. Donnez-lui l'agitation occasionnelle. Lorsque la glace commencera à fondre, vous serez à 0 ° C. Collez le capteur dans l'eau et prenez une lecture.
Si votre capteur peut le tolérer, déposez-le dans une bouilloire d'eau bouillante. Au niveau de la mer qui vous donnera une lecture de référence à 100 ° C.
Si vous devez thermorétracter votre capteur pour l'étanchéité, vous devrez prévoir un certain temps pour que la lecture se stabilise.
simuler ce circuit - Schéma créé à l'aide de CircuitLab
Figure 1. Courbe d'étalonnage linéaire simple.
Comme indiqué dans les commentaires, si vous utilisez une thermistance, vous devrez vérifier la fiche technique pour la linéarité. Si cette approche simple n'est pas assez bonne, vous devrez utiliser un calcul polynomial ou une table de correspondance dans un microcontrôleur.
la source
Les thermomètres linéarisés ont une erreur de gain et de décalage.
les thermistances sont calibrées à 25 ° C avec une courbe de sensibilité spécifique à 2 variables.
pour l'étalonner il vous suffit de 2 mesures
la source