banner
Nachrichtenzentrum
Unser Kernstück ist das unerschütterliche Engagement, professionelle Technologie und Lösungen anzubieten.

So erhalten Sie den Temperaturwert aus einer Thermistormessung

Jul 17, 2023

Alle Produkte, die ich im Laufe meiner Karriere entworfen habe, verfügen über irgendeine Art von Temperaturkreislauf. Die einfachsten und kostengünstigsten Schaltkreise verwenden einen Thermistor mit negativem Temperaturkoeffizienten (NTC) oder positivem Temperaturkoeffizienten (PTC) zur Temperaturmessung. Die einfachste Schaltung basiert auf einem Widerstandsteiler, der an einen kostengünstigen Mikrocontroller (MCU) mit einem Analog-Digital-Wandler (ADC) angeschlossen ist. In diesem Artikel wird die Verwendung eines NTC- oder PTC-Thermistors mit einem ADC sowie die verschiedenen Prozesstechniken zur Umwandlung von ADC-Messergebnissen in einen nutzbaren Temperaturwert erläutert.

Eine typische Thermistorschaltung liefert eine Spannung (VSense), die an einen ADC-Eingang angelegt wird; Der ADC wandelt diese Spannung dann in einen digitalen LSB-Wert (Least Significant Bit) um, der proportional zur Eingangsspannung ist. Eine gängige ADC-Auflösung für viele kostengünstige MCUs ist 12 Bit, daher verwenden die Formeln in diesem Artikel eine 12-Bit-Auflösung. Abbildung 1 zeigt sowohl die Spannungsteiler- als auch die Konstantstromschaltung.

Sie können Gleichung 1 verwenden, um den gemessenen 12-Bit-ADC-LSB-Wert in eine Spannung umzuwandeln:

wobei die ADC-Auflösung (12-Bit-ADC (212)) insgesamt 4.096 Bit beträgt, VREF 3,3 V beträgt und der gemessene ADC-LSB-Wert 2.024 beträgt (Beispiel ADC-LSB-Wert einer Testplatine der TMP61-Thermistorfamilie von Texas Instruments (TI)).

Zum Beispiel:

Gleichung 2 berechnet den Widerstand aus dem VSense des Spannungsteilers:

Zum Beispiel:

Gleichung 3 berechnet den Widerstand aus dem Konstantstrom Ibias:

wobei Ibias 200 µA beträgt (Standardstandardstrom für ein Teil der TMP61-Familie) und VSense 1,63 V beträgt.

Zum Beispiel:

Nachdem Sie die Spannung in eine ADC-Darstellung umgewandelt haben, gibt es mehrere Möglichkeiten, die tatsächliche Temperatur aus der VSense-Spannung des Thermistors zu ermitteln. Die gebräuchlichste Methode verwendet eine Nachschlagetabelle (LUT), auch Widerstandstabelle genannt, die normalerweise vom Thermistorhersteller bereitgestellt wird. Eine 1°C LUT-Tabelle hat 166 Elemente und muss in Ihrem Controller gespeichert werden, aber das verbraucht Controller-Speicher. Um die Anzahl der Elemente zu reduzieren, könnten Sie eine 5°C-LUT verwenden, aber dann kann es zu einem linearen Fehler in der Berechnung kommen. Eine 5°C-LUT erfordert 33 Elemente, aber niemand möchte eine 5°C-Auflösung sehen, daher ist eine weitere Verarbeitung der LUT erforderlich, um eine Auflösung von mehr als 5°C oder 1°C zu erreichen. Ich werde dies im Abschnitt „Lineare Interpolation“ weiter besprechen.

Eine andere Methode ist die Verwendung einer Steinhart-Hart-Gleichung, die auf einer Polynomkurvenanpassung 3. Ordnung basiert. Zur Vervollständigung ist natürliche Logarithmus-Mathematik erforderlich, und Sie benötigen einen Gleitkomma-Controller oder Gleitkomma-Mathematikbibliotheken, um die Berechnungen durchzuführen. Die Steinhart-Hart-Gleichung ist genauer als eine LUT.

