Temperatursensor

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

Will man mit einem Mikrocontroller Temperaturen messen, dann braucht man

  • einen Sensor, der die Temperatur z. B. in eine Spannung oder einen Strom umsetzt
  • einen AD-Wandler, der das Signal digitalisiert. Der kann auf dem Sensor oder dem Mikrocontroller integriert sein.

Temperatursensoren gibt es nun in allen möglichen Varianten. Vom temperaturabhängigen Widerstand bis zum fertig abgeglichenen All-in-one-Bauteil mit digitalem Ausgang. Wie bei allen Sensoren sollte man auch hier genau hinschauen und Auflösung und Genauigkeit unterscheiden.

Analoge Temperatursensoren

PT100

Unter einem PT100 versteht man einen Platinwiderstand, der bei 0°C einen Widerstand von 100Ω hat. Platinwiderstände sind temperaturabhängige Widerstände mit hoher Wiederholgenauigkeit und Konstanz[1]. Wegen der relativ geringen Widerstandsänderung von nur ca. 0,4Ω pro Grad ist etwas mehr Schaltungsaufwand erforderlich als bei anderen Sensoren. Genauere Formeln zur Temperaturbestimmung gibt es u.a. bei Wikipedia. Ein Schaltplan findet sich bei der c't.

Die Sensoren gibt es auch mit anderen Widerstandswerten, z. B. mit 1000Ω und heißen dann entsprechend PT1000.

Vorteil:

  • genormt
  • großer Meßbereich
  • hohe Linearität
  • hohe Wiederholgenauigkeit
  • einfach austauschbar

Nachteil:

  • brauchen aufwändigere Auswerteschaltung

Links:

NTC/PTC

NTC und PTC sind temperaturabhängige Widerstände.

  • NTC (engl. Negative Temperature Coefficient, Heißleiter), hat bei hohen Temperaturen seinen niedrigsten Widerstand, z. B. Silizium
  • PTC (engl. Positive Temperature Coefficient, Kaltleiter), hat bei niedrigen Temperaturen seinen geringsten Widerstand, z. B. Glühlampe

Um den Widerstandswert zu messen schaltet man sie mit einem normalen Widerstand oder einer Konstantstromquelle in Reihe zu einem Spannungsteiler und misst den Spannungsabfall. Eine Beispielschaltung findet sich hier.

Vorteil:

  • billig (z.B. KTY81-120 1 kΩ bei Reichelt ~<strikethrough>0,50</strikethrough> 0,70 €)

Nachteil:

  • müssen für höhere Genauigkeiten abgeglichen werden
  • brauchen A/D-Wandler
  • sind nichtlinear

Beispiele:

  • KTY10-5
  • KTY13-6
  • KTY81-121
  • KTY81-122

Links:

LMx35

Eine IC-Familie, die pro Kelvin Temperaturänderung ihre Ausgangsspannung um 10 mV ändert. Die ICs gibt es in verschiedenen Genauigkeiten und Temperaturbereichen mit den Bezeichnungen LM135(A), LM235(A) und LM335(A). Der günstigste ist der LM335 mit einem Temperaturbereich von −40 … +100°C. In verschiedenen Bauformen erhältlich. Beispielschaltungen finden sich im Datenblatt und hier

Vorteile:

  • hat auch ohne Kalibrierung eine Genauigkeit von einem Grad (bei 25°C)
  • relativ billig (LM335 bei Reichelt ab 0,76 €)

Nachteile:

  • benötigt A/D-Wandler
  • bei längerer Anschlussleitung störanfällig

Links:

LM334

Ein IC ähnlich dem LM335 mit dem Unterschied, dass der durch das IC fließende Strom proportional von der Temperatur abhängt. Mit einer einfachen Schaltung aus nur zwei Widerständen kann man dann den Strom in einer Weise wandeln, dass pro Kelvin eine Spannungsänderung von 10mV ausgegeben wird. Da die Strom-Spannungswandlung auf der Platine (und damit nahe am AD-Wandler) stattfindet und die Übertragung des Messwerts durch einen Strom stattfindet, sind Störungen durch Netzbrummen etc. viel geringer als beim LM335

