Projekt: Temperatur-Messsystem - Überblick über das System


Pfeil  Kapitel 1: Überblick über das System Menübild
Pfeil  Kapitel 2: Sensormodul 1
Pfeil  Kapitel 3: Sensormodul 2/3
Pfeil  Kapitel 4: Anzeigemodul 1
Pfeil  Kapitel 5: Anzeigemodul 2
Pfeil  Kapitel 6: Anzeigemodul 2a
Pfeil  Kapitel 7: Anzeigemodul 3
Pfeil  Kapitel 8: Web-Modul
Pfeil  Kapitel 9: Datenkommunikation
Pfeil  Kapitel 10: Software "TAnz"
Pfeil  Kapitel 11:  Software "AnzKom"

Messsystem-Bild Dieses Messsystem dient zur Erfassung der Daten von bis zu 24 Temperatursensoren im Bereich von -55°C bis +125°C, 3 Luftfeuchtigkeitssensoren und einem Luftdrucksensor. Zusätzlich stehen noch 4 Alarmeingänge zur Verfügung, an denen Schaltkontakte angeschlossen werden können. Das Projekt besteht aus mehreren Komponenten: dem Sensormodul 2, dem Sensormodul 3 mit zusätzlichem Luftdrucksensor, dem kleinen Anzeigemodul 1, dem großen Anzeigemodul 2a, dem LED-Anzeigemodul 3 sowie dem PC-Programm "AnzKom" und einem Web-Modul. Die Sensormodule erfassen die Temperaturen und Luftfeuchtigkeiten über 1-Wire-Sensoren und überwachen die Alarmeingänge. Die aufbereiteten Daten werden dann zyklisch über eine RS-232-Schnittstelle an die Anzeigemodule gesendet, welche die Daten übersichtlich darstellen und im Falle des Anzeigemoduls 2a auch aufzeichnen können. Mit dem Programm "AnzKom" können die gespeicherten Daten des Anzeigemoduls 2a übertragen, komfortabel angezeigt und ausgewertet werden. Das Web-Modul bietet außerdem die Möglichkeit, aktuelle sowie gespeicherte Daten per Web-Browser weltweit abzufragen.

Letzte Bearbeitung: 10.04.2014

Symbol Überblick über das System

Wenn man in einer größeren Wohnung oder in einem Haus wohnt, dann kann es recht nützlich sein, alle Raumtemperaturen im Überblick zu haben. Deshalb entwickelte ich dieses Messsystem, welches neben 24 Temperatursensoren auch 3 Luftfeuchtigkeitssensoren und einen Luftdrucksensor verwalten kann. Das System besteht aus mehreren Komponenten und das hat folgenden Grund: Die Hausverkabelung endet meist in einem Anschlussraum, die Sensordaten möchte man aber lieber im Wohnzimmer ablesen. Deshalb wird ein Sensormodul in der Nähe der Hausverteilung installiert und die Anzeigemodule dort, wo man die Daten ablesen und auswerten möchte. Die Datenübertragung vom Sensormodul zu den Anzeigemodulen erfolgt über eine zweidrähtige RS-232-Verbindung mit 9600 Baud.

Das Sensormodul kommuniziert direkt mit den Temperatur- und Luftfeuchtigkeitssensoren über ein 1-Wire-Netzwerk. Hier stehen 8 Bus-Leitungen zur Verfügung, an denen insgesamt 24 Temperatur- und 3 Luftfeuchtigkeitssensoren von Dallas/Maxim (DS1820, DS18S20, DS18B20, DS1822, DS1920 sowie DS2438 für die Luftfeuchtigkeit) betrieben werden können. Die aufbereiteten Daten werden dann über eine RS-232-Schnittstelle zu weiteren Modulen gesendet. Zum direkten Anzeigen der Daten stehen 3 unterschiedliche Anzeigemodule zur Verfügung. Das einfache Anzeigemodul 1 kann 8 Sensorwerte auf einem LCD anzeigen. Das große Anzeigemodul 2a zeigt alle Sensorwerte auf einem grafischen LCD an, bietet mehr Funktionen und stellt optionale Schnittstellen für RS-232, USB und Bluetooth zur direkten Kommunikation mit einem PC zur Verfügung. Das Anzeigemodul 3 ist wieder etwas einfacher aufgebaut und ermöglicht die Anzeige von bis zu 4 Sensorwerten auf großen LED-Elementen. Das Web-Modul stellt die Verbindung zum Internet her und präsentiert alle Sensor- und Alarm-Daten als Web-Seite, die weltweit per Web-Browser angezeigt werden kann. Die Stromversorgung der meisten Module erfolgt mit einem einfachen Steckernetzgerät mit einer Spannung von 10-20V (12V empfohlen) am jeweiligen Standort. Mit einer zusätzlichen Leitung ist auch eine zentrale Versorgung möglich.