PTCs können angesichts des linearen Ausgangs des Geräts eine Polynomgleichung verwenden. Polynomgleichungen sind die genaueste Möglichkeit, die Temperatur eines Thermistors zu ermitteln. Ein Polynom ist ein mathematischer Ausdruck von Variablen, der nur die Operationen Addition, Subtraktion, Multiplikation und nichtnegative ganze Zahlen umfasst. Eine andere Möglichkeit, Polynome zu beschreiben, besteht darin, dass sie eine Kurvenanpassungsgleichung für eine Steigung bereitstellen. Sie müssen die Polynomanpassung selbst anwenden und dann die Regressionsfunktion (die Temperatur basierend auf der Kurvenanpassung) lösen, um die Temperatur zu erhalten. Die meisten PTCs basieren auf Polynomen.

Machen Sie sich keine Sorgen; Sobald Sie sich mit Polynomen auskennen, werden Sie eine höhere Genauigkeit erzielen. Außerdem benötigen Sie keine LUT in Ihrem Controller. Hierbei handelt es sich um einfache mathematische Funktionen, die schneller verarbeiten können als eine LUT mit Interpolation. TI verfügt über ein Design-Tool, das Ihnen eine LUT oder eine Polynom- und Regressionsfunktion vierter Ordnung bereitstellen kann, mit Beispielen, wie Sie diese mathematischen Funktionen in C-Code für Ihren Controller anwenden können, um die genauesten Temperaturen von einem Thermistor zu erhalten.

Eine LUT liegt typischerweise zwischen -40 °C und 125 °C, variiert jedoch je nach den thermischen Grenzen des Thermistors. Es gibt zwei Arten von LUTs: die 1°C- und die 5°C-LUT. Beispiele finden Sie in Abbildung 2.

Die LUT-Methode funktioniert folgendermaßen:

Lineare Interpolation

Bei der Interpolation wird ein Zwischenwert berechnet und eingefügt, der zwischen zwei bekannten Werten abgeleitet wurde.

Die Interpolationsmethode funktioniert folgendermaßen:

Gleichung 4 ist die Formel für den linearen Interpolationsprozess:

Dabei ist X der bekannte Wert des Thermistorwiderstands, Y der unbekannte Temperaturwert, X1 und Y1 die nächstgelegenen Werte, die niedriger als der bekannte Widerstand für den Widerstand und die damit verbundene Temperatur sind, und X2 und Y2 die nächstgelegenen Werte, die höher als der bekannte Widerstand sind für den Widerstand und die damit verbundene Temperatur.

Der Y-Wert ist der Temperaturwert, der am nächsten zwischen dem oberen und unteren Temperaturwert Ihrer LUT liegt.

Wenn die LUT in 5°C-Schritten bereitgestellt wird, beachten Sie, dass die Konvertierung in eine 1°C-LUT mithilfe linearer Interpolation einen linearen Fehler von 0,5°C haben kann. Dies ist ein mathematischer Fehler bei der Berechnung zwischen zwei Werten in linearen Schritten. Eine 1°C-LUT ist normalerweise am besten, wenn Sie sie vom Hersteller erhalten können.

Die Steinhart-Hart-Gleichung ist ein Polynom 3. Ordnung unter Verwendung natürlicher Logarithmen. Es kann eine genaue Methode sein, die Temperatur aus einem bekannten Widerstand abzuleiten. Die in der Steinhart-Hart-Methode verwendeten Gleichungen benötigen drei Widerstandswerte aus der LUT des Thermistors, um die geschätzte Kurvenanpassung zu berechnen:

Sie können diese Variablen in den folgenden Koeffizientenformeln verwenden und müssen nur einmal berechnen.