Vorteile:

Nachteile:

  • benötigt A/D-Wandler
  • Bereich 0°C-70°C

Ähnliche ICs:

  • AD592 (Ausgangsstrom 1µA pro Kelvin, absolute Temperatur) Reichelt: 3,75 €, Conrad 174912 8,50 €

SMT160-30

Ist ein Zwischending zwischen Digital und Analog. Sein Ausgangssignal ist ein digitales PWM-Signal, zu dessen Messung man am besten den Input-Capture-Eingang eines Mikrocontrollers verwendet. Man kann ihn also wie einen analogen Sensor nur indirekt auslesen, anstatt über einen AD-Wandler hier über einen Timer.

Vorteile:

  • Digitales PWM-Signal ist unempfindlich gegen Störeinflüsse
  • gibt es in SO8, TO18, TO92 und TO220, gut befestigbar, z.B am Kühlkörper
  • linear
  • kein Abgleich nötig

Nachteile (viele):

  • benötigt Timer
  • jittert extrem, genaue Messungen nur über Mittelung / Filterung möglich
  • nicht nur das PWM-Verhältnis, sondern auch die Frequenz ist temp-abhängig (1-4kHz)
  • teuer (Farnell 10,90€ +16%, Conrad 9,xx€ , www.hy-line.de ??).
  • TO92 Gehäuse ist günstiger, dafür weniger genau

Links:

Thermoelement

Ein Thermoelement besteht im einfachsten Fall aus zwei ungleichen Metallendrähten, die an einem Punkt miteinander verbunden sind und bei dem die Verbindungsstelle einer anderen Temperatur ausgesetzt ist als die offenen Enden der Drähte. An den offenen Enden der Drähten entsteht eine Spannung (Thermospannung). Dieser Effekt wurde 1821 von Thomas Seebeck entdeckt (Seebeck-Effekt bei Wikipedia). Eine weitere Anwendung ist der thermoelektrische Generator ("Thermogenerator").

  • MCP3421 18bit ADC 15SPS, I2C, auch mit andere Auflösungen erhältlich, Thermoelement kann direkt angeschlossen werden! (Reichelt : 2,10€)

Vorteil:

  • über einen sehr weiten Temperaturbereich einsetzbar

Nachteil:

  • die sehr geringen Temperaturspannungen im Mikrovoltbereich benötigen eine sehr gute Auswertelektronik (guter Analogteil + AD-Wandler). (aber: beachte MCP3421)

Links:

indirekte Messung über die Temperaturabhängigkeit der Schallgeschwindigkeit

Acoustic Thermometry Measures Temperature To 0.1 Degree http://www.linear.com/solutions/1558 AN131 http://www.linear.com/docs/39793 (PDF momentan nicht verfügbar) --> http://www.mikrocontroller.net/topic/307557#new

Digitale Temperatursensoren

DS1621

Der DS1621 ist Temperatursensor und A/D-Wandler in einem. Er gibt seine Daten per I²C-Bus aus. Ein Schaltplan für einen elektronischen Thermometer mit diesem IC findet sich hier.

Eine Library für den AVR: https://sourceforge.net/projects/ds1621avr/

Vorteile:

  • bereits kalibriert
  • kein A/D-Wandler nötig
  • da I²C ein Bus ist, kann man mehrere DS1621 und andere I²C-Bausteine zusammen anschließen und braucht dafür trotzdem nur zwei I/O-Ports.
  • Messbereich -55°C to +125°C
  • Genauigkeit +-0,5°C
  • Auflösung besser 0,01°C, wenn man die beiden Zählerregister (Count-Remain und Count-per-C) auswertet

Nachteile:

  • teuer (Segor 5,80€; RS 3,95€; Conrad 5,22€)
  • obwohl die meisten Register nichtflüchtig sind, kann man ihn nicht als Stand-Alone-Thermostat einsetzen, da er erst nach einem Start-Conversion-Befehl zu messen beginnt.

