Projekt: Temperatur-Messsystem - Anzeigemodul 2a


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

Letzte Bearbeitung: 23.07.2012

SymbolDownloads

Schaltplan Anzeigemodul 2a, Hauptmodulam2a-sch1.pdf
Schaltplan Anzeigemodul 2a, Optionenam2a-sch2.pdf
Stückliste mit Empfehlungen zur Bauteilbestellungam2a-stkl.htm
Software v3.001 für ATmega128 vom 23.07.2012 (Assembler)am2a-v3001.zip
Bootloader für ATmega128 UART0Bootloader ATmega128 UART0 v2.9k
Homepage von Chip45 (aktuelle Bootloader-Versionen) http://www.chip45.com/avr_bootloader_atmega_xmega_chip45boot2.php
USB-Treiber (VCP) für FT232Rwww.ftdichip.com/Drivers/VCP.htm

SymbolInhaltsverzeichnis

BeschreibungAllgemeine Informationen über das Anzeigemodul 2a
SchaltungBeschreibung der Schaltung des Anzeigemoduls 2a
HardwareBilder und Hinweise zum Aufbau des Anzeigemoduls 2a
SoftwareBeschreibung der Software des Anzeigemoduls 2a
InbetriebnahmeInbetriebnahme des Anzeigemoduls 2a und Installation der Software
UpdateUpdate der Software bei einem bereits laufenden Anzeigemodul 2a
BedienungBedienungsanleitung und komplette Beschreibung aller Funktionen
FehlermeldungenMögliche Fehlermeldungen und Hinweise zur Beseitigung der Fehler
DatenkommunikationHinweise zur Herstellung einer PC-Datenverbindung und Beschreibung der Kommandos
Upgrade zum Anzeigemodul 2aBeschreibung des Umbaus eines vorhandenen Anzeigemoduls 2 zum Anzeigemodul 2a

SymbolBeschreibung

Eine wichtige Info vorweg: Das bis zum Juni 2012 aktuelle Anzeigemodul 2 ist leider nicht in der Lage, alle Sensordaten in einem angemessenen Zeitraum zu speichern und musste deshalb durch das Anzeigemodul 2a ersetzt werden. Die Module unterscheiden sich durch einen unterschiedlichen Speicherausbau und einige kleinere Schaltungsoptimierungen. Ein bereits laufendes Anzeigemoduls 2 lässt sich durch den Einbau von 2 zusätzlichen EEPROM-Chips relativ einfach zum Anzeigemodul 2a erweitern. Weitere Änderungen an der Schaltung sind dabei nicht erforderlich. Das Kapitel Upgrade zum Anzeigemodul 2a enthält eine Anleitung für den Umbau zum Anzeigemodul 2a.

Das Anzeigemodul 2a stellt das komplexeste Element des Temperatur-Messsystems dar. Es ist mit einem relativ großen grafischen Display mit 240x128 Pixeln ausgestattet und ermöglicht so die übersichtliche Anzeige der Sensordaten. Dabei können die bis zu 31 Sensorwerte, die vom Sensormodul 2 oder 3 empfangen werden, beliebig auf 2 Display-Seiten verteilt werden. Von allen Sensorwerten werden ständig die Minimal- und Maximalwerte ermittelt und können in gleicher Form angezeigt werden.

Alle empfangenen Sensordaten werden nicht nur angezeigt, sondern auch in bestimmten Zeitabständen aufgezeichnet. So werden die aktuellen Werte alle 15 Minuten und die über den Tag erfassten Minimal-, Maximal- und Mittelwerte in einem EEPROM mit insgesamt 256kB abgelegt. Bei den 15min-Werten reicht der Speicher für 40 Tage und bei den Tageswerten für 416 Tage, weiterhin finden noch 500 Alarm-Meldungen und ein Konfigurations-Backup Platz. Die gespeicherten Sensordaten können über eine konfigurierbare Grafikanzeige in Diagrammform dargestellt werden. Dabei ist es möglich, einzelne Temperatur-, Luftdruck- oder Luftfeuchtigkeitsverläufe darzustellen, alternativ können zwei Diagramme übereinander angezeigt werden. Für den schnellen Zugriff auf die Grafikanzeige gibt es 24 programmierbare Voreinstellungen (Presets), so dass man schnell auf die gewünschte Grafik zugreifen kann.

Die gespeicherten Sensordaten können zur weiteren Auswertung auf einen PC übertragen werden. Für diesen Zweck sind 3 optionale Schnittstellen vorgesehen: RS-232, USB und Bluetooth. RS-232 und USB bieten zusätzlich die Möglichkeit, ein Software-Update durchzuführen, ohne das Gerät öffnen zu müssen. Dazu muss einmal bei der Inbetriebnahme ein Bootloader installiert werden.

Neben der Anzeige und Aufzeichnung ist auch eine Überwachung der Sensorwerte möglich. Dazu kann man bei den Temperatursensoren einen unteren und einen oberen Grenzwert festlegen, bei dessen Unter- bzw. Überschreitung ein Alarm ausgelöst wird. Ein ausgelöster Alarm wird sowohl optisch über das Display und 2 LEDs als auch akustisch über einen Lautsprecher signalisiert. Auch der Status der 4 Alarm-Eingänge des Sensormoduls 2 oder 3 wird ausgewertet und signalisiert. Alle auftretenden Alarme werden zusätzlich mit Datum und Uhrzeit in einer Meldungsliste festgehalten.

Die gesamte Konfiguration erfolgt am Gerät über 2 Bedienelemente: einem Drehimpulsgeber mit Taster und einem einzelnen Taster. Zur genauen Zeiterfassung dient eine Echtzeituhr, die ständig über einen DCF77-Empfänger mit der amtlichen Zeit synchronisiert wird. Weiterhin ist noch ein Lichtsensor vorhanden, über den die Helligkeit des Displays gesteuert werden kann.

In der folgenden Tabelle sind nochmals alle Funktionen in Stichpunkten aufgelistet:

SymbolSchaltung - Hauptmodul

Schaltung-Hauptmodul

Für eine bessere Übersicht empfehle ich den Ausdruck des Schaltplans, am besten als PDF-Datei über den Download-Link ganz oben (passt auf eine A4 Seite).

Auch bei diesem Projekt wird als zentrales Bauteil ein Mikrocontroller verwendet. Ursprünglich war hier wegen des größeren RAM ein ATmega1281 geplant, letztlich habe ich mich aber doch für den bewährten ATmega128 entschieden - nicht zuletzt wegen der bereits laufenden Anzeigemodule 2, die sich somit einfach zum Anzeigemodul 2a umbauen lassen. Der Mikrocontroller IC1 wird hier mit einer Taktfrequenz von 11,0592 MHz betrieben. Diese scheinbar krumme Frequenz wurde gewählt, um genormte Baudraten für die PC-Schnittstelle erzeugen zu können. Über den 6-poligen Pfostenstecker K2 in Atmel-Standard-Beschaltung kann die Software in den Controller geschrieben werden. Der 10-polige JTAG-Anschluss K3 ist für Debugging-Zwecke vorgesehen und wird nur benötigt, wenn man eigene Software testen möchte.

Das nächste wichtige Bauteil ist IC2: ein grafisches Display mit einer Auflösung von 240x128 Pixeln. Dieses Display verwendet den Controller T6963C, der über eine parallele Schnittstelle angesteuert wird. Dazu werden 12 Leitungen benötigt, 8 davon dienen zur Übertragung der Daten und der Rest steuert den Datenfluss. Über R9 und T2 wird das Display aktiviert und mit Strom versorgt, R10 und C8 sorgen für ein definiertes Reset des Displaycontrollers. Normalerweise ist eine Abschaltung des Displays nicht notwendig. Ich habe aber bei meinem Prototyp festgestellt, dass das Display den DCF77-Empfang stört und so lässt sich das Display bei Bedarf per Software zu einem festgelegten Zeitpunkt in der Nacht abschalten, um wenigstens einmal täglich eine sichere DCF77-Synchronisation zu ermöglichen.

Das Display benötigt eine negative Hilfsspannung von bis zu -15V, die für einen optimalen Kontrast genau eingestellt werden muss. Diese Spannung erzeugt das von mir verwendete Display durch einen eingebauten Inverter selbst und mittels R11 kann der Kontrast eingestellt werden.

Schaltungsoption Bei Verwendung anderer Displays ist möglicherweise eine zusätzliche Schaltung nötig um diese Spannung zu erzeugen. In diesem Fall kann man die nebenstehende Schaltung verwenden. Sie erzeugt eine Spannung von ca. -11,5V bis -15,5V, welche mittels R203 für einen optimalen Kontrast genau eingestellt werden kann. Der Ausgang der Schaltung wird direkt mit dem entsprechenden Eingang des LCD verbunden, R11 und R12 werden dann nicht benötigt.
Es gibt allerdings auch Ausnahmen: Manche Displays benötigen sowohl die Spannung des Inverters von ca. -15V als auch die einstellbare Kontrastspannung. In diesem Fall sind R11 und R12 erforderlich, welche dann an den Ausgang dieses Inverters angeschlossen werden müssen. Klarheit schafft im Zweifelsfall nur das Datenblatt des Displays.

Ganz wichtig: Die +5V für diese Schaltung müssen unbedingt am Knotenpunkt T2/R10/C7 entnommen werden, damit beim Ausschalten des Displays auch die negative Spannung abgeschaltet wird (der Knotenpunkt ist im Schaltplan des Hauptmoduls eingezeichnet). Außerdem sollte diese Schaltung nicht so nah am DCF77-Empfänger platziert werden, damit der Empfang nicht gestört wird.

Weiterhin verfügt das hier verwendete Display über eine LED-Hintergrundbeleuchtung, welche über T1 gesteuert wird. R8 dient zur Begrenzung des Stroms und sollte nach den Informationen des Display-Datenblattes bemessen werden. Bei dem hier verwendeten Display kam ein 2,2Ω Widerstand zum Einsatz, damit ergab sich ein LED-Strom von etwa 270mA. Die Ansteuerung erfolgt mit einem PWM-Signal von IC1/PB7, so kann zum einen die Beleuchtung „weich“ ein- und ausgeschaltet werden und zum anderen wird in Verbindung mit der Fotodiode D5 eine Steuerung der Helligkeit möglich. Es gibt auch Displays, die diesen Widerstand und sogar den Ansteuer-Transistor schon integriert haben. In diesem Fall werden die LED-Anschlüsse direkt an +5V und Masse geschaltet und der Ausgang PB7 von IC1 direkt mit dem Steuereingang verbunden. Auch hier gilt: Datenblatt beachten.

Viele ältere Displays haben eine Hintergrundbeleuchtung mit EL-Folie oder einer CCFL-Röhre. Hier kann die Ansteuer-Elektronik der Beleuchtung ebenfalls an T1 angeschlossen werden, allerdings ist meist keine Helligkeitssteuerung mit PWM möglich, so dass in den Einstellungen (siehe Bedienung) die Beleuchtungsautomatik abgeschaltet werden sollte.

Noch ein Hinweis zum Display: Beim Bau des ersten Anzeigemoduls 2 im Jahr 2006 waren die Displays mit T6963C recht weit verbreitet. Zum Zeitpunkt der Texterstellung im Juni 2012 sah das Angebot leider nicht mehr so gut aus. Man muss schon intensiv nach Angeboten suchen, aber es gibt sie noch. Übrigens kann man ältere mit CCFL ausgestattete Typen mit ca. 25 SMD- oder 3mm-LEDs und ebenso vielen 330Ω SMD-Widerständen auf LED-Hintergrundbeleuchtung umbauen.

Neben dem LCD sind noch 3 weitere optische Anzeigen in Form von farbigen LEDs (D1-D3) vorhanden, welche verschiedene Alarmzustände sowie die aktive PC-Kommunikation signalisieren. Ich habe hier ultrahelle Typen verwendet, damit man auch aus größerer Entfernung einen Alarmzustand erkennen kann. Alle LEDs werden über jeweils einen Vorwiderstand (R3-R5) direkt vom Controller IC1 angesteuert. Zur Bedienung des Anzeigemoduls dienen der Drehimpulsgeber mit Taster S1 und der Einzeltaster S2. Beide Elemente sollten unterhalb des Display angeordnet werden (S1 rechts, S2 links), da die unterste Display-Zeile immer die Funktion von S1 und S2 vorgibt. S1 und S2 sind direkt mit IC1 verbunden, die nötigen Pull-up-Widerstände sind bereits im Controller vorhanden und auch Entprellung wird vom Controller-Programm erledigt. Mit dem weiteren Taster S3 kann man ein Reset auslösen und den Bootloader aktivieren. Dies ermöglicht die einfache Installation einer neuen Software über RS-232 (K4) oder USB (K5).

Für den Drehimpulsgeber S1 können verschiedene Typen eingesetzt werden. Damit die Software des Anzeigemoduls die Impulse richtig auswerten kann, gibt es die Möglichkeit, mit S4 die Funktion des Gebers zu konfigurieren. S4 besteht aus 2 unabhängigen DIP-Schaltern, die je nach Schalterstellung die Eingänge PE4 oder PE5 des Mikrocontrollers nach Masse schalten. Der erste Schalter (S4.1, Anschluss 1-2) legt fest, ob vom Geber 2 oder 4 Impulse bei jedem Schritt erwartet werden. Mit dem zweiten Schalter (S4.2, Anschluss 3-4) kann die Drehrichtung umgekehrt werden.

Für die Speicherung der Sensordaten sind IC3-IC6 vorgesehen. Es handelt sich hier um EEPROMs mit einer Speicherkapazität von jeweils 64 kB, welche an einem gemeinsamen I²C Bus angeschlossen sind. PD0 und PD1 des Mikrocontrollers IC1 können als Interface für einen I²C Bus konfiguriert werden und so bietet es sich an, die beiden Busleitungen SCL und SDA dort anzuschließen. R13 und R14 bilden die notwendigen Pull-up Widerstände. Über die Pins 1 und 2 der EEPROMs wird die Adresse festgelegt, über die jedes IC am Bus erreichbar ist (0xA0, 0xA2, 0xA4 und 0xA6).

IC7 ist ein Doppel-OPV, welcher zur Tonerzeugung verwendet wird. Genau genommen wird der Ton selbst vom Controller IC1 erzeugt und IC7 dient zur Steuerung der Lautstärke und zur weiteren Verstärkung. Zunächst generiert IC1 ein PWM-Signal mit einer Frequenz von 1,6kHz, welches an PB6 anliegt und über das Tiefpassfilter R15 und C14 zum Eingang des linken OPV geführt wird. Am Ausgang des als Spannungsfolger beschalteten OPVs stellt sich eine zum PWM-Signal proportionale Gleichspannung ein, welche die Lautstärke des Tonsignals bestimmt. Das eigentliche Tonsignal kommt von IC1/PB4 und wird mittels R16 und D4 auf die Höhe der Ausgangsspannung des linken OPVs begrenzt. Auf diese Weise lässt sich das Tonsignal per Software auf einen Spannungspegel zwischen ca. 0,5V und 5V einstellen. Der rechte OPV ist ebenfalls als Spannungsfolger geschaltet und steuert mit dem nachgeschalteten Transistor T3 den Lautsprecher LS1 an. Hier kann ein beliebiger magnetischer Lautsprecher oder Piezo-Schallwandler angeschlossen werden. Ich habe einen Miniatur-Lautsprecher (Sound-Transducer) verwendet, der recht klein und trotzdem laut ist.
IC7 benötigt eine etwas höhere Betriebsspannung, diese wird vor dem Spannungsregler IC11 am Punkt +U2 abgegriffen. R19 und C15 dienen als Filter und sollen Störsignale reduzieren.

IC8 ist ein Empfängermodul für das DCF77-Zeitzeichensignal. Die vom Empfänger kommenden Impulse werden direkt zum Anschluss PE2 des Controllers IC1 geführt und dort ausgewertet. Die DCF77-Funktion ist weitgehend konfigurierbar - so lässt sich die Polarität des Signals (invertiert oder normal) umschalten, außerdem kann ein Pull-up Widerstand am Controller für Module mit offenem Kollektor-Ausgang aktiviert werden. Somit können praktisch alle Modultypen angeschlossen werden. Zu beachten ist allerdings, dass bestimmte Empfängermodule nur mit maximal 3,3V betrieben werden dürfen (z.B. das Modul von Pollin). Hier sind 2 zusätzliche Bauteile erforderlich: Die +5V werden nicht direkt an das Modul, sondern über einen 1kΩ-Widerstand an den VCC-Anschluss geführt. Zwischen VCC und Masse wird eine 3,3V (oder 2,7V) Z-Diode geschaltet (Kathode an VCC, Anode an Masse), C17 kommt ebenfalls zwischen VCC und Masse. Weiterhin besitzen einige Module zusätzliche Anschlüsse (z.B. PON), diese müssen meist an Masse gelegt werden. Im Zweifelsfall hilft das Datenblatt weiter.

IC9 enthält eine Echtzeituhr und stellt zusätzlich noch 240 Byte RAM zur Verfügung, die hier zur Speicherung von Zeigeradressen sowie von Min-, Max- und Mittelwerten genutzt werden, mehr dazu im Abschnitt Software. Die Kommunikation mit IC1 erfolgt hier über einen weiteren I²C Bus, wobei R23 und R24 als Pull-up Widerstände dienen. Ein gemeinsamer Betrieb mit IC3-IC6 am gleichen Bus ist leider nicht möglich, weil IC9 mit einer niedrigeren Geschwindigkeit arbeitet und zudem noch den gleichen Adressraum verwendet. Aus diesem Grund werden die Anschlüsse PB2 und PB3 zu einem zusätzlichen I²C Bus umfunktioniert.
Die Echtzeituhr wird mit einem 32768 Hz Uhrenquarz getaktet, mit C19 kann die Frequenz genau abgeglichen werden. Falls ein Frequenzzähler vorhanden ist, dann bietet sich dieser zum Abgleich an. Er kann direkt an IC9/Pin7 angeschlossen werden, R22 dient hier als Pull-up Widerstand für den Open-Drain Ausgang. Eingestellt wird eine Frequenz von 1Hz bzw. eine Periodendauer von 1s.
Im Normalbetrieb wird IC9 über D7 mit +5V versorgt. Bei Ausfall der Betriebsspannung erfolgt eine +3V Notversorgung mittels einer Lithium-Batterie CR2032 (Bat1) über D6. R21 und C18 führen zu IC1/PF1, hier wird die Spannung der Batterie gemessen und gemeinsam mit den anderen Sensorwerten alle 15min gespeichert. R21 wurde absichtlich so groß gewählt, damit die Batterie bei Netzausfall nicht über die internen Schutzelemente von IC1 entladen wird.

IC10 ist ein MAX232 in Standard-Beschaltung. Er dient als Pegelwandler für die RS232-Schnittstelle zum Sensormodul und die optionale RS232-Schnittstelle zum PC. Die Schnittstelle zum Sensormodul wird hier nur in einer Richtung betrieben: Die vom Sensormodul kommenden Daten mit RS-232-Pegel gelangen vom Anschluss K1/Pin3 auf IC10/Pin8 und werden als normales CMOS/TTL-Signal von IC10/Pin9 zum Controller-Anschluss PD2 weitergegeben. Die Rückrichtung ist zwar vollständig verdrahtet (IC1/PD3 auf IC10/Pin10 sowie IC10/Pin7 auf K1/Pin4), wird allerdings zurzeit nicht verwendet.
Die RS232-Schnittstelle zum PC wird bidirektional genutzt: Die für den PC bestimmten Daten sind vom Controller-Anschluss PE1 an IC10/Pin11 geführt und laufen dann mit RS-232-Pegel von IC10/Pin14 weiter an K4/Pin2. Umgekehrt kommen die vom PC an K4/Pin3 empfangenen Daten mit RS-232-Pegel an IC10/Pin13 an und gehen als CMOS/TTL-Signal von IC10/Pin12 über die Diode D10 weiter an PE0 des Controllers.

IC11 sorgt für eine stabile Spannung von +5V. Wegen des relativ hohen Stromverbrauches der Display-Beleuchtung habe ich hier einen Schaltregler verwendet. Der hier verwendete LM2575-5.0 arbeitet in der Standard-Schaltung nach Datenblatt. L1 und C27 sind Spezialbauteile, die jedoch leicht beschafft werden können. Die Stromaufnahme des Moduls hängt von der zugeführten Spannung ab, die zwischen 9V und 20V liegen kann. Mein Prototyp nimmt mit eingeschalteter Beleuchtung ungefähr 150 mA bei 12V auf. Obwohl der Spannungsregler einen recht hohen Wirkungsgrad hat und nur wenig Wärme entsteht, sollte ein kleiner Kühlkörper verwendet werden. Falls für die Verbindung zwischen Sensor- und Anzeigemodul ein 4-adriges Verbindungskabel zur Verfügung steht, dann empfiehlt sich die Versorgung aller Module aus einem gemeinsamen Netzteil. Wie schon beim Sensormodul 2/3 beschrieben, speise ich alle Module meines Messsystems von einem gemeinsamen 12V-Netzteil, welches sich in der Nähe des Sensormoduls befindet.

D5 sollte auch noch erwähnt werden: Diese Fotodiode ändert in Abhängigkeit von der Helligkeit ihren Widerstand und gemeinsam mit R20 entsteht eine zur Helligkeit proportionale Gleichspannung, die am Controller-Eingang PF0 gemessen wird. Mit dem ermittelten Wert steuert die Software des Anzeigemoduls die Helligkeit der Display-Beleuchtung.

SymbolSchaltung - Optionen

Im unteren Teil des Hauptmodul-Schaltplans sind 3 umrahmte Schaltungsteile zu sehen. Es handelt sich hier um optionale Komponenten, die für den Betrieb des Anzeigemoduls nicht zwingend erforderlich sind:

OptionBauteileFunktionGeschwindigkeit (Baud)
RS-232K4PC-Kommunikation über 9-poliges Standard RS-232-Kabel, Software-Update über Bootloader möglich9600, 19200, 38400, 57600, 115200
USBR26-R27, C28-C31, D11, IC12, K5PC-Kommunikation über USB-Kabel (virtueller COM-Port), Software-Update über Bootloader möglich 9600, 19200, 38400, 57600, 115200, 230400, 460800
BluetoothR28-R30, D12, T4, IC13drahtlose PC-Kommunikation über Bluetooth (virtueller COM-Port)115200

Alle Optionen dienen zur Kommunikation mit einem PC und ermöglichen die Übertragung der gespeicherten Sensordaten. Man kann sich beim Aufbau des Anzeigemoduls für eine oder mehrere Optionen entscheiden - die Schaltung ist so ausgelegt, dass die Optionen beliebig kombiniert werden können. Dazu wird der vom Mikrocontroller ausgehende serielle Datenstrom (TXD) vom Anschluss PE1 (Pin3) gleichzeitig an alle Optionen (jeweils an RXD) gesendet. Umgekehrt werden die von den Optionen eingehenden Daten von den jeweiligen TXD-Anschlüssen über eine einfache OR-Schaltung (R25, D10-D12) zusammengefasst und zum RXD des Mikrocontrollers an Anschluss PE0 (Pin2) weitergeleitet. Somit können alle Optionen ohne Umschaltung verwendet werden, allerdings darf immer nur eine aktiv sein.

RS-232: Für diese Option ist nur die 9-polige D-Sub-Buchse K4 notwendig. Es werden zwei Treiber des bereits vorhandenen MAX232 (IC10) verwendet. Die Verbindung zum PC erfolgt über ein serielles 9-poliges Kabel mit 1:1 Beschaltung. Auf diese Option kann man heute eigentlich verzichten, da zum einen immer weniger PCs eine solche Schnittstelle besitzen und zum anderen der vergleichsweise große Steckverbinder K4 das Gehäuse nicht unbedingt verschönert.

