Temperaturmessungs Überblick

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Für die Temperaturmessung gibt es zahlreiche Möglichkeiten die im Allgemeinen eine mehr oder weniger einfache Lösung dieser Aufgabe ermöglichen. Obwohl es überall und auch hier im Forum Informationen zum Thema gibt, will ich hiermit eine kurze Zusammenfassung und Überblick dazu geben und würde mich freuen wenn mein Beitrag dem Einen oder Anderen etwas nützlich sein könnte. Hier geht es nur um Passive Widerstands und Aktive Temperaturfühler im Einsatz mit einem Mikrocontroller. Thermocouple, Infrarot Kontaktlose Techniken und Quarz-Sensoren werden hier nicht behandelt. Es soll auch kein Kochbuch sein weil diese Thematik ganze Bände füllen könnte. Abgesehen davon wird man im Internet ziemlich fündig.

Here it goes...

Gebräuchliche Temperatur Messfühler gibt es in einige streng aufgeteilte Gruppen:

Passive Sensoren:

Dazu gehören:

  • NTC - Steht für Negative Temperature Coefficent Widerstandssensor, z.B. 1K@25DEGC = 192-102DEW-A01.
  • PTC - Steht für Positive Temperature Coefficient Widerstandssensor, z.B. KTY81.
  • RTD - Steht für Resistance Temperature Detector aus Platin, z.B. PT100

Aktive Messfühler:

Integrierte Analog- oder Digitalmessfühler. Siehe weiter unten.

Passive Sensoren Details

Allen diesen passiven Sensoren ist aber gemeinsam, dass sie einen nicht-linearen Zusammenhang von Fühlertemperatur und Widerstandsänderung aufweisen. Solche Sensoren müssen entweder schaltungstechnisch oder programmatisch erst linearisiert werden.

Für RTDs und NTCs existieren etablierte mathematische Näherungsformeln mit denen sich der Temperaturgang programmatisch sehr genau linearisieren lässt. Allerdings lässt sich bei niedrigeren Anforderungen an Genauigkeit in einem engen Bereich und durch eine bestimmte Schaltungstechnik eine durchaus brauchbare Linearität erreichen.

Je nach Sensor ändert sich der Widerstand nur in einem mehr oder weniger begrenzten Bereich. Das kann möglicherweise zu ungenügender digitaler Auflösung bei den gängigen ADC-Wandlern in MCUs führen und erfordert zweckdienliche Maßnahmen um eine ausreichende Empfindlichkeit zu erzielen. Man kann z.B. einen driftarmen Opamp- oder Instrumentenverstärker oder einen höher-auflösenden ADC einsetzen um eine ausreichende Nutzung des ADC-Konvertierungsbereich zu erzielen.

Allgemein wird bei Temperaturmessungen empfohlen den ADC im sogenanntem ratio-metrischen Modus zu verwenden, was einfach bedeutet, die MCU-Spannungsversorgung ist als ADC-Referenzspannungsquelle einzustellen. Dadurch misst man nur das Verhältnis zwischen Messspannung und der Messschaltung und die Schaltung bleibt gegen Versorgungsspannungsänderungen weitgehend unempfindlich.

Linearisierung

