Das Kalibrieren eines Thermistors (oder meistens eines beliebigen Sensors) erfolgt in zwei Schritten:
- Messen Sie die Kalibrierungsdaten
- Entwickeln Sie ein Kalibrierungsgesetz, das zu diesen Daten passt
Der erste Schritt ist der schwierigste und leider der, mit dem ich am wenigsten Erfahrung habe. Ich werde es dann nur sehr allgemein beschreiben. Der zweite Schritt ist meistens Mathe.
Kalibrierdaten messen
Sie müssen eine Tabelle mit (T, R) -Paaren füllen, dh mit Widerstandswerten, die bei bekannten Temperaturen gemessen werden. Ihre Kalibrierungsdaten sollten den gesamten Temperaturbereich abdecken, den Sie für den tatsächlichen Gebrauch benötigen. Datenpunkte, die außerhalb dieses Bereichs liegen, sind nicht sehr nützlich. Ansonsten ist es umso besser, je mehr Datenpunkte Sie haben.
Um den Widerstand des Thermistors zu messen, rate ich Ihnen
gegen einen Ohmmeter. Verwenden Sie stattdessen dasselbe Setup, das Sie für die eigentlichen Messungen nach der Kalibrierung verwenden. Auf diese Weise werden systematische Fehler bei der Widerstandsmessung (wie ADC-Offset- und Verstärkungsfehler) kalibriert.
Um die Temperatur zu kennen, haben Sie zwei Möglichkeiten: Verwenden Sie entweder feste Temperaturpunkte (z. B. kochendes Wasser oder schmelzendes Eis) oder ein bereits kalibriertes Thermometer. Fixpunkte sind der Goldstandard für die Temperaturkalibrierung, aber es ist schwierig, sie richtig zu machen, und Sie werden wahrscheinlich nicht viele davon innerhalb des Temperaturbereichs finden, den Sie interessieren.
Die Verwendung eines bekanntermaßen guten Thermometers wird wahrscheinlich einfacher sein, es gibt jedoch noch einige Einschränkungen:
- Sie sollten sicherstellen, dass der Thermistor und das Referenzthermometer die gleiche Temperatur haben
- Sie sollten diese Temperatur lange genug stabil halten, damit beide das thermische Gleichgewicht erreichen.
Hier kann es hilfreich sein, beide in einem Gehäuse mit hoher thermischer Trägheit (Kühlschrank oder Backofen) dicht beieinander zu platzieren.
Offensichtlich ist die Genauigkeit des Referenzthermometers hier ein sehr wichtiger Faktor. Es sollte wesentlich genauer sein als die Anforderungen, die Sie an Ihre endgültige Messgenauigkeit stellen.
Anpassen eines Kalibrierungsgesetzes
Jetzt müssen Sie eine mathematische Funktion finden, die zu Ihren Daten passt. Dies wird als "empirische Anpassung" bezeichnet. Grundsätzlich kann jedes Gesetz dies tun, solange es nahe genug an den Datenpunkten liegt. Polynome sind hier ein Favorit, da die Anpassung immer konvergiert (weil die Funktion relativ zu ihren Koeffizienten linear ist) und sie selbst auf einem niedrigen Mikrocontroller billig zu bewerten sind. Als Sonderfall kann eine lineare Regression das einfachste Gesetz sein, das Sie versuchen können.
Wenn Sie jedoch nicht an einem sehr engen Temperaturbereich interessiert sind, ist die Reaktion eines NTC-Thermistors stark nichtlinear und für Polynomanpassungen mit niedrigem Grad nicht sehr geeignet. Eine strategische Änderung von Variablen kann Ihr Gesetz jedoch nahezu linear und sehr einfach anpassen. Zu diesem Zweck werden wir eine Ablenkung durch einige grundlegende Physik nehmen ...
Die elektrische Leitung in einem NTC-Thermistor ist ein thermisch aktivierter Prozess. Die Leitfähigkeit kann dann durch eine Arrhenius-Gleichung modelliert
werden :
G = G ∞ exp (- E a / (k B T))
wobei G ∞ als "Präexponentialfaktor" bezeichnet wird, E a die Aktivierungsenergie ist , k B die
Boltzmann-Konstante ist und T die absolute Temperatur ist.
Dies kann als lineares Gesetz neu angeordnet werden:
1 / T = A + B log (R)
wobei B = k B / E a ; A = B log (G ∞ ); und log () ist der natürliche Logarithmus.
Wenn Sie Ihre Kalibrierungsdaten nehmen und 1 / T als Funktion von log (R) zeichnen (was im Grunde ein Arrhenius-Diagramm mit vertauschten Achsen ist), werden Sie feststellen, dass es sich fast, aber nicht ganz um eine gerade Linie handelt. Die Abweichung von der Linearität beruht hauptsächlich auf der Tatsache, dass der präexponentielle Faktor leicht temperaturabhängig ist. Die Kurve ist dennoch glatt genug, um sehr leicht durch ein Polynom niedrigen Grades angepasst zu werden:
1 / T = c 0 + c 1 log (R) + c 2
log (R) 2 + c 3 log (R) 3 + ...
Wenn der Temperaturbereich, an dem Sie interessiert sind, kurz genug ist, kann eine lineare Näherung für Sie gut genug sein. Sie würden dann das sogenannte "β-Modell" verwenden, bei dem der β-Koeffizient 1 / B beträgt. Wenn Sie ein Polynom dritten Grades verwenden, stellen Sie möglicherweise fest, dass der c 2
-Koeffizient vernachlässigt werden kann. Wenn Sie es vernachlässigen, haben Sie die berühmte Steinhart-Hart-Gleichung .
Je höher der Grad des Polynoms ist, desto besser sollte es im Allgemeinen zu den Daten passen. Aber wenn der Abschluss zu hoch ist, werden Sie am Ende
überanpassen . In jedem Fall sollte die Anzahl der freien Parameter in der Anpassung niemals die Anzahl der Datenpunkte überschreiten. Wenn diese Zahlen gleich sind, passt das Gesetz genau zu den Daten , aber Sie haben keine Möglichkeit, die Anpassungsgüte zu beurteilen. Beachten Sie, dass dieser Thermistorrechner
(in einem Kommentar verlinkt) nur drei Datenpunkte verwendet, um drei Koeffizienten bereitzustellen. Dies ist Gott für eine vorläufige ungefähre Kalibrierung, aber ich würde mich nicht darauf verlassen, wenn ich Genauigkeit benötige.
Ich werde hier nicht diskutieren, wie die Anpassung tatsächlich durchgeführt werden soll. Softwarepakete für die Erstellung beliebiger Daten passen im Überfluss.