USB: Diese Option erfordert etwas mehr Aufwand und außerdem ein IC, welches nur in SMD Bauform erhältlich ist (IC12). Dafür kann das Anzeigemodul praktisch mit jedem PC über ein Standard-USB-Kabel verbunden werden. Anstatt der vielleicht nicht mehr ganz zeitgemäßen USB-B-Buchse K5 kann man natürlich auch USB-Mini-B oder USB-Micro-B verwenden (andere Anschlussbelegung beachten). Wer den kniffligen Aufbau mit Einzelbauteilen scheut, kann alternativ ein fertiges USB-Modul einsetzen, z.B. ELV 091859. In diesem Fall hat man alle nötigen Anschlüsse auf einem handlichen Steckverbinder und die USB-Buchse ist auch schon montiert. Beim ELV-Modul wird zwar ein anderes USB-IC verwendet, was auch einen anderen Treiber auf dem PC erfordert, aber das spielt für die Funktion keine Rolle.

Bluetooth: Für diese Option habe ich ein fertiges Modul verwendet, welches ich eher zufällig bei ebay fand. Es hat leider keine genaue Typenbezeichnung, stammt vermutlich aus Fernost und wird als Zusatzmodul für ein Arduino-Projekt verkauft (Arduino self balancing robot). Dieses Modul verwendet den Chip BC417143B von der Firma csr und es sind Versionen mit unterschiedlicher Geschwindigkeit verfügbar: 9600 bps und 115200 bps. Mit dem Suchbegriff bluetooth module 115200 kommt man bei ebay direkt ans Ziel. Leider weiß man nie, wie lange so ein Angebot verfügbar ist. Während der Entwicklung des Anzeigemoduls 2a und dem Erstellen dieses Textes vom Februar bis Juni 2012 wurde es jedenfalls kontinuierlich für 14,90€ (inklusive Versand) angeboten.

Das Bluetooth-Modul verfügt über nur 4 Anschlüsse: VCC, Masse, TXD und RXD - viel mehr wird auch nicht benötigt. Auf dem Modul befindet sich bereits ein Spannungsregler für 3,3V, so dass man sich nicht um eine Anpassung der Spannung kümmern muss. Auch die Datenleitungen TXD und RXD sollen nach Informationen des Händlers 5V-tolerant sein, trotzdem habe ich zur Sicherheit noch R29 in die RXD-Leitung eingefügt. TXD liefert nur 3,3V und damit der Ausgang nicht gegen 5V ankämpfen muss, wird mit R30 der maximale Pegel auf der TXD-Sammelleitung auf ca. 3,65V reduziert. Damit das Bluetooth-Modul nicht rund um die Uhr aktiv ist (prinzipbedingt ist es ständig sichtbar), kann es vom Controller über den MOSFET T4 in einem einstellbaren Zeitraum abgeschaltet werden. Die Modul-Abschaltung über die Masseleitung ist vielleicht etwas ungewöhnlich, muss aber sein, damit im abgeschalteten Zustand die TXD/RXD-Leitungen nicht blockiert werden, welche im Ruhezustand auf High-Potenzial liegen.

Schaltungsoption Der nebenstehende Schaltplan zeigt noch eine alternative Bluetooth-Option, falls das oben beschriebene Bluetooth-Modul nicht mehr verfügbar sein sollte. Diese Schaltung wurde vor einiger Zeit für das Anzeigemodul 2 entwickelt und kann in der gleichen Form auch im Anzeigemodul 2a verwendet werden. Als zentrales Bauteil kommt hier das Bluetooth-Modul BlueNiceCom III der Firma Amber Wireless zum Einsatz (IC102). Dieses vereint alle wichtigen Komponenten auf einer kleinen Platine mit 2 x 8 Anschlüssen.

Im Schaltplan des Hauptmoduls sind bei der Bluetooth-Option 5 Schaltpunkte eingezeichnet. Diese entsprechen den auf der linken Seite der nebenstehenden Schaltung angedeuteten Schaltpunkten und müssen entsprechend verbunden werden. Die Bauteile der originalen Bluetooth-Option (R28-R30, D12, T4 und IC13) entfallen und werden durch die alternative Option ersetzt.

Das BlueNiceCom III (IC102) benötigt eine Spannung von 3,3V, die mittels IC101 bereitgestellt wird. Mit R105 und C103 wird ein Reset-Signal für das Bluetooth-Modul erzeugt. Die Bauteile R101, D102 und D103 bilden eine Schutzschaltung für den RXD-Anschluss und verhindern, dass dieser Eingang mit Spannungen unter 0V und über 3,3V belastet wird. Der Ausgang TXD besitzt mit D101 und R102 die gleiche Schutzmaßnahme wie das originale Bluetooth-Modul. Auch das BlueNiceCOM III lässt sich über T101 vom Mikrocontroller ein- oder ausschalten. Interessant ist hier die Möglichkeit, den Bluetooth-Status direkt über die LED D104 anzuzeigen. Diese LED kann als Ersatz für D3 im Hauptmodul verwendet werden.

Hinweis: Leider ist das BlueNiceCOM III auch schon wieder veraltet und wurde durch das BlueNiceCOM IV ersetzt. Dieses Modul habe ich allerdings nicht getestet.

SymbolHardware

Platine1

Das Anzeigemodul 2a wurde komplett auf einer Lochrasterplatine im Euro-Format (160mm x 100mm) aufgebaut. Im linken Teil befindet sich der ATmega128 (IC1), den ich in Form eines Header Boards verwendet habe. So kommt man nicht direkt mit dem SMD-Bauteil in Berührung und die steckbaren Anschlüsse passen perfekt ins Lochraster der Platine. Das hier verwendete Board enthält nur IC1, alle anderen zu IC1 gehörenden Bauteile wie Q1, C1-C6, R1 und R2 sind komplett unterhalb des Header Boards versteckt.

Links neben dem Controller befinden sind die Programmieranschlüsse K2 für ISP (unten) sowie K3 für JTAG (oben). K3 kann man meist weglassen und ist nur erforderlich, wenn man eigene Software auf dem Anzeigemodul entwickeln möchte. Links und oberhalb des Controllers wurden noch einige Widerstände untergebracht und in der äußersten Ecke befindet sich S4 für die Konfiguration des Drehimpulsgebers.

Rechts neben dem Controller ist die aus IC3-IC6 bestehende EEPROM-Bank untergebracht, direkt darüber befindet sich die Tonerzeugung mit IC7 und der Mini-Lautsprecher Ls1. Gleich daneben kommt die vergleichsweise große Batterie und der Anschluss K1. Unterhalb des Lautsprechers befinden sich alle zur Echtzeituhr gehörenden Bauteile, u.a. auch der Trimmkondensator C19, mit dem die Frequenz des Uhren-Oszillators abgeglichen wird. Darunter finden noch der RS-232-Pegelwandler IC10, der zusätzliche Spannungsinverter IC201 mit R203 zum Abgleich und der 20-polige Pfostenstecker für das Display Platz. Der mit einem Kühlkörper versehene 5V-Schaltregler und die nötige Außenbeschaltung wurde rechts am unteren Platinenrand untergebracht.

Unter dem Controller wurde das Bluetooth-Modul IC13 platziert. Es ist rechts in eine 4-polige Buchsenleiste eingesteckt und schwebt etwas erhöht über der Platine. Unterhalb des Bluetooth-Moduls ist die knifflige USB-Option zu sehen, links am Platinenrand wird später eine 4-polige Stiftleiste angesteckt, die zur USB-Buchse führt. Rechts neben der USB-Schaltung sind die restlichen Bauteile der Bluetooth-Option und T1 für die Display-Beleuchtung untergebracht. An den 14-poligen Pfostenstecker ganz unten wird später ein Kabel angesteckt, welches die Verbindung zu den Bedienelementen S1-S3, den LEDs D1-D3 und der Fotodiode D5 herstellt.

Platine2

Auf diesem Bild ist noch einmal die gleiche Platine aus einer anderen Perspektive dargestellt. Hier sieht man das erhöht angebrachte Bluetooth-Modul, damit die Antenne möglichst weit von metallischen Gegenständen entfernt ist. Das Bluetooth-Modul wird übrigens ohne irgendwelche Informationen geliefert. Glücklicherweise sind die wenigen Anschlüsse auf der Platinenunterseite deutlich beschriftet.

Auf dieser Platine wird man vielleicht den DCF77-Empfänger vermissen. Ursprünglich sollte dieser am oberen Platinenrand untergebracht werden. Leider erzeugt die gesamte Schaltung so viele Störungen (auch bei ausgeschaltetem Display), so dass der Empfänger komplett aus dem Gerät verbannt werden musste. Er arbeitet jetzt in einem separaten Gehäuse und ist über ein Kabel mit dem Anzeigemodul verbunden.

Platine3

Dieses Bild zeigt die Platine von unten. Wie bei fast allen Schaltungen auf Lochraster sieht das auch hier nicht besonders schön aus. Man erkennt am Drahtverhau deutlich den Mikrocontroller auf der rechten Seite und zwei relativ dicke Bündel zu den Steckverbindern des Displays und der Bedienelemente. Stromführende Leitungen wurden mit 0,5mm Draht verlegt, alles andere mit Kupferlackdraht.

Platine4 Hier wurde die Platine in die Gehäuse-Unterschale eingesetzt, aber noch nicht verschraubt. Das verwendete Gehäuse mit der Bezeichnung A0620107 wird von der Firma OKW produziert und bietet bei einer Größe von 200mm x 150mm viel Platz für die Platine und die im Oberteil untergebrachten Bedienelemente.

Über das Loch oben rechts wird später das 4-adrige Anschlusskabel für die Stromversorgung und die Verbindung zum Sensormodul in das Gehäuse geführt. Links oben wurden 2 Plastik-Befestigungen für die DCF77-Antenne eingeklebt, die leider ungenutzt bleiben. Wie schon erwähnt, wird der DCF77-Empfänger wegen starker Störungen extern betrieben. Damit kein zusätzliches Kabel für den Empfänger verlegt werden musste, wurde für die DCF77-Datenleitung einfach der nicht genutzte Anschluss 4 von K1 umfunktioniert. Der Strom für den Empfänger wird aus den +12V gewonnen, die auch das Anzeigemodul versorgen.

Platine5 Dieses Bild zeigt die Innenseite der Gehäuse-Oberschale mit den Bedienelementen. Der Drehimpulsgeber S1, der Taster S2, die LEDs D1-D3 sowie die Fotodiode D5 wurden zunächst auf eine Trägerplatine gelötet und verdrahtet. 4 M3-Schrauben, deren Köpfe mit Zweikomponentenkleber am Gehäuse befestigt wurden, sorgen für einen stabilen Halt dieser Platine im Gehäuse. Ein 14-poliges Flachbandkabel wurde direkt an die Trägerplatine gelötet und mit einer Pfostenbuchse versehen, die dann in die passende Stiftleiste der Hauptplatine gesteckt wird.

Die USB-Buchse K5 und der Reset-Taster S3 wurden direkt in entsprechend geschnittene Aussparungen auf der Unterseite des Gehäuses eingeklebt. Während S3 über ein kurzes Kabel direkt mit der Trägerplatine verbunden ist, wird das USB-Kabel separat über eine 4-adrige Leitung an die Hauptplatine geführt.

Über die links und rechts sichtbare M3-Schraube, die ebenfalls eingeklebt wurde, wird später das Display befestigt. Weiter oben (auf dem Bild nicht sichtbar) befinden sich 2 weitere Schrauben, so dass das Display an insgesamt 4 Stellen gehalten wird.

Pltine6 So sieht das fertig montierte Gerät aus. Wichtig ist, dass die beiden Hauptbedienelemente unterhalb des Displays angeordnet werden: der Drehimpulsgeber S1 rechts und der Taster S2 links. Beide haben eine wechselnde Funktionalität, die in Verbindung mit der untersten Textzeile des Displays steht. Im Abschnitt Bedienung wird noch genauer darauf eingegangen.

Die 3 LEDs und die Fotodiode habe ich symmetrisch in folgender Reihenfolge zwischen S1 und S2 angeordnet: D3 - D1 - D2 - D5 (Blau - Rot - Gelb - Foto).

Übrigens, das hier verwendete Display war ursprünglich mit einer CCFL-Beleuchtung ausgestattet und wurde zur LED-Beleuchtung umgebaut. Ganz perfekt ist es noch nicht - der obere Displayteil wirkt heller als der untere.

An der unteren Gehäuseseite (hier nicht sichtbar) befindet sich links die USB-Buchse und rechts der Reset-Taster. An dieser Stelle fallen beide Elemente nicht direkt ins Auge, sind aber trotzdem noch gut zugänglich. Einen RS-232-Anschluss gibt es an diesem Modul übrigens nicht, in der Praxis hat sich die drahtlose Verbindung über Bluetooth bewährt.

SymbolSoftware

Die Software des Anzeigemoduls 2a ist relativ komplex. Der Assembler-Quelltext des vorherigen Anzeigemoduls 2 bestand bereits in seiner letzten Version aus über 21000 Zeilen und ist bei der Anpassung an das Anzeigemodul 2a noch einmal um gut 4000 Zeilen angewachsen. Hier ist jetzt auch eine Grenze erreicht: der Code ist kaum noch überschaubar und auch einige Ressourcen des ATmega128 sind weitgehend ausgeschöpft, z.B. das RAM.

Das Softwarepaket für das Anzeigemodul 2a besteht aus den folgenden 4 Dateien:

  1. Anzeigemodul2a.asm - enthält den kompletten Programmcode in Assembler
  2. Anzeigemodul2a-eng.asm - enthält alle Texte in englischer Sprache
  3. Anzeigemodul2a-deu.asm - enthält alle Texte in deutscher Sprache
  4. Anzeigemodul2a.hex - enthält das fertig assemblierte Programm für den ATmega128

Für den Nachbau des Anzeigemoduls 2a ist nur die Datei Anzeigemodul2a.hex wichtig. Diese wird nach dem Aufbau der Hardware mit einem Programmiergerät in den Mikrocontroller IC1 (ATmega128) geschrieben und anschließend kann das Modul verwendet werden.

Die Dateien 1 - 3 sind für experimentierfreudige Bastler und Programmierer interessant. Hier lässt sich die Funktionalität des Anzeigemoduls ändern und an eigene Bedürfnisse anpassen. Allerdings sind hier gute Vorkenntnisse in AVR-Assembler notwendig, denn die Software ist wirklich sehr komplex. Ich habe übrigens für die Entwicklung der Software das AVR-Studio 4.19 verwendet. Das AVR-Studio 5.1 eignet sich grundsätzlich auch sehr gut zur Entwicklung, allerdings traten bei der Assemblierung gelegentlich Hänger auf, was die Freude etwas trübte. Nach Abschluss der Software-Entwicklung im Mai 2012 habe ich noch kurz das aktuelle AVR-Studio 6.0 angetestet - funktioniert ebenfalls, lässt sich aber viel Zeit beim Assemblieren.

Übrigens, der Programmcode stammt vom Anzeigemodul 2 und wurde in 3 Etappen entwickelt. Ende 2005 erschien die Version 1.0, zunächst mit einer reinen Textanzeige für maximal 16 Temperatursensoren. Mitte 2006 folgte mit der Version 2.0 ein relativ großes Update und dieses machte die grafische Anzeige alle gespeicherten Sensordaten möglich, allerdings immer noch für nur 16 Temperatursensoren. Mit der Erweiterung des gesamten Temperaturmesssystems auf insgesamt 31 Sensoren wurde nun das Anzeigemodul 2a mit der Software-Version 3.0 entwickelt, welches mit allen vom Sensormodul 2 oder 3 gelieferten Daten umgehen kann. Als Folge dieser Entwicklung findet man im Quelltext eine unterschiedliche Textformatierung vor. Ältere Programmteile verwenden meist mit Tabulatoren, die neuen fast immer Leerzeichen. Eine komplette Überarbeitung war mir zu aufwändig und wenn man in der Editor-Konfiguration des AVR-Studios die Tabulatorbreite auf 8 Zeichen stellt, ergibt sich ein einheitliches Bild.

Der Programmcode selbst besteht aus mehreren Blöcken, welche wiederum verschiedene Teilaufgaben erledigen:

  1. Initialisierung
    • I/O-Ports, Analog-Digital-Wandler, I2C initialisieren
    • Sende/Empfangspuffer der seriellen Schnittstellen initialisieren
    • Display einschalten und initialisieren
    • Einstellungen aus dem internen EEPROM laden (Sensor-Konfiguration, Alarm-Konfiguration, Signal-Konfiguration, Schaltzeiten und diverse andere Daten)
    • Kommunikation mit der Echtzeituhr prüfen
    • Kommunikation mit den 4 EEPROMs prüfen
    • Pointer für 15min-Werte, Tageswerte und Meldungen prüfen und gegebenenfalls neu suchen
    • Serielle Schnittstellen und Timer initialisieren
    • Backup der Tagesdaten prüfen und Tagesdaten wiederherstellen
    • Einige Variablen und Werte voreinstellen

  2. Hauptprogrammschleife
    • Anzeigesteuerung
      • Basisanzeige neu ausgeben (falls erforderlich)
      • Infozeile neu ausgeben (obere Zeile, falls erforderlich)
      • Menüzeile neu ausgeben (untere Zeile, falls erforderlich)
      • Gegebenenfalls weitere Anzeigedaten ausgeben (Sensorwerte, Alarme)
      • Bei Benutzereingriff: gewünschte Informationen oder Konfigurations-Menüs anzeigen
    • Datenempfang vom Sensormodul steuern
      • Empfangene Zeichen aus Empfangspuffer holen und prüfen
      • Datensatztyp ermitteln und Plausibilität prüfen
      • Temperaturdaten auf Über- oder Unterschreitung prüfen und speichern
      • Minimal-, Maximal- und Mittelwert korrigieren
      • Alarmmeldungen prüfen und gegebenenfalls Signal ausgeben
      • Empfangs-Timeoutzähler neu setzen
    • Datenkommunikation mit dem PC steuern
      • Empfangene Zeichen aus Empfangspuffer holen und prüfen
      • Kommandotyp ermitteln und Plausibilität prüfen
      • Daten entsprechend Kommandotyp suchen und senden (ein Datensatz bei jedem Hauptschleifendurchlauf)
    • DCF77-Empfang auswerten
      • Minutenwechsel erkennen und empfangene Datenbits auf Plausibilität prüfen
      • Kopieren der Zeitinformationen in einen 2-stufigen Zwischenspeicher
      • Vergleich der Zeitinformationen mit den beiden vorherigen Minuten
      • Bei korrektem Zeitempfang Controller-Uhr synchronisieren
    • Verschiedene Zeitabhängige Vorgänge steuern
      • Timeout-Zähler für den Empfang von Temperaturdaten und Alarmmeldungen prüfen und gegebenenfalls Alarm auslösen
      • Weitere Timeout-Zähler prüfen (DCF77-Empfang, Menü-Rückkehr, Display-Abschaltung, zyklische Fehleranzeige)
      • Optische und akustische Signalisierung steuern
      • Schaltzeiten steuern (Lautstärke, Display, Bluetooth, Reset Min/Max-Werte)
      • Zur Minute 0, 15, 30 und 45: Sensorwerte im EEPROM speichern
      • Zur Minute 14, 29, 44 und 59: Backup der Tagesdaten anlegen
      • Zur Minute 1, 16, 31 und 46: Daten für die grafische Luftdruckanzeige generieren
      • Zum Zeitpunkt 23:59 Uhr: Tageswerte im EEPROM speichern
    • Menüsteuerung
      • Erkennen einer Änderung des Drehimpulsgebers S1 und Ermitteln der Schritte
      • Erkennen eines Tastendrucks von S1 und S2
      • Steuerung der Menüführung in Abhängigkeit von S1 und S2
      • Aktionen in Abhängigkeit von S1 und S2 ausführen

  3. Verschiedene Unterprogramme
    • Routinen für Ein/Ausgabe (Display, EEPROM, I²C), Konvertierungen, Grafik-Ausgabe

  4. Interrupt-Routinen
    • Timer/Counter1 Compare Match A - wird alle 625µs ausgeführt (1600Hz)
      • Lesen und Entprellen des Drehimpulsgebers S1 und Ermitteln der Position
      • Alle 20ms: Lesen des DCF77-Eingangs, Ermitteln der Impulslänge und Speichern eines 0- oder 1-Bits
      • Alle 1s: Steuern der Controller-Uhr
    • Timer/Counter3 Compare Match A - wird alle 20ms ausgeführt (50Hz)
      • Lesen und Entprellen der Taster S1 und S2
      • Steuern der Display-Beleuchtung (weiches Ein- und Ausblenden)
      • Erzeugen der LED-Blinksignale von D1 und D2
      • Steuern der Tonausgabe
      • Alle 1s: Lesen des AD-Wandlers (Referenzspannung, Lichtsensor, Batteriespannung)
      • Alle 1s: Bearbeiten aller Timeoutzähler
    • USART0 Data Register Empty - wird ausgeführt, wenn das nächste Byte zum PC gesendet werden kann
    • USART0, Rx Complete - wird ausgeführt, wenn ein Byte vom PC empfangen wurde
    • USART1, Rx Complete - wird ausgeführt, wenn ein Byte vom Sensormodul empfangen wurde

  5. Datenbereich
    • Standard-Zeichensatz - Proportional-Zeichensatz mit einer Höhe von 11 Pixeln; enthält Umlaute, Sonderzeichen und Fragmente für die Großziffern
    • Mini-Zeichensatz - Proportional-Zeichensatz mit einer Höhe von 5 Pixeln; enthält Umlaute und Sonderzeichen (für Grafikanzeige)
    • Umlaut-Konvertierungs-Tabelle - für Datenübertragung zum PC
    • Sound-Tabelle - enthält 16 vordefinierte Tonsignale
    • Kommando-Liste für die PC-Kommunikation
    • Menü-Tabellen - besteht aus einer Index-Tabelle mit den Adressen aller Untermenüs und den Untermenü-Struktur-Definitionen
    • Default-Konfiguration - enthält eine Voreinstellung für die Inbetriebnahme des Anzeigemoduls

Ich möchte hier nicht auf weitere Details eingehen. Im Quelltext sind viele Kommentare enthalten, die das Programm (hoffentlich) etwas verständlicher machen.

Interessant ist an dieser Stelle noch die Speicherverwaltung des Anzeigemoduls 2a. Insgesamt sind 3 Datenspeicher vorhanden, die für unterschiedliche Zwecke verwendet werden:

SpeicherbereichICGrößeFunktionBemerkung
Internes EEPROM (ATmega128) IC14 kBKonfigurationsspeicher In diesem Speicher ist die aktuelle Konfiguration des Anzeigemoduls abgelegt und diese wird bei jedem Systemstart automatisch geladen (Sensoreinstellungen, Alarmeinstellungen, Log-Einstellungen, Signaleinstellungen, Schaltzeiten, Grafik-Presets und weitere Einstellungen).
Externes EEPROM (4x 24C512) IC3-IC6256 kBLog-Daten-Speicher Dieser Speicher ist in mehrere Bereiche aufgeteilt und hier werden zyklisch alle Sensordaten gespeichert sowie Alarmmeldungen und ein Konfigurations-Backup abgelegt.
Bereich 1: Aktuelle Werte aller Sensoren, werden immer zur Minute 0, 15, 30 und 45 gespeichert, enthält 3855 Datensätze (über 40 Tage).
Bereich 2: Tageswerte (Minimum, Maximum, Mittel) aller Sensoren, werden immer um 23:59 Uhr gespeichert, enthält 416 Datensätze (416 Tage).
Bereich 3: Meldungen - Aufgetretene Fehler, Alarme und Temperaturabweichungen, enthält 500 Datensätze.
Bereich 4: Konfigurations-Backup, kann bei Bedarf als Kopie des Konfigurationsspeichers erstellt und jederzeit zur Wiederherstellung verwendet werden.
Echtzeituhr-RAM (PCF8583) IC9240 BytePointer, Tageswerte Dieser Speicher ist in 2 Bereiche aufgeteilt und dient zur Aufbewahrung von 3 Datensatz-Pointern und zur zyklischen Sicherung der Tagesdaten.
Bereich 1: 3 Pointer - zeigen auf den jeweils aktuellen Datensatz im Bereich 1-3 des Log-Daten-Speichers.
Bereich 2: Backup der Tageswerte aller Sensoren, werden immer zur Minute 14, 29, 44 und 59 gespeichert und nach einem Systemstart wieder geladen.

