Temperatursensor LM 35

Temperatursensor LM 35

Category : Arduino , Elektronik

Ausdrucken Ausdrucken

LM35_small

Es gibt verschiedene Sensortypen, um einen Temperaturwert auszulesen.

Verwendung findet hier heute der Feld-, Wald- und Wiesen-Temperatursensor LM 35 und zwar um genau zu sein, der LM 35 DZ.
Es gäbe beispielsweise noch einen CZ-Typen, der einen anderen Temperaturbereich auslesen kann, so wie einen DT-Typ mit anderem Gehäuse.

Alternativen wären auch noch der LM75, so wie der LM 335 (rechnet in Kelvin, statt in °C) da, die beide zur Messung von Minustemperaturen besser geeignet sind als der LM35.

Es gibt viele unterschiedliche Typen, auch preislich weichen sie enorm voneinander ab. Unseren LM 35 DZ-Typ bekommt man schon so für rund 1 EUR und man kann mit ihm viele schöne Dinge machen in Verbindung mit anderen Bauteilen und/oder einem Microcontroller wie dem Arduino.

Oben rechts auf dem Foto seht Ihr die Beschaltung des LM 35. Im Datasheet UNBEDINGT aufpassen, da die dortige Abbildung das Gehäuse aus der „Bottom“-Sicht zeigt und der Sensor sehr schnell sehr heiß werden und kaputt gehen kann, wenn Plus und Masse vertauscht werden und man es nicht rechtzeitig bemerkt.

Die Beschaltung ist – wie man sieht – sehr einfach. Plus und Masse, so wie das mittlere Beinchen als Output, an dem man die aktuelle Temperatur abgreifen kann, fertig.

Pro 1°C verändert sich der Wert den der LM35 ausgibt um 10 mV. Also hätten wir 0 mV bei 0°C und 1.000 mV (1 V) bei 100°C.

An dem Sensor lässt sich eine Versorgungsspannung +4 V bis +30 V anschließen. und die Messgenauigkeit liegt bei ± 0,4°C.
Das ist jetzt für uns erst mal das Relevante. Weitere Infos kann man ja dem Datenblatt entnehmen.

Mit Hilfe unseres Multimeters können wir nun die Spannung ablesen.
Hierzu schließen wir einfach eine Stromquelle an +Vs und GND und messen an Vout gegen GND und erhalten den aktuellen Temperaturwert in mV angezeigt. (Jaaaa, es ist Sommer 🙂 )

LM 35 Zimmertemperatur

Wir messen eine Zimmertemperatur von 30,81°C (28.08.2016)

Wenn wir nun den Sensor mit unseren Fingern festhalten, oder anderweitig vorsichtig erhitzen, so steigt die Temperatur und natürlich auch die mV-Ausgabe unseres Multimeters an.

LM 35 Temeraturerhoehung

Wir erhöhen die Temperatur und das Multimeter klettert hinauf auf 33,41°C

Beachtet, dass eine Ausgabe auf dem Multimeter immer ein wenig zeitversetzt ist. Es dauert einen kleinen Moment, bis der korrekte Wert abzüglich möglicher Genauigkeitstoleranz angezeigt wird.

Statt unseres Multimeters können wir natürlich auch die Daten mit einem Microcontroller auslesen. Rasperry und Co. fallen leider flach, da wir dort ja nur digitale Ein-/Ausgänge haben die entweder 0 oder 1 sind. Wir brauchen ja aber einen Wert der übermittelt wird, der zwischen 0 mV und 1.000 mV liegt.

Wir schließen einfach den LM 35 mit +Vs an die +5 Volt-Versorgungsspannung des Arduinos und GND auf Ground. Den Vout-Pin schließen wir an den analogen Pin A5 an und schon sind wir fertig.

Nun können wir mit dem folgenden kleinen Programm die Temperaturausgabe auch auf dem seriellen Monitor verfolgen und die Temperaturdaten somit natürlich auch anderweitig für ein Programm verarbeiten.

In einem anderen Beitrag werden wir beispielsweise ein Relais mit einem Temperaturschalter bauen und das Relais schalten lassen, wenn der Sensor eine bestimmte Gradzahl misst.

Die Zeile 16 berechnet den Temperaturwert an Hand folgender Formel:
 (Versorgungspannung * maximale messsbare Temperatur des Sensors * den vom Sensor ausgelesenen Wert ) / Auflösung des analogen Eingangs vom Arduino

 

LM35_Arduino_serieller_Monitor

Arduino, Werkzeuge, Serieller Monitor

Ein Phänomen ist zu sehen, wenn man nun parallel mit dem Multimeter nachmisst, denn dann stellt man fest, das unter Umständen eine Differenz von mehreren Grad Celsius zu messen ist, zu dem, was auf dem Monitor abzulesen ist.

Das Problem liegt in der Stromversorgung. Wir gehen hier davon aus, dass wir konstant 5V haben, was aber nicht immer der Fall ist, wenn der USB-Port zum Beispiel keine vollen 5V liefert, oder die Batterie schon zu leer ist. (Bei mir am USB-Port sind es nur 4,16V und die Abweichung beträgt somit fast 5 Grad.)

Wie können wir das Problem beseitigen?
Es gäbe mehrere Möglichkeiten:

Softwareseitig könnten wir eine kleine Funktion schreiben, die vor der Temperaturmessung die aktuelle Spannung misst und ersetzen „5“ mit dieser Variablen.

Eine andere Möglichkeit besteht darin, einen Festspannungsregler einzusetzen und mit einem Potentiometer genau 5V als Spannung einzustellen, oder einen StepUp- oder StepDown-Regler auf genau 5V einstellen.

Eine Z-Diode wäre eine andere Alternative.

Wenn der Wert relativ konstant am USB-Port ist, könnte man – wie bei mir jetzt die 5 auch einfach in 4,16 aendern und gut.
In der Regel reicht ja eine Temperaturmessung im 0,5°C Bereich aus.

Letztendlich kommt es aber auf die Gegebenheiten an, denn ein Batteriebetrieb schaut wieder ganz anders aus als konstanter Strom aus der Dose. Immer das Mittel der Wahl einsetzen ist angesagt. 🙂


Schreibe einen Kommentar