Zum Temperatur-Messsystem gehören auch 2 Softwarekomponenten. Mittels "TAnz" können die vom Sensormodul gesendeten Daten auf einem PC übersichtlich angezeigt und aufgezeichnet werden, es stellt somit ein Anzeigemodul in Softwareform dar. Dieses wird allerdings nicht weiterentwickelt und stammt noch aus der Zeit, als das Temperatur-Messsystem nur mit 16 Temperatursensoren arbeitete. Die zweite Komponente "AnzKom" ermöglicht die komfortable Kommunikation mit dem großen Anzeigemodul 2a und ist in der Lage, alle erfassten Daten auf einem PC zu speichern und grafisch darzustellen.

Sensormodul 1 Sensormodul 2/3 Anzeigemodul 1 Anzeigemodul 3 Anzeigemodul 2 Anzeigemodul 2a Web-Modul Kommunikation AnzKom TAnz Übersicht Das nebenstehende Bild zeigt den prinzipiellen Aufbau des Messsystems. Da die komplette Beschreibung dieses Projektes sehr umfangreich ist, habe ich sie in mehrere Kapitel aufgeteilt, wobei in jedem eine Komponente des Gesamtsystems beschrieben wird. Durch Klick auf eines der Elemente gelangt man zur entsprechenden Kurzbeschreibung und dort wiederum kann durch Klick auf das Bild oder die Überschrift zum gewünschten Kapitel gesprungen werden. Auf jeder Kapitel-Seite befindet sich zusätzlich noch ein Menü für eine schnelle Navigation durch die einzelnen Modulbeschreibungen.

Symbol Sensormodul 1

Sensormodul 1

Dieses Modul besteht im Kern aus einem ATmega8, welcher insgesamt 8 1-Wire-Busse zur Verfügung stellt, die mit maximal 16 Temperatursensoren beschaltet werden können. Die ermittelten Messdaten werden auf eine Auflösung von 0,1°C gebracht, ins ASCII-Format gewandelt und mithilfe eines MAX232 per RS-232 zu Anzeigemodulen oder PCs gesendet. Außerdem stehen noch 4 Alarmeingänge zur Verfügung, die z.B. mit Tür-Kontakten beschaltet werden können. Der Alarmzustand der 4 Eingänge wird ebenfalls per RS-232 ausgegeben und kann von den Anzeigemodulen oder vom PC ausgewertet werden. Dieses Sensormodul kann optional mit einem kleinen I²C Spezial-LCD ausgestattet werden, so dass man die Aktivitäten des Moduls beobachten kann. Es ist aber auch ein Betrieb ohne LCD möglich.

Hinweis: Dieses Modul wird nicht weiterentwickelt. Ich empfehle den Aufbau des Sensormoduls 3 bzw. den Umbau zum Sensormodul 3.

Symbol Sensormodul 2, Sensormodul 3

Sensormodul 2/3