Noch einige Informationen zur Speichernutzung: Damit alle Sensordaten in 4 ICs mit jeweils 64kB Speicherkapazität Platz finden, werden sie in komprimierter Form abgelegt. Die Temperatur- und Luftdruckwerte werden dazu in einen 12-Bit Binärwert umgewandelt und jeweils zwei dieser Werte belegen dann 3 Byte im externen EEPROM. Die Luftfeuchtigkeitswerte finden jeweils in einem Byte Platz und für die Batteriespannung sind nochmals 2 Byte vorgesehen. Insgesamt werden 47 Bytes für alle Sensordaten benötigt, hierzu kommen noch weitere 4 Bytes, die einen Zeitstempel enthalten (zweistelliges Jahr, Monat, Stunde und Minute). Die Meldungsdaten sind ebenfalls komprimiert und bestehen aus einem 7 Byte großen Datensatz: gleicher Zeitstempel wie oben, zusätzlich ein Byte für den Sekundenwert und 2 Bytes für den Meldungscode und die Sensornummer.

Jeder Log-Daten-Bereich des externen EEPROMs wird „ringförmig“ beschrieben, um eine möglichst lange Lebensdauer zu erreichen, d.h. neue Daten werden immer an die nächste Position geschrieben und wenn das Ende erreicht ist, wird wieder von vorn begonnen und der älteste Datensatz überschrieben. Die jeweils aktuelle Position (Pointer) wird zur Sicherheit im RAM-Speicher der Echtzeituhr aufbewahrt. So ist auch bei einem Netzausfall gewährleistet, dass neue Log-Daten immer an die richtige Stelle geschrieben werden.

Der Speicher der Echtzeituhr ist als Batterie-gepuffertes RAM realisiert und speichert neben den bereits erwähnten Pointern zyklisch alle 15 Minuten die aktuellen Minimal-, Maximal- und Mittelwerte des Tages. Somit gehen die Tagesdaten bei einem Netzausfall oder Software-Update nicht verloren und werden bei einem Neustart automatisch wieder geladen (sofern sie tagesaktuell sind).

Noch einige Informationen zur Echtzeituhr: Diese wird im Normalbetrieb mit 5V oder bei Netzausfall von einer Batterie mit 3V versorgt. Der ATmega128 bietet zwar auch so eine Funktionalität, allerdings würde hier bei jedem Reset und bei jedem Software Update (und davon hatte ich während der Software-Entwicklung reichlich) die Zeit verloren gehen. Aus diesem Grund habe ich mich für eine externe Uhr entschieden. Unabhängig davon benutzt der Controller intern trotzdem eine eigene Software-Uhr, damit nicht jedes Mal, wenn die Zeit benötigt wird, ein I²C-Transfer erforderlich ist. Außerdem ist die DCF77-Synchronisation so etwas einfacher. Um den Gleichlauf von interner und externer Uhr zu gewährleisten, werden diese nach folgendem Prinzip stündlich synchronisiert: Wurde in der vergangenen Stunde eine verwertbare DCF77-Zeit empfangen, dann wird die RTC neu gesetzt; falls nicht, dann wird die RTC gelesen und damit die interne Uhr gesetzt.

Bitte unbedingt den folgenden Hinweis beachten: Die Software des Anzeigemoduls 2a ist nur für den privaten Gebrauch bestimmt. Eine kommerzielle Nutzung ohne meine Genehmigung ist nicht erlaubt!

SymbolInbetriebnahme

Für die Inbetriebnahme des Anzeigemoduls 2a wird die aktuelle Software v3.001 vom 23.07.2012 für den ATmega128 benötigt. In diesem Paket befindet sich der komplette kommentierte Quelltext in Assembler (bestehend aus 3 Dateien) und das fertig assemblierte HEX-File. Im einfachsten Fall nimmt man einfach den Programmieradapter seiner Wahl und schreibt das HEX-File über den ISP-Anschluss K2 direkt in den Mikrocontroller. Diese Möglichkeit sollte man bei der ersten Inbetriebnahme des Moduls wählen, damit man sofort alle Funktionen überprüfen kann. Falls man das Anzeigemodul ohne die RS-232- oder USB-Option aufbauen möchte, dann bleibt das auch zukünftig die einzige Möglichkeit für ein Update der Software. In diesem Fall muss man allerdings das Gehäuse öffnen oder das Modul so aufbauen, dass der ISP-Anschluss K2 von außen zugänglich ist.

Die bessere Alternative ist, einen Bootloader in den Mikrocontroller zu programmieren und dann diesen für das Installieren der Software zu verwenden. Das ist natürlich nur dann sinnvoll, wenn die RS-232- und/oder die USB-Option vorhanden ist, denn der Bootloader kommuniziert nur über diese beiden Schnittstellen. Der große Vorteil des Bootloaders ist, dass man jederzeit die Software mit einem normalen RS-232- oder USB-Kabel aktualisieren kann.

SymbolVariante 1 - Direkte Installation

Direkte Installation der Software über ISP: Bei dieser Variante wird die Software in gewohnter Weise mit einem Programmiergerät, welches an den ISP (K2) angeschlossen wird (siehe auch AVR-Programmierung) in den Mikrocontroller übertragen. Anschließend müssen noch einige Fuse-Bits gesetzt werden.

Fuse-Bits1 Bei Verwendung des AVR-Studios muss die Einstellung wie im linken Bild aussehen. Die beiden auf dem Bild nicht sichtbaren Fuse-Bits M103C und WDTON sind ausgeschaltet (Haken raus).

Andere Programmiersoftware bietet oft nicht so einen übersichtlichen Dialog an. Hier werden stattdessen die Werte für die 3 Fusebit-Register erwartet und direkt geschrieben (z.B. bei AVRDUDE oder myAVR-ProgTool). In diesem Fall kann man die 3 benötigten Werte aus dem unteren Teil des Bildes entnehmen:

EXTENDED = 0xFF
HIGH = 0x91
LOW = 0x3F

Fuse-Bits2

Wer mit PonyProg arbeitet, findet im nebenstehenden Bild die richtige Einstellung.

SymbolVariante 2 - Verwendung eines Bootloaders

Bei dieser Variante erfolgt die Installation in 2 Schritten. Zunächst muss der Bootloader installiert werden und anschließend erfolgt die Installation der eigentlichen Anzeigemodul-Software über den Bootloader. Das ist zunächst mit einem höheren Aufwand verbunden, spätere Installationen sind dann aber wesentlich einfacher.

Der Bootloader ist eine zusätzliche Software, die einmalig in einem reservierten Bereich am Ende des Flash-Speichers installiert wird. Eine besondere Einstellung der Fuse-Bits bewirkt, dass sich der Bootloader nach einem Systemstart oder einem Reset immer zuerst aktiviert. Der Bootloader initialisiert dann die serielle Schnittstelle des Mikrocontrollers (in diesem Fall den UART0, welcher mit dem RS-232-Anschluss und dem USB-Chip verbunden ist) und wartet kurze Zeit auf eine bestimmte Zeichenfolge. Im normalen Betrieb bleibt diese Zeichenfolge aus und so wird anschließend die Anzeigemodul-Software auf Adresse 0 gestartet. Empfängt der Bootloader die erwartete Sequenz, dann bleibt er aktiv und wartet auf weitere Kommandos. Eines dieser Kommandos ist der Empfang eines HEX-Files und das Ablegen der Daten im Flash-Speicher, also die Installation einer Software. Nachdem die Übertragung erfolgreich abgeschlossen wurde, kann über ein weiteres Kommando der Bootloader beendet und die Software gestartet werden.

So ein Bootloader hat zwar im Prinzip nicht viel zu tun, trotzdem steckt viel Arbeit in einem solchen Programm. Glücklicherweise haben sich bereits einige Experten damit beschäftigt, so dass ich auf ein fertiges Produkt zurückgreifen konnte. Der hier verwendete Bootloader hat sich bei der Tischuhr bereits bewährt und wurde von der Firma Chip45 entwickelt und kostenlos zur Verfügung gestellt. Auf der Homepage von Chip45 kann man ein Paket mit fertigen Bootloadern für viele AVR-Controller downloaden, die sich durch folgende Eigenschaften auszeichnen:

Einen kleinen Nachteil möchte ich dennoch nicht verschweigen: Die Installation einer Software über den Bootloader dauert relativ lange. Damit kann man aber leben, zumal so ein Software-Update nicht all zu häufig durchgeführt werden muss.

Schritt 1 - Installation des Bootloaders: Die Installation des Bootloaders erfolgt in der gleichen Art und Weise wie die direkte Installation der Anzeigemodul-Software. Man benötigt wie bei der Variante 1 ein Programmiergerät (siehe auch AVR-Programmierung) und schließt dieses an den ISP (K2) an. Nur wird hier nicht die Software des Anzeigemoduls in den Mikrocontroller übertragen, sondern die Bootloader-Software. Der nachfolgende Link enthält die zum Zeitpunkt der Texterstellung aktuelle Version des Bootloaders: Bootloader ATmega128 UART0 v2.9k. Ich empfehle jedoch, die Homepage von Chip45 aufzusuchen und dort die aktuelle Version zu laden. Diese findet man unter chip45boot2 Bootloader (precompiled hexfiles) als ersten Eintrag in der Liste. Das Archiv enthält fertige HEX-Dateien für viele Mikrocontroller und wir benötigen die Datei chip45boot2_atmega128_uart0_vx.xx.hex (x.xx steht für die Versionsnummer). Wenn man mit Windows arbeitet, dann sollte man sich ebenfalls von der Seite unter chip45boot2 GUI PC/Windows Program noch die Kommunikations-Software laden. Diese ist nicht zwingend erforderlich, macht aber das Leben mit dem Bootloader viel leichter.

Nach der Übertragung des Bootloaders in den Mikrocontroller müssen auch hier die Fuse-Bits angepasst werden. Diese unterscheiden sich von Variante 1 nur durch eine andere Einstellung der BOOT-Fuses. Diese setzen den Bootloader-Bereich auf die richtige Größe und aktivieren den Start des Bootloaders nach einem Reset.

Fuse-Bits3 Bei Verwendung des AVR-Studios muss die Einstellung wie im linken Bild aussehen. Der Unterschied zum Bild weiter oben besteht darin, dass hier der Bootloader-Bereich auf 1024 Words bzw. 2048 Bytes festgelegt wurde (BOOTSZ) und der Controller jetzt nach einem Reset zuerst das Bootloader-Programm startet (BOOTRST). Die beiden auf dem Bild nicht sichtbaren Fuse-Bits M103C und WDTON sind ausgeschaltet (Haken raus).

Auch hier kann man bei der Verwendung anderer Programmier-Software die Werte der 3 Fusebit-Register direkt entnehmen:

EXTENDED = 0xFF
HIGH = 0x94
LOW = 0x3F

Fuse-Bits4

Wer mit PonyProg arbeitet, findet im nebenstehenden Bild die richtige Einstellung.

Nicht wundern: Nach der Übertragung des Bootloaders und der Einstellung der Fuse-Bits passiert zunächst gar nichts auf dem Display des Anzeigemoduls. Das ist vollkommen normal, denn die eigentliche Software ist noch nicht installiert und der Bootloader greift nicht auf das Display zu. Das Programmiergerät kann jetzt wieder vom Anzeigemodul entfernt werden (vorher das Anzeigemodul abschalten).

Schritt 2 - Installation der Software über den Bootloader: Für diese Aktion muss eine Kabelverbindung zwischen dem Anzeigemodul 2a und dem PC hergestellt werden. Hier bieten sich je nach installierter Option 2 Möglichkeiten an: Bei der RS-232-Option wird an den Anschluss K4 ein Standard RS-232-Kabel angeschlossen und mit dem PC verbunden. Zeitgemäßer ist eine USB-Verbindung, hier wird ein USB-Kabel (A-Stecker auf B-Stecker) an K5 und den PC gesteckt, wobei auch ein USB-Hub zwischengeschaltet werden kann. Falls bisher noch kein USB-Gerät mit einem Chip aus der FT232-Serie angeschlossen war, installiert Windows beim Herstellen der USB-Verbindung einen Treiber oder verlangt einen solchen. Dieser kann von der FTDI Homepage geladen werden. Nach erfolgreicher Installation des Treibers findet man im Geräte-Manager von Windows einen USB Serial Port und dahinter in Klammern die zugewiesene COM-Schnittstelle, die man sich notieren sollte.

Als nächstes müssen wir eine Verbindung zum Bootloader des Anzeigemoduls herstellen. Obwohl bei dem hier verwendeten Bootloader ein Terminalprogramm auf dem PC genügen würde, empfehle ich die Nutzung des vom Hersteller angebotenen GUI-Programms. Es steht auf der bereits erwähnten Chip45 Homepage als Datei chip45boot2 GUI V1.12 (oder neuer) zum Download zur Verfügung.

Boot-GUI1 Nach der Installation des Paketes und dem Start des Programms zeigt sich dieses Bild. Im Prinzip erklärt sich alles von selbst: Auf der linken Seite wird der COM-Port eingestellt, welcher dem USB-Anschluss des Anzeigemoduls zugeordnet wurde (in meinem Fall COM7). Gleich daneben wird die Baudrate ausgewählt und hier kann man die höchste Geschwindigkeit 230400 nehmen. Weiterhin muss das Programm noch wissen, welche Datei zum Anzeigemodul gesendet werden soll und diese lässt sich über den Button Select Flash Hexfile bequem auswählen.

Damit sind die Vorbereitungen abgeschlossen. Jetzt ist gutes Timing erforderlich, denn man hat für die folgende Aktion nur wenig Zeit zur Verfügung: Zunächst ist ein kurzer Druck auf den Reset-Taster S3 des Anzeigemoduls erforderlich (drücken und wieder loslassen), anschließend muss innerhalb von 2 Sekunden der Button Connect to Bootloader angeklickt werden. War die Aktion erfolgreich, dann leuchtet das Status-Feld unten rechts grün auf und daneben erscheint der Hinweis Connected.

Es kann durchaus passieren, dass der Verbindungsaufbau nicht beim ersten Versuch klappt. In diesem Fall kann man diese Prozedur einfach wiederholen. Falls sich hier auch nach mehreren Versuchen kein Erfolg einstellt, dann arbeitet vermutlich die RS-232- oder USB-Option fehlerhaft und man sollte die Software auf dem direkten Weg über den ISP-Anschluss K2 installieren.

Boot-GUI2 Hat der Verbindungsaufbau geklappt, dann kann jetzt auf den Button Program Flash geklickt werden und der Transfer beginnt. Während dieser Aktion, die gut eine Minute dauert, zeigt sich das nebenstehende Bild: Das Status-Feld leuchtet gelb und ein Balken zeigt den Fortschritt der Übertragung an. Nach erfolgreicher Übertragung wird das Status-Feld wieder grün und der Hinweis Done erscheint.

Zum Abschluss der Installation wird nun auf den Button Start Application geklickt und dann sollte nach einer kurzen Verzögerung die Software des Anzeigemoduls starten. Die Verbindung zum Bootloader wird dabei wieder getrennt und das Kabel (RS-232 oder USB) kann entfernt werden.

Der Bootloader bleibt selbstverständlich auch weiterhin im Mikrocontroller gespeichert und wird nur bei einem Reset oder Systemstart wieder aktiv. Hier wartet er ungefähr 2 Sekunden auf eine bestimmte Zeichenfolge vom GUI-Programm und baut entweder eine Verbindung zum GUI-Programm auf oder startet beim Ausbleiben der Zeichenfolge die normale Software des Anzeigemoduls 2a. Somit ist künftig bei einem Software-Update nur noch der soeben beschriebene Schritt 2 und ein RS-232- bzw. USB-Kabel erforderlich.

Display01

Nach dem kompletten Aufbau der Hardware und der Installation der Software ist das Anzeigemodul 2a grundsätzlich funktionsfähig. Die Anzeige des Moduls sollte dann ähnlich wie im nebenstehenden Bild aussehen. Vermutlich werden in der oberen Zeile einige Fehlermeldungen angezeigt, aber das ist beim ersten Start vollkommen normal. Im Abschnitt Fehlermeldungen sind alle Fehler beschrieben und Hinweise zur Beseitigung zu finden. Einige der Fehler werden während der Konfiguration wahrscheinlich von selbst verschwinden.

Zunächst sind aber noch einige Einstellungen an der Hardware erforderlich:

BauteilFunktionEinstellung
R11 bzw. R203LCD-KontrastspannungEinstellung auf besten Display-Kontrast
C19Taktfrequenz der EchtzeituhrEinstellung mit Frequenzzähler am Messpunkt IC9/Pin7 und R22 auf 1,0Hz oder 1,0s
S4.1 (1-2)Typ des DrehimpulsgebersoffenDer verwendete Drehimpulsgeber arbeitet mit 2 Zustandsänderungen pro Drehschritt.
geschlossenDer verwendete Drehimpulsgeber arbeitet mit 4 Zustandsänderungen pro Drehschritt.
S4.2 (3-4)Richtung des DrehimpulsgebersoffenRechtsdrehung des Drehimpulsgebers bewegt Menüs nach rechts und vergrößert Werte.
geschlossenRechtsdrehung des Drehimpulsgebers bewegt Menüs nach links und verkleinert Werte.

Hinweis zur Einstellung der Taktfrequenz: Hier wird der Taktoszillator der Echtzeituhr auf genau 32768Hz abgeglichen. Da man nicht direkt am Oszillator messen kann, gibt es einen Messausgang am Anschluss 7 von IC9, welcher mit dem Pull-up-Widerstand R22 beschaltet ist. An diesem Punkt kann man direkt einen Frequenzzähler anschließen und mittels Trimmerkondensator C19 die Frequenz auf 1,0Hz oder die Periodendauer auf 1,0s einstellen. Hat man ein solches Messgerät nicht zur Verfügung, dann muss man die Uhrzeit über das entsprechende Konfigurations-Menü manuell einstellen und die Ganggenauigkeit über einen längeren Zeitraum beobachten. Dabei muss die Uhr wirklich frei laufen, es darf also kein DCF77-Empfänger angeschlossen werden. Nun muss man täglich die Zeit kontrollieren und mit C19 feinfühlig nachkorrigieren, wobei man zunächst die richtige Drehrichtung herausfinden muss. Man muss es an dieser Stelle aber nicht übertreiben - wenn die Uhr ± 3 Sekunden pro Tag falsch läuft, dann ist das nicht kritisch, denn sie wird später über das DCF77-Signal mindestens einmal am Tag korrigiert.

Hinweis zum Drehimpulsgeber: Es gibt 2 unterschiedliche Typen von Drehimpulsgebern, die sich in der Anzahl der ausgegebenen Zustandsänderungen bei jedem Drehschritt unterscheiden. Der von mir verwendete STEC12E08 gibt beispielsweise 4 Änderungen pro Drehschritt aus. In diesem Fall muss also der Schalter S4.1 geschlossen sein. Bei dem im älteren Anzeigemodul 2 benutzten Typ EVQWTA-S20-15B sind es beispielsweise nur 2 Zustandsänderungen pro Drehschritt. Falls man einen solchen Impulsgeber verwendet, muss der Schalter S4.1 geöffnet sein.

Mit dem Schalter S4.2 lässt sich bei Bedarf die Wirkrichtung des Drehimpulsgebers umkehren, d.h. eine Drehung des Gebers nach rechts bewirkt dann eine Veränderung nach links oder im Falle einer Wert-Eingabe die Verkleinerung des Wertes. Diese Funktion kann man nutzen, wenn der Drehimpulsgeber nicht rechts unterhalb des Displays angeordnet werden soll (aus welchen Gründen auch immer).

Wenn man einen unbekannten Drehimpulsgeber verwendet und man nicht sicher ist, welche Schalterstellung verwendet werden soll, dann kann man die richtige Einstellung auch durch Probieren ermitteln. Die beiden Schalter S4.1 und S4.2 kann man während des Betriebes umschalten und die geänderte Funktion wird sofort wirksam.

SymbolUpdate

Ein wichtiger Hinweis vorweg: Die nachfolgende Prozedur gilt für das Update eines Anzeigemoduls 2a mit der Software-Version 3.xxx auf eine neuere Version. Bei einem Upgrade vom Anzeigemodul 2 auf das Anzeigemodul 2a kann diese Prozedur nicht angewendet werden. In diesem Fall ist immer eine Inbetriebnahme mit Neukonfiguration erforderlich.

Das Update eines bereits laufenden Anzeigemoduls 2a erfolgt ähnlich wie eine Neuinbetriebnahme, nur können hier einige Schritte weggelassen werden: Es ist sowohl ein Update über den ISP-Anschluss K2 (Variante 1) als auch ein Update über einen Bootlader möglich (Variante 2). Bei der Planung des Updates muss man bedenken, dass im Anzeigemodul zyklische Prozesse laufen, die u.a. für die Aufzeichnung der Sensordaten sorgen. Ein Update wird zwangsläufig das laufende Programm unterbrechen und kann im ungünstigsten Fall zum Verlust von Daten führen. Damit dies nicht passiert, folgt hier eine kurze Anleitung für einen Update-Vorgang ohne Datenverlust:

  1. Menü-Option Konfiguration - Backup - Konfiguration sichern ausführen
  2. Sicherheitsabfrage durch nochmaliges Drücken des Drehimpulsgebers bestätigen
  3. Warten bis zum nächsten Log-Intervall (Minute 0, 15, 30 oder 45)
  4. Neue Software programmieren (über ISP oder Bootloader)

Normalerweise sollte (sofern bei der Inbetriebnahme alles richtig gemacht wurde) nach der Installation der neuen Software das Anzeigemodul wieder normal anlaufen und die gewohnte Datenanzeige mit allen Sensor- und Alarmnamen sichtbar werden. Falls jedoch ein Konfigurations-Fehler gemeldet wird, dann sind vermutlich die Daten im EEPROM des Mikrocontrollers beschädigt oder gelöscht worden. Aber keine Panik! Dafür haben wir vorher ein Backup angelegt und mit der folgenden Handlung können die Daten wieder hergestellt werden:

  1. Menü-Option Konfiguration - Backup - Konfiguration laden/Neustart ausführen
  2. Sicherheitsabfrage durch nochmaliges Drücken des Drehimpulsgebers bestätigen
  3. Die gesicherte Konfiguration wird geladen und anschließend das Anzeigemodul neu gestartet

Damit ist das Update abgeschlossen.

SymbolBedienung

Das Anzeigemodul 2a wird mit einem relativ großen grafischen Display betrieben, welches eine Auflösung von 240x128 Pixeln besitzt. Im Hauptbildschirm werden viele Daten in Textform angezeigt und obwohl das Display einen Textmodus mit eigenem Zeichensatz besitzt, betreibe ich es permanent im Grafikmodus. Das den Vorteil, dass man einen eigenen Zeichensatz in der benötigten Größe verwenden und die Schrift an beliebige Stellen schreiben kann. Anstatt der internen Zeichengröße von 8x8 bzw. 6x8 Pixel werden hier Zeichen mit 8x11 Pixel verwendet. Damit lassen sich sowohl saubere Umlaute als auch ordentliche Unterlängen darstellen. Ich bin sogar noch einen Schritt weiter gegangen und habe eine variable Zeichenbreite verwendet (Proportionalschrift), so dass man mehr Informationen auf eine Zeile bekommt und die Schrift insgesamt besser aussieht. Aber einen Nachteil will ich auch nicht verschweigen: die grafische Ausgabe erfordert die Übertragung recht großer Datenmengen an das Display und es wirkt dadurch etwas träge.