Sie müssen jedes dieser Elemente auflösen, um die drei Koeffizienten zu bestimmen, die zur Berechnung der Steinhart-Hart-Gleichung erforderlich sind, wobei ln ein natürlicher Logarithmus ist.

Die Formeln 5, 6 und 7 liefern die zur Berechnung der Temperatur erforderlichen Koeffizienten; Sie müssen nur einmal berechnen.

Gleichung 8 berechnet die Temperatur. Sie verwenden Gleichung 8 jedes Mal, wenn Sie die Temperatur aus dem berechneten Widerstand ermitteln möchten.

Dabei ist *T die Temperatur in Kelvin (°C = °K - 272,15) (°F = (1,8 × °C) + 32).

Polynome 3. und 4. Ordnung sind die genaueste und schnellste Methode zur Berechnung der Temperaturwerte für das Thermistor-Portfolio von TI; Sie benötigen keine LUT. Die Quartic-Funktion ist ein Polynom 4. Ordnung, das einen Widerstandswert basierend auf einer Temperatur ergibt. Die Verwendung der Regressionsformel führt zu einem Temperaturwert basierend auf einem gemessenen Widerstand.

Öffnen Sie zunächst eine leere Tabelle in Microsoft Excel. Geben Sie die Temperatur- und Widerstandswerte aus der LUT Ihres Geräts ein. Zeichnen Sie den typischen Widerstand, wie in Abbildung 3 dargestellt, mithilfe eines Streudiagramms und nicht eines Liniendiagramms grafisch auf.

Klicken Sie mit der Temperatur auf der X-Achse und dem Widerstand auf der Y-Achse mit der rechten Maustaste auf die Plotlinie und wählen Sie „Trendlinie hinzufügen“. Abbildung 4 zeigt das Trendlinienfenster des Formats. Wählen Sie „Polynomial“ und ändern Sie die Reihenfolge in „4.

Wählen Sie unten im Fenster „Trendlinie formatieren“ die Optionen „Gleichung im Diagramm anzeigen“ und „R-Quadrat-Wert im Diagramm anzeigen“ aus. Die im Diagramm angezeigte Gleichung ist Ihre polynomiale quartische Funktion 4. Ordnung, mit der Sie den Widerstandswert aus der Temperatur ermitteln können. Eine alternative Methode zum Abrufen der Koeffizienten ist die Verwendung der LINEST-Funktion von Excel. Die Syntax lautet LINEST(known_y's, [known_x's], [const], [stats]). Denken Sie daran, dass ein Polynom 4. Ordnung fünf Koeffizienten hat.

Im von der Trendlinie bereitgestellten Polynom 4. Ordnung werden Sie feststellen, dass einige Zahlen die Addition und andere die Subtraktion verwenden. Die folgende Quartic-Funktion verwendet alle Additionen. Ändern Sie in den Koeffizienten das Vorzeichen des Koeffizienten ins Negative, um entsprechend dem Trendlinienpolynom zu subtrahieren.

Ein Polynom 4. Ordnung ist eine quartische Funktion und wird in Formel 9 berechnet, wobei der Widerstand eine Funktion der Temperatur ist.

R(Ω) = A4*(T4) + A3*(T3) + A2*(T2) + A1*T + A0

Dabei ist R der Widerstand des Thermistors, T die Temperatur und A0/A4 die Koeffizienten.

Eine Regressionsfunktion ist die Umkehrung eines Polynoms 4. Ordnung. Tauschen Sie einfach die X-Achse gegen die Y-Achse aus, wie in Abbildung 5 dargestellt. Die im Diagramm gezeigte Polynomgleichung 4. Ordnung verwendet den Widerstandswert, um die Temperatur zu ermitteln.

Die Polynomregression 4. Ordnung in Formel 9 mit der Temperatur als Funktion des Widerstands: (Y = Y-Achse, die die Temperatur darstellt)