Die Linearisierung kann man auf verschiedene Arten realisieren. Wie schon erwähnt lässt sich ein angenäherter linearer Messbereich in einem begrenzten Temperaturbereich verwirklichen. Das ist schaltungstechnisch recht einfach, erfordert aber eine Kalibrierung der Schaltung. Bei genauen NTC Messfühlern kann man die Linearisierung mathematisch nach dem sogenannten "Steinhardt-Hart" Algorithmus realisieren. Dieser Algorithmus ermöglicht eine einfache Umsetzung des gemessenen Widerstandswert auf den korrespondierenden Temperaturwerts. Das kann man entweder durch ein interpolierende Aufruftabelle(Look-up table) oder mathematisch im MCU berechnen. Diese Methode ist allerdings mit einem erheblichen Berechnungsaufwand verbunden der auf einen 8-Bit MCU viel Platz und Berechnungszeit erfordern kann. Die Linearisierung nach dem Steinhardt-Hart Polynomial eliminiert (fast) eine Kalibrierung und die Genauigkeit ist nur von der Güteklasse der Sensorfamilie abhängig. Es ist vielleicht von Interesse zu wissen, dass man die Exponentenberechnung bei den Polynomischen Gliedern durch entsprechende Faktorisierung eliminieren kann und auf einfache Multiplikationen zu reduzieren und deshalb eine Verwendung des Linearisierungspolynomial zur Berechnung auf einem 8-Bit MCU durchaus Sinn hat. Meistens spielt die Rechenzeit bei einem Thermometer in vielen Fällen sowieso keine große Rolle. Auf einem STM32 mit 72MHz Taktfrequenz dauert die faktorisierte Polynomial Berechnung nur 14uS. Natürlich dauert das auf einem 8-Bit MCU schon etwas länger.

PTCs

Bei PTCs wie z. B. beim KTY81, kann man durch einen bestimmten Wert des Vorwiderstands eine brauchbare Geradebiegung der Messkurve über einen brauchbaren Temperaturbereich erreichen. Diese Methode wird auf der Webseite von Sprut mit einem eleganten, ausführlichen Beispiel belegt. Seine Realisierung stützt sich auf die Tatsache dass sich die Widerstandskurve des Sensors in einem größeren Bereich linearisieren lässt, wenn nicht mit Konstantstrom sondern mit veränderlichen Strom durch einen Vorwiderstand mit einem definierten Wert gearbeitet wird. Sprut erzielt mit seinen cleveren Zusatzmaßnahmen eine vergrößerte Auflösung des ADCs und relativ einfache Umwandlung des ADC-Resultats in eine Celsius Temperaturanzeige. Es stellt auch den Quell- und HEX Code dort zur Verfügung. Kalibrierung beschränkt sich hauptsächlich auf die Nulloffset mittels Eiswasser. Sein Webseite ist sehr informativ.

RTDs

Beim RTD Sensor ist wegen der geringen Widerstandsänderung größerer Aufwand erforderlich. RTDs sind ein ganz spezieller Typ von Temperatursensoren. Allgemein werden sie mit einer extrem genau eingehaltenen Metallurgischen Legierung aus Platin und anderen Metallen hergestellt. Die Konsistenz der Legierung ist zur Einhaltung der genormten Empfindlichkeit massgeblich verantwortlich.

Alle RTDs beziehen sich auf einen Standard Widerstand bei 0 Grad Celsius. Z.B. ein PT100 hat 100 Ohm bei 0 DEGC.

International gibt es hauptsächlich zwei Arten von Legierungen. In Europa sind sie nach Standard IEC751 definiert. In Europa hat der RTD eine Empfindlichkeit von 0.00385 Ohm/Ohm/DEGC. In Amerika sind auch 0.00392 Ohm/Ohm/DEGC gebräuchlich. Der Unterschied liegt in einem geringen Unterschied der Messkurve und ist bei der Linearisierung nicht zu ignorieren. RTDs haben ein paar sehr wichtige Eigenschaften wie:

  • Genau definierte Widerstandsabhängigkeit heutzutage hauptsächlich nach ITS-90 Norm.
  • Ohne Neukalibrierung austauschfähig
  • RTDs gibt es von 10 bis 5000 Ohm. Handelsüblich sind 10, 100, 500, und 1000 Ohm.
  • Weiten Temperaturbereich je nach Ausführung. -200 bis 850 Grad Messbereich sind möglich.

RTDs werden entweder aus Draht gewickelt und in einem kleinen Keramikröhrchen verpackt oder in Metallfilmtechnik als kleine Plättchen und auch in SMD hergestellt. Je nach Anwendungsbereich werden RTDs in schützende Umwandlungen eingebaut um die empfindlichen Teile nicht zu beschädigen. Draht RTDs können stossempfindlich sein und können durch übermässige starke Stossbelastungen permanent beschädigt oder ungenau werden. RTDs können auch durch Überschreiten der thermischen Grenzwerte permanent in ihrem Verhalten verändert werden.