Da noch etwas Platz auf der Hauptanzeige übrig war, habe ich noch eine zusätzliche Großanzeige für einen Temperaturwert realisiert. Hier wird jede Ziffer aus 6 Blöcken zusammengesetzt, die jeweils aus einzelnen 8x11-Zeichen bestehen. Wegen des begrenzten Platzes erfolgt die Anzeige im Bereich von -9,9°C bis 99,9°C mit einer Auflösung von 0,1°, darüber hinaus ist die Großanzeige ganzzahlig.

Display02 Die Anzeige gliedert sich in 3 Bereiche: die Infozeile ganz oben, den eigentlichen Anzeigeteil in der Mitte und die Menüzeile ganz unten. Alle Bereiche sind gut sichtbar durch Linien getrennt und diese Struktur ist in allen Menüs gleich.

Die obere Zeile zeigt im Normalbetrieb ständig das Datum und die Uhrzeit sowie den Status von Bluetooth, DCF77 und Lautsprecher an. Bei Auswahl eines Untermenüs wird anstatt des Datums der Name des Untermenüs eingeblendet. Tritt ein Systemfehler auf, so wird im Hauptmenü anstelle des Datums der aufgetretene Fehler in invertierter Schrift angezeigt. Treten mehrere Fehler gleichzeitig auf, so wechselt die Fehleranzeige zyklisch alle 2 Sekunden und zeigt die einzelnen Fehler nacheinander an.

Die Symbole oben rechts haben folgende Bedeutung:

SymbolKein DCF-Empfang innerhalb der letzten 24 Stunden.
SymbolDie Uhr wurde innerhalb der letzten 24 Stunden mit dem DCF-Signal synchronisiert.
SymbolDie PC-Datenkommunikation ist aktiv.
SymbolDas Bluetooth-Modul ist aktiviert (in Kombination mit den 3 oben stehenden Symbolen).
SymbolDie akustische Signalisierung ist ausgeschaltet (stumm).
SymbolDie akustische Signalisierung ist eingeschaltet.
SymbolStatus Abwesend: Lautsprecher, LEDs, Bluetooth und Display-Beleuchtung sind ausgeschaltet.

Die Anzeige der Sensorwerte erfolgt auf 2 Seiten, zwischen denen jederzeit gewechselt werden kann. Damit man sofort sieht, welche Anzeigeseite gerade aktiv ist, fand sich mittig am rechten Rand gerade noch eine kleine Fläche für die Seitenanzeige:

SymbolDie Anzeigeseite 1 ist aktiv.
SymbolDie Anzeigeseite 2 ist aktiv.

Die untere Bildschirmzeile wird komplett für die Menüsteuerung verwendet. Dabei bildet die linke Hälfte zusammen mit dem Taster S2 sowie die rechte Hälfte zusammen mit dem Drehimpulsgeber/Taster S1 eine Softkey-Funktion. Das bedeutet, dass die jeweils auf der Zeilenhälfte angezeigte Option ausgeführt wird, wenn man den zugehörigen Taster drückt. Ganz rechts sind zusätzlich noch zwei Dreiecke zu sehen, diese zeigen an, ob weitere Optionen in der entsprechenden Drehrichtung des Impulsgebers auswählbar sind:

SymbolKeine weiteren Optionen verfügbar.
SymbolWeitere Optionen durch Rechtsdrehen des Impulsgebers verfügbar.
SymbolWeitere Optionen durch Linksdrehen des Impulsgebers verfügbar.
SymbolWeitere Optionen in beiden Drehrichtungen verfügbar.

Ein Druck auf den Impulsgeber wählt immer die angezeigte Option aus. In einigen Fällen wird ein kurzer Quittungston ausgegeben. Das passiert immer dann, wenn die vorgenommenen Einstellungen dauerhaft im internen EEPROM des Controllers gespeichert werden. In Abhängigkeit von der zu speichernden Datenmenge erscheint außerdem kurzzeitig der Text - Bitte warten - in der Menüzeile.

Zusätzlich zum großen Display sind noch drei LEDs (Rot, Gelb und Blau) für die Signalisierung von Fehlern, Alarmen und anderen Zuständen vorgesehen. Die Bedeutung zeigt folgende Tabelle:

FallLEDZustandBedeutung
1Symbolleuchtet Mindestens einer der folgenden Fehler ist aufgetreten, der Text wird in der Infozeile (oben) angezeigt:
  • Uhr nicht eingestellt - Keine gültige Uhrzeit vorhanden
  • Kein Datenempfang - Vom Sensormodul werden keine Daten mehr empfangen
  • Konfigurations-Fehler - Das interne EEPROM enthält keine oder fehlerhafte Konfigurationsdaten
  • Speicher-Fehler - Ein Fehler beim Zugriff auf das externe EEPROM ist aufgetreten
  • Echtzeituhr-Fehler - Ein Fehler beim Zugriff auf die Echtzeituhr ist aufgetreten
  • Pointer-Fehler - Beim Systemstart wurde mindestens ein Pointerwert nicht gefunden
  • Log-Tabellen-Fehler - Konflikt bei der Log-Zuordnung
2Symbolblinkt mit 3Hz Mindestens einer der 4 Alarme ist aktiv, die aktiven Alarme werden invertiert angezeigt.
3Symbolleuchtet und blinkt mit 3Hz abwechselnd Fall 1 und 2 tritt gleichzeitig auf.
4Symbolblitzt alle 2s auf Mindestens einer der 4 Alarme wurde ausgelöst, hat aber wieder den Normalzustand eingenommen. Die betroffenen Alarme werden unterstrichen angezeigt. Dieser Zustand wird nur dann signalisiert, wenn nicht gleichzeitig Fall 1-3 auftritt.
5Symbolleuchtet Mindestens ein Sensor ist ausgefallen, hinter den betroffenen Sensorwerten steht ein Ausrufezeichen.
6Symbolblinkt mit 3Hz Mindestens eine Über- oder Unterschreitung eines Temperaturgrenzwertes ist aktiv, die betroffenen Temperaturwerte werden invertiert angezeigt, zusätzlich zeigt ein Pfeil hinter dem Wert die Richtung an (nach oben = Überschreitung, nach unten = Unterschreitung).
7Symbolleuchtet und blinkt mit 3Hz abwechselnd Fall 5 und 6 tritt gleichzeitig auf.
8Symbolblitzt alle 2s auf Mindestens ein Temperaturgrenzwert wurde über- oder unterschritten, hat aber wieder den Normalwert erreicht. Die betroffenen Temperaturwerte werden unterstrichen angezeigt, zusätzlich zeigt ein Pfeil hinter dem Wert die Richtung an (nach oben = Überschreitung, nach unten = Unterschreitung). Dieser Zustand wird nur dann signalisiert, wenn nicht gleichzeitig Fall 5-7 auftritt.
9SymbolleuchtetDie PC-Datenkommunikation ist aktiv.

Noch etwas zur Signalisierung von Fehlern, Alarmen und Temperaturüberschreitungen: Grundsätzlich werden aktive Ereignisse durch eine invertierte Textdarstellung auf dem Display hervorgehoben. Bei Systemfehlern erfolgt diese Anzeige in der Infozeile oben links, bei Alarmen von den 4 Eingängen des Sensormoduls wird der entsprechende Alarmname invertiert und bei Temperaturalarmen werden sowohl der Sensorname als auch der Temperaturwert invertiert. Kehrt das Ereignis wieder in den Normalzustand zurück, so werden die entsprechenden Texte wieder normal angezeigt und zusätzlich unterstrichen. So wird man auf das aufgetretene Ereignis hingewiesen (Erinnerung).

Da nur maximal 16 Sensorwerte auf eine Anzeigeseite passen, müssen die möglichen 31 Sensorwerte auf 2 Anzeigeseiten verteilt werden. Wenn ein Sensoralarm auftritt, dann schaltet die Software automatisch auf die Seite um, auf der sich der betroffene Sensor befindet. So ist sichergestellt, dass ein Temperaturalarm sofort sichtbar ist. Treten weitere Temperaturalarme auf, dann wiederholt sich dieser Vorgang und so kann es vorkommen, dass sich auf beiden Anzeigeseiten aktive Alarme befinden. Bei der Rückkehr eines Temperaturalarms in den Normalzustand wird übrigens die Anzeigeseite nicht gewechselt.

Wichtig für die Konfiguration des Anzeigemoduls ist die genaue Kenntnis aller Sensortypen und deren Besonderheiten. Insgesamt kann das Anzeigemodul 2a bis zu 31 Sensoren verwalten, dazu kommen noch 2 „virtuelle“ Sensoren. Das ergibt eine große Menge an Parametern, die auf mehrere Konfigurations-Menüs verteilt werden mussten. Damit man nicht den Überblick verliert, soll die nachfolgende Tabelle alle wichtigen Informationen über die Sensoren aufzeigen:

SensornummerSensorkennungSensortyp Die Konfiguration erfolgt in den folgenden Untermenüs:Bemerkung
Einstellungen 1Einstellungen 2Grenzwerte 1 Grenzwerte 2Log-Zuordnung 1Log-Zuordnung 2
S01T01Temperatur PunktPunktPunkt
S02T02Temperatur PunktPunktPunkt
S03T03Temperatur PunktPunktPunkt
S04T04Temperatur PunktPunktPunkt
S05T05Temperatur PunktPunktPunkt
S06T06Temperatur PunktPunktPunkt
S07T07Temperatur PunktPunktPunkt
S08T08Temperatur PunktPunktPunkt
S09T09Temperatur PunktPunktPunkt
S10T10Temperatur PunktPunktPunkt
S11T11Temperatur PunktPunktPunkt
S12T12Temperatur PunktPunktPunkt
S13T13Temperatur PunktPunktPunkt
S14T14Temperatur PunktPunktPunkt
S15T15Temperatur PunktPunktPunkt
S16T16Temperatur PunktPunktPunkt
S17T17Temperatur PunktPunktPunkt
S18T18Temperatur PunktPunktPunkt
S19T19Temperatur PunktPunktPunkt
S20T20Temperatur PunktPunktPunkt
S21T21Temperatur PunktPunktPunkt
S22T22Temperatur PunktPunktPunkt
S23T23Temperatur PunktPunktPunkt
S24T24Temperatur PunktPunktPunkt
S25T25Temperatur PunktPunktPunkt Temperaturwert des Luftfeuchtigkeitssensors H01
S26T26Temperatur PunktPunktPunkt Temperaturwert des Luftfeuchtigkeitssensors H02
S27T27Temperatur PunktPunktPunkt Temperaturwert des Luftfeuchtigkeitssensors H03
S28P01Luftdruck Punkt
S29H01Luftfeuchtigkeit PunktPunktverknüpft mit T25
S30H02Luftfeuchtigkeit PunktPunktverknüpft mit T26
S31H03Luftfeuchtigkeit PunktPunktverknüpft mit T27
(S32)P01Luftdruckverlauf keine Konfiguration erforderlich, siehe nächste Tabelle
(S32)B01Batteriespannung keine Konfiguration erforderlich, siehe nächste Tabelle

Weitere Informationen zur Tabelle:

Neben den 31 Sensoren T01-T27, P01, H01-H03, deren Daten vom Sensormodul übermittelt werden, existieren noch 2 weitere Sensoren, die ihre Daten aus anderen Quellen erhalten:

SensorkennungSensortypBeschreibung
P01LuftdruckverlaufDieser Sensor kann im Menü Konfiguration - Sensoren - Anzeige als weiterer Sensor ausgewählt werden und stellt anstatt eines Sensorwertes den Luftdruckverlauf der vergangenen 34 Stunden in einer Mini-Grafik dar. Dabei entspricht ein Pixel in X-Richtung einer Stunde und ein Pixel in Y-Richtung einem Hektopascal (1hPa). Die Daten für diese Grafik werden aus dem 15min-Log-Daten-Speicher des Luftdrucksensors P01 entnommen, wobei (ausgehend von der aktuellen Zeit) Werte im Abstand von einer Stunde gelesen und aufbereitet werden. Die Aktualisierung der Grafik erfolgt immer zur Minute 1, 16, 31, und 46.
Zur Unterscheidung vom normalen Luftdrucksensor (welcher den gleichen Namen hat), wird dieser in den Konfigurations-Menüs unterstrichen dargestellt.
B01BatteriespannungDieser Sensor kann im Menü Konfiguration - Grafik-Presets als weiterer Sensor ausgewählt werden und ermöglicht die grafische Darstellung der Batteriespannung der Echtzeituhr. Hier können sowohl 15min- als auch 24h-Werte zur Anzeige kommen. Bei den 24h-Werten gibt es die Besonderheit, dass die Minimal-, Maximal- und Mittelwerte identisch sind und der aktuellen Batteriespannung um 23:59 Uhr entspricht.

Wie schon erwähnt, erfolgt die Bedienung des Anzeigemoduls über 2 Elemente (Drehimpulsgeber S1 und Taster S2) sowie die unterste Zeile im Display (Menüzeile), neudeutsch nennt man das auch Softkeys. Die einzelnen Untermenüs werden mit dem Impulsgeber auf der rechten Seite vorgewählt und durch Druck auf den Impulsgebertaster aktiviert. Der Einzeltaster auf der linken Seite hat immer die Funktion Zurück und dient zum Abbruch von Funktionen bzw. zur Rückkehr in die übergeordnete Menüebene - mit Ausnahme des Hauptmenüs. Im Folgenden werden die einzelnen Menüs beschrieben. Alle Infos und Bilder beziehen sich auf die Software-Version 3.000 vom 02.06.2012.

Noch ein wichtiger Hinweis für die erste Inbetriebnahme: Bevor mit der Konfiguration von Sensoren und Alarmen begonnen wird, müssen unbedingt die folgenden Aktionen durchgeführt werden. Diese laden definierte Anfangswerte in das Konfigurations-EEPROM und löschen alle Log- und Meldungsdaten im externen EEPROM.

  1. Menü-Option Konfiguration - Grundeinstellung - Basiskonfiguration laden ausführen.
  2. Menü-Option Konfiguration - Grundeinstellung - 15min Werte löschen ausführen.
  3. Menü-Option Konfiguration - Grundeinstellung - 24h Werte löschen ausführen.
  4. Menü-Option Konfiguration - Grundeinstellung - Meldungen löschen ausführen.

SymbolMenü Hauptmenü

Das Hauptmenü ist immer im normalen Betrieb des Anzeigemoduls aktiv. Hier werden bis zu 16 aktuelle Sensorwerte in 2 Spalten zu je 8 Werten angezeigt. Die Anzeigeposition jedes Sensorwertes kann frei auf 2 Anzeigeseiten innerhalb dieses Rasters gewählt werden. Auf der rechten Seite sind im oberen Teil immer die Namen der 4 Alarme des Sensormoduls (Alarmeingänge) zu sehen. In dem verbliebenen Fester darunter lässt sich ein beliebiger Temperaturwert im Großformat anzeigen.

Vom Hauptmenü aus kann mit dem Impulsgeber jedes Untermenü erreicht werden, wobei eine Art Baumstruktur verwendet wird. Der linke Taster hat immer die Funktion Zurück und führt in die vorherige Menü-Ebene. Im Hauptmenü hat dieser Taster keine Funktion, da die oberste Menü-Ebene erreicht ist. Er kann aber unter bestimmten Umständen 2 Sonderfunktionen haben:

Signal ausschalten Falls Fehler oder Alarmmeldungen auftreten und diese gerade akustisch signalisiert werden, dann erscheint dieser Text und ein Druck auf den linken Taster schaltet den akustischen Alarm ab.
Erinnerungen löschen Falls Fehler oder Alarmmeldungen aufgetreten sind und unterstrichene Elemente auf diesen Zustand hinweisen, dann erscheint dieser Text und ein Druck auf den linken Taster entfernt alle Erinnerungen wieder.

Die gesamte Menüstruktur sieht folgendermaßen aus:

Ebene 1Ebene 2Ebene 3Ebene 4OptionenBeschreibung
HauptmenüSeite wechseln0 Umschaltung auf die jeweils andere Anzeigeseite
Minimal-Werte1Anzeige der Minimalwerte aller Sensoren dieser Seite
Maximal-Werte1Anzeige der Maximalwerte aller Sensoren dieser Seite
Grafik<Preset-Name>6 Aufruf eines Grafik-Presets (Voreinstellung) und Anzeige der Grafik
Meldungen3Anzeige aller gespeicherten Alarme, Fehler und Temperaturüberschreitungen
Status5Status-Übersicht der Hardware und Anzeige einige Systemdaten
KonfigurationSensoren Einstellungen 13Einstellungen der Sensoren T01-T16 (Sensorname, Ein/Ausschalten)
Einstellungen 23Einstellungen der Sensoren T17-T27, P01, H01-H03 (Sensorname, Ein/Ausschalten)
Grenzwerte 13Einstellungen der Grenzwerte für die Sensoren T01-T16 (oberer/unterer Grenzwert)
Grenzwerte 23Einstellungen der Grenzwerte für die Sensoren T17-T27 (oberer/unterer Grenzwert)
Anzeige2Platzierung aller Sensoren auf der Anzeigeseite 1 und 2
Großanzeige2Auswahl des Sensors für die Großanzeige von Anzeigeseite 1 und 2
Log-Zuordnung 12Einstellung der Log-Positionen für Sensorgruppe 1 (T01-T24)
Log-Zuordnung 22Einstellung der Log-Positionen für Sensorgruppe 2 (H01-H03 / T25-T27)
Alarme5Einstellungen der 4 Alarme (Alarmname, Ein/Ausschalten, Invertierung, Position)
SignaleZuordnung4 Einstellung der Alarmsignale für verschiedene Ereignisse (Signal, Dauer)
Audio2Einstellung der Signal-Parameter (Lautstärke, Tonfrequenz)
ZeitenSchaltzeiten4 Einstellung der Schaltzeiten für Signale, Beleuchtung, Bluetooth und Reset der Min/Max-Werte
Uhr stellen2Manuelle Einstellung der Systemuhr
Sonstiges2 Einstellung von Sprache, Trennzeichen, Beleuchtungs-Funktionen, Seiten-Rückschaltung und PC-Baudrate
DCF772Einstellungen für den DCF77-Empfänger (Invertierung, Pull-up)
Grafik-Presets2 Grafik-Voreinstellungen 1-24 (Preset-Name, Sensoren und Modus für Grafik 1, Sensoren und Modus für Grafik 2)
BackupKonfiguration sichern1 Speichern der aktuellen Konfiguration im externen EEPROM
Konfiguration laden/Neustart1Laden der Konfiguration aus dem externen EEPROM und anschließender Neustart
GrundeinstellungBasiskonfiguration laden1 Laden einer einfachen Grundkonfiguration und anschließender Neustart
Grafik-Presets zurücksetzen1Laden von 24 einfachen Voreinstellungen für die Grafikanzeige
15min Werte löschen1Löschen aller gespeicherte 15min-Log-Daten im externen EEPROM
24h Werte löschen1Löschen aller gespeicherten Tages-Log-Daten im externen EEPROM
Meldungen löschen1Löschen aller gespeicherten Meldungs-Daten im externen EEPROM

Im Folgenden werden alle Untermenüs beschrieben.

SymbolMenü Seite wechseln

Display03

Dieses ist kein Untermenü im eigentlichen Sinne - hier wird einfach zwischen den beiden Anzeigeseiten gewechselt. Aus diesem Grund gibt es hier auch keine Funktion Zurück.

Display04 Ein weiterer Druck auf den Impulsgeber schaltet wieder auf die ursprüngliche Seite zurück. Am rechten Rand wird im mittleren Bereich die Nummer der gerade aktuellen Seite invertiert angezeigt.

3 Minuten nach der letzten Tasterbetätigung wird automatisch wieder auf die Seite 1 umgeschaltet. Diese Funktion lässt sich in der Konfiguration bei Bedarf abschalten.

SymbolMenü Minimal-Werte

Display05 Dieses Untermenü zeigt den gleichen Bildaufbau wie das Hauptmenü. Anstelle der aktuellen Sensorwerte werden jetzt die ermittelten Minimalwerte angezeigt. Falls ein Temperatur-Grenzwert unterschritten wurde, dann wird der betroffene Temperaturwert invertiert dargestellt. War vor dem Aufruf der Minimalwerte die Anzeigeseite 2 aktiv, dann werden die Minimalwerte der Seite 2 angezeigt.

Folgende Option ist hier möglich:
Zurücksetzen Ein Druck auf den Impulsgeber setzt alle Minimalwerte ohne weitere Rückfrage auf die aktuellen Werte zurück. In der Grundeinstellung des Anzeigemoduls werden die Minimalwerte um 20:00 Uhr automatisch zurückgesetzt, damit stehen die Minimalwerte der vergangenen Nacht noch den gesamten Tag zur Verfügung. Die automatische Rücksetzung lässt sich in der Konfiguration auch auf eine andere Zeit einstellen oder ganz abschalten.

SymbolMenü Maximal-Werte

Display06 Dieses Untermenü ist mit den Minimalwerten vergleichbar, nur das hier die Maximalwerte aller Sensoren zur Anzeige kommen. Auch hier werden bei aufgetretenen Überschreitungen die betroffenen Werte invertiert dargestellt. War vor dem Aufruf der Maximalwerte die Anzeigeseite 2 aktiv, dann werden die Maximalwerte der Seite 2 angezeigt.

Folgende Option ist hier möglich:
Zurücksetzen Ein Druck auf den Impulsgeber setzt alle Maximalwerte ohne weitere Rückfrage auf die aktuellen Werte zurück. In der Grundeinstellung des Anzeigemoduls werden die Maximalwerte um 8:00 Uhr automatisch zurückgesetzt, damit stehen die Maximalwerte des Tages noch bis zum nächsten Morgen zur Verfügung. Die automatische Rücksetzung lässt sich in der Konfiguration auch auf eine andere Zeit einstellen oder ganz abschalten.

SymbolMenü Grafik

Über dieses Menü lassen sich alle gespeicherten Sensordaten grafisch darstellen. Da die Grafikanzeige recht komplex ist und aus bis zu 6 Parametern besteht, lassen sich 24 Voreinstellungen (Presets) festlegen, die dann im Menü Grafik sofort zur Verfügung stehen. Für jedes Preset kann ein Name definiert werden, der ein schnelles Auffinden der gewünschten Grafik ermöglicht.

Display07

Nach der Auswahl des Menüs Grafik bleibt die Hauptanzeige zunächst unverändert. In der Menüzeile werden jetzt die 24 Presets mit Nummer und Name angeboten und können durch Drehen des Impulsgebers ausgewählt werden.

Display08

Ein Druck auf den Impulsgeber lädt dann das gewählte Preset und startet die Grafikanzeige. Möchte man eine andere Grafik betrachten, dann genügt ein Druck auf Zurück und man befindet sich wieder in der Preset-Auswahl. Auf diese Weise kommt man sehr schnell an die gewünschte Grafik und kann auch schnell zwischen verschiedenen Ansichten wechseln.

Alle Diagramme haben grundsätzlich den gleichen Aufbau und zeigen den Verlauf eines Sensorwertes über einen bestimmten Zeitraum an. Beim Aufruf einer Grafik werden dabei immer aktuelle Daten angezeigt, d.h. auf der rechten Seite des Kurvenverlaufs ist der zuletzt erfasste Messwert zu sehen. Für die Zeitachse stehen genau 222 Pixel zur Verfügung, das entspricht bei 15min-Werten einer Zeitspanne von 2 Tagen und 7,5 Stunden; bei 24h-Werten (Minimal-, Maximal- oder Mittelwerte) entspricht das einem Zeitraum von 222 Tagen.

Display09

Neben der Darstellung der Daten eines einzelnen Sensors lassen sich auch die Verläufe von 2 Sensorwerten in Form eines Doppeldiagramms darstellen. Dabei können auch verschiedene Sensortypen gemischt werden - so zeigt dieses Bild die Temperatur und die Luftfeuchtigkeit gleichzeitig an.