Das Sensormodul 2 stellt eine verbesserte Version des Sensormoduls 1 dar. Es ist sowohl mit seinen Anschlüssen als auch mit den Sendedaten vollständig kompatibel zum Sensormodul 1. Auch dieses Modul arbeitet mit 8 1-Wire-Bussen und stellt 4 Alarmeingänge zur Verfügung. Das Sensormodul 2 bietet aber mehr Möglichkeiten: Hier können mit der aktuellen Software insgesamt 24 Temperatursensoren und 3 Luftfeuchtigkeitssensoren angeschlossen werden. Weiterhin bietet ein Standard-LCD mit 4x20 Zeichen einen guten Überblick über die ermittelten Sensordaten und Alarme. Mit einem Taster können verschiedene Anzeigen ausgewählt werden und es lassen sich einige Einstellungen vornehmen.

Das Sensormodul 3 erlaubt durch eine kleine Hardware-Modifikation gegenüber dem Sensormodul 2 den zusätzlichen Anschluss eines Luftdrucksensors direkt auf dem Modul. Alle weiteren Funktionen sind hier identisch zum Sensormodul 2.

Symbol Anzeigemodul 1

Anzeigemodul 1

Dieses kleine Anzeigemodul ermöglicht die ständige Anzeige von bis zu 8 Sensorwerten auf einem Standard-LCD mit 4 x 20 Zeichen. Die gesamte Steuerung übernimmt hier ein ATtiny4313. Es können alle vom Sensormodul 2 oder 3 gesendeten Sensorwerte angezeigt werden, bei der Konfiguration kann man die gewünschten Sensoren festlegen. Neben der Anzeige von 8 Sensoren mit kurzen Namen (4 Zeichen) besteht auch die Möglichkeit, 4 Sensoren mit einem langen Namen (14 Zeichen) darzustellen. Bei Temperatursensoren kann zusätzlich ein oberer und ein unterer Grenzwert festgelegt werden. Bei dessen Über- oder Unterschreitung ertönt ein kurzes Tonsignal und ein Symbol hinter dem betroffenen Temperaturwert beginnt zu blinken. Wird ein Alarm an den 4 Eingängen des Sensormoduls erkannt, dann erfolgt die Signalisierung über eine rote LED und einen Signalton. Zusätzlich werden die aktiven Alarme im Wechsel mit den Sensorwerten auf der untersten Zeile im Klartext angezeigt. Mit einem Taster kann die Alarmanzeige vorübergehend abgeschaltet werden. Falls die Datenverbindung zwischen Sensor- und Anzeigemodul ausfüllt, dann wird dies entsprechend signalisiert. Auch der Ausfall eines einzelnen Sensors wird angezeigt.

Alle Eigenschaften in Stichpunkten:

Symbol Anzeigemodul 2

Anzeigemodul 2

Dieses Modul stellt den großen Bruder des oben beschriebenen Anzeigemoduls 1 dar. Es arbeitet mit einem ATmega128 und kann 16 Temperaturen und 4 Alarme gleichzeitig auf einem grafischen Display mit 240x128 Pixeln anzeigen. Auch bei diesem Modul können Grenzwerte eingestellt werden, die bei Über- oder Unterschreitung zu einer Alarmmeldung führen. Zusätzlich werden die aufgetretenen Temperaturmeldungen durch Markierungen angezeigt und in einem Meldungs-Log mit Datum und Uhrzeit festgehalten. Gleiches gilt für die Meldungen der 4 Alarmeingänge des Sensormoduls. Über eine Menüsteuerung können Minimalwerte, Maximalwerte und alle aufgetretenen Meldungen angezeigt werden; weiterhin lassen sich alle gespeicherten Temperaturdaten über eine konfigurierbare Grafik-Anzeige darstellen. Die gesamte Konfiguration des Anzeigemoduls erfolgt über eine Menüführung direkt am Gerät.

Hinweis: Dieses Modul wird nicht weiterentwickelt. Ich empfehle einen Umbau zum Anzeigemodul 2a, was mit relativ wenig Aufwand möglich ist.

Alle Eigenschaften in Stichpunkten:

Symbol Anzeigemodul 2a

Anzeigemodul 2a

