THERM-O(LI)-METER
(Temperaturmessung mit Datenerfassung & Alarmfunktion)
(Eine Unterseite von http://www.oliver-schlenker.dyndns.org)

Beschreibung:

Mit dieser Seite soll gezeigt werden, wie man eine Elektronik für die Messdatenerfassung von Temperaturen mit einer Alarm- und Logbuchfunktion bauen bzw. zur Datenerfassung in eine Datei an einem Computer anschließen kann. Mich hat hier grundsätzlich mal interessiert, wie man eine einfache Datenerfassung über einen Computer realisieren kann. Ich habe mich dann mal etwas im Internet umgesehen und bin immer wieder auf Temperatursensoren vom Typ DS1820 bzw. Typ DS18S20 von der Fa. Dallas Semiconductors bzw. Fa. Maxim gestoßen. Damit wird dann ein sog. "1-Wire-Bus" aufgebaut. Anhand eines kleinen Schaltplans aus dem Internet habe ich mir dann dementsprechend eine Elektronik und passende Sensoren konfektioniert.

(Um die Grafiken klarer und detaillierter zu sehen, solltet Ihr einen Klick mit der linken Maustaste
auf der entsprechenden Grafik ausführen!)

Schaltplan aus dem Internet für den Anschluss von DS1820-Sensoren an die RS-232:

Mit o. g. Schaltung  kann man Temperatursensoren vom Typ DS1820 recht einfach an die serielle Schnittstelle eines Computers anschließen. Die Pin-Nummern sind auf der 9poligen seriellen Buchse aufgedruckt. Da der Sensor eine Adresse und die dazugehörigen Daten direkt schickt, handelt es sich bei dieser kleinen Elektronik, meines Erachtens, nur um einen Pegelanpasser auf die serielle Schnittstelle. Wie dem auch sei, ich habe die Bauteile besorgt, auf einer Lochrasterplatine aufgebaut und in ein kleines Gehäuse, mit Heißkleber, eingeklebt. Ich habe gleich noch für die Sensoren Steckverbinder, eine Betriebs-LED und eine externe Stromversorgung zur Fremdspeisung der Sensoren eingebaut. Je nachdem wie viele man von diesen Sensoren anschließen möchte, schafft es die 5V Pegelspannung der RS232-Schnittstelle nicht mehr alle Sensoren korrekt mit Spannung zu versorgen. Des weiteren ist ohne eine externe Spannungsversorgung nur eine maximale Höchsttemperatur von ca. +70°C messbar, da bei höheren Temperaturen die Stromaufnahme des Sensors ansteigt und diese Ströme nicht mehr von der Computerschnittstelle geliefert werden können. Hier leistet mir ein altes Nokia-Handynetzteil (Serie 6000) gute Dienste, da es eine Spannung von 5,7V= liefert. Dadurch bleiben trotz der Betriebs-LED noch gute 5V= als Speisespannung für die Sensoren übrig. Es dürften laut der "1-Wire-Bus-Spezifikation" bis zu 100 Sensoren gleichzeitig, an dieser Elektronik, anschließbar sein. (Siehe http://de.wikipedia.org/wiki/1-Wire). Dieses habe ich jedoch nicht testen können. Wenn ein Sensor zu wenig Spannung bekommt erhält man als Messergebnis einen Temperaturwert von "85°C". Dies wird vom Hersteller als entsprechender "Fehlercode" angegeben. Der zulässige Messbereich für die DS1820-Sensoren liegt, laut  Herstellerangabe, bei -55°C bis +125°C. Leider weiß ich nicht, ob alle diese Temperaturen korrekt von der Schaltung an den PC übertragen werden, da ich meist nur Messungen von ca. +2° bis ca. +50°C durchgeführt habe. Grundsätzlich dürfte aber der komplette Messbereich der Sensoren korrekt an die Elektronik übermittelt werden, da die Sensoren ja nicht im "Parasite-Mode" (über die Computerschnittstelle gespeist) betrieben werden, sondern über ein externes Netzteil eine stabile Spannungsversorgung sichergestellt wird.

Mein modifizierter Schaltplan für eine externe Spannungsversorgung mit Betriebs-LED:

Und hier noch die Pinbelegung des DS1820/DS18S20-Sensors im TO-92-Gehäuse
(Bei Draufblick von oben auf die flache Seite oder von unten auf die Beinchen):

 

Die Hardware-Bastelei:

 

Prototyp-Nr. 1:
 Platine im Gehäuse mit Steckverbindern und Betriebs-LED

Prototyp Nr. 1:
So sieht dann das Kästchen zusammengebaut mit Schnittstellenkabel an RS-232 aus

Dallas Semiconductors bzw. Maxim 1-Wire-Sensor vom Typ DS1820 bzw. DS18S20
mit fertig konfektioniertem Anschlussstecker und Leitung:

Anschließend habe ich mir ein paar Sensoren konfektioniert. Ich habe die Sensoren (sieht aus wie ein Transistor mit 3 Beinchen) mit der Leitung verlötet und anschließend mit Schrumpfschlauch geschützt. Den Rest des Sensors sieht man noch oben rechts aus dem Schrumpfschlauch herausschauen. Von diesen Sensoren habe ich momentan 6 Stück konfektioniert. Die Länge der Leitung variiert von 10cm bis 20m. Da konnte man die Sensoren natürlich nicht mehr im parasitären Modus (ohne Fremdspannung) ansteuern. Deshalb habe ich von vorne herein an den Messeinheiten eine Fremdspannungseinspeisung von 5,5-6V= vorgesehen.

Prototyp Nr. 2:
habe ich dann in eine Jelly-Belly-Beans-Dose gesteckt

Prototyp Nr. 2:
zugeklappt und betriebsbereit

Prototyp Nr. 3:
passive Schaltung für ein 9pol-Sub-D-Gehäuse
(das war vielleicht eine Frickelei bis das alles so eng aufgebaut war!)

Prototyp Nr. 3:
eingepasst in das 9pol-Sub-D-Gehäuse; mit einem angeschlossenen Sensor
(man kann die gleichen Sensoren nehmen, wie für meine aktiven Gehäuse. Die +5V (=VDD)
vom DS1820 habe ich im Gehäuse, laut 1-Wire-Bus-Spezifikation, auf Masse (=GND) gelegt!)

Prototyp Nr. 3:
als komplette und fertige Einheit
(ist recht klein und praktisch, wenn man mal schnell Temperaturmessungen durchführen will;
Sensor(en) anstecken, Teil an die serielle Schnittstelle anschließen, Programm starten!)


Wenn Ihr eine Messelektronik, Bauteile oder Sensoren benötigt, könnt Ihr eine

eMail senden an: Oliver.Schlenker@T-Online.de

Ich habe noch einige Sätze der Bauteile, Gehäuse und Sensoren übrig, da es sich nicht lohnt von Elektronik-Bauteilen nur Einzelstücke im Internet zu bestellen. Manchmal sind die Transportkosten wesentlich höher als der eigentliche Warenwert des Bauteils.
 
Beschreibung Preis
   
   
Bauteilesatz (kleine Lochrasterplatine + Bauteile; ohne Stecker) 10,00 EURO
Sensor Dallas Semiconductor bzw. Maxim Typ DS1820/DS18S20   5,00 EURO
   
   
aktiver Adapter in schwarzem Kunststoffgehäuse + Netzteil kpl. 45,00 EURO
passiver Adapter in silbernem Sub-D-Gehäuse kpl. 25,00 EURO
konfektionierter Sensor mit Anschlußleitung 2,0m + Stecker kpl. 15,00 EURO
Kabelmehrlänge pro Meter für fertig konfektionierten Sensor   2,00 EURO
   
Verpackung + Versand Bauteile (Brief; Deutschland)   2,50 EURO
Verpackung + Versand Adapter (Päckchen; Deutschland)   4,50 EURO
Verpackung + Versand (Weltweit)  nach Absprache
   
(Stand der o. g. Preisliste: 28.12.2012)
   

 

Die Software-Bastelei:

 

Nachdem der Prototyp Nr. 1 fertig und betriebsbereit war, habe ich mir eine kleine Software zum Anzeigen der Temperaturen bzw. zum Aufzeichnen der Daten erstellt. An dieser Stelle beziehe ich mich auf ein Programm namens "DigiTemp" von Brian C. Lane (siehe http://www.digitemp.com/) auf dessen Basis ich eine Programm-Oberfläche für Windows-XP geschaffen habe. Diese Software funktioniert mit allen meinen selbst konfektionierten Adaptern. In diesem Programm kann man dann separate Namen für die einzelnen Sensoren vergeben, Alarmschwellen für die obere und die untere Temperatur, pro Sensor, festlegen und anschließend den Log-Vorgang starten. Nach Eingabe einer Log-Zeit wird beim Daten-Logging Zeile für Zeile der erfassten Messdaten im Logbuchfenster angezeigt und bei Über-/Unterschreitung eines Schwellenwertes ein Alarm ausgelöst. Man hört dann auch ein akustisches Signal. Des weiteren wird in der entsprechenden Log-Zeile die Über- oder Unterschreitung der Temperatur des jeweiligen Sensors angezeigt. Das Programm erzeugt, parallel zur Logbuch-Anzeige eine Excel-Datei mit den Messdaten, die dann bei Bedarf weiterbearbeitet werden kann. Inzwischen ist es ist auch mögliche eine Sensoren-Konfiguration abzuspeichern bzw. zu laden. Auch kann eine Email-Funktion aktiviert werden, die dann bei Alarmauslösung eine EMail an eine vordefinierte Email-Adresse schickt und die Werte bzw. Abweichung(en) auflistet. Über einen entsprechenden Internet-Dienst kann man sich bei Bedarf sicherlich auch Meldungen direkt auf das Handy schicken lassen, wenn in der Software ein Alarm ausgelöst wird. Das habe ich allerdings nicht ausprobiert.

Hier ein Bild meiner Software, genannt "Therm-O(li)-Meter" Version 1.0:
(Ursprungsversion mit einfachen Grundfunktionen zur Temperaturmessung!)

Nach der Datenerfassung wird man gefragt, ob man die auf der Festplatte abgelegte Log-Datei direkt öffnen möchte. Bei Bestätigung der Frage wird z. B.: sofort Microsoft-Excel geöffnet und die importierte Datei angezeigt. Wie man sehen kann, wurde bei Sensor Nr. 1 und Sensor Nr. 2, beim Überschreiten des Schwellenwertes, ein Alarm in der Erfassungszeile protokolliert, der dann entsprechend angezeigt wird.
(- = Temperatur-Unterschreitung, + = Temperatur-Überschreitung). Wenn sich der Messwert im, für den entsprechenden Sensor, angegebenen Bereich befindet, werden die Daten ganz normal, ohne Alarmzusatz, aufgezeichnet. Sensor Nr. 3 'Außen' löste hier beispielsweise keinen Alarm aus, da er sich nie außerhalb der Grenzwerte bewegte.

Hier ein Bild des obigen Log-Vorganges als Excel-Datei:

Anschließend lässt sich in Excel über den entsprechenden Datenbereich eine Grafik erzeugen, die beispielsweise so aussehen kann:

Grafikaufbereitung der obigen Excel-Daten:

Hier ein Bild meiner Software "Therm-O(li)-Meter" in der Version 1.1:
(Hier kam eine "Sensoren-Sofort-Abfrage" hinzu!)

Hier das grafische Ergebnis einer Testmessung von 4 Sensoren mit dem Therm-O(li)-Meter 1.1:

Hier ein Bild meiner Software "Therm-O(li)-Meter" in der Version 1.3:
(Hier kam eine kleine zuschaltbare Uhr, sowie ein Link auf diese Homepage hinzu!
Diese Version kann hier als Demo (es wird keine Elektronik  benötigt!) geladen werden)

Hier ein Bild meiner Software "Therm-O(li)-Meter" in der Version 1.4:
(Hier kam ein Fenster zur permanenten Anzeige der kleinsten, der zuletzt gemessenen und der größten Temperatur pro Sensor, sowie ein allgemeines Info-Fenster über das Programm hinzu!)

Hier ein Bild meiner Software "Therm-O(li)-Meter" in der Version 1.5:
(Hier kam die Möglichkeit des Ladens und Speicherns einer Konfigurationsdatei für die Sensoren, sowie das erneute Setzen der Standardwerte der Sensoren (wie nach dem Programmstart) hinzu!)

Falls Ihr mal meine Software ausprobieren wollt, könnt Ihr Euch unter folgendem Link eine Demo-.EXE-Datei der Programm-Version 1.3 runterladen. Ab der Version 1.4 kann ich leider keine Demoversionen mehr zum Download anbieten, da sonst die maximal kompilierbare
Quellcode-Größe der Demoversion von PureBasic überschritten wird.
Für einen ersten Eindruck der grundlegenden Programm-Funktionen von meiner
Therm-O(li)-Meter-Software sollte aber diese ältere Version genügen.
Bei Bedarf stelle ich Euch natürlich gerne eine Vollversion der letzten
bzw. aktuellen Therm-O(li)-Meter-Version, per Email, zur Verfügung.

(Systemvoraussetzung für das Therm-O(li)-Meter-Programm:
Windows XP mit einer empfohlenen Auflösung von 1280x1024 Pixeln)

Download der Demoversion 1.3 von THERM-O(LI)-METER.EXE

Installation/Konfiguration:

Nach dem Entpacken der herunter geladenen Datei "thermolimeter.exe" in ein entsprechendes
Zielverzeichnis findet Ihr folgende Dateien in diesem Verzeichnis vor:

DEMO-THERMOLIMETER.EXE

Demo-Startdatei des Therm-O(li)-Meters

TOliEMail.ini.off

Konfigurations-Datei Email-Versand (.off = inaktiv)

TOliUhr.exe

Kleine Uhr (wird über die Startdatei bedient)

ThermOliMeter.txt

Info-Datei (wird über die Startdatei bedient)

In dieser Demo-Version werden, ohne angeschlossene Elektronik, 3 virtuelle Sensoren an COM1 "erkannt"!
(Diese Demo-Version erkennt keine angeschlossenen Sensoren und dient nur zum
Ausprobieren der einzelnen Funktionen der Software!)


Die Sensoren "messen" immer folgende Wertereihen:

Sensor 1: Startwert  5°C; +0,5°C/Messung; bei  80°C wird Startwert gesetzt.
Sensor 2: Startwert 30°C; +0,3°C/Messung; bei  80°C wird Startwert gesetzt.
Sensor 3: Startwert -2°C; -0,1°C/Messung; bei -35°C wird Startwert gesetzt.

Ihr könnt damit alle Funktionen des Programms ausprobieren!

Standardmäßig wird die erzeugte Logbuchdatei mit der Dateiendung .OLI abgespeichert.
Am Ende des Logvorganges werdet Ihr dann gefragt, ob Ihr die Datei mit der verknüpften Anwendung
für OLI-Dateien öffnen wollt. Hier könnt Ihr beim ersten Mal als Anwendung MS-Excel auswählen.
Damit werden die Therm-O(li)-Meter-Dateien zukünftig standardmäßig mit MS-Excel geöffnet.
Ihr könnt aber auch als Dateiendung .TXT, .LOG oder was anderes angeben um die Logbuchdatei
mit einem einfachen Editor oder einer anderen (bereits verknüpften) Dateiendung/Anwendung zu öffnen!)

Zum automatischen Versand von Emails bei Alarm-Meldungen bzw. Über-/Unterschreitung von vorgegebenen
Temperaturen muss die Datei "TOliEmail.ini.off" in "TOliEmail.ini" umbenannt und wie folgt konfiguriert werden:

Bedeutung:

Beispieleintrag:

   

Email-Absender

JohnDoe@Doe.com

Email-Empfänger

JohnDoe@Doe.com

Absendername

John Doe

Email-Betreffzeile

Therm-O(li)-Meter Alarmmeldung

SMTP-Server-Name

smtpmail.t-online.de

SMTP-Passwort

xyz123

Logdatei mitsenden [oder nicht]

+Anhang [-Anhang]

Falls Ihr den automatischen Email-Versand bei Alarm-Meldungen deaktivieren wollt,
solltet Ihr die Datei "TOliEmail.ini" einfach in z. B.: "TOliEmail.ini.off" umbenennen oder komplett löschen.

ACHTUNG: Da die Mailprovider auf SSL-Verschlüsselung umgestellt haben und Purebasic dies (noch)
nicht nativ unterstützt, funktioniert das zyklische oder alarmgestützte Versenden des Logbuchs per
Email nicht mehr. Sobald Purebasic die SSL-Verschlüsselung in Ihre Standard-Bibliothek aufnimmt,
werde ich das in das Programm wieder einbauen! Die restlichen Funktionen bleiben davon unberührt!
Oliver Schlenker 02.05.2014

Info: Die Snapshots können von der aktuellen (Demo)-Version abweichen, da das
Therm-O(li)-Meter-Programm von mir permanent weiterentwickelt/optimiert wird.

Falls Ihr Interesse an einer Vollversion meiner Software oder an meiner Messelektronik habt,
setzt Euch bitte, per EMail, mit mir in Verbindung!

Ich hoffe dass reicht Euch als kleine Einführung in die "Therm-O(li)-Meter"-Software
bzw. zur Messdaten-Erfassung mit dem PC!

Ansonsten würde ich mich freuen, wenn dieses kleine Projekt Euer Interesse findet und Ihr mit mir diesbezüglich Kontakt aufnehmt. Jede EMail wird selbstverständlich schnellstens beantwortet!

Ich denke diese Elektronik bzw. Software dürfte sehr interessant sein, um Temperaturverläufe
aufzuzeichnen. Vor allem aber auch zur alarmgesteuerten Temperaturüberwachung
von Aquarien, Terrarien, Server-Räumen, zur Aufzeichnung von Wetterdaten,
Protokollierung von Erwärmungen an Maschinenteilen, usw. dürfte die Sache sehr geeignet sein.
Zumal sich dies Alles recht einfach und recht kostengünstig umsetzen lässt!

Bei Interesse, Fragen, Wünsche, Anregungen, Lob oder Kritik könnt Ihr mir gerne eine

eMail senden an: Oliver.Schlenker@T-Online.de