Nachfolger:

  • DS1631, DS1631A (Auto-Start-> Stand-Alone-Thermostat), DS1731
  • weitere Stand-Alone-Thermostaten: DS1821, DS1629

LM75

Der LM75 ist so ähnlich wie der DS1621, allerdings nur in SMD erhältlich und nicht so genau. Er ist aber öfters mal auf PC-Mainboards zu finden, so dass man beim Schlachten eines solchen günstig an einen Temperatursensor kommen kann. Eine Beispiel Schaltplan mit einem ATmega8 findet man hier

Vorteile:

  • bereits kalibriert
  • kein A/D-Wandler nötig
  • I²C-Bus Ausgang
  • billiger als DS1621 (Reichelt 1,45 €; RS 3V: 3,75€; 5V: 2,72€)
  • Auflösung +-0,5°C

Nachteile:

  • nur im SMD-Gehäuse erhältlich
  • relativ ungenau (+-2°C), kann man jedoch kalibrieren / kompensieren

Kompatible Typen:

  • AD7415ART
  • DS7505S+

LM76

Der LM76 ähnlich dem LM75, bietet aber eine 8-fach höhere Auflösung und eine Genauigkeit von 0.5 bzw. 1°C.

Vorteile:

  • höhere Auflösung
  • höhere Genauigkeit

Nachteil:

  • schwerer zu beschaffen

TMP175 / TMP75

Ähnelt dem LM75 stark! Temperatursensor von Texas Instruments.

Links:

Linux Kommandozeilen Tool für den Zugriff

DS18S20 / DS18B20

Der DS18S20 (Nachfolger des DS1820) und DS18B20 sind scheinbar Temperatursensoren und A/D-Wandler in einem. Wenn man genauer hinschaut, stellt man fest, dass es sich um direktwandelnde Sensoren handelt. Die Temperatur wird ohne Umweg über eine analoge Zwischengröße (Spannung oder Strom) in ein digitales Signal überführt.

Die Datenkommunikation erfolgt über ein 1-Wire-Interface, wodurch man am Mikrocontroller mit nur einem einzigen I/O-Pin auskommen kann. Außerdem beherrschen sie die parasitäre Stromversorgung, d.h., man braucht für Daten und Stromversorgung zusammen nur zwei Leitungen.

Beim DS18B20 sind Auflösungen von 9, 10, 11 und 12 Bits konfigurierbar. Je kleiner die Auflösung, desto kürzer ist die Messzeit. Der DS18S20 hat eine feste Auflösung von 12 Bits, wobei die unteren 4 Bits aufwändiger auszuwerten sind als beim DS18B20. Der DS18S20 ist als Ersatz für den DS1820 gedacht. Der Hersteller empfiehlt den DS18B20 für Neuentwicklungen.

Vorteile:

  • bereits kalibriert
  • Genauigkeit +-0,5°C
  • 1-Wire-Ausgang

Nachteil:

  • Reichelt: 1,60€ / CSD: 1,59€ / Conrad 5,08€

Links:

DS1822

Ähnlich wie DS18S20, aber weniger genau (+-2°) und in großen Stückzahlen billiger. Wegen der geringeren Verbreitung kommt der Preisvorteil aber bei Einzelstücken nicht beim Kunden an. So kostet er bei Reichelt mit 3,50€ mehr als der DS18S20.

DS1921 / DS1922

Sind wie die DS1821 1-wire-Sensoren mit zusätzlicher Logging-Funktion. Im iButton-Gehäuse befindet sich eine Lithium-Zelle, eine RTC, CMOS-RAM und der Temp-Sensor. Nach umfangreicher Progammierung startet der Button seine Mission (Aufzeichnung des Temperaturverlaufs). Gibt es auch mit zusätzlicher Feuchtemessung (DS1923).

TSic

Die TSic Sensoren werden baugleich von 2 Herstellern angeboten:

Die TSic Sensoren (Datenblatt) geben ihre Temperaturmessdaten automatisch in einem festen Intervall aus. Daher muss der Host nur warten bis die nächsten Messdaten rausgeschickt werden. Die TSic Sensoren die es im freien Handel gibt, geben ihre Messdaten alle 100ms (10Hz) aus. Zur Übertragung wird das ZACwire Protokoll benutzt. Es handelt sich um eine einfach zwei Byte Übertragung per Manchester-Code. Diese zwei Byte repräsentieren den digital gewandelten Temperaturwert. Im Gegensatz zu Sensoren wie den DS18xxx von Dallas muss dieser Wert aber erst auf einen dezimalen Wert umgerechnet werden. Die Sensoren kommen mit 3 Pins aus (VCC, GND, Dout).

Vorteile:

  • Bereits kalibriert
  • Verschiedene Genauigkeiten lieferbar
  • Sehr einfaches Kommunikationsprotokoll
  • Geringer Stromverbrauch
  • Hochgenau: bis zu +/- 0.1°C (TSic 50x)

Nachteil:

  • Recht teuer (Reichelt: 4,70€ für den TSic206)
  • Nur ein Sensor an einem I/O nutzbar (Kein Bussystem)

Achtung! Die TSic Sensoren gibt es auch als Version mit analog Ausgang. Bei der Typenbezeichnung gibt die 3. Stelle an ob es sich um die analog- oder Digitalversion handelt (1 = analog, 6 = digital). Der TSic201 ist also analog, wärend der TSic206 ein digitaler ist.

Links:

SHT1x/SHT7x

Der SHT1x/SHT7x (SHT10, SHT11, SHT15, STH71, SHT75) sind kombinierte Temperatur- und Feuchtesensoren von Sensirion. Sie unterscheiden sich in Bauform und Genauigkeit.

Vorteile:

  • digitale Schnittstelle mit einfacher I²C-ähnlicher Ansteuerung
  • keine Kalibrierung notwendig
  • Beispielcode (C, MC51) auf der Sensirion-Seite verfügbar (relativ leicht portierbar)
  • interne Heizelemente (Funktionsprüfung, "raue" Umgebung)
  • Spannungsmonitor ("Battery fail")
  • sehr hohe Genauigkeit

Nachteile:

  • kann nicht am I²C Bus betrieben werden, theoretisch gleiche Clockleitung möglich, fixe Adresse
  • relativ teuer (Farnell 18,60€)(SHT11 bei CSD 14€)

Übersicht der Temperatur- und Feuchtigkeitssensoren von Sensirion.

SHT21

Sensirion bietet auch den SHT21 Feuchtigkeits- und Temperatursensor an, welcher wesentlich genauer ist.

Vorteile:

  • I2C digital, PWM and SDM/analog Volt Ausgabe
  • Maximal 5 Messungen/s @ 14bit
  • Temperaturbereich von -40 – +125°C
  • Feuchtigkeit mit einer Genauigkeit von +-2%RH
  • Günstig (3-4€ Farnell/RS 2014)

Nachteile:

  • nur als SMD-Package

Application Notes und Datenblätter findet man hier.

ADT7310 / ADT7xxx-Familie von AD

Der ADT7310 von Analog Devices besitzt eine Auflösung von 16 Bit und eine Genauigkeit von ±0.5°C im Bereich von −40°C bis +105°C.

Vorteile:

  • Ansteuerung per SPI ADT73xx oder I2C ADT74xx
  • keine Kalibrierung notwendig
  • hohe Auflösung und Genauigkeit: 16 Bit
    • ADT7x02 2,00°
    • ADT7x01 1,00°
    • ADT7x10 0,40 / 0,50°
    • ADT7x20 0,20 / 0,25°
  • auch für automotive / als Die lieferbar
  • programmierbarer Interruptausgang für Unter- und Übertemperatur
  • relativ günstig (ca. 3-8€ bei Digi-Key, Stand 12/2011)

Nachteile:

  • TBD

NB: ONsemi hat auch Temperatursensoren mit der Bezeichnung ADT7xxx, verwendet aber ein anderes Namensschema