Display10

Dieses Bild zeigt ein Einzeldiagramm mit 15min Werten. Die X-Skala ist hier in Stunden eingeteilt, wobei alle 4 Stunden eine Markierung mit dem entsprechenden Stundenwert zu sehen ist. Die einzige Ausnahme ist der Zeitpunkt 0:00 Uhr, hier steht immer das Datum des Tages. Die Y-Skala befindet sich bei dieser Beispielgrafik in der höchsten Auflösung: 1 Pixel = 0,1°. Die Auflösung orientiert sich immer am niedrigsten und höchsten darzustellenden Wert und wird nach folgendem Verfahren angepasst: Es wird zunächst geprüft, ob die Werte bei der höchsten Auflösung in das Diagramm passen. Ist dies nicht möglich, dann wird geprüft, ob eine Darstellung mit der halben Auflösung (1 Pixel = 0,2°) möglich ist. Diese Halbierung wird so lange wiederholt, bis die Daten ins Diagramm passen. Entsprechend ändert sich dann die Beschriftung der Y-Achse.

Display11 Dieses Bild zeigt ein Doppeldiagramm mit Tages-Mittelwerten. Hier ist auf der X-Skala immer der Beginn jedes Monats beschriftet, zusätzlich gibt es noch eine weitere Markierung ohne Beschriftung, die den 15. jedes Monats kennzeichnet. Die Grafik füllt hier nicht das gesamte Bild aus, da mein Anzeigemodul noch nicht genügend Daten gesammelt hat. Ich werde dieses Bild an einem geeigneten Zeitpunkt austauschen :-)

Bei den Doppeldiagrammen sind nahezu alle denkbaren Kombinationen möglich - bis auf eine Ausnahme: eine gemischte Darstellung von 15min- und 24h-Werten ist nicht möglich.

Display12 Hier ist ein Beispielbild, welches noch eine weitere Funktion zeigt. Neben absoluten Sensorwerten lassen sich auch Sensordifferenzen darstellen und das sowohl als Einzel- als auch als Doppeldiagramm. Das ist natürlich nur bei Temperaturen sinnvoll und so lassen sich bei der Konfiguration eines solchen Presets auch nur Temperatursensoren auswählen. Solche Darstellungen kann man z.B. für die Differenz zwischen einem Heizungs-Vor- und Rücklauf verwenden. Ich habe diese Funktion genutzt, um die Temperaturdifferenzen am Wärmetauscher meiner Lüftungsanlage zu kontrollieren.

Ein Differenzdiagramm kann auch mit einem absoluten Diagramm kombiniert werden. So lässt sich z.B. die Heizungs-Vor/Rücklauf-Differenz mit der Außentemperatur vergleichen.

Wie schon erwähnt, können auch Luftfeuchtigkeitswerte und der Luftdruckverlauf grafisch dargestellt werden und sogar die Anzeige der Batteriespannung der Echtzeituhr ist möglich. Allerdings musste ich Kompromisse eingehen, da die hier verwendete Software vom Anzeigemodul 2 stammt und ursprünglich nur zur Darstellung von Temperaturwerten vorgesehen war. So liegt der Wertebereich auf der Y-Achse immer zwischen -99 und 125 und alle Sensorwerte müssen sich daran orientieren:

MessgrößeWert im SpeicherWert auf Y-AchseEinheitentsprichtBemerkung
Temperatur-550 ... 1250-55 ... 125°C-55 ... 125°C
Temperaturdifferenz-999 ... 1250-99 ... 125K-99 ... 125K
Luftdruck150 ... 115015 ... 115kPa150 ... 1150hPa
Luftfeuchtigkeit0 ... 1000 ... 100%0 ... 100% Der Sensorwert wird vor der Verwendung mit 10 multipliziert
Batteriespannung0 ... 3500 ... 35100mV0 ... 3,5V

Damit man sofort erkennen kann, welche Daten gerade angezeigt werden, werden der Sensorname und die verwendete Einheit in den Diagrammbereich eingeblendet. Abhängig von den angezeigten Daten werden einige Symbole verwendet, welche folgende Bedeutung haben:

Symbol Die Grafik zeigt die Differenz zwischen zwei Temperaturwerten (Delta). Dieses Symbol steht immer vor Sensornamen.
SymbolDie Grafik zeigt 24h-Minimalwerte. Dieses Symbol steht immer hinter Sensornamen.
SymbolDie Grafik zeigt 24h-Maximalwerte. Dieses Symbol steht immer hinter Sensornamen.
SymbolDie Grafik zeigt 24h-Mittelwerte. Dieses Symbol steht immer hinter Sensornamen.

Während der Grafikanzeige sind 6 Optionen über den Impulsgeber auswählbar:

Vorherige Seite Bei jedem Aufruf eines Grafik-Presets werden zunächst aktuelle Daten angezeigt, man befindet sich also zeitlich betrachtet auf der letzten Seite. Mit dieser Option können weitere Daten in Richtung Vergangenheit angezeigt werden, es erscheint somit die Fortsetzung der Grafik auf der linken Seite. Bei 15min-Werten lassen sich bis zu 17 weitere Seite aufrufen, bei 24h Werten nur eine.
Nächste Seite Diese Option zeigt weitere Daten in Richtung Gegenwart. Das funktioniert allerdings nur, wenn man vorher in die Vergangenheit geblättert hat.
Fadenkreuz Diese Option bietet die Möglichkeit, einen bestimmten Wert im Kurvenverlauf anzuzeigen. Dazu wird ein Fadenkreuz über die Grafik gelegt, wobei der Schnittpunkt genau auf der Messkurve liegt.

Display13

Bei Doppelgrafiken wie im nebenstehenden Bild werden 2 Fadenkreuze sichtbar. Durch Drehen des Impulsgebers lässt sich das Fadenkreuz verschieben, wobei in der Menüzeile über dem Impulsgeber immer die Werte an der Fadenkreuzposition angezeigt werden. Schnelles Drehen des Impulsgebers beschleunigt die Verschiebung und ermöglicht größere Sprünge. Mit der Option Zurück wird das Fadenkreuz wieder ausgeblendet.
Sensornamen anzeigen Mit dieser Option lässt sich der Sensorname im Diagrammbereich ein- oder ausblenden. Normalerweise kann man diese Option immer eingeschaltet lassen, da die Software versucht, den Namen so zu platzieren, dass die Grafik möglichst nicht verdeckt wird. Leider gelingt das nicht immer und so lässt sich der Sensorname ausblenden, um die ganze Kurve betrachten zu können. Ein nochmaliger Aufruf dieser Option schaltet die Sensornamen wieder ein. Die letzte Einstellung dieser Option wird separat in jedem Grafik-Preset gespeichert.
Skala angleichen Diese Option ist für Doppeldiagramme bestimmt. Sie bewirkt, dass die Temperaturskalen beider Diagramme auf die gleiche Auflösung geschaltet werden. Normalerweise wird die Auflösung jedes Diagramms einzeln ermittelt. Oft wünscht man sich aber die gleiche Skala, damit man die Kurven besser vergleichen kann und dafür ist diese Option bestimmt, welche übrigens auch separat in jedem Grafik-Preset gespeichert wird. Damit man erkennt, dass diese Option eingeschaltet ist, wird folgendes Symbol eingeblendet:
Symbol Die Skalen der Doppelgrafik sind auf die gleiche Auflösung gesetzt. Dieses Symbol steht immer vor Sensornamen.
Schriftgröße Da die Sensornamen und weitere Informationen die Grafik teilweise verdecken können, lässt sich die Schriftgröße von der normalen System-Schrift in eine Mini-Schrift (5 Pixel Höhe) umschalten. Damit sind die Informationen kompakter, aber auch schlechter lesbar. Ein erneuter Aufruf dieser Option schaltet wieder auf die normale Schriftgröße zurück. Auch hier wird die letzte Einstellung separat in jedem Grafik-Preset gespeichert.

SymbolMenü Meldungen

Nach dem Aufruf dieses Menüs werden alle aufgetretenen Ereignisse in Listenform angezeigt, wobei die letzte und somit aktuellste Meldung ganz oben steht. Jede Meldungszeile beginnt mit einem Kategorie-Symbol, daneben stehen das Datum, die Uhrzeit und der Meldungstext.

Display14 Eine Bildschirmseite zeigt 8 Meldungen an und über 3 Optionen kann man weitere Meldungen in der Vergangenheit anzeigen und auch wieder in die Gegenwart blättern. Damit man die Liste, die bis zu 500 Einträge haben kann, nicht komplett nach bestimmten Ereignissen durchsuchen muss, habe ich noch eine Filter-Möglichkeit eingebaut.

Die Kategorie-Symbole haben folgende Bedeutung:
Symbol Alarm-Meldung: An einem der 4 Eingänge des Sensormoduls wurde ein Alarm ausgelöst oder ein Alarm ist wieder verschwunden.
Symbol Temperatur-Meldung: Ein Grenzwert wurde über- oder unterschritten oder eine Temperatur kehrt in den normalen Bereich zurück.
Symbol Eine der folgenden System-Meldungen ist aufgetreten: System-Neustart, Log-Tabellen-Fehler, Kein Datenempfang, Datenempfang ok, Konfigurations-Fehler, Pointer-Fehler, Sensorausfall <Name> oder Sensor ok <Name>.

Bei diesem Menü stehen 3 Optionen zur Verfügung:

Vorherige Seite Beim Aufruf der Meldungen werden zunächst aktuelle Daten angezeigt, man befindet sich also zeitlich betrachtet auf der letzten Seite. Über diese Option lässt sich die Anzeige um eine Seite zurückblättern - es werden die vorherigen 8 Meldungen (in Richtung Vergangenheit) angezeigt.
Nächste Seite Über diese Option lässt sich die Anzeige um eine Seite vorblättern - es werden die nächsten 8 Meldungen (in Richtung Gegenwart) angezeigt. Das funktioniert allerdings nur, wenn man vorher in die Vergangenheit geblättert hat oder wenn in der Zwischenzeit ein neuer Log-Eintrag geschrieben wurde.
Filter Mit dieser Option kann das Meldungs-Filter umgeschaltet werden. Folgende Filtermöglichkeiten stehen zur Verfügung:
AnzeigeFilter
alleEs werden alle Meldungen angezeigt (Filter ausgeschaltet).
AlarmeEs werden nur Alarm-Meldungen angezeigt (Alarme der 4 Eingänge des Sensormoduls).
TemperaturenEs werden nur Temperatur-Alarme angezeigt (Unter- und Überschreitungen).
FehlerEs werden nur System-Fehler-Meldungen angezeigt.

Bei jedem Druck auf den Impulsgeber wird das Filter auf die nächste Stufe laut Tabelle geschaltet, ein weiterer Druck nach der letzten Stufe schaltet das Filter wieder aus. Beim Wechsel des Filters werden zunächst die letzten 8 aktuellen Meldungen der entsprechenden Kategorie angezeigt. Mit den bereits erwähnten Optionen Vorherige Seite und Nächste Seite kann man sich durch die gefilterte Liste bewegen. Der aktuelle Zustand des Filters wird immer in der Infozeile angezeigt und außerdem dauerhaft in der Konfiguration gespeichert.

SymbolMenü Status

Display15 Dieses Menü gibt einen Überblick über die Hard- und Software des Anzeigemoduls 2a. Im oberen Abschnitt wird die vollständige Versionsnummer der Software angezeigt, weiterhin die letzte vom Sensormodul empfangene Sensorbelegung und die daraus ermittelte Sensoranzahl.

Im mittleren Bereich bekommt man hauptsächlich einen Überblick über den Status der Hardware-Komponenten, außerdem werden hier noch die Werte der Pointer (aktuelle Schreib-Positionen im EEPROM-Log-Speicher), die Batteriespannung der Echtzeituhr und der aktuelle Wert des Lichtsensors angezeigt. Die letzte Zeile informiert über den Status des letzten Konfigurations-Backups.

Der untere Bereich zeigt schließlich noch die aktuelle Einstellung der LED-Funktion an.

Die auf dieser Seite angezeigten Symbole haben folgende Bedeutung:

SymbolDas Element arbeitet fehlerhaft oder es gibt hier eine Abweichung.
SymbolDas Element arbeitet fehlerfrei.

Im folgenden Abschnitt werden die einzelnen Status-Felder genauer beschrieben:

EEPROM Hier wird der beim letzten Systemstart ermittelte Status der 4 EEPROMs IC3-IC6 angezeigt. Jedes EEPROM wird dabei kurz mit seiner Adresse angesprochen und wenn eine Antwort empfangen wird, dann gilt der Test als erfolgreich. Die 4 Symbole stellen den Status der EEPROMs in der Reihenfolge IC3 - IC4 - IC5 - IC6 dar. Tritt ein EEPROM-Fehler bei jedem Systemstart auf, dann liegt ein Hardware-Problem vor.
Speicher Trat beim eben genannten EEPROM-Test beim Systemstart ein Fehler auf, dann hat das automatisch einen Speicher-Fehler zur Folge. Es kann aber auch passieren, dass alle EEPROMs ok sind und nur ein Speicher-Fehler angezeigt wird. In diesem Fall ist der Fehler im laufenden Betrieb aufgetreten. In diesem Fall kann der Fehler mit einer der weiter unten beschriebenen Optionen gelöscht werden.
Wichtig: Bei einem aktiven Speicher-Fehler sind alle Log-Funktionen des Anzeigemoduls deaktiviert.
Echtzeituhr Beim Systemstart wird neben den EEPROMs auch die Echtzeituhr IC9 mit ihrer Adresse angesprochen und auf eine Antwort gewartet. Das Ergebnis wird an dieser Stelle angezeigt. Tritt dieser Fehler bei jedem Systemstart auf, denn liegt ein Hardware-Problem vor.
Pointer An dieser Stelle werden 3 Zahlen und ein nachfolgendes Symbol angezeigt. Sieht der Pointer-Status wie im Bild weiter oben aus, dann ist alles im grünen Bereich. Liegt ein Pointer-Problem vor, dann wird der betroffene Pointer-Wert invertiert dargestellt und das Symbol Symbol weist auf das Problem hin. Die Pointer sind wichtige Elemente für die Log-Funktion des Anzeigemoduls. Jeder Pointer enthält eine Datensatznummer, die auf die nächste Schreibposition im Log-Daten-Speicher (EEPROM) zeigt. Die folgende Tabelle gibt eine Übersicht über den Wertebereich und die Funktion der 3 Pointer:
PointerWertebereichFunktion
10 - 3854Dieser Pointer enthält die Schreibposition (Datensatznummer) für den Log-Speicherbereich der 15min-Werte.
20 - 415Dieser Pointer enthält die Schreibposition (Datensatznummer) für den Log-Speicherbereich der 24h-Werte (Minimal-, Maximal- und Mittelwerte).
30 - 499Dieser Pointer enthält die Schreibposition (Datensatznummer) für den Log-Speicherbereich der Meldungsdaten.
Die 3 Pointerwerte werden im RAM-Speicher der Echtzeituhr aufbewahrt und bei einem Systemstart von dort wieder gelesen. Sollte hier ein Problem auftreten, dann wird ein Pointer-Fehler ausgelöst. Daraufhin versucht die Software, den betroffenen Log-Speicher zu lesen und mithilfe des Zeitstempels der Log-Daten die Position wieder zu finden. Damit korrigiert sich das Problem normalerweise von selbst. Es ist aber nicht ausgeschlossen, dass dabei Log-Daten verloren gehen. Ein Pointer-Fehler kann mit einer der weiter unten beschriebenen Optionen gelöscht werden.
Batterie Hier wird die Batteriespannung der Echtzeituhr angezeigt. Sinkt die Spannung unter 2,5V, dann erscheint neben dem Spannungswert das Symbol Symbol und die Batterie sollte ausgetauscht werden. Der Batterietausch sollte äußerst vorsichtig bei eingeschaltetem Anzeigemodul durchgeführt werden, damit die Daten im Speicher der Echtzeituhr (Zeit, Pointer, Backup der Minimal- und Maximalwerte) nicht verloren gehen.
Lichtsensor Hier kann man die Funktion des Lichtsensors kontrollieren. Der angezeigte Wert liegt zwischen 0 (Dunkel) und 255 (Hell).
Backup Diese Zeile zeigt das Datum und die Uhrzeit des letzten Konfigurations-Backups an. Es wird an dieser Stelle geprüft, ob die aktuelle Konfiguration mit dem Backup übereinstimmt und wenn dies der Fall ist, wird das Symbol Symbol angezeigt. Im Bild weiter oben ist das Symbol Symbol zu sehen - das ist kein Fehler und bedeutet nur, dass sich die aktuelle Konfiguration vom Backup unterscheidet.
LED Rot/Gelb Hier wird der aktuelle Modus der LEDs D1 und D2 (Rot und Gelb) angezeigt. Im Normalbetrieb zeigen diese die Alarme der 4 Eingänge des Sensormoduls bzw. Temperatur-Alarme an (Anzeige: Alarm1/Alarm2 wie im Bild oben). Über eine Option lassen sich diese beiden LEDs in einen Diagnose-Modus umschalten.

An dieser Stelle ergeben sich vermutlich einige Fragen. Die folgende Liste der Optionen wird diese hoffentlich beantworten:

Normal/Abwesend Auf diese Funktion des Anzeigemoduls bin ich bisher noch gar nicht eingegangen. Das Anzeigemodul wird üblicherweise im Status Normal betrieben (Infozeile: Status - Normal). In diesem Status arbeitet das Modul genau so, wie es hier beschrieben wird. Unter bestimmten Umständen ist es sinnvoll, einige Funktionen des Moduls abzuschalten, z.B. bei längerer Abwesenheit. Und genau dafür ist diese Option gedacht. Mit einem Druck auf den Impulsgeber lässt sich der Status auf Abwesend umschalten (Infozeile: Status - Abwesend). Dabei bleiben alle Basisfunktionen wie Anzeige und Aufzeichnung der Sensordaten erhalten, allerdings gibt es folgende Besonderheiten:
  • Die Display-Beleuchtung wird komplett abgeschaltet.
  • Die optische Alarm-Signalisierung über die LEDs D1 (Rot) und D2 (Gelb) wird abgeschaltet.
  • Die akustische Alarm-Signalisierung wird abgeschaltet.
  • Das Bluetooth-Modul wird abgeschaltet.
Ein nochmaliger Aufruf dieser Option schaltet wieder in den Status Normal zurück. Die aktuelle Status-Einstellung wird dauerhaft in der Konfiguration gespeichert.
LED-Modus umschalten Diese Option schaltet die Funktion der LEDs D1 (Rot) und D2 (Gelb) in einen Diagnose-Modus um (Anzeige: DCF77/RS-232). Die rote LED zeigt in diesem Modus die eingehenden DCF77-Impulse durch kurzes Aufblitzen an. So kann man die Funktion des DCF77-Empfängers überprüfen und gegebenenfalls die Antenne optimal ausrichten. Die gelbe LED zeigt eingehende RS-232-Daten vom Sensormodul an. Bei jedem fehlerfrei empfangenen Datenpaket leuchtet die LED kurz auf. Ein nochmaliger Aufruf dieser Option schaltet wieder in den normalen LED-Modus zurück (Anzeige: Alarm1/Alarm2). Auch diese Einstellung wird dauerhaft in der Konfiguration gespeichert.
Speicher-Fehler löschen Mit dieser Option kann man einen eventuell aufgetretenen Speicher-Fehler wieder löschen. Das macht allerdings nur Sinn, wenn die EEPROMs fehlerfrei arbeiten, ansonsten tritt der Fehler beim nächsten Speicherzugriff wieder auf. Im normalen Betrieb darf dieses Problem nicht auftreten.
Echtzeituhr-Fehler löschen Mit dieser Option kann man einen aufgetretenen Zugriffs-Fehler auf die Echtzeituhr wieder löschen. Auch dieses Problem sollte im normalen Betrieb nicht auftreten.
Pointer-Fehler löschen Diese Option dient zum Löschen von Pointer-Fehlern, falls solche aufgetreten sind. Dieser Fehler ist normalerweise nur bei der ersten Inbetriebnahme zu erwarten, da in diesem Fall noch keine gültigen Daten im Speicher der Echtzeituhr stehen. Dies wird zwar automatisch korrigiert, aber trotzdem hier als Fehler gemeldet.

SymbolMenü Konfiguration

Über dieses Menü und die zahlreichen Untermenüs erfolgt die grundsätzliche Einstellung des gesamten Anzeigemoduls. Hier werden die Sensor-Parameter, die Alarme, die akustische Signale, die Schaltzeiten, die Grafik-Presets und diverse andere Dinge konfiguriert. Die komplette Struktur wurde bereits weiter oben in einer großen Tabelle dargestellt. Im folgenden Abschnitt wird auf jedes Untermenü und die möglichen Optionen eingegangen.

Symbol Menü Konfiguration - Sensoren - Einstellungen 1

Display16 In diesem Menü erscheint eine Übersicht über die Einstellungen der Temperatursensoren T01-T16. Die Anzeige erfolgt in Tabellenform und enthält die Sensorkennung, den Status (ein- oder ausgeschaltet), den Namen und den aktuellen Temperaturwert. Hier kann man jeden Sensor ein- oder ausschalten sowie einen Namen vergeben, der bis zu 9 Zeichen lang sein kann. Dieser Name erscheint dann später in anderen Menüs und auf der Hauptanzeige.

Folgende Symbole werden verwendet:
Symbol Der Sensor ist ausgeschaltet. Die empfangenen Sensordaten werden nicht ausgewertet und erscheinen auch nicht in der Hauptanzeige. Weiterhin erfolgt keine Überwachung auf Ausfälle und Temperaturabweichungen.
Symbol Der Sensor ist eingeschaltet. Die empfangenen Sensordaten werden angezeigt und alle Überwachungen sind aktiviert.

Hinweis: In diesem Menü werden alle empfangenen Sensordaten angezeigt, auch wenn Sensoren ausgeschaltet sind. Somit kann man die Funktion aller Sensoren prüfen.

Für dieses Menü stehen folgenden Optionen zur Verfügung:

Auswählen Über diese Option lässt sich ein Sensor zur Bearbeitung auswählen. Durch Drehen des Impulsgebers lässt sich die Markierung (invertierte Sensorkennung) verschieben und auf den gewünschten Sensor setzen. Ein nochmaliger Druck auf den Impulsgeber (oder auch auf Zurück) führt wieder zurück ins Options-Menü. Alle weiteren Optionen beziehen sich immer auf den hier ausgewählten Sensor.
Ein/Ausschalten Mit dieser Option kann der gewählte Sensor ein- und auch wieder ausgeschaltet werden. Im normalen Betrieb wird man alle am Sensormodul angeschlossenen Sensoren hier einschalten und auswerten. Bei Bedarf lässt sich hier ein Sensor vorübergehend abschalten, wenn er sich nicht normal verhält und durch ständige Alarme nervt.
Name Über diese Option kann man dem ausgewählten Sensor einen Namen geben. Zum Aktivieren der Texteingabe genügt ein Druck auf den Impulsgeber und hinter dem Namen erscheint ein Cursor, der die aktuelle Schreibposition anzeigt. Durch Drehen des Impulsgebers kann man ein Zeichen auswählen und mit einem Druck auf den Impulsgeber an den Namen anhängen.

Display17

Auf dem nebenstehenden Bild, welches den rechten unteren Bereich des Displays in vergrößerter Darstellung zeigt, ist beim Sensor T16 die Texteingabe aktiviert und es wurde zuletzt ein i eingegeben. Solange das Cursor-Symbol so aussieht wie im Bild, ist das Maximum von 9 Zeichen noch nicht erreicht und es können weitere Zeichen eingegeben werden. Es kann trotzdem passieren, dass keine weiteren Zeichen akzeptiert werden. In diesem Fall wird ein weiteres Limit wirksam, welches die Pixel-Breite des Namens begrenzt. Damit wird verhindert, dass später Teile des Namens durch den Sensorwert überschrieben werden.