T°C = A4*(R4) + A3*(R3) + A2*(R2) + A1*R + A0)

Dabei ist R der Widerstand des Thermistors, T die Temperatur und A0/A4 die in Abbildung 5 aufgeführten Koeffizienten.

R2 ist der Anpassungswert der Trendlinie für die Polynomkurve. Ein R² = 1,00000E+00 ist eine perfekte Anpassung und der Fehler ist minimal bei der Berechnung des Widerstands aus dem Polynom. Akzeptable R2-Werte sind R2 = 0,999 und darunter.

Die Toleranzen für die Temperaturgenauigkeit variieren je nach Ihrer Anwendung. Eine Genauigkeit von 1 % bis 3 % °C reicht für die meisten Temperaturmessanwendungen aus. Ich empfehle immer, diesen Wert zu Beginn Ihres Entwurfs zu ermitteln und zu versuchen, dieses Ziel zu erreichen.

Die meisten Fehler bei der Berechnung der Temperatur mithilfe von Formeln resultieren aus mathematischen Fehlern und Rundungsfehlern. Abbildung 6 zeigt ein Beispiel für mathematische Fehler, die durch Rundungen verursacht werden. Es empfiehlt sich, sich daran zu erinnern, dass die Formel umso genauer ist, je mehr Ziffern über dem Dezimalpunkt Sie verwenden (z. B. 0,123456).

Für eine bessere Genauigkeit empfehle ich die Verwendung von mindestens sechs Ziffern – vorzugsweise neun oder zwölf Ziffern hinter dem Dezimalpunkt. Die optimale Anzahl an Stellen jenseits des Dezimalpunkts beträgt 16. Obwohl dies für eine Tabellenkalkulation möglich und einfach ist, ist es für eine MCU nicht immer praktikabel. Sechs Ziffern liefern über den gesamten Temperaturbereich eine Genauigkeit von mehr als 0,4 °C, was immer noch genauer ist als eine LUT. Das Diagramm der Regressionsberechnung in Abbildung 6 zeigt den potenziellen Fehler mit sechs Stellen hinter dem Dezimalpunkt.

Wie Sie sehen, gibt es mehrere Möglichkeiten, einen ADC-LSB-Wert zu verarbeiten, der nach der Umwandlung einer gemessenen Spannung aus einer Thermistor-Spannungsteilerschaltung erhalten wird. Die einfachsten Methoden sind nicht unbedingt die genauesten, können aber für Ihre Anwendung völlig ausreichend sein. Die meisten dieser Methoden funktionieren sowohl für NTC- als auch für PTC-Geräte.

Ich würde die Methoden von „am besten“ bis „angemessen“ wie folgt einstufen:

Das Erreichen echter Genauigkeit ist ein systemweiter Entwurfsaufwand. Der Vbias-Widerstand in einer Widerstandsteilerschaltung, die Toleranz Ihres Thermistors, der VCC-Fehler, der VREF-Fehler, ADC-Fehler, Berechnungsmethoden und mathematische Fehler summieren sich alle zur endgültigen Genauigkeit.

Um mehr zu erfahren, besuchen Sie das lineare Thermistor-Portfolio von TI.

Branchenartikel sind eine Form von Inhalten, die es Industriepartnern ermöglicht, nützliche Neuigkeiten, Nachrichten und Technologien mit den Lesern von All About Circuits zu teilen, und zwar auf eine Weise, für die redaktionelle Inhalte nicht gut geeignet sind. Alle Branchenartikel unterliegen strengen redaktionellen Richtlinien mit der Absicht, den Lesern nützliche Neuigkeiten, technisches Fachwissen oder Geschichten zu bieten. Die in Branchenartikeln geäußerten Standpunkte und Meinungen sind die des Partners und nicht unbedingt die von All About Circuits oder seinen Autoren.

Abbildung 1.Figur 2.Figur 3.Figur 4.KoeffizientenAbbildung 5.Abbildung 6.