Die Messfühler sind ohne Neukalibrierung austauschbar. Trotz der sehr hohen möglichen Messgenauigkeit sind handelsübliche RTDs prinzipiell nicht übermäßig kostspielig.

Speziell präparierte und hergestellte zertifizierte RTDs extrem hoher Genauigkeit werden übrigens als sogenannte SPRTs zur Eichung oder Kalibrierung anderer Sensoren verwendet.

Früher waren zur Linearisierung sehr aufwendige Eingangsschaltungen mit stabilen Komponenten erforderlich. Heute geht das viel einfacher. Man kann mit bestimmten 16-24 Bit externen ADCs einfache und trotzdem sehr genaue Messwandler realisieren. Wegen der schon erwähnten geringen Widerstandsänderung muss man den Spannungsabfall der Messzuleitungen durch sogenannte Drei- oder Vierdrahttechnik eliminieren. Mit diesen modernen ADCs lässt sich die RTD Messung einfach durch Vergleich des RTD Widerstands mit einem stabilen und genauen Vergleichswiderstand vereinfachen. Das macht man einfach so dass man RTD und Vergleichswiderstand in Reihe schaltet und den ADC so anschließt dass die Plus und Minus ADC Eingänge nur die RTD Spannung über eigene Zuführungsleitungen zugeführt bekommen und die Plus und Minus Referenzeingänge mit dem Vergleichswiderstand verbunden werden. Mit dieser Schaltungsmaßnahme wird bewirkt dass der ADC ratio-metrisch umwandelt und die Spannungsabfälle der Sensorleitung eliminiert werden können. Damit wird die Schaltung gegen Spannungsänderungen weitgehend unempfindlich und es wird nur das Verhältnis zwischen den beiden Eingängen gemessen. Darauf kommt es an. Mit einer einfachen Berechnung lässt sich jetzt der genaue Widerstandswert des RTDs berechnen welcher als Eingangswert der eigentlichen Umwandlung des Messwerts auf Temperatur dienen kann. Diese Umwandlung wird oft mit Hilfe von Interpolierenden Aufruftabellen oder mathematisch nach einem genauen Näherungspolynomial im MCU realisiert. Für den ITS-90 Standard ist in den U.S.A. NIST verantwortlich. Die Umrechnungskoeffizienten und Tabellen findet man dort. Die Linearisierung ist als Callendar van Dusen Gleichung bekannt. Die Verwirklichung der Umsetzroutinen kann kompliziert sein.

In praktischen Industrieschaltungen kommt meistens noch eine Sensor Testfunktion dazu um zu wissen ob ein Fehler wie offener Sensor oder Leitung und Kurzschluss vorhanden ist.

Die Drei-Draht Sensorverbindung erfordert eine spezielle Schaltungstechnik. Sie stützt sich auf die Tatsache dass bei einem langen Verbindungskabel die Drahtwiderstände annähernd gleich sind. Durch Messen des Spannungsabfall zwischen dem lokalen Massenbezugspunkt und der Fühlerrückleitung mit konsequenter Subtraktion des gewonnenen Spannungsabfalls, kann man diesen Spannungsabfall vom Messergebnis subtrahieren. Für sehr genaue Messungen ist die Vier-Draht Methode allerdings empfehlenswerter. Zwei-Draht Verbindungen sollte man nur bei sehr kurzer Leitungslänge zwischen Sensor und Messschaltung einsetzen und ist normalerweise allgemein recht verpönt.

Da die RTD-Messkurve International nach ITS-90 genormt ist, ist diese mathematische Linearisierung vom Sensor unabhängig. Die Typischen RTDs sind in verschiedene Güteklassen eingeteilt welche die Messgenauigkeit eingrenzen. Das macht sich stark im Preis bemerkbar.

