NTCs werden sehr häufig als Temperatursensoren verwendet. Um sie zu verwenden, müssen wir lernen, wie man aus dem gemessenen Widerstand einen Temperaturwert berechnet.
Im letzten Tutorial haben wir uns verschiedene Arten von Thermistoren und ihre Einsatzmöglichkeiten angesehen. In diesem Tutorial werden wir uns ansehen, wie man mit einem NTC-Thermistor einen Temperaturwert ermitteln kann. Der erste Schritt besteht darin, den Widerstand des Thermistors zu messen. Dies kann mit einer einfachen Spannungsteilerschaltung wie der unten gezeigten erfolgen. Die Spannung kann dann mit dem ADC eines Mikrocontrollers gemessen und in den Widerstandswert umgewandelt werden, wie es im Tutorial Widerstandsmessung mit Spannungsteilern gezeigt wird. Zu Testzwecken kann auch ein Multimeter zur Widerstandsmessung verwendet werden.
Sobald wir den Widerstand des NTC gemessen haben, können wir mit der Berechnung des Temperaturwertes fortfahren. Wir könnten dafür zwar eine Umrechnungstabelle verwenden, wie sie typischerweise im Datenblatt des NTC-Thermistors angegeben ist, aber es wäre viel besser, eine Umrechnungsformel zu haben, mit der wir die Temperatur in Software berechnen könnten. Das gängigste Modell zur Beschreibung der Widerstandstemperaturkurve (R-T-Kurve) von NTCs ist die Steinhart-Hart-Gleichung. Für NTCs mit geringerer Genauigkeit wird oft auch ein verwandtes, aber weniger präzises Modell verwendet, das nur eine Zwei-Punkt-Kalibrierung verwendet: die Beta-Formel. Werfen wir einen Blick darauf, wie wir sie zur Berechnung der Temperatur aus unserem gemessenen Widerstandswert verwenden können.
Bevor wir uns die Formeln ansehen, ist es wichtig zu verstehen, dass sie alle die Temperatur in Kelvin (K) verwenden. 0 K ist die Temperatur am absoluten Nullpunkt, was -273,15 °C entspricht.
Um die Formeln zu verwenden, müssen wir zwischen Grad Celsius und Kelvin umrechnen:
\(\{T\}_K = \{t\}_{^\circ C} + 273,15\) mit \(\{T\}_K\) in Kelvin und \(\{t\}_{^\circ C}\) in Grad Celsius
\(\{t\}_{^\circ C} = \{T\}_K - 273.15\) mit \(\{T\}_K\) in Kelvin und \(\{t\}_{^\circ C}\) in Grad Celsius
Nachdem dies geklärt ist, können wir uns nun der eigentlichen Temperaturberechnung zuwenden.
Die Steinhart-Hart-Gleichung wurde ursprünglich für Temperaturmessungen in der Ozeanographie entwickelt und 1968 erstmals veröffentlicht. Das Modell liefert eine gute Näherung für das reale Verhalten von NTC-Thermistoren in ihrem typischen Arbeitstemperaturbereich. Hier ist sie:
\(T = {1 \over {a + b \ln R + c \ln ^ 3 R}}\)
Die drei Koeffizienten \(a\), \(b\) und \(c\) werden normalerweise im Datenblatt angegeben. Sie können aus drei bekannten Widerstandstemperaturpaaren berechnet werden, die während der Kalibrierung gemessen werden. Darauf werde ich hier aber nicht näher eingehen. Wenn die Koeffizienten nicht angegeben sind, lässt sich in der Regel zumindest der Betawert \(B\) ermitteln, der mit der Beta-Formel verwendet werden kann.
Hat man die drei Koeffizienten für seinen NTC-Thermistor gefunden, kann man mit der Gleichung die Temperatur für den gemessenen Widerstand \(R\) berechnen. Es muss nur noch der Temperaturwert von Kelvin in Grad Celsius umgerechnet werden.
Die Grafik zeigt ein Beispiel für die R-T-Kennlinie eines NTC-Thermistors. Trage die Koeffizienten deines NTCs ein, um die anhand der Steinhart-Hart-Gleichung berechnete R-T-Kennlinie anzusehen.
Eine alternative Gleichung zur Berechnung der Temperatur ist die Beta-Formel. Sie nutzt eine Zwei-Punkt-Kalibrierung anstelle der drei Punkte, die in der Steinhart-Hart-Gleichung verwendet werden. Dies macht die Kalibrierung und die Verwendung der Gleichung einfacher, aber auch etwas ungenauer. Die Gleichung benötigt zwei Parameter: den Widerstand \(R_0\) bei einer Temperatur \(T_0\) und den Betawert. Für den Widerstand \(R_0\) können wir einfach den Nennwiderstand bei 25 °C (\(T_0 = 298,15 K\)) verwenden. Der zweite Parameter ist der Betawert, der im Datenblatt zu finden ist. Es ist gängige Praxis, einen Hinweis auf die Kalibrierpunkte zu geben, auf deren Grundlage der Betawert berechnet wurde. Der Betawert wird z.B. als \(B_{25/85}\) angegeben. Dies bedeutet, dass der Widerstandswert bei 25 °C und bei 85 °C zur Berechnung des Betawertes verwendet wurde.
Wenn beide Parameter bekannt sind, können wir die folgende Formel verwenden, um den gemessenen Widerstandswert in eine Temperatur umzurechnen:
\(T = {1 \over {{1 \over B } \cdot \ln {R \over R_0} + {1 \over T_0}}}\)
Wir können auch den Widerstand für eine gegebene Temperatur berechnen:
\(R = R_0 \cdot e ^ {B \cdot ({1 \over T} - {1 \over T_0})}\)
Die nachstehende Grafik zeigt eine R-T-Kennlinie, wie sie mithilfe der Beta-Gleichung berechnet werden kann.
Die Beta-Formel ist eigentlich eine vereinfachte Version der Steinhart-Hart-Gleichung, die den letzten Korrekturterm wegfallen lässt.
Man kann die entsprechenden Koeffizienten für die Steinhart-Hart-Gleichung wie folgt berechnen:
\(a = {1 \over T_0} - {\ln R_0 \over B}\)
\(b = {1 \over B}\)
\(c = 0\)
Dies habe ich für die Beispielwerte getan, die in der Grafik für die Steinhart-Hart-Gleichung verwendet werden. Die Genauigkeit wird durch eine einfache Umrechnung natürlich nicht verbessert. Bei Verwendung dieser Koeffizienten mit der Steinhart-Hart-Gleichung ist das Ergebnis genau dasselbe wie bei Verwendung der einfacheren Beta-Formel.
Ein häufiges Problem bei vielen Arduino-Kits oder Sensor-Packs ist, dass es keine Datenblätter gibt. Wenn man einen NTC-Thermistor ohne ein entsprechendes Datenblatt hat, ist man gezwungen, ihn selbst zu kalibrieren. Deshalb möchte ich erklären, wie eine einfache Zwei-Punkt-Kalibrierung zur Berechnung des Betawertes unseres NTCs aussehen kann.
Der erste Schritt besteht darin, den Nennwert bei 25 °C zu bestimmen. Wenn er nicht auf dem Thermistor selbst aufgedruckt ist, messe einfach den Widerstand bei Raumtemperatur. Dadurch erhältst du einen Widerstandswert, der nahe genug am Nennwert bei 25 °C liegt, um den tatsächlichen Nennwert zu erraten. Ein sehr häufiger Wert ist 10 kΩ bei 25 °C. Wir können den Nennwert als unseren ersten Kalibrierpunkt verwenden.
Um die Zwei-Punkt-Kalibrierung durchzuführen, benötigen wir einen zweiten Widerstandswert für eine bekannte Temperatur. Für eine bessere Genauigkeit sollte es einen deutlichen Temperaturunterschied zwischen beiden Kalibrierpunkten geben. Es ist keine gute Entscheidung, 30 °C für den zweiten Kalibrierpunkt zu verwenden, da wir bereits 25 °C für unseren ersten Kalibrierpunkt verwendet haben. Was ist eine geeignete Temperatur für den zweiten Kalibrierpunkt? Es ist Zeit, in die Küche zu gehen und einen Topf voll Wasser zum Kochen zu bringen. So erhalten wir eine Temperatur von etwa 100 °C. Dies wird unser zweiter Kalibrierpunkt sein. Nutze am besten ein Multimeter, um den Widerstand bei 100 °C zu messen. Achte darauf, dass der NTC nicht die Wand des Topfes berührt.
Anhand beider Kalibrierpunkte können wir schließlich den Betawert berechnen:
\(B_{25/100} = {\ln {R \over R_0} \over {{1 \over T} - {1 \over T_0}}}\)
\(T_0\) und \(R_0\) sind die Werte unseres ersten Kalibrierungspunktes. \(R\) ist der gemessene Widerstand bei 100 °C (\(T = 373,15 K\)).
Zum Schluss wollen wir uns noch mit der Linearität befassen. Wie wir wissen, ist weder die R-T-Kennlinie des NTC noch die U-R-Kennlinie des Spannungsteilers linear. Glücklicherweise heben sich die Nichtlinearität des Spannungsteilers und des NTC-Thermistors bis zu einem gewissen Grad gegenseitig auf. Wir erhalten eine S-förmige Spannungs-Temperatur-Kennlinie:
Wir können die Linearität zulasten der Empfindlichkeit verbessern, indem wir den Wert von \(R_2\) anpassen. Die folgende Formel liefert uns den optimalen Wert für \(R_2\):
\(R_2 = R_T \cdot {{B - 2T} \over {B + 2T}}\)
Wenn wir eine gute Linearität im Bereich von 0 °C bis 50 °C wollen, berechnen wir den Wert für 25 °C (T = 298,15 K):
\(R_2 = 10 kΩ \cdot {{4300 K - 2 \cdot 298,5 K} \over {4300 K + 2 \cdot 298,5 K}} \approx 7,6 kΩ\)
Im Falle eines anderen Mittelpunktes müssen wir zuerst die Beta-Formel anwenden, um den erwarteten Widerstand \(R_T\) zu berechnen. Bei 25 °C ist \(R_T\) einfach der Nennwiderstand des NTC.