TSYS01 / G-NICO-018 von Measurement Specialties Inc.

  • sehr hohe Auflösung und Genauigkeit: 0,10° @ -5°C … +50°C 16/24 Bit
  • Gehäuse 16-VQFN Exposed Pad
  • SPI / I2C über Pin auswählbar
  • Preis: 8,60 (4,40 @1k) bei Digikey

kleiner Nachteil: der Sensor liefert den ADC-Wert und die Kompensationskonstanten (5 Polymon-Koeffizienten), mit denen im µC die Temperatur berechnet werden muss.

SE95

Der SE95 von NXP hat 13 Bit Auflösung, Genauigkeit ±2°C im Messbereich von -55°C bis +125°C, I²C, Gehäuse SO8 und TSSOP8. Einzelstück-Preis bei Segor 1,50€ (2012/I)


BMP085 / BMP180

Die BMP085 (bzw. der verbesserte, aber Pin- und Software-komapatible Nachfolger BMP180) sind eigentlich Luftdrucksensoren, die jedoch auch einen Temperatursensor mitbringen. Der Anschluss erfolgt über I2C.

Vorteile:

  • Wenig Stromverbrauch (5µA bei 1 Messung/s)
  • Liefern Luftdruck gleich mit
  • Absolute Genauigkeit (+-1°C typ. über kompletten Temperaturbereich). Relative Genauigkeit ist im Datenblatt nicht spezifiziert, gemessen gegen einen SHT11 ca. +-0.1°C.
  • Auflösung: 0.1°C mit Herstellercode, mehr ist möglich (16Bit)
  • Fertige Platinen für wenig Geld verfügbar (ca. 1,70€ inkl. Versand aus China)

Nachteile:

  • Sehr aufwändige Linearisierung (Kalibrationskoeffizienten sind im Sensor gespeichert, müssen aber vom Host-µC verrechnet werden. Code ist im Datenblatt)
  • Nur als SMD
  • Bei Reichelt und Conrad nicht erhältlich.

Preis: Ebay 1,70€ (mit Platine, China), Aliexpress 1,10€ (nackter Chip, China, mind. 10 Stück sonst auch ca. 1,70€)


Preisübersicht

Preisübersicht 11/2012
Bauteil Segor RS-Components Conrad Farnell Reichelt DigiKey
AD592 21,40 5,74 6,43 5,90 3,95 4,61
ADT7310 - - - 4,56 - 3,02
ADT7410 - 3,35 - 2,71 - 3,02
DS1621 7,60 5,29 5,08 5,65 - 4,54
DS1629 8,70 8,68 - 5,00 6,50 7,65
DS1631 8,00 2,91 - 3,11 - 3,94
DS1731 - - - 9,79 - 3,81
DS1821 5,90 5,27 6,27 - - 5,05
DS18B20 2,50 3,06 - 3,26 3,20 3,93
DS1921 - 26,15 - - - 21,13
DS1922 - 62,00 - - - 43,11
DS1923 - 97,96 - - - 80,30
KTY81/121 - - - 0,79 0,59 0,85
LM75 1,50 0,68 3,64 0,81 1,45 0,82
LM76 - 2,83 - 3,02 - 2,39
LM135 10,10 10,28 - 8,95 7,95 10,26
LM235 - - - 1,80 1,40 1,26
LM334 0,90 0,72 1,67 1,01 0,49 0,74
LM335 1,30 0,56 1,92 0,55 0,71 0,80
PT100 3,80 3,99 4,00 9,79 4,27 0,68
SE95 1,50 0,63 - 1,45 - 1,00
SHT11 26,00 24,38 33,20  25,65 -  36,76
SHT15 - 27,69 36,30 28,72 - -
SHT21 29,50 18,10 - 21,16 - -
SHT71 25,40 29,06 36,89 30,88 - -
SHT75 - 33,77 42,48 35,52 - -
SMT160-30 - 9,28 8,14 12,38 - -
TMP75 - 0,80 - 0,85 - 1,37
TSic206 - - 5,84 - 4,20 -