Temperatursensor
Will man mit einem Mikrocontroller Temperaturen messen, dann braucht man
- einen Messwertaufnehmer, der z.B. die Temperatur in eine Spannung oder einen Strom umwandelt
- einen AD-Wandler, der das Signal digitalisiert. Der kann durchaus auch schon auf dem Sensor oder dem Mikrocontroller integriert sein.
Dies gibt es nun in allen möglichen Varianten. Vom temperaturabhängigen Widerstand bis zum fertig abgeglichenen All-in-one-Bauteil mit digitalem Ausgang.
PT100
Unter einem PT100 versteht man einen Platinwiderstand, der bei 0°C einen Widerstand von 100 Ohm hat. Platinwiderstände sind temperaturabhängige Widerstände mit hoher Wiederholgenauigkeit und Konstanz. Wegen der relativ geringen Widerstandsänderung von nur ca. 0,4 Ohm pro Grad ist etwas mehr Schaltungsaufwand erforderlich als bei anderen Sensoren. Genauere Formeln zur Temperaturbestimmung gibt es u.a. bei der Wikipedia. Einen Schaltplan findet sich bei der c't.
Die Sensoren gibt es auch mit anderen Widerstandswerten, z.B. mit 1000 Ohm und heißen dann entsprechend (z.B. PT1000).
Vorteil:
- genormt
- hohe Linearität
- hohe Wiederholgenauigkeit
- einfach austauschbar
Nachteil:
- sind nicht ganz billig (bei segor.de ab 3,80€)
- brauchen aufwendigere Interfaceschaltung
NTC/PTC
NTC (Heißleiter) und PTC (Kaltleiter) sind temperaturabhängige Widerstände. Um den Widerstandswert zu messen, schaltet man sie mit einem normalen Widerstand oder einer Konstantstromquelle in Reihe und misst dann den Spannungsabfall. Eine Beispielschaltung findet sich hier.
Vorteil:
- billig (Reichelt 0,29 EUR)
Nachteil:
- müssen abgeglichen werden
- brauchen A/D-Wandler
- sind nicht linear
LMx35
Ein IC-Familie, die pro Kelvin 10mV ausgibt. 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:
- auch ohne Kalibrierung Genauigkeit von einem Grad (bei 25°C)
- relativ billig (LM335 bei Reichelt ab 0,87 EUR)
Nachteile:
- benötigt A/D-Wandler
- bei längerer Anschlussleitung wird sehr viel Brumm induziert
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 "Schaltung" (zwei Widerstände) aus dem Datenblatt kann man dann den Strom in einer Weise wandeln, dass pro Kelvin 10mV ausgegeben werden. Da die Strom/Spannungswandlung auf der Platine (und damit nahe am AD-Wandler) stattfindet und die Messung durch einen Strom stattfindet, ist die Störung durch Netzbrumm etc. viel geringer als beim LM335
Vorteile:
- auch ohne Kalibrierung Genauigkeit von einem Grad (bei 25°C)
- relativ billig (Reichelt 0,90 EUR)
Nachteile:
- benötigt A/D-Wandler
- Bereich 0°C-70°C
ähnliches IC: AD592 (Ausgangsstrom 1µA pro Kelvin (absolute Temperatur)) Conrad 174912 8,50 Euro
SMT160-30
Ist ein Zwischending zwischen Digital und Analog: sein Ausgang ist ein digitales PWM-Signal, zu dessen Messung man am besten den Capture-Eingang eines Timers verwendet. Man kann ihn also wie einen analogen Sensor nur indirekt (statt über einen AD-Wandler nämlich über einen Timer) auslesen. http://www.hy-line.de/co/sensor-tec/hersteller/smartec/smt-160-30/index.html
Vorteile:
- Digitales PWM-Signal ist unempfindlich gegen Einstreuungen
- gibt es in SO8, TO18, TO92 und TO220 TO-220 (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 auf die Frequenz ist temp-abhängig (1-4kHz)
- teuer (Farnell 10,90 +16%, Conrad 9,xx , www.hy-line.de ??).
- TO92 ist günstiger, dafür weniger genau
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.
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.
- Genauigkeit +-0,5°
- Auflösung besser 0,01°, wenn man die beiden Zählerregister (Count-Remain und Count-per-C) auswertet
Nachteil:
- teuer (Segor 5,80 EUR; RS 3,95EUR; Conrad 4,99EUR)
- trotzdem die meisten Register non-volatile 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. Einen Schaltplan findet man hier.
Vorteile:
- bereits kalibriert
- kein A/D-Wandler nötig
- I²C-Bus Ausgang
- billiger als DS1621 (Reichelt 2,10 EUR; RS 3V: 3,75EUR; 5V: 2,72EUR)
Nachteile:
- nur im SMD-Gehäuse erhältlich
- sehr ungenau (+-2°), kann man jedoch kalibrieren / kompensieren
Compatible Typen: AD7415ART
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 einen 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. Der DS18B20 hat per default 12 Bit Auflösung gegenüber 9 Bit Auflösung beim DS18S20.
Links:
- Einen Schaltplan findet man auf http://chaokhun.kmitl.ac.th/~kswichit/avrthermo/avrthermo.html
- Code zur Ansteuerung auf http://www.mikrocontroller.net/forum/read-4-27035.html.
- Datenblatt DS18S20: http://pdfserv.maxim-ic.com/en/ds/DS18S20.pdf
- Datenblatt DS18B20: http://pdfserv.maxim-ic.com/en/ds/DS18B20.pdf
- Webserver zur Ansteuerung von bis zu 63 Bausteinen: http://www.mikrocontroller.net/forum/read-4-248219.html
Vorteile:
- bereits kalibriert
- Genauigkeit +-0,5°
- 1-Wire-Ausgang
Nachteil:
- ziemlich teuer (Reichelt 4,50 EUR)
- bei http://shop.medhost.at/ für 3,24 (2,70+20%UST) + Versand EU 6,-
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).
SHT1x/SHT7x (SHT10, SHT11, SHT15, STH71, SHT75)
Der SHT1x/SHT7x 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, "rauhe" Umgebung)
- Spannungsmonitor ("Battery fail")
Nachteile:
- kann nicht am I²C Bus betrieben werden, theoretisch gleiche Clockleitung möglich, fixe Adresse
- relativ teuer (Farnell 18,60 EUR)
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").
- Temperaturmessung mit Thermoelementen - Eine Einführung von David Potter (deutsche Überarbeitung: G.Sinkovic) (inkl. Erläuterung der Kaltstellenkompensation)
- Warum Thermoelemente Relativtemperaturen messen! oder Was ist eine Kaltstelle? - Technische Information von www.ipetronik.com (PDF, 272 KB)
Sonstiges
Es gibt noch zahlreiche andere ICs für diese Aufgabe und natürlich auch viele andere Messmöglichkeiten.
Weblinks
- http://www.sprut.de/electronic/temeratur/temp.htm insbesondere temperaturabhängige Stromquelle und NTC/PTC inclusive Linearisierung