Dieses Modul ist eine Weiterentwicklung des Anzeigemoduls 2. Die Schaltung ist grundsätzlich gleich geblieben, allerdings wurde der EEPROM-Speicher erweitert, um alle Sensordaten in einem angemessenen Zeitraum speichern zu können. Weiterhin wurden Schaltungsdetails ein wenig optimiert und ein anderes Bluetooth-Modul verwendet. Ein bereits vorhandenes Anzeigemodul 2 kann durch Aufrüstung des Speichers relativ einfach zum Anzeigemodul 2a umgebaut werden.

Das Anzeigemodul 2a arbeitet mit einem ATmega128 und kann alle Daten der Sensormodule (27 Temperaturen, 3 Luftfeuchtigkeitswerte, den Luftdruck sowie 4 Alarme) auf einem grafischen Display mit 240x128 Pixeln anzeigen. Die insgesamt 31 Sensorwerte und eine Minigrafik mit dem Luftdruckverlauf können beliebig auf 2 Display-Seiten angeordnet werden, wobei maximal 16 Sensorwerte auf einer Display-Seite darstellbar sind. Auch bei diesem Modul können Grenzwerte für Temperatursensoren eingestellt werden, die bei Über- oder Unterschreitung zu einer Alarmmeldung führen. Diese werden auf dem Display angezeigt und außerdem in einem Meldungs-Log mit Datum und Uhrzeit festgehalten. Auch Meldungen von den 4 Alarmeingängen des Sensormoduls und andere Störungen werden in diesem Log erfasst. Über eine Menüsteuerung können Minimalwerte, Maximalwerte und alle aufgetretenen Meldungen angezeigt werden. Weiterhin lassen sich alle gespeicherten Sensordaten über eine konfigurierbare Grafik-Anzeige in Diagrammform darstellen. Die gesamte Konfiguration des Anzeigemoduls erfolgt über eine Menüführung direkt am Gerät.

Alle Eigenschaften in Stichpunkten:

Symbol Anzeigemodul 3

Anzeigemodul 3 Dieses Anzeigemodul ist für eine ständige und gut sichtbare Anzeige von bis zu 4 Sensorwerten gedacht und technisch gesehen relativ einfach aufgebaut. Im Gegensatz zu den Anzeigemodulen 1, 2 oder 2a ist dieses mit einer LED-Anzeige ausgestattet. Zwei Schaltungsvarianten ermöglichen die Verwendung von praktisch allen LED-Größen. Die beiden Anzeige-Zeilen können wahlweise einen einzelnen Sensorwert oder zwei Sensorwerte im Wechsel anzeigen, z.B. die Temperatur und die Luftfeuchtigkeit eines Raumes. Wahlweise lässt sich das Modul auf eine Anzeige-Zeile vereinfachen. Weiterhin kann die Anzeige von Alarmen aktiviert werden und anstehende Alarme werden dann im Wechsel mit dem ersten Sensorwert angezeigt. Eine akustische Signalisierung ist jedoch nicht vorgesehen. Die Helligkeit der Anzeige wird mithilfe eines Lichtsensors an die Umgebung angepasst. Außer einem Taster zur Konfiguration sind keine weiteren Bedienelemente vorhanden.

Alle Eigenschaften in Stichpunkten:

Symbol Web-Modul

Web-Modul Das Web-Modul ermöglicht die Anzeige der aktuellen Sensordaten und Alarme des Temperatur-Messsystem über einen Web-Browser. Außerdem werden die Sensordaten 10 Jahre lang in einer speziellen Datenbank aufbewahrt und lassen sich ebenfalls mittels Web-Browser grafisch darstellen. Alle im heimischen LAN oder WLAN angeschlossenen Geräte können auf das Web-Modul zugreifen und bei entsprechender Konfiguration des Routers ist sogar ein weltweiter Zugriff möglich. Dieses Projekt unterscheidet sich von den meisten anderen Projekten dieser Seite dadurch, dass hier weitgehend fertige Hardware zum Einsatz kommt und zwar in Form eines Raspberry Pi. Dieser hat praktisch alle benötigten Hardwarekomponenten an Bord und benötigt nur einen einfachen Pegelwandler zum Einlesen der Sensor- und Alarm-Daten vom Sensormodul. Die gesamte Erfassung der Daten sowie die Auswertung, Speicherung und Darstellung als Web-Seite erledigen Skripte und fertige Software. Als Betriebssystem kommt Linux (Raspbian Wheezy) zum Einsatz, Perl-Skripte lesen die Sensor- und Alarm-Daten, schreiben diese in Dateien und außerdem zyklisch in eine Datenbank. Der Web-Server lighttpd und einige HTML/PHP-Dateien bereiten die Daten schließlich so auf, dass sie von einem Web-Browser dargestellt werden können. Für die Datenbank und die grafische Anzeige wird RRDTool verwendet.

