Der Plan

Um mit einem PC Temperaturen zu messen gibt es mehrere Möglichkeiten. Eine relativ einfache sind 1-Wire Sensoren wie der DS18S20, die die Temperatur bereits im Sensor digitalisieren und die sich über eine einfache Schnittstelle ausgelesen lassen. Somit entfällt eine analoge Schaltung zur Auswertung und eine lästige Kalibrierung. Eine gute Anleitung, wie man diese Sensoren betreibt, gibt es zum Beispiel hier. Außerdem gibt es natürlich das Datenblatt des Herstellers.

Das Gelöt

Vor ein paar Wochen habe ich einen Sensor mit ein paar anderen Bauteilen zusammengelötet und jetzt kann mein PC damit die Raumtemperatur messen.

Teileliste

  • Eine beliebige Anzahl Temperatursensoren DS18S20 (genau dieser!)
  • Pro Sensor eine 1N5817 Diode (optional, um Glitches zu reduzieren)
  • Zwei 1N5818 Schottky-Dioden
  • Eine 6,3 Volt Zener-Diode 1N5234
  • Eine 3,9 Volz Zener-Diode 1N5228
  • Ein 1,5 kΩ Widerstand

Mehrere Sensoren kann man parallel anschließen und dafür eignen sich 3,5mm Klinkenstecker ganz gut, für die es passende Kabel und Verteiler zu kaufen gibt. Ab einer größeren Zahl von Sensoren kann eine zusätzliche Stromversorgung nötig werden, da die parasitäre Versorgung über die Serialschnittstelle nur für wenige Sensoren ausreicht. Dafür steht dann der dritte Leiter der 3,5mm Stereokabel verfügbar.

Um Glitches zu reduzieren, kann man direkt am Sensor eine 1N5817 Diode zwischen GND und DATA löten, so dass sie von GND nach DATA offen ist und von DATA nach GND sperrt.






Software

Demnächst gibt es eine Anleitung, wie man die Messwerte mit Metricfire möglichst einfach zu schönen Graphen stricken kann.

Digitemp

Fürs erste hilft Digitemp weiter um zu überprüfen, dass die Sensoren funktionieren. Zunächst muss eine Konfigurationsdatei erstellt werden:

pimp@eekkater:~$ digitemp_DS9097 -i -s /dev/ttyS0
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
..
Searching the 1-Wire LAN
10AC010202080029 : DS1820/DS18S20/DS1920 Temperature Sensor
1032D4010208008F : DS1820/DS18S20/DS1920 Temperature Sensor
ROM #0 : 10AC010202080029
ROM #1 : 1032D4010208008F
Wrote .digitemprc

Dabei werden alle gefundenen Sensoren in die Konfigurationsdatei eingetragen. Anschließend kann man mit dem Befehl digitemp_DS9097 -a alle Sensoren gleichzeitig auslesen.

pimp@eekkater:~$ digitemp_DS9097 -a
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Apr 10 00:43:59 Sensor 0 C: 11.94 F: 53.49
Apr 10 00:44:00 Sensor 1 C: 21.88 F: 71.38