Die Genauigkeit der RTD Messfühler werden nach EN/DIN47360 klassifiziert. Z.B. wie Class A, Class B, 1/3 DIN, 1/10 DIN. Genauigkeiten bis zu +/- 0.03 Grad Abweichungen vom Idealwert sind somit handelsüblich. Die genaueste Klasse in dieser Reihe ist die 1/10 DIN.

Die Messgenauigkeit von stromdurchflossenen passiven Sensoren kann durch zu hohen Messstrom leiden. Es ist deshalb wichtig zu wissen wie der Messfühler mit dem zu messendem Medium verbunden ist. In stiller, freistehender Luft ist die Selbsterwärmung am leichtesten zu beobachten. Bei RTDs sind Messströme weit unter oder bis zu 1mA je nach Anwendung gebräuchlich. Die größten Messfehler kommen oft durch unsachgemässe Fühler zu Messobjekt Wärmeleitung zustande.

Da dieses Thema so groß ist, möchte ich mich auf Obiges beschränken und auf die zahlreichen Resourcen im Internet verweisen.

Aktive Temperatursensoren:

Es gibt heutzutage eine sehr große Auswahl von Temperaturfühler ICs. IC-Fühler sind sehr leicht einzusetzen, haben allerdings bestimmte Einschränkungen auf die man achten sollte.

Vorteile:

  • Fabrikskalibriert
  • Lineare Umwandlung
  • Leicht einsetzbar
  • Viele Bauformen
  • Auswahl an Ausgangsformat wie Analog, I2C, SPI, 1W PWM oder Frequenz

Nachteile:

  • Eingegrenzter Temperaturbereich im Vergleich zu RTDs von bestenfalls -55 bis 150 Grad C.
  • Schlechtere Messgenauigkeit über einen weiten Temperaturbereich Im Vergleich zu RTD oder NTC Fühlern.
  • EMC Empfindlichkeit
  • Schwingneigung bei kapazitiver Belastung von Analog Fühlern speziell bei langen Leitungen
  • ADC benötigt zusätzlich noch eine Referenzspannungsquelle

Einige Beispiele:

  • Analog Ausgang: LM34, LM35
  • PWM-Ausgang: MAX6673
  • Digitalausgang: I2C, SPI, 1W: TMP101, LM75, DS1621, DS1821

Allen diesen Sensoren ist gemeinsam, dass sie wegen der Fabrikskalibrierung einen relativ einfachen Einsatz ermöglichen. Die Umwandlung des Messwerts ist normalerweise programmatisch recht leicht zu handhaben.

Wenn man schon den Umgang mit I2C gewöhnt ist und Libs dazu hat, ist dieser Weg sehr bequem. Das Gleiche gilt auch für SPI, und PWM. Dallas 1W ist auch brauchbar, hat aber den Nachteil, dass die Daten Timing Intervalle streng einzuhalten sind und aus diesem Grund Multitasking manchmal Probleme verursacht. Das ist z.B. der Fall wenn viele Interrupts aktiv sind.

Mit Analogsensoren wie dem LM35 hat man insofern den Nachteil, dass die Empfindlichkeit nur 10mV per DEGC Änderung ist. 0.1 Grad Auflösung mit 10-Bit ADC ist also nur in einem begrenzten Bereich möglich. Bei den LM34/35 gibt es einiges zu beachten und man sollte sich strikt nach den Empfehlungen des Datenblattes richten. Um negative Temperaturen messen zu können, kann man den GND-Pin mit einer Diode in Vorwärtsrichtung vorspannen damit der Ausgangspin nicht unter Null Volt sinkt. Diese Massnahme erfodert allerdings einen extra ADC Eingang. Diser Wert wird dann vom Messwert subtrahiert um die Offset zu nullen. Mit dieser Vorgehensweise bleibt die ADC-Eingangspannung im gesammten Temperaturbereich zwischen 0 bis Vdd.

Siehe auch ganz besonders den Artikelbeitrag:

http://www.mikrocontroller.net/articles/Temperatursensor

Fortsetzung folgt (vielleicht).