Die aktuellen Sensorwerte werden nicht nur angezeigt, sondern auch bewertet. So kann für jeden Sensor ein unterer und ein oberer Grenzwert definiert werden und bei Unter- bzw. Überschreitung wird der Sensorwert rot angezeigt. Auch ein Sensorausfall wird registriert und entsprechend angezeigt. Die Anzeige der Alarme kann ebenfalls konfiguriert werden und je nach Zustand erscheint der Alarmstatus farbig. Weiterhin kann ein Alarm-Log mit bis zu 100 Ereignissen angezeigt werden. Eine weitere Seite zeigt die Auslastung des Web-Servers an.

Symbol Datenkommunikation

Datenkommunikation In diesem Kapitel wird beschrieben, wie die Kommunikation zwischen Sensormodul und Anzeigemodul(en) erfolgt und wie ein PC in das System eingebunden werden kann. Es wird sowohl auf die RS-232-Schnittstellenparameter als auch auf die übertragenen Datenpakete eingegangen. Mit diesen Informationen ist es möglich, eigene Komponenten ins System zu integrieren.

Symbol Software "TAnz"

Software TAnz

Dieses Kapitel stellt die von Michael Bodag entwickelte Software "TAnz" (Temperatur-Anzeige) vor, welche die übersichtliche Anzeige der eingehenden Temperatur- und Alarmmeldungen ermöglicht. Für diesen Zweck wird das Sensormodul mit einem PC verbunden - entweder direkt über RS-232 oder über USB mit einem entsprechenden Wandler. Neben der aktuellen Anzeige der eingehenden Daten ist auch eine Aufzeichnung der Daten in Form von Log-Files möglich, wobei die Log-Intervalle frei gewählt werden können.

Hinweis: "TAnz" kann nicht mit allen Daten des Sensormoduls 2 oder 3 umgehen, es ist nur die Anzeige und Aufzeichnung der 16 Temperatursensoren 1-8 und a-h möglich.

Alle Eigenschaften in Stichpunkten:

Symbol Software "AnzKom"

Software AnzKom In diesem Kapitel wird die Software "AnzKom" (Anzeigemodul-Kommunikation) vorgestellt, welche zur komfortablen Daten-Kommunikation mit dem Anzeigemodul 2a bestimmt ist. Mithilfe von "AnzKom" lassen sich die gesammelten Daten des Anzeigemoduls 2a auslesen und in einer Datenbasis speichern. Die Sensordaten können dann grafisch oder in Listenform dargestellt werden, wobei bis zu 4 Graphen oder 5 Listen gleichzeitig betrachtet werden können. Meldungsdaten werden in Listenform angezeigt und können gefiltert werden. Weiterhin ist es möglich, Bildschirmfotos vom Display des Anzeigemoduls 2a zu erstellen.

Alle Eigenschaften in Stichpunkten:


Startseite - Seitenanfang/Kapitelmenü


Allgemeines - Projekt-Überblick - Links, Software - Neuigkeiten - "Klassiker" - Galerie - Impressum


AVR-Programmierung - Multifunktionsuhr - Tischuhr - Wohnraumuhr - Wecker - Zahnputzuhr - BigBen-Türgong - Fahrtregler - EPROM-Programmiergerät - Temperaturmesssystem - USB-RS232 Interface - Weihnachtsstern - Kleine Projekte