Display18

Auf diesem Bild weist das veränderte Cursor-Symbol darauf hin, dass 9 Zeichen eingegeben wurden und keine weitere Eingabe mehr möglich ist.

Die folgende Zeile zeigt den Zeichenvorrat, der über den Impulsgeber ausgewählt werden kann:

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜabcdefghijklmnopqrstuvwxyzäöüß+-/.

Daran schließen sich zwei weitere Zeichen an, die eine Sonderfunktion haben:

Symbol Beim Druck auf den Impulsgeber wird das Zeichen links vom Cursor gelöscht und der Cursor entsprechend nach links verschoben.
SymbolBeim Druck auf den Impulsgeber wird der Name gespeichert und der Texteingabe-Modus wieder verlassen.

Übrigens, Änderungen am Namen sind nur an der letzten Zeichenposition möglich. Sollen Zeichen am Anfang des Namens geändert werden, dann müssen alle nachfolgenden Zeichen gelöscht und nach der Änderung wieder neu eingegeben werden.

Hinweis: Für die Temperatursensoren sollten keine gleichen Namen vergeben werden. Grundsätzlich funktioniert das zwar, aber bei Fehlermeldungen lassen die Einträge in der Meldungs-Liste nicht mehr eindeutig identifizieren.

Symbol Menü Konfiguration - Sensoren - Einstellungen 2

Display19

In diesem Menü erscheint eine Übersicht über die Einstellungen der restlichen Sensoren: Temperaturen T17-T27, Luftdruck P01 sowie Luftfeuchtigkeit H01-H03. Auch hier erfolgt die Anzeige wie im Untermenü Einstellungen 1 in Tabellenform und enthält die Sensorkennung, den Status (ein- oder ausgeschaltet), den Namen und den aktuellen Sensorwert. Die Bedienung ist vollkommen identisch zur den Einstellungen 1.

Hinweis: Für die Temperatursensoren sollten keine gleichen Namen vergeben werden. Auch die 3 Luftfeuchtigkeitssensoren sollten unterschiedlich benannt werden, um bei Fehlermeldungen jeden Sensor eindeutig identifizieren zu können. Es ist aber möglich, einem Luftfeuchtigkeits- und einem Temperatursensor den gleichen Namen zu geben, was auch sinnvoll ist, wenn sie gekoppelt sind (z.B. T25 und H01) und/oder sich beide im gleichen Raum befinden.

Symbol Menü Konfiguration - Sensoren - Grenzwerte 1

Display20 Über dieses Menü hat man die Möglichkeit, Grenzwerte für die Temperatursensoren T01-T16 einzustellen. Das Anzeigemodul 2a vergleicht jeden empfangenen Sensorwert mit diesen Grenzwerten und löst bei Überschreitung der oberen Grenze bzw. bei Unterschreitung der unteren Grenze einen Alarm aus.

Dieses Menü zeigt neben dem Sensornamen den eingestellten unteren Grenzwert (links) und den eingestellten oberen Grenzwert (rechts) an. Wird an einer Stelle kein Wert angezeigt, dann ist die untere bzw. obere Grenzwert-Überwachung ausgeschaltet. Folgende Optionen sind möglich:
Auswählen Diese Option funktioniert ebenso wie in den anderen Konfigurations-Menüs und ermöglicht die Auswahl des Sensors, der konfiguriert werden soll.
Unterer Grenzwert Über diese Option kann der untere Grenzwert eingestellt oder gelöscht werden. Nach dem Aufruf dieser Option lassen sich zwei weitere Unter-Optionen auswählen:
Ändern Nach einem Druck auf den Impulsgeber lässt sich der untere Grenzwert ändern. Dazu erscheint der bisherige Grenzwert in der Menüzeile über dem Impulsgeber und durch Drehen lässt sich der Wert im Bereich von -55°C bis 125°C einstellen. War bisher noch kein Wert eingestellt, dann beginnt die Einstellung bei 0°C.
Löschen Beim Druck auf den Impulsgeber wird der eingestellte Grenzwert gelöscht und die Überwachung des unteren Grenzwertes ausgeschaltet.
Oberer Grenzwert Über diese Option kann der obere Grenzwert eingestellt oder gelöscht werden. Nach dem Aufruf dieser Option lassen sich zwei weitere Unter-Optionen auswählen:
Ändern Nach einem Druck auf den Impulsgeber lässt sich der obere Grenzwert ändern. Dazu erscheint der bisherige Grenzwert in der Menüzeile über dem Impulsgeber und durch Drehen lässt sich der Wert im Bereich von -55°C bis 125°C einstellen. War bisher noch kein Wert eingestellt, dann beginnt die Einstellung bei 0°C.
Löschen Beim Druck auf den Impulsgeber wird der eingestellte Grenzwert gelöscht und die Überwachung des oberen Grenzwertes ausgeschaltet.

Symbol Menü Konfiguration - Sensoren - Grenzwerte 2

Display21

Über dieses Menü hat man die Möglichkeit, Grenzwerte für die restlichen Temperatursensoren T17-T27 einzustellen und die Funktionalität ist identisch zum Menü Grenzwerte 1.

Symbol Menü Konfiguration - Sensoren - Anzeige

Display22 Nachdem in den vorangegangenen Menüs alle Sensoren eingerichtet und benannt sind, kann man sie über dieses Menü auf den beiden Hauptbildschirmseiten platzieren. Das nebenstehende Bild muss man sich in der Mitte geteilt vorstellen: die beiden linken Spalten repräsentieren die Sensordarstellung auf der Bildschirmseite 1 und rechten beiden Spalten die Bildschirmseite 2. Die Anzeige lässt sich sehr flexibel gestalten, so erscheinen in meiner Konfiguration einige Sensoren auf beiden Bildschirmseiten und auf der Seite 2 bleiben einige Anzeigepositionen leer.

Folgende Optionen können hier verwendet werden:
Auswählen Mit dieser Option wird (so wie in den vorherigen Menüs auch) die Anzeigeposition ausgewählt, die bearbeitet werden soll.
Ändern Über diese Option kann die markierte Anzeigeposition bearbeitet werden. Nach einem Druck auf den Impulsgeber wird der gewünschte Sensor für diese Position durch Drehen des Impulsgebers ausgewählt. Folgende Sensoren sind hier im Angebot:

Hinweis: Jeder Sensor, der in den Einstellungen 1 und Einstellungen 2 aktiviert wurde, sollte auch auf mindestens einer Seite der Anzeige erscheinen. Anderenfalls kann man im Falle eines Alarms von einem solchen Sensor (Ausfall oder Temperaturabweichung) nicht erkennen, wer den Alarm ausgelöst hat.

Symbol Menü Konfiguration - Sensoren - Großanzeige

Display23 Der Hauptbildschirm des Anzeigemoduls 2a bietet die Möglichkeit, einen Temperaturwert in großen Ziffern darzustellen, wobei die beiden Bildschirmseiten über dieses Menü unterschiedlich eingestellt werden können. In der Großanzeige können derzeit nur Temperaturwerte dargestellt werden, wobei der vollständige Sensorwert wegen des begrenzten Platzes nur im Bereich von -9,9°C bis 99,9° angezeigt werden kann. Außerhalb dieses Bereiches wird der Wert gerundet und ohne Nachkommastelle angezeigt.

Folgende Optionen stehen zur Verfügung:
Auswählen Mit dieser Option wird die Anzeigeseite ausgewählt, die bearbeitet werden soll.
Ändern Über diese Option kann der Temperatursensor ausgewählt werden, der in der Großanzeige erscheinen soll. Folgendes wird hier angeboten:

Symbol Menü Konfiguration - Sensoren - Log-Zuordnung 1

Über dieses Menü lässt sich die Log-Funktion des Anzeigemoduls 2a konfigurieren. Im Normalfall ist es so, dass alle Daten vom Temperatursensor T01 auch auf dem entsprechenden Log-Speicherplatz L01 abgelegt werden, gleiches gilt für alle folgenden Temperatursensoren bis zum Sensor T24, der folgerichtig auf dem Platz L24 gespeichert wird. Wenn ein Temperatur-Messsystem und das dazugehörige Sensornetz komplett neu in Betrieb genommen wird, dann gibt es zunächst keinen Grund, an dieser Zuordnung etwas zu ändern.

Interessant wird es allerdings, wenn neue Temperatursensoren installiert werden. Durch eine Eigenart des Sensormoduls kann es nämlich passieren, dass sich die Kennungen der Sensoren ändern. Das hat zur Folge, dass betroffene Sensoren in allen Untermenüs im Bereich Konfiguration - Sensoren neu konfiguriert werden müssen. Ein weiteres Problem ist, dass Daten von diesen Sensoren jetzt auf falsche Log-Speicherplätze geschrieben werden. Zur Behebung des Problems gibt es dieses Menü und hier können die Log-Speicherplätze wieder richtig zugeordnet werden.

Display24

Das nebenstehende Bild zeigt die Log-Zuordnung der 24 Temperatursensoren T01-T24 in meinem System und hier kann man erkennen, dass die Sensoren Abluft (T05), Fortluft (T06) und Zuluft (T09) später hinzugefügt worden sind und sich deshalb die Kennungen nachfolgender Sensoren verschoben haben. So hatte z.B. der Sensor Dachbod vor der Erweiterung die Kennung S05 und die Daten wurden in den Log-Speicher L05 geschrieben. Nach der Erweiterung erschien dieser Sensor unter der Kennung S07 und damit die Fortschreibung der Log-Daten an der richtigen Stelle erfolgt, musste in diesem Menü wieder der alte Log-Speicher L05 zugeordnet werden. Die Zuordnung des hinzugefügten Sensors Abluft muss natürlich auch geändert werden und hier kommt nur ein Log-Speicherplatz hinter den bisherigen Sensoren in Frage, in diesem Fall habe ich L15 gewählt. Diese Einstellung ist sehr knifflig und man sollte bei Systemerweiterungen ein Plan erstellen, damit man den Überblick nicht verliert.

An dieser Stelle ist es wichtig zu wissen, dass bei einer Erweiterung mit Temperatursensoren nur der Sensorbereich T01-T24 beeinflusst wird. Alle nachfolgenden Sensoren (T25-T27, P01 und H01-H03) behalten ihre Kennung. Folgende Optionen stehen in diesem Menü zur Verfügung:

Auswählen Über diese Option wird der Temperatursensor ausgewählt, dessen Log-Zuordnung geändert werden soll.
Ändern Mit dieser Option kann dem ausgewählten Sensor über den Impulsgeber ein Log-Speicher im Bereich L01-L24 zugeordnet werden.

Display25 Wichtig: Jeder Log-Speicher darf nur einmal verwendet werden. Das Menü lässt grundsätzlich auch die mehrfache Auswahl zu, allerdings wird durch eine Markierung auf den Konflikt hingewiesen. Im Beispiel links im Bild habe ich zu Demonstrationszwecken die Zuordnung vom Sensor Schlafzim (T16) von L13 in L10 geändert und folgerichtig wird dieser Konflikt gemeinsam mit dem Sensor Gästezimm (T13) angezeigt.

Während der Konfigurationsarbeiten lassen sich solche Konflikte nicht vermeiden. Damit in diesem Fall keine falschen Daten in den Log-Speicher gelangen, wird die Aufzeichnung deaktiviert, bis die Log-Zuordnung wieder plausibel ist. Übrigens, kehrt man ins Hauptmenü zurück, ohne den Konflikt zu beseitigen, dann wird der Alarm Log-Tabellen-Fehler ausgelöst. Dieser verschwindet nach der Korrektur automatisch wieder.

Symbol Menü Konfiguration - Sensoren - Log-Zuordnung 2

Auch dieses Menü dient zur Konfiguration der Log-Funktion des Anzeigemoduls. Neben den 24 Temperatursensoren kann das Messsystem auch bis zu 3 Luftfeuchtigkeitssensoren verwalten und hier können sich bei Erweiterungen ebenfalls die Sensorkennungen ändern. Da jeder Luftfeuchtigkeitssensor auch einen Temperaturwert liefert, gibt es hier eine feste Kopplung zwischen den Sensoren H01-H03 und T25-T27.

Display26

Das nebenstehende Bild zeigt die Log-Zuordnung der 3 Luftfeuchtigkeitssensoren. Dazu steht in jeder Zeile zunächst die Kennung des Luftfeuchtigkeitssensors, daneben in Klammern die Kennung des gekoppelten Temperatursensors, wiederum daneben der Name des Luftfeuchtigkeitssensors und in Klammern der Name des gekoppelten Temperatursensors. Die rechte Spalte enthält den zugeordneten Log-Speicherplatz und der kann bei Bedarf (wie im Menü Log-Zuordnung 1 beschrieben) geändert werden.

An dieser Stelle ist es wichtig zu wissen, dass bei einer Erweiterung mit Luftfeuchtigkeitssensoren nur der Sensorbereich T25-T27 und H01-H03 beeinflusst wird. Alle anderen Sensoren (T01-T24 und P01) behalten ihre Kennung. Folgende Optionen stehen in diesem Menü zur Verfügung:

Auswählen Über diese Option wird der Luftfeuchtigkeitssensor ausgewählt, dessen Log-Zuordnung geändert werden soll.
Ändern Mit dieser Option kann dem ausgewählten Sensor über den Impulsgeber ein Log-Speicher im Bereich L1-L3 zugeordnet werden. Auch hier darf jeder Log-Speicher nur einmal verwendet werden, anderenfalls entsteht ein Konflikt und die Log-Funktion wird vorübergehend deaktiviert.

SymbolMenü Konfiguration - Alarme

Display27 In diesem Menü erscheint eine Übersicht über die Einstellungen der 4 Alarmeingänge des Sensormoduls. Die Anzeige erfolgt in Tabellenform und enthält die Alarmkennung, den Status (ein- oder ausgeschaltet), den Namen und die Art der Alarm-Auswertung (normal oder invertiert). Hier kann man jeden Alarm ein- oder ausschalten sowie einen Namen vergeben, der bis zu 11 Zeichen lang sein kann. Dieser Name erscheint dann später in der Alarmanzeige auf dem Hauptbildschirm. Außerdem kann in diesem Menü die Reihenfolge der 4 Alarme auf dem Hauptbildschirm festgelegt werden.

Die hier verwendeten Symbole bedeuten folgendes:
Symbol Der Alarm ist ausgeschaltet und wird nicht signalisiert. Es erfolgt keine Anzeige auf dem Hauptbildschirm.
SymbolDer Alarm ist eingeschaltet und wird optisch und akustisch signalisiert.

Für dieses Menü stehen folgende Optionen zur Verfügung:

Auswählen Über diese Option wird der Alarm ausgewählt, der bearbeitet werden soll.
Ein/Ausschalten Mit dieser Option kann der Alarm ein- oder ausgeschaltet werden.
Name Über diese Option lässt sich der Name für den ausgewählten Alarm eingeben oder ändern. Die Eingabe erfolgt nach dem gleichen Prinzip wie im Menü Konfiguration - Sensoren - Einstellungen 1, mit dem Unterschied, dass der Name hier bis zu 11 Zeichen lang sein kann. Auch hier kann es passieren, dass die Eingabe schon vor dem 11. Zeichen abgewiesen wird, damit der Name in den vorgesehenen Bildschirmbereich passt.
Invertieren Diese Option legt fest, wie das Anzeigemodul 2a auf den Alarm vom Sensormodul reagieren soll. Bei der Einstellung normal wird davon ausgegangen, dass der Alarm-Kontakt überwiegend geöffnet ist und ein Schließen des Kontaktes den Alarm auslöst. Die Einstellung invertiert erwartet einen geschlossenen Kontakt, der beim Öffnen den Alarm auslöst.
Verschieben Über diese Option kann die Reihenfolge der Alarme auf dem Hauptbildschirm festgelegt werden. Nach einem Druck auf den Impulsgeber kann durch anschließendes Drehen der markierte Alarm an die gewünschte Position verschoben werden. Die anderen Alarme werden dabei automatisch angepasst.

Symbol Menü Konfiguration - Signale - Zuordnung

Display28 Mit diesem Menü ist es möglich, den insgesamt 8 verschiedenen Alarmen einen Signalton zuzuordnen. Auf der linken Seite steht der Name der akustischen Meldung, daneben die Nummer des Signaltons, als nächstes die Signaldauer in Sekunden und rechts ist der gewählte Signalton als Grafik zu sehen, wobei hier der Signalverlauf innerhalb einer Sekunde dargestellt wird.

Folgende Optionen stehen hier zur Verfügung:
Auswählen Über diese Option wird der Alarm ausgewählt, dessen Signal bearbeitet werden soll.
Nummer Mit dieser Option kann dem gewählten Alarm ein Signal zugewiesen werden. Über den Impulsgeber lassen sich insgesamt 15 Signalnummern (N:01 - N:15) auswählen, wobei sich während der Einstellung nicht nur die Nummer, sondern auch die Grafik ändert.
Dauer Mit dieser Option wird die Dauer des akustischen Signals in Sekunden festgelegt. Über den Impulsgeber können hier Werte zwischen D:00 (0 Sekunden, akustisches Signal ausgeschaltet) und D:30 (30 Sekunden) eingestellt werden.
Abspielen Über diese Option kann man das soeben eingestellte Alarmsignal abspielen. Es wird dabei sowohl die Alarmnummer als auch die Alarmdauer berücksichtigt.

Symbol Menü Konfiguration - Signale - Audio

Display29 Über dieses Menü können 3 Werte eingestellt werden: die Signalfrequenz in Hertz, die Signallautstärke am Tag und die Signallautstärke in der Nacht.

Folgende Optionen stehen in diesem Menü zur Verfügung:
Auswählen Mit dieser Option wird der Parameter ausgewählt, der bearbeitet werden soll.
Ändern Mit dieser Option kann der ausgewählte Parameter geändert werden. Die Frequenz lässt sich im Bereich von 675 bis 5959 Hz einstellen, bei den Lautstärken sind Werte im Bereich von 0 (aus) bis 15 (voll) möglich.
Abspielen Diese Option spielt zum Prüfen der Einstellungen für 3 Sekunden das Signal von Alarm 2 ab. Dabei wird entsprechend der Tageszeit die Tag- oder Nacht-Lautstärke benutzt.

Noch ein Hinweis zu diesem Menü: Bei der Einstellung der Signalfrequenz kann man einen angenehmen Ton wählen oder auch die Resonanz-Frequenz des verwendeten Lautsprechers suchen um eine maximale Lautstärke zu erzielen. Bedingt durch die Verwendung eines 8-Bit Timers lässt sich die Frequenz nur relativ grob im Bereich von 675-5959 Hz festlegen. Zwar kann man mit dem Impulsgeber jeden ganzzahligen Wert in diesem Bereich einstellen, beim Bestätigen des Wertes wird dieser jedoch auf den nächsten möglichen Wert geändert. Das ist also normal und kein Fehler.

Symbol Menü Konfiguration - Zeiten - Schaltzeiten

Display30 Mit diesem Menü lassen sich einige Schaltzeiten programmieren, um bestimmte Aktionen automatisch ablaufen zu lassen. Das betrifft die Tag/Nacht-Umschaltung der Signallautstärke, die Nachtabschaltung der Display-Beleuchtung, die Nachtabschaltung des Bluetooth-Moduls und das automatische Rücksetzen der Minimal- und Maximalwerte.

Die Schaltzeiten können beliebig geändert werden und bei Bedarf lassen sich die Schaltfunktionen auch deaktivieren.

Die hier verwendeten Symbole bedeuten folgendes:

SymbolDie Schaltzeit ist deaktiviert.
SymbolDie Schaltzeit ist aktiviert.

Für dieses Menü stehen folgende Optionen zur Verfügung:

Auswählen Mit dieser Option wird die Schaltzeit ausgewählt, die geändert werden soll.
Ein/Ausschalten Diese Option aktiviert oder deaktiviert die gewählte Schaltzeit, wobei die Ein- und Ausschaltzeit immer gemeinsam beeinflusst wird. Auch das Rücksetzen der Minimal- und Maximalwerte kann nur gemeinsam ein- oder ausgeschaltet werden.
Ändern Mit dieser Option kann man die ausgewählte Schaltzeit einstellen. Hier bewirkt ein langsames Drehen des Impulsgebers eine schrittweise Änderung der Zeit im Minutenraster und schnelles Drehen führt zu größeren Zeitsprüngen. Außerdem gibt es hier keinen Endwert, d.h. nach 23:59 geht es wieder bei 0:00 los und umgekehrt. Änderungen an den Schaltzeiten werden immer erst zur nächsten vollen Minute wirksam.

Übrigens, das automatische Rücksetzen der Minimal- und Maximalwerte bezieht sich nur auf die Anzeige der Werte im Menü Minimal-Werte und Maximal-Werte. Die für die Log-Funktion der 24h-Werte ermittelten Minimal- und Maximalwerte werden unabhängig von dieser Menüeinstellung täglich um 23:59 Uhr in den Log-Speicher geschrieben und dann zurückgesetzt.

Symbol Menü Konfiguration - Zeiten - Uhr stellen

Display31 Für das Anzeigemodul ist eine gültige Systemzeit wichtig, ohne diese werden keine Log-Daten aufgezeichnet. Über dieses Menü hat man die Möglichkeit, die Uhrzeit und das Datum manuell einzustellen, falls (aus welchen Gründen auch immer) keine Synchronisation mit dem DCF77-Zeitzeichensender möglich ist.

Folgende Optionen stehen hier zur Verfügung:
Auswählen Mit dieser Option wählt man den Parameter aus, der verändert werden soll.
Ändern Über diese Option stellt man die gewünschten Werte ein.

Das Stellen der Uhr funktioniert folgendermaßen: Mit den beiden Optionen Auswählen und Ändern stellt man alle 5 Datenfelder auf einen Zeitpunkt in der nahen Zukunft. Sind alle Werte richtig eingestellt, dann wird mit der Option Auswählen der Impulsgeber auf den Parameter Zeit übernehmen gedreht und erst beim Erreichen der eingestellten Zeit gedrückt. Das Setzen der Uhrzeit wird durch einen kurzen Piep-Ton quittiert. Bitte beachten: Nach 3 Minuten Inaktivität des Bedieners wird die Aktion abgebrochen und es erscheint wieder der Hauptbildschirm.

SymbolMenü Konfiguration - Sonstiges

Display32

In diesem Menü sind einige weitere Einstellungen zusammengefasst, die in der folgenden tabellarischen Übersicht genauer beschrieben werden:
EinstellungBeschreibung
SpracheDeutsch Die gesamte Menüführung erfolgt in deutscher Sprache (Voreinstellung).
EnglishDie gesamte Menüführung erfolgt in englischer Sprache.
TrennzeichenSymbol Alle Sensorwerte werden mit einem Komma als Trennzeichen dargestellt, z.B. 23,5°C (Voreinstellung)
Symbol Alle Sensorwerte werden mit einem Punkt als Trennzeichen dargestellt, z.B. 23.5°C
Temp-Alarm immer signalisierenSymbol Es wird nur die jeweils erste Unter- bzw. Überschreitung eines Sensors signalisiert. Diese Einstellung ist sinnvoll, wenn eine Temperatur im Grenzbereich liegt und das ständig wiederkehrende Signal nervt. (Voreinstellung)
SymbolEs wird jede Unter- bzw. Überschreitung eines Sensors signalisiert.
LCD abschalten von 3:00 bis 3:30Symbol Das Display bleibt immer eingeschaltet.
Symbol Das Display wird zur angegebenen Zeit abgeschaltet, um einen weitgehend störungsfreien Empfang des DCF77-Signals zu gewährleisten (Voreinstellung). Die Zeit wurde absichtlich so gewählt, damit die Umschaltung zwischen Sommer- und Winterzeit rechtzeitig erkannt wird.
LCD-Beleuchtungs-AutomatikSymbol Die Display-Beleuchtung wird nach einem einstellbaren Tag/Nacht-Zeitplan ein- und ausgeschaltet. Diese Einstellung ist für Displays vorgesehen, die mit einer EL-Folie oder CCFL-Röhre beleuchtet werden und meist nicht dimmbar sind. (Voreinstellung)
Symbol Die Display-Beleuchtung wird am Tag über den Lichtsensor in der Helligkeit geregelt und außerdem weich ein- und ausgeblendet. Zur Nachtzeit kann die Beleuchtung auf einen einstellbaren Wert gedimmt werden. Diese Einstellung ist für LED-Beleuchtungen vorgesehen.
LCD Nacht-Helligkeit0 - 255 Der hier eingestellte Wert legt die Display-Helligkeit während der Nachtzeit fest (Voreinstellung 10). Diese Einstellung ist nur bei aktivierter LCD-Beleuchtungs-Automatik wirksam.
Auf Seite 1 zurückschaltenSymbol Die zuletzt gewählte Hauptseite Symbol oder Symbol bleibt aktiv bzw. wird nach der Rückkehr ins Hauptmenü wieder angezeigt.
Symbol 3 Minuten nach der letzten Taster- oder Impulsgeber-Benutzung wird immer auf die Seite Symbol zurückgeschaltet (Voreinstellung).
Baudrate der PC-Schnittstelle9600 - 460800 Diese Einstellung legt die Geschwindigkeit für die Datenübertragung zum PC fest. Folgende Werte sind möglich: 9600, 19200, 38400, 57600, 115200, 230400 und 460800 Baud (Voreinstellung 115200). Die optimale Einstellung hängt von der verwendeten Schnittstellenoption ab: Bei RS-232 muss man den besten Wert experimentell im Bereich von 9600 bis 115200 ermitteln, bei Bluetooth ist die Voreinstellung 115200 optimal und bei USB kann man den Maximalwert 460800 verwenden.

Folgende Optionen stehen hier zur Verfügung:

Auswählen Mit dieser Option wählt man die Einstellung aus, die verändert werden soll.
Ändern Über diese Option stellt man die gewünschten Werte ein. Bei den meisten Einstellungen wird hier einfach zwischen den beiden möglichen Werten umgeschaltet, bei der Änderung der Baudrate für die PC-Schnittstelle wird auf den nächsten Wert weitergeschaltet. Eine Ausnahme ist die LCD Nacht-Helligkeit, hier kann der Wert über den Impulsgeber direkt eingegeben werden. Nach Bestätigung wird die Beleuchtung kurzzeitig auf diesen Helligkeitswert gesetzt, damit man die Einstellung prüfen kann.

SymbolMenü Konfiguration - DCF77

Display33 Über dieses Menü kann das Anzeigemodul 2a an den verwendeten DCF77-Empfänger angepasst werden. Es können hier praktisch alle Empfänger verwendet werden, die Sekundenimpulse ausgeben. Dabei kann das Signal wahlweise invertiert werden und bei Empfängern mit offenem Kollektorausgang lässt sich ein Pull-up-Widerstand aktivieren. In allen Fällen kann der Empfänger direkt und ohne weitere Anpassungen an das Anzeigemodul angeschlossen werden.

Die beiden Einstellungen haben folgende Funktion:
EinstellungBeschreibung
DCF77-Signal invertiertSymbol Diese Einstellung muss gewählt werden, wenn der DCF77-Empfänger Low-Impulse ausgibt.
SymbolDiese Einstellung muss gewählt werden, wenn der DCF77-Empfänger High-Impulse ausgibt.
DCF77-Eingang mit Pull-upSymbol Diese Einstellung muss gewählt werden, wenn der DCF77-Empfänger einen Standard-Ausgang (Push/Pull) besitzt.
SymbolDiese Einstellung muss gewählt werden, wenn der DCF77-Empfänger einen Open-Collector bzw. Open-Drain Ausgang besitzt.

In diesem Menü stehen folgende Optionen zur Verfügung:

Auswählen Mit dieser Option wählt man die Einstellung aus, die verändert werden soll.
Ändern Über diese Option wird die gewählte Einstellung ein- oder ausgeschaltet.

Die folgende Übersicht listet einige zum Zeitpunkt der Texterstellung (Juni 2012) erhältliche DCF77-Empfänger auf und zeigt die richtige Einstellung in diesem Menü:

HändlerBestellnummerDCF77-Signal invertiertDCF77-Eingang mit Pull-up Bemerkung
Conrad641138Symbol oder SymbolSymbol Das Modul hat 2 Ausgänge. Die Einstellung für die Invertierung hängt vom verwendeten Ausgang ab.
ELV091610Symbol Symbol
Pollin810054Symbol Symbol Das Modul darf nur mit maximal 3,3V betrieben werden: Betriebsspannung über Widerstand 1kΩ und Z-Diode 3,3V (oder 2,7V) zuführen. Der Anschluss PON muss an Masse liegen. Nach dem Einschalten kann es bis zu 2 Minuten dauern, bis das Modul Impulse ausgibt.
ReicheltDCF77 MODULSymbol Symbol

Hinweis: Wenn man sich mit der Einstellung nicht sicher ist, dann sollte man zunächst in das Menü Status gehen und die Option LED-Modus umschalten wählen. Damit wird das DCF77-Signal direkt an die rote LED D1 weitergegeben und bei der richtigen Einstellung muss diese im Sekundentakt kurz aufblitzen. Zeigt die LED ein Dauerleuchten, welches in jeder Sekunde kurz unterbrochen wird, dann sollte die Einstellung DCF77-Signal invertiert geändert werden. Bleibt die LED aus oder leuchtet sie permanent, dann ist vermutlich die Einstellung DCF77-Eingang mit Pull-up falsch.

SymbolMenü Konfiguration - Grafik-Presets

Display34 In diesem Menü können die 24 Grafik-Presets eingestellt werden. Hier wird festgelegt, ob eine Einzel- oder Doppelgrafik verwendet wird und welche Sensoren angezeigt werden sollen. Weiterhin wird hier ausgewählt, ob man 15min oder 24h Werte betrachten möchte.

Die Funktion der möglichen Einstellungen erläutert die folgende Tabelle:
EinstellungBeschreibung
Preset01 - 24Über diese Einstellung wählt man das Preset aus, welches man bearbeiten möchte. Anschließend werden die gespeicherten Einstellungen dieses Presets geladen und angezeigt. Die Voreinstellung ist 1 oder das zuletzt über das Menü Grafik aufgerufene Preset.
Name<Preset-Name>Hier kann man dem Preset einen Namen geben, welcher bis zu 16 Zeichen lang sein kann. Dieser Name erscheint später im Menü Grafik als Option und ermöglicht so eine bequeme Auswahl des gewünschten Presets. Die Eingabe des Namens erfolgt nach dem gleichen Prinzip wie im Menü Konfiguration - Sensoren - Einstellungen 1.
Grafik 1 SensorT01 - T27, P01, H01 - H03, B01Über diese Einstellung wird der Sensor ausgewählt, dessen Daten im Diagramm 1 grafisch dargestellt werden sollen.
Grafik 1 Diff-Sensoraus, T01 - T27Über diese Einstellung kann man den Differenzmodus aktivieren. Im Normalfall setzt man diese Einstellung auf aus. Damit wird der Differenzmodus deaktiviert und die Daten vom Grafik 1 Sensor werden direkt angezeigt. Stellt man hier einen Sensor ein, dann wird das Diagramm 1 die Differenz zwischen Grafik 1 Sensor und dem Grafik 1 Diff-Sensor darstellen. Der Differenz-Modus funktioniert nur mit Temperatursensoren und lässt sich nur aktivieren, wenn beim Grafik 1 Sensor ebenfalls ein Temperatursensor eingestellt ist.
Grafik 1 Modus15min Werte, 24h WerteDiese Einstellung legt fest, welche Daten im Diagramm 1 angezeigt werden sollen. Zur Auswahl stehen 15min Werte, 24h Minimalwerte, 24h Maximalwerte und 24h Mittelwerte.
Grafik 2 Sensoraus, T01 - T27, P01, H01 - H03, B01Über diese Einstellung wird der Sensor ausgewählt, dessen Daten im Diagramm 2 grafisch dargestellt werden sollen. Wird nur ein Einzel-Diagramm gewünscht, dann muss hier die Einstellung aus eingestellt werden.
Grafik 2 Diff-Sensoraus, T01 - T27Über diese Einstellung kann man den Differenzmodus für das Diagramm 2 aktivieren. Auch hier deaktiviert die Einstellung aus den Differenzmodus. Stellt man hier einen Sensor ein, dann wird das Diagramm 2 die Differenz zwischen Grafik 2 Sensor und dem Grafik 2 Diff-Sensor darstellen. Auch der Differenz-Modus vom Diagramm 2 funktioniert nur mit Temperatursensoren und lässt sich nur aktivieren, wenn beim Grafik 2 Sensor ebenfalls ein Temperatursensor eingestellt ist.
Grafik 2 Modus15min Werte, 24h WerteDiese Einstellung legt fest, welche Daten im Diagramm 2 angezeigt werden sollen. Zur Auswahl stehen 15min Werte, 24h Minimalwerte, 24h Maximalwerte und 24h Mittelwerte. Hier gibt es aber eine Besonderheit: Dieser Parameter lässt sich nur einstellen, wenn vorher ein Grafik 2 Sensor definiert wurde. Außerdem sind die Einstellmöglichkeiten vom Wert des Grafik 1 Modus abhängig. Ist letzterer auf 15min Werte eingestellt, dann lassen sich für die Grafik 2 auch nur 15min Werte auswählen. Nur wenn 24h Minimal, Maximal der Mittelwerte bei Grafik 1 eingestellt sind, lassen sich hier ebenfalls 24h Werte auswählen.

In diesem Menü stehen folgende Optionen zur Verfügung:

Auswählen Mit dieser Option wählt man die Einstellung aus, die verändert werden soll.
Ändern Über diese Option kann die gewählte Einstellung geändert werden.

SymbolMenü Konfiguration - Backup

Bei diesem Menü bleibt weiterhin der Hauptbildschirm aktiv, in der Menüzeile können aber die folgenden Optionen ausgewählt werden:

Konfiguration sichern Nach dem Druck auf den Impulsgeber erscheint die Frage Sicher? und nach einem weiteren Druck auf den Impulsgeber wird eine Kopie der aktuellen Konfiguration in das externe EEPROM geschrieben. Der erfolgreiche Abschluss dieser Aktion wird mit einem Quittungston signalisiert. Diese Option sollte man immer vor größeren Konfigurations-Änderungen und vor einem Software-Update ausführen, damit man im Notfall auf eine funktionierende Konfiguration zurückgreifen kann.
Konfiguration laden/Neustart Auch hier erscheint zunächst die Sicherheitsabfrage Sicher? und nach deren Bestätigung wird die im externen EEPROM abgelegte Konfiguration in den EEPROM des Controllers geladen und anschließend das System neu gestartet.

SymbolMenü Konfiguration - Grundeinstellung

Auch bei diesem Menü bleibt der Hauptbildschirm weiterhin aktiv. In der Menüzeile stehen folgende Optionen zur Verfügung:

Basiskonfiguration laden Nach der Sicherheitsabfrage Sicher? wird die aktuelle Konfiguration komplett durch eine neutrale Grundkonfiguration ersetzt. Diese Option muss bei der Inbetriebnahme eines neuen Anzeigemoduls 2a durchgeführt werden, damit einige kritische Einstellungen (z.B. die Log-Zuordnungen) einen definierten Zustand haben. Außerdem sind alle Sensoren und Alarme deaktiviert, so dass möglichst wenig Alarmsignale generiert werden. Nach dem Laden der Basiskonfiguration startet das System automatisch neu. Übrigens, die nachfolgende Option Grafik-Presets zurücksetzen wird hier mit ausgeführt und muss nicht zusätzlich aufgerufen werden.
Grafik-Presets zurücksetzen Nach der Sicherheitsabfrage Sicher? werden alle Grafik-Presets durch eine Grundeinstellung ersetzt. Nach erfolgreichem Abschluss der Aktion ertönt ein Quittungssignal.
15min Werte löschen Nach der Sicherheitsabfrage Sicher? werden im externen EEPROM alle 15min-Log-Daten gelöscht und außerdem der dazu gehörende Pointer 1 auf den ersten Platz dieses Speicherbereiches gesetzt. Nach erfolgreichem Abschluss dieser Aktion, die einige Sekunden in Anspruch nimmt, wird ein Quittungston ausgegeben.
24h Werte löschen Nach der Sicherheitsabfrage Sicher? werden im externen EEPROM alle 24h-Log-Daten (Minimal-, Maximal- und Mittelwerte) gelöscht sowie der dazu gehörende Pointer 2 auf den ersten Platz dieses Speicherbereiches gesetzt. Auch bei dieser Option wird der erfolgreiche Abschluss durch einen Quittungston bestätigt.
Meldungen löschen Nach der Sicherheitsabfrage Sicher? werden im externen EEPROM alle Meldungsdaten gelöscht und außerdem der dazu gehörende Pointer 3 auf den ersten Platz dieses Speicherbereiches gesetzt. Und auch hier ertönt ein Quittungssignal nach erfolgreichem Abschluss der Aktion.

Vorsicht! Alle Optionen haben eine zerstörerische Wirkung und sollten auf einem laufenden System nur mit äußerster Vorsicht verwendet werden. Bei der Anzeige der Sicherheitsabfrage lässt sich der Vorgang mit Zurück noch Abbrechen, nach der Bestätigung der Abfrage wird die Option unwiderruflich ausgeführt. Übrigens, beim Löschen der Log-Daten werden alles Bytes des entsprechenden Speicherbereiches auf den Wert 0xFF gesetzt. Üblicherweise werden neue EEPROMs in diesem Zustand ausgeliefert. Trotzdem empfehle ich bei der Inbetriebnahme die Ausführung der 3 Lösch-Optionen, damit die Log-Daten-Speicher auf jeden Fall einen definierten Anfangszustand haben und die Pointer richtig initialisiert werden.

SymbolFehlermeldungen

Beim Anzeigemodul 2a können eine Reihe von Systemfehlern auftreten. Diese werden meist in der oberen Zeile (Infozeile) anstatt des Datums in invertierter Schrift angezeigt und mit einem akustischen Signal gemeldet. Teilweise werden diese Fehler auch im Meldungs-Log erfasst. Die folgende Übersicht listet alle möglichen Fehlermeldungen auf und gibt Tipps für die Fehlerbeseitigung:

FehlermeldungFehlerbeschreibung und Lösungsvorschläge
Uhr nicht eingestellt Beschreibung: Dieser Fehler tritt nur bei der ersten Inbetriebnahme des Anzeigemoduls auf. Der Controller versucht hier die aktuelle Zeit aus dem Echtzeituhr-Chip zu laden und findet keine gültigen Daten. Es ist aber prinzipiell möglich, dass dieser Fehler nach einem Netzausfall gemeldet wird. Dazu müsste aber der Ausfall genau zur vollen Stunde während des Schreibens der aktuellen Zeit in die Echtzeituhr aufgetreten sein, was äußerst unwahrscheinlich ist. Dieser Fehler erscheint nicht im Meldungs-Log, da nur bei gültiger Uhrzeit Log-Daten aufgezeichnet werden können.
Lösung: Entweder warten bis sich die Uhr automatisch mit dem DCF77-Signal synchronisiert hat, was im besten Fall in 2-3 Minuten erledigt ist, bei schlechtem Empfang aber auch wesentlich länger dauern kann. Alternativ kann man über das Menü Konfiguration - Zeiten - Uhr stellen die Uhr manuell setzen und damit den Fehler beseitigen.
Kein Datenempfang Beschreibung: Dieser Fehler tritt auf, wenn das Anzeigemodul keine verwertbaren Daten vom Sensormodul empfängt. Im laufenden Betrieb wird dieser Fehler 20 Sekunden nach dem letzten fehlerfrei empfangenen Datensatz ausgelöst. Beim Systemstart ist die Zeit etwas länger, hier wird der Fehler nach 45 Sekunden signalisiert. Dieser Fehler wird im Meldungs-Log festgehalten und sobald wieder Daten empfangen werden, erfolgt ebenfalls ein entsprechender Eintrag.
Lösung: Hier liegt entweder ein Fehler bei der Datenverbindung vor oder das Sensormodul sendet keine Daten mehr. Falls letzteres zutrifft, dann signalisieren alle angeschlossenen Anzeigemodule einen Datenempfangs-Fehler.
Konfigurations-Fehler Beschreibung: Dieser Fehler tritt beim ersten Start des Anzeigemoduls und unter Umständen auch nach einem Software-Update auf und signalisiert damit, dass keine gültigen Konfigurationsdaten im internen EEPROM vorhanden sind. Sollte dieser Fehler nach einem Netzausfall auftreten, dann deutet dies darauf hin, dass die Konfigurationsdaten beschädigt sind. Dieser Fehler wird im Meldungs-Log gespeichert.
Lösung: Beim ersten Start des Anzeigemoduls sollte man unbedingt im Menü Konfiguration - Grundeinstellung die Option Basiskonfiguration laden aufrufen. Wurde der Fehler im laufenden Betrieb signalisiert, dann sollte man im Menü Konfiguration - Backup über die Option Konfiguration laden/Neustart auf das Konfigurations-Backup zurückgreifen. Ist dieses nicht vorhanden, dann muss man alle Einstellungen manuell prüfen und gegebenenfalls korrigieren. Sobald man mindestens einen Wert geändert hat und eine neue Konfiguration ins interne EEPROM geschrieben wird, verschwindet die Fehlermeldung wieder.
Speicher-Fehler Beschreibung: Diese Meldung zeigt an, dass beim Zugriff auf das externe EEPROM ein Fehler aufgetreten ist. Bei der Inbetriebnahme des Anzeigemoduls deutet dies auf einen Kommunikationsfehler mit IC3-IC6 hin. Im laufenden Betrieb sollte dieser Fehler nicht auftreten. Ein Eintrag ins Meldungs-Log erfolgt nicht, da bei einem Speicher-Fehler alle Zugriffe auf das externe EEPROM gesperrt werden und somit auch kein Schreiben von Log-Daten mehr möglich ist.
Lösung: Weitere Informationen findet man im Menü Status, hier sollte man auf die 4 Symbole hinter dem Element EEPROM achten. Befindet sich hier mindestens ein Symbol Symbol, dann liegt offensichtlich ein Hardware-Problem vor und man sollte die EEPROMs und die Verdrahtung prüfen. Ich habe übrigens EEPROMs von 2 Herstellern (Atmel und ST) getestet und beide arbeiten ohne Probleme.
Sind alle 4 EEPROMs mit einem Symbol Symbol versehen und wird nur der Speicher-Fehler gemeldet, dann kann man den Fehler im Menü Status über die Option Speicher-Fehler löschen zurücksetzen. Tritt der Fehler wiederholt auf, dann sollten die EEPROMs ausgetauscht werden.
Echtzeituhr-Fehler Beschreibung: Hier ist ein Fehler beim Zugriff auf den Echtzeituhr-Chip IC9 aufgetreten. Dieser Fehler wird nicht ins Meldungs-Log geschrieben, da die Echtzeituhr neben der Zeit auch die Pointer für die Log-Daten aufbewahrt und diese nun nicht mehr zugänglich sind.
Lösung: Im Menü Status wird hinter dem Element ein Symbol Symbol zu sehen sein. Falls der Fehler bei der Inbetriebnahme aufgetreten ist, dann sollte man zunächst die Hardware, also IC9 und die Verdrahtung prüfen. Trat der Fehler während des Betriebes auf, dann kann man ihn im Menü Status über die Option Echtzeituhr-Fehler löschen zurücksetzen. Tritt der Fehler wiederholt auf, dann sollte man einen neuen Echtzeituhr-Chip probieren.
Pointer-Fehler Beschreibung: Dieser Fehler tritt nur während eines Systemstarts auf, insbesondere während des ersten Starts. Hier werden die Pointer für die Log-Daten aus dem Speicher der Echtzeituhr gelesen und falls hier ein Wert ungültig ist, dann wird diese Fehlermeldung ausgelöst. Gleichzeitig versucht das Programm, die Schreibposition wieder zu finden, indem nach dem ältesten Eintrag oder nach dem nächsten leeren Eintrag im entsprechenden Log-Daten-Bereich gesucht wird. Das Problem korrigiert sich also von selbst, meldet dies aber trotzdem als Fehler und schreibt dies auch ins Meldungs-Log.
Lösung: Bei der ersten Inbetriebnahme sollte man im Menü Konfiguration - Grundeinstellung nacheinander die Optionen 15min Werte löschen, 24h Werte löschen und Meldungen löschen ausführen. Dies sorgt für eine Initialisierung der Pointer. Im laufenden Betrieb kann ein Pointer-Fehler über das Menü Status über die Option Pointer-Fehler löschen zurückgesetzt werden. Obwohl der Pointer repariert wird, kann nicht ausgeschlossen werden, dass Log-Daten verloren gehen oder überschrieben werden.
Log-Tabellen-Fehler Beschreibung: Das Anzeigemodul 2a verwaltet 2 Log-Tabellen, mit denen jedem Sensor ein Log-Speicherplatz zugeordnet wird. Dabei darf jeder Log-Speicherplatz nur einmal vergeben werden. Tritt hier ein Konflikt auf, dann wird ein Log-Tabellen-Fehler generiert und die Log-Funktion deaktiviert.
Lösung: Bei der ersten Inbetriebnahme sollte zunächst im Menü Konfiguration - Grundeinstellung die Option Basiskonfiguration laden ausgeführt werden. Im laufenden Betrieb tritt dieser Fehler nur auf, wenn im Menü Konfiguration - Sensoren - Log-Zuordnung 1 (oder Log-Zuordnung 2) ein Konflikt entstanden ist. Dieser ist an Pfeilmarkierungen zu erkennen und sollte durch eine sinnvolle Einstellung beseitigt werden.

SymbolDatenkommunikation

Das Anzeigemodul 2a kann mit einem PC verbunden werden, um die Log-Daten zu übertragen und dauerhaft zu speichern. Für diesen Zweck gibt es die PC-Software Software „AnzKom“, die das komfortabel erledigt und außerdem die gespeicherten Daten grafisch anzeigen kann.

Hinweis: Die derzeit aktuelle Version 1.060 von AnzKom kann noch nicht mit dem Anzeigemodul 2a kommunizieren. Ein Update ist in Arbeit, ein Termin für die Fertigstellung kann leider noch nicht genannt werden.

Bevor mit der Datenkommunikation begonnen werden kann, muss eine Verbindung zwischen dem Anzeigemodul 2a und einem PC hergestellt werden. Dafür gibt es 3 Möglichkeiten:

RS-232 Hierfür wird ein gewöhnliches RS-232 Kabel mit einer 1:1 Beschaltung benötigt, welches auf einer Seite mit einem 9-poligen Stecker auf der anderen Seite mit einer 9-poligen Buchse ausgestattet ist (Verlängerungskabel). Als Kommunikationsport wird hier COM1 verwendet.
USB Für diese Verbindung ist ein gewöhnliches USB-Kabel mit A-Stecker auf der einen und B-Stecker auf der anderen Seite erforderlich. Bei der ersten Verbindung wird Windows einen Treiber installieren bzw. nach einem solchen verlangen. Dieser kann von der FTDI Homepage geladen werden. Nach erfolgreicher Installation des Treibers findet man im Geräte-Manager von Windows einen USB Serial Port und dahinter in Klammern die zugewiesene COM-Schnittstelle, die man sich notieren sollte.
Bluetooth Für diese Verbindung ist natürlich kein Kabel erforderlich, stattdessen aber eine Gegenstelle mit Bluetooth-Funktionalität, welche das Serial Port Profile (SPP) unterstützen muss. Das kann ein PC, ein Laptop oder auch ein Smartphone sein, wobei sich das Gerät innerhalb der Funkreichweite (max. 10m) befinden sollte.
Zum Herstellen einer seriellen Verbindung über Bluetooth ist zunächst ein Pairing erforderlich, d.h. PC und Anzeigemodul müssen über eine einmalige Prozedur gekoppelt werden. Diese Prozedur wird komplett vom PC aus durchgeführt, am Anzeigemodul ist keine Handlung erforderlich (das Bluetooth-Modul muss natürlich aktiviert sein). Eingeleitet wird die Prozedur, indem man am PC über die Bluetooth-Software eine Suche nach neuen Geräten startet. Das Bluetooth-Modul des Anzeigemoduls ist so eingerichtet, dass es ständig für andere Geräte sichtbar ist und falls alles korrekt funktioniert, sollte ein neues Gerät mit dem Namen japanboxz gefunden werden. Für dieses neue Gerät startet man nun das Pairing und es muss ein 4-stelliger Code eingegeben werden, der hier immer 1234 ist.
Nach dem Pairing sollte man im Geräte-Manager mindestens eine Seriell-über-Bluetooth-Verbindung und einen zugeordneten COM-Port finden. Falls nicht, dann muss über die Bluetooth-Software manuell ein COM-Port zugeordnet werden. Diese COM-Port-Nummer benötigen wir zum Herstellen der seriellen Verbindung.
Übrigens, auf der Platine des Bluetooth-Moduls befindet sich eine LED, die bei eingeschaltetem Modul blinkt und nach dem Herstellen einer seriellen Verbindung in ein Dauerleuchten übergeht. Das kann man allerdings nur sehen, wenn das Anzeigemodul noch nicht in ein Gehäuse eingebaut wurde. Das Bluetooth-Modul des Anzeigemoduls 2a kann mit 2 Geräten gleichzeitig gekoppelt werden, allerdings kann immer nur ein Gerät eine Datenverbindung herstellen.
Wird hier die alternative Bluetooth-Option mit dem BlueNiceCOM III verwendet, dann ist der Pairing-Code 0000. Die LED D104 bleibt beim Pairing zunächst inaktiv. Sie leuchtet erst, wenn von einem gekoppelten PC aus der virtuelle COM-Port geöffnet wird. Übrigens, dieses Bluetooth-Modul kann mit bis zu 3 Geräten gleichzeitig gekoppelt werden.

Nach dem Herstellen der Kabelverbindung bei RS-232 oder USB bzw. nach dem Bluetooth-Pairing startet man nun auf dem PC ein Terminalprogramm. Dazu kann entweder das bei Windows XP mitgelieferte HyperTerminal oder auch das Open-Source-Programm TeraTerm verwendet werden. Hier wird bei der Konfiguration der Schnittstelle der COM-Port ausgewählt, welcher mit dem Anzeigemodul verbunden ist. Bei der Auswahl der Parameter hilft folgende Tabelle:

ParameterRS-232USBBluetooth
Bits pro Sekunde (Baudrate)115200460800115200
Datenbits888
Paritätkeinekeinekeine
Stoppbits111
Flusssteuerungkeinekeinekeine
Die Baudrate muss sowohl am PC als auch am Anzeigemodul gleich eingestellt werden, nur Bluetooth lässt hier am PC abweichende Baudraten zu. Die Einstellung am Anzeigemodul 2a erfolgt im Menü: Konfiguration - Sonstiges. Beim HyperTerminal wird dann mit einem Klick auf das Telefonsymbol der gewählte COM-Port geöffnet und die Verbindung aktiviert. Bei TeraTerm wird nach dem Schließen des Einstellungsdialogs (Einstellungen - Serieller Port) automatisch die Verbindung aufgebaut.

Terminal

An dieser Stelle sollte die Kommunikation funktionieren, für einen ersten Test kann man das Kommando info probieren und die Eingabe mit Enter abschließen. Bitte nicht wundern, dass das eingetippte Kommando nicht auf dem Bildschirm sichtbar ist. Das liegt daran, dass das Anzeigemodul kein so genanntes Echo sendet. Das ist beabsichtigt und verhindert die Verfälschung der empfangenen Daten vom Anzeigemodul. Hat das Anzeigemodul das Kommando erkannt, dann wird es ausgeführt und in diesem Fall die Versionsnummer gesendet.

Es kann durchaus passieren, dass das erste Kommando nach dem Verbindungsaufbau nicht erkannt wird, in diesem Fall einfach noch einmal probieren. Während der Ausführung eines Kommandos wird auf dem Anzeigemodul neben dem Antennensymbol ein Blitz Symbol angezeigt. Außerdem leuchtet die LED D3 (Blau) während dieser Zeit. Beim soeben erwähnten Kommando info ist allerdings die Bearbeitungszeit so kurz, dass man nur an der blauen LED eine Reaktion sieht.

Hat man alle Hürden bis an diese Stelle gemeistert, dann beginnt jetzt die „richtige“ Datenübertragung. Die Kommunikation zwischen PC und Anzeigemodul läuft grundsätzlich nach dem Master-Slave Prinzip ab. Das bedeutet, dass der PC als Master immer ein Kommando an das Anzeigemodul sendet, dieses das Kommando ausführt und die gewünschten Daten an den PC sendet. Vom Anzeigemodul aus kann keine Kommunikation gestartet werden.
Alle Daten werden grundsätzlich im Klartext gesendet, wobei die deutschen Umlaute durch die entsprechenden Umschreibungen Ae, Oe, Ue, ae, oe, ue und ss ersetzt werden. Die Datenstruktur der Sensor- und Meldungsdaten entspricht dem verbreiteten CSV-Format und kann relativ leicht in Datenbank- oder Tabellenkalkulations-Programme importiert werden.

Für die Datenkommunikation stehen 8 Kommandos zur Verfügung. Bei einigen können Parameter angehängt werden, um die Datenflut etwas einzudämmen und gezielt Daten abrufen zu können. Damit die übertragenen Daten dauerhaft gespeichert werden können, sollte vor der Ausführung des gewünschten Kommandos die Aufzeichnungsfunktion des Terminals aktiviert werden. Beim HyperTerminal erreicht man diese Funktion über das Menü Übertragung - Text aufzeichnen, bei TeraTerm über Datei - Log. Nach Ausführung des Kommandos schaltet man die Aufzeichnung wieder ab und auf der Festplatte liegt nun eine Datei mit den angeforderten Daten.

Weil die Arbeit mit einem Terminal auf Dauer etwas umständlich ist, habe ich die PC-Software „AnzKom“ entwickelt, welche auf die im folgenden Text beschriebenen Kommandos zurückgreift und weitgehend automatisch alle Daten vom Anzeigemodul abholt und grafisch bzw. in Listenform darstellen kann. „AnzKom“ kann allerdings noch nicht mit dem Anzeigemodul 2a kommunizieren und wird zurzeit entsprechend erweitert (Stand Juni 2012). Aus diesem Grund muss man vorübergehend auf die folgenden Kommandos ausweichen.

SymbolKommando end

Das Anzeigemodul 2a kann nicht mehrere Kommandos gleichzeitig ausführen. Empfängt das Anzeigemodul weitere Kommandos, während noch ein anderes ausgeführt wird, dann werden diese einfach ignoriert. Es gibt aber eine Ausnahme: Das Kommando end bricht ein laufendes Kommando ab und beendet die laufende Übertragung. Dieses Kommando hat keine Parameter.

SymbolKommando info

Dieses Kommando fordert eine Status-Information vom Anzeigemodul an. Diese enthält den Namen des Gerätes, die Versionsnummer und das Datum der Software. Auch dieses Kommando hat keine Parameter. Hier ein Beispiel:

Anzeigemodul 2a v3.000, 02.06.2012

SymbolKommando gett15

Mit diesem Kommando können die 15min-Werte aus dem Log-Daten-Speicher (Externes EEPROM) ausgelesen werden. Die Daten haben grundsätzlich folgendes Format:

Datum;Zeit;Wert1;Wert2;Wert3;...;Wert32

Dazu ein Beispiel aus der Praxis:

20120627;04:00:00; 23,8; 24,4; 13,6; 23,6; 18,1; 23,9; 10,2; 17,8; 38,6; 22,9; 22,4; 23,6; 19,8; 12,0; 23,1; 22,2;;;;;;;;; 23,0; 19,1;;1002; 44; 51;;3,33
20120627;04:15:00; 23,7; 24,4; 13,5; 23,6; 18,1; 23,9; 10,0; 17,8; 38,3; 22,9; 22,4; 23,6; 19,8; 11,9; 23,1; 22,1;;;;;;;;; 23,0; 19,0;;1002; 44; 52;;3,34
20120627;04:30:00; 23,7; 24,3; 13,4; 23,6; 18,1; 23,9;  9,8; 17,8; 37,8; 22,9; 22,4; 23,6; 19,6; 11,8; 23,1; 22,1;;;;;;;;; 23,0; 19,0;;1002; 44; 51;;3,33

Für das Datum und die Uhrzeit wird bei allen Datensätzen das gleiche Format: yyyymmdd und hh:mm:ss verwendet. Die Werte werden immer in der gleichen Reihenfolge ausgegeben, wie sie im Log-Daten-Speicher abgelegt sind. Dabei gilt: Wert1-Wert27 sind immer Temperaturwerte, Wert28 ist immer ein Luftdruckwert, Wert29-Wert31 sind immer Luftfeuchtigkeitswerte und Wert32 ist immer die Batteriespannung der Echtzeituhr. An den Positionen, wo keine Daten vorliegen, wird gar nichts ausgegeben und es folgt direkt das Trennzeichen zum nächsten Wert.
Die Reihenfolge der Werte lässt sich in gewissen Grenzen über das Menü Konfiguration - Sensoren - Log-Zuordnung 1 und Log-Zuordnung 2 festlegen. Diese Einstellung muss allerdings vor Beginn der Aufzeichnung vorgenommen und gegebenenfalls bei Sensor-Erweiterungen geändert werden. Weitere Hinweise dazu sind in den entsprechenden Menü-Beschreibungen zu finden. Ohne Änderung der Log-Zuordnung entspricht Wert1 dem Sensor S01 in der Sensortabelle usw.

Da man nicht immer alle Daten benötigt, die im Anzeigemodul gespeichert sind, kann man mit einem Parameter die gewünschte Datenmenge beeinflussen. Hier sind einige Beispiele für die praktische Anwendung:

gett15 Ohne Parameter werden alle verfügbaren Daten aus dem Anzeigemodul geholt. Das sind bis zu 3855 Datensätze, was einem Zeitraum von über 40 Tagen entspricht. Die Übertragung dauert auch bei einer USB-Verbindung mit der höchsten Geschwindigkeit einige Zeit. Falls man dieses Kommando abbrechen möchte, tippt man einfach end ein. Man sieht zwar diese Eingabe im Terminal nicht, das Anzeigemodul wird jedoch die Übertragung beenden.
gett15 2012 Mit diesem Parameter werden alle verfügbaren Daten des Jahres 2012 geholt. Da das Anzeigemodul den gesamten Speicherbereich durchsuchen muss, kann es bis zu 10 Sekunden dauern, bis der erste Datensatz gesendet wird.
gett15 201205 Mit diesem Parameter werden alle verfügbaren Daten vom Mai 2012 geholt. Da das Anzeigemodul den gesamten Speicherbereich durchsuchen muss, kann es bis zu 10 Sekunden dauern, bis der erste Datensatz gesendet wird.
gett15 20120531 Mit diesem Parameter werden alle verfügbaren Daten vom 31. Mai 2012 geholt. Da das Anzeigemodul auch hier den gesamten Speicherbereich durchsuchen muss, kann es bis zu 10 Sekunden dauern, bis der erste Datensatz gesendet wird.
gett15 2012- Mit diesem Parameter werden alle verfügbaren Daten seit dem Beginn des Jahres 2012 geholt. Hier verwendet das Anzeigemodul einen speziellen Such-Algorithmus und nach maximal einer Sekunde beginnt der Datentransfer. Diese Kombination wird man bei den 15min-Werten kaum anwenden, ist aber bei den folgenden Kommandos durchaus sinnvoll.
gett15 201205- Mit diesem Parameter werden alle verfügbaren Daten ab Mai 2012 geholt. Auch hier verwendet das Anzeigemodul eine speziellen Such-Algorithmus und nach maximal einer Sekunde beginnt der Datentransfer.
gett15 20120531- Mit diesem Parameter werden alle verfügbaren Daten ab dem 31. Mai 2012 geholt. Auch hier wird durch einen speziellen Algorithmus die Suche beschleunigt.

SymbolKommando getmin

Dieses Kommando holt die 24h-Minimalwerte (Tages-Minimalwerte) aus dem Log-Daten-Speicher. Das Format und auch die Reihenfolge der Werte entspricht dem Kommando gett15 und es können hier auch die gleichen Parameter verwendet werden. Ohne Parameter werden hier bis zu 416 Datensätze gelesen. Auch hier ein Beispiel aus der Praxis:

20120306;23:59:00; 23,3; 23,9;  3,3; 20,4; 11,8; 22,9; -0,3;  8,8; 35,1; 20,1; 20,6; 23,1; 18,4; 15,2; 21,3;  9,3;;;;;;;;; 22,4; 17,8;;1005; 39; 33;;3,33
20120307;23:59:00; 23,1; 21,4; -0,6; 12,3; 11,6; 22,8; -3,4;  7,4; 35,1; 19,8; 20,3; 23,1; 17,6; 14,3; 20,9;  7,5;;;;;;;;; 22,3; 17,0;; 995; 36; 27;;3,33
20120308;23:59:00; 23,3; 23,3;  3,9; 20,2; 11,8; 22,9;  1,4;  8,9; 35,0; 20,5; 20,6; 23,1; 17,4; 15,8; 21,1; 10,3;;;;;;;;; 22,5; 16,8;; 995; 42; 34;;3,33

SymbolKommando getmax

Dieses Kommando holt die 24h-Maximalwerte (Tages-Maximalwerte) aus dem Log-Daten-Speicher. Das Format und auch die Reihenfolge der Werte entspricht ebenfalls dem Kommando gett15 und die dort beschriebenen Parameter sind auch hier anwendbar.

SymbolKommando getavg

Dieses Kommando holt die 24h-Mittelwerte (Tages-Mittelwerte, Average) aus dem Log-Daten-Speicher. Und auch hier entspricht das Format und die Reihenfolge der Werte dem Kommando gett15 mit den gleichen Möglichkeiten bei den Parametern.

Weitere Informationen zu den Sensor-Log-Daten (Kommandos gett15, getmin, getmax und getavg): Die 15min-Werte sind immer die gerade zu diesem Zeitpunkt aktuellen Sensorwerte. Falls zu dieser Zeit ein Sensor außer Betrieb war, dann wird kein Wert im Log gespeichert und folglich auch kein Wert beim Auslesen gesendet. Die 24h-Werte (Tagesdaten) bestehen aus 3 Werten: Minimal-, Maximal- und Mittelwert. Diese werden täglich um 23:59 Uhr aufgezeichnet und danach zurückgesetzt. Beim Minimal- und Maximalwert wird der wirklich aufgetretene Extremwert gespeichert, dieser muss nicht unbedingt in den 15min-Werten auftauchen und kann durchaus auch zwischen zwei 15min-Intervallen aufgetreten sein. Die Berechnung des Mittelwertes sieht folgendermaßen aus: Jeder eingehende Sensorwert vom Sensormodul erhöht einen Zähler und der aktuelle Wert wird zu einer Summe hinzu addiert. Um 23:59 Uhr wird dann die Summe durch den Zähler dividiert und das Ergebnis als Mittelwert gespeichert.

SymbolKommando getmsg

Dieses Kommando holt die Meldungsliste (Messages) aus dem Log-Daten-Speicher. Auch bei diesem Kommando kann mit den beschriebenen Parametern gearbeitet werden, um die gewünschten Daten gezielt abzurufen. Die Daten haben hier folgendes Format:

Datum;Zeit;Alarm;Parameter

Nicht alle Alarme haben einen Parameter, hier ein Beispiel aus der Praxis:

20120517;08:25:11;Temp zu niedrig;Hausflur
20120517;08:27:58;Temp normal;Hausflur
20120517;21:17:13;System-Neustart;
20120518;13:46:29;Alarm ein;Briefkasten
20120518;13:46:31;Alarm aus;Briefkasten

SymbolKommando getcfg

Mit diesem Kommando lässt sich ein Teil der aktuellen Konfiguration aus dem Anzeigemodul auslesen. Dieses Kommando wird von der „AnzKom“ Software verwendet, um eine schnelle Grund-Konfiguration zu ermöglichen. Es werden dabei folgende Daten übertragen:

L01:01
L02:02
...
L24:24
L25:01
L26:02
L27:03
S01:Wohnzimm
S02:Heizraum
...
S28:Luftdruck
S29:WohnzimmH
S30:SchlafzimH
S31:
AL1:Garagentor
...
AL4:Dachfenster

Die mit L beginnenden 27 Zeilen enthalten die Daten der beiden Log-Zuordnungs-Tabellen. Die nächsten 31 Zeilen, welche mit S beginnen, enthalten die Namen der Sensoren und die letzten mit AL beginnenden 4 Zeilen übermitteln die Namen der Alarmeingänge. Es gibt hier eine Besonderheit bei den Namen der Luftfeuchtigkeitssensoren S29-S31: Hier hängt das Anzeigemodul jeweils ein H an, damit sich der Name von einem eventuell gleich benannten Temperatursensor unterscheidet. Dieser zusätzliche Buchstabe wird auch bei Fehlermeldungen von einem Luftfeuchtigkeitssensor mitgesendet. Bei der Auswertung und Anzeige der Daten in „AnzKom“ ist dieses angehängte H jedoch nicht zu sehen und es wird immer der dort festgelegte lange Name verwendet.

SymbolKommando getscr

Über dieses Kommando lässt sich eine Bildschirmkopie (neudeutsch: Screenshot) vom Anzeigemodul erstellen. Dabei werden alle Pixel des Displays zeilenweise ausgelesen und zum PC übertragen. Die Datenstruktur sieht dann folgendermaßen aus:

255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255;255
128;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;2;0;0;0;4;0;2;0;1
128;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;2;0;0;0;5;128;2;2;1
145;0;2;0;0;3;159;0;16;0;0;113;193;28;0;0;0;0;0;0;0;2;0;224;113;197;68;18;6;33
155;0;2;0;0;4;80;0;16;0;64;138;35;34;0;0;0;0;0;0;0;2;1;16;138;37;136;34;14;17

Jeder Zeile besteht aus 30 Werten im Bereich von 0 bis 255 und jeder Wert enthält wiederum 8 Pixel. das ergibt insgesamt 240 Pixel, also genau eine Display-Zeile. Der komplette Datenblock besteht aus 128 Zeilen, was der Display-Höhe von 128 Pixeln entspricht. Das sind natürlich nur Roh-Daten, die erst mit einem Programm zu einem Bild zusammengesetzt werden müssen. Die Software „AnzKom“ nutzt das Kommandos getscr, um eine Grafik mit dem aktuellen Display-Inhalt zu erstellen. Die Screenshots auf dieser Seite sind übrigens auch über dieses Kommando erstellt worden.

SymbolUpgrade zum Anzeigemodul 2a

Ein bereits vorhandenes Anzeigemodul 2 kann leider nicht ohne Änderung der Hardware mit der neuen Software v3.x arbeiten. Durch die Erweiterung des Temperaturmesssystems von 16 auf 31 Sensoren muss die Speicherbank auf 4 EEPROMs erweitert werden. Dieser Abschnitt zeigt, wie das mit relativ wenig Aufwand möglich ist. Alle Bauteilbezeichnungen beziehen sich übrigens auf den Schaltplan des Anzeigemoduls 2.

Wer das Anzeigemodul 2 auf einer Lochrasterplatine aufgebaut hat, wird wahrscheinlich noch etwas Platz auf der Platine für die beiden zusätzlichen IC13 und IC14 finden. Die Beschaltung der neuen ICs kann man weiter unten dem Schaltplan der Variante 2 entnehmen. Wenn auf der Platine kein Platz mehr verfügbar ist oder das Anzeigemodul 2 auf einer geätzten Platine aufgebaut wurde, dann gibt es folgende 2 Lösungsvarianten:

SymbolVariante 1 Huckepack

Schaltung Upgrade Variante 1

Bei dieser Variante werden die beiden zusätzlichen IC13 und IC14 im Huckepack-Verfahren auf die vorhandenen IC3 und IC4 aufgelötet - bis auf den Anschluss 2. Dieser wird bei den beiden neuen ICs nach außen gebogen und mit +5V verbunden. Letzteres geht am einfachsten, indem man eine Drahtbrücke zum Anschluss 8 hergestellt. Weitere Bauteile sind bei dieser Variante nicht notwendig. Die obligatorischen 100nF-Abblockkondensatoren befinden sich bereits auf der Platine und reichen bei der kurzen Leitungsführung für alle ICs aus.

SymbolVariante 2 Tochterplatine

Schaltung Upgrade Variante 2

Bei dieser Variante werden die beiden bisherigen IC3 und IC4 von der Hauptplatine entfernt. Wer hier IC-Fassungen verwendet hat, ist klar im Vorteil, anderenfalls müssen die ICs ausgelötet werden. Diese ICs kommen dann gemeinsam mit den beiden neuen IC13 und IC14 auf eine kleine Zusatzplatine, die dann über spezielle Steckverbinder in eine der Fassungen auf der Hauptplatine gesteckt wird. Als Steckverbinder können z.B. AW 122/20 von Reichelt verwendet werden. Diese können auf die benötigte Länge gekürzt werden und haben dünne Stifte, die direkt in eine IC-Fassung eingesteckt werden können. Die andere Seite der Stiftleiste wird an die Tochterplatine gelötet (auf die Leiterseite).

Für beide Varianten gibt es im Moment noch keine Bilder, da ich mein Anzeigemodul 2a komplett neu aufgebaut habe und kein Upgrade nötig war. Es ist aber noch ein Anzeigemodul 2 vorhanden, welches zum Anzeigemodul 2a umgebaut werden soll und zu gegebener Zeit wird es auch Bilder für eine der Varianten geben.

Weitere Hinweise: Wenn man die Schaltpläne vom Anzeigemodul 2 und 2a vergleicht, dann wird man noch weitere Unterschiede erkennen. Im Falle eines Upgrades sind aber außer der Erweiterung mit IC13 und IC14 (und gegebenenfalls C37-C40) keine weiteren Maßnahmen erforderlich. Es muss also kein DIP-Schalter für die Konfiguration des Drehimpulsgebers nachgerüstet werden, keine LED und weder Widerstände noch Kondensatoren müssen geändert werden. Auch an der USB-Option sind keine Änderungen notwendig.

Nach dem Upgrade der Hardware folgt die Installation der Software. Da sich bei der Software v3.x intern viel verändert hat und auch die Datenstruktur in den EEPROMs anders ist, muss hier zwingend wie im Abschnitt Inbetriebnahme vorgegangen werden, d.h. das Anzeigemodul wird wie ein neues Gerät betrachtet und muss vollständig neu konfiguriert werden. Dabei wird man feststellen, dass sich die Menüstruktur geändert hat und insbesondere die Sensorkonfiguration komplett anders aufgebaut ist. Alle offenen Fragen wird der Abschnitt Bedienung hoffentlich beantworten.

Software „AnzKom“: Die aktuelle Version von AnzKom kann noch nicht mit dem Anzeigemodul 2a kommunizieren. Hier ist gerade ein Update in Arbeit, aber ich kann noch keinen Termin für die Fertigstellung nennen. Um die Log-Daten auf dem PC zu sichern, muss man vorübergehend mit einem Terminalprogramm arbeiten, siehe auch Datenkommunikation. Die hier erstellten Log-Dateien können später mit AnzKom importiert und in die vorhandene Datenbasis integriert werden.


Startseite - Seitenanfang

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

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