Projekt: Temperatur-Messsystem - Anzeigemodul 2


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: 04.03.2007

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

SymbolDownloads

Schaltplan Anzeigemodul 2am2-sch.zip
Stückliste mit Empfehlungen zur Bauteilbestellungam2-stkl.htm
Software v2.020 für ATmega128 vom 04.03.2007 (Assembler)am2-v2020.zip
USB-Treiber (VCP) für FT232BMwww.ftdichip.com/Drivers/VCP.htm

SymbolInhaltsverzeichnis

BeschreibungAllgemeine Informationen über das Anzeigemodul 2
SchaltungBeschreibung der Schaltung des Anzeigemoduls 2
HardwareBilder und Hinweise zum Aufbau des Anzeigemoduls 2
SoftwareBeschreibung der Software des Anzeigemoduls 2
InbetriebnahmeInbetriebnahme des Anzeigemoduls 2 und Installation der Software
UpdateUpdate der Software bei einem bereits laufenden Anzeigemodul 2
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

SymbolBeschreibung

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

Alle Eigenschaften in Stichpunkten:

SymbolSchaltung

Schaltung-Hauptmodul

SymbolHauptmodul

Das Anzeigemodul 2 ist auf Grund des Funktionsumfangs etwas aufwändiger konstruiert. Für eine bessere Übersicht empfehle ich den Schaltplan auszudrucken (passt auf eine A4 Seite).

Zur Schaltung: Als zentrales Bauteil wird ein Mikrocontroller ATmega128 (IC1) verwendet, der mit einer Taktfrequenz von 11,0592 MHz arbeitet. Diese scheinbar krumme Frequenz wurde gewählt, um genormte Baudraten für die PC Schnittstelle erzeugen zu können. Das nächste wichtige Bauteil ist IC2, ein grafisches Display mit einer Auflösung von 240x128 Pixel. 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 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 eine sichere DCF-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 hier verwendete Display durch einen Inverter selbst und mittels R11 kann der Kontrast eingestellt werden.

Schaltung-Inverter 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 R103 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 nicht benötigt.

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

Weiterhin verfügt das verwendete Display über eine LED-Hintergrundbeleuchtung. Diese wird über T1 gesteuert, R7 und R8 begrenzen den Strom auf ungefähr 250 mA. Die Ansteuerung erfolgt mit einem PWM-Signal von IC1/PB7, so kann die Beleuchtung „weich“ ein- und ausgeschaltet werden. Andere Displays mit EL-Folie oder CCFL dürfen nicht so angesteuert werden, hier muss man in der Software das weiche Schalten deaktivieren. Außerdem entfallen R7 und R8, so dass der Inverter für die Hintergrundbeleuchtung direkt geschaltet wird.

Neben dem LCD signalisieren die beiden LEDs D1 und D2 verschiedene Zustände. Ich habe hier ultrahelle Typen verwendet, damit man auch aus größerer Entfernung einen Alarmzustand erkennen kann. Zur Bedienung des Anzeigemoduls dienen der Drehimpulsgeber mit Taster S1 und der Einzeltaster S2. Beide sind ebenso wie die LEDs direkt mit IC1 verbunden. Mit dem Taster S3 kann man ein Reset auslösen und den Bootloader aktivieren. Das ermöglicht die einfache Installation einer neuen Software über RS-232 (K2) oder USB (K3).

IC3 und IC4 sind EEPROMs mit einer Speicherkapazität von jeweils 64 kB und dienen zur Speicherung der Log-Daten. Die Ansteuerung erfolgt über einen I²C Bus, wobei R13 und R14 die Pull-up-Widerstände bilden. Die EEPROMs sind so beschaltet, dass IC3 die Adresse 0xA0 und IC4 die Adresse 0xA2 bekommt.

IC5 ist ein Doppel-OPV, welcher hier zur Tonerzeugung verwendet wird. Von IC1/PB6 wird ständig ein PWM-Signal generiert und über das Tiefpassfilter R15 und C12 zum Eingang des linken OPV (Spannungsfolger) geführt. An dessen Ausgang 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 D3 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 (ebenfalls ein Spannungsfolger) und der nachgeschaltete Transistor T1 steuern dann den Lautsprecher LS1 an. Die Schaltung ist so ausgelegt, dass hier ein Standard-Lautsprecher, ein Miniatur-Lautsprecher (Sound-Transducer) oder auch ein Piezo-Schallwandler verwendet werden kann.

IC6 ist ein Standard Empfängermodul für DCF77 (Deutschland) oder HBG (Schweiz) mit Open Collector Ausgang. Die Daten werden direkt zu IC1/PE2 geführt, ein zusätzlicher Pull-up-Widerstand ist nicht erforderlich.

IC7 enthält eine Echtzeituhr und stellt zusätzlich noch 240 Byte RAM zur Verfügung, die zur Speicherung von Zeigeradressen sowie Min/Max/Mittelwerten genutzt werden, mehr dazu im Abschnitt Software. Die Kommunikation mit IC1 erfolgt hier über einen weiteren I²C Bus, wobei R22 und R23 als Pull-up-Widerstände dienen. Eigentlich sollten IC3, IC4 und IC7 einen gemeinsamen I²C-Bus verwenden, aber das war nicht möglich, weil IC7 mit einer niedrigeren Geschwindigkeit arbeitet und zudem noch den gleichen Adressraum verwendet.

Die Uhr wird mit einem üblichen Uhrenquarz von 32768 Hz getaktet, mittels C17 kann die Frequenz genau abgeglichen werden. Falls ein Frequenzzähler vorhanden ist, dann bietet sich dieser zum Abgleich an. Er kann direkt an IC7/Pin7 angeschlossen werden, R31 dient hier als Pull-up-Widerstand für den Open-Drain-Ausgang. Eingestellt wird hier mit C17 eine Frequenz von 1Hz bzw. eine Periodendauer von 1s.

Im Normalbetrieb wird IC7 über D6 mit 5V versorgt. Bei Ausfall der Betriebsspannung erfolgt eine 3V Notversorgung mittels einer Lithium-Batterie CR2032 (Bat1) über D5. R21 und C16 führen zu IC1/PF1, hier wird die Spannung der Batterie gemessen und bei Bedarf auf dem Display angezeigt. R21 wurde absichtlich so groß gewählt, damit die Batterie bei Netzausfall nicht über die internen Schutzelemente von IC1 entladen werden kann.

IC8 ist ein MAX232 in Standard-Beschaltung. Er dient als Pegelwandler für die RS232 Schnittstelle zum Sensormodul über K1 und zum PC über K2. Am Anschluss 4 von K1 liegt zusätzlich ein RS-232-Ausgang, der zurzeit nicht verwendet wird. Er steht für zukünftige Erweiterungen zur Verfügung.

IC10 sorgt für eine stabile Spannung von 5V. Wegen des relativ hohen Stromverbrauches der LCD-Beleuchtung habe ich hier einen Schaltregler verwendet. L1 und C32 sind Spezialbauteile, die aber leicht beschafft werden können. Die Stromaufnahme des Moduls hängt von der zugeführten Spannung ab, die zwischen 10V und 20V liegen kann. Mein Prototyp nimmt mit eingeschalteter LCD-Beleuchtung ungefähr 200 mA bei 12V auf. Falls Sensor- und Anzeigemodul nicht weit voneinander entfernt sind und ein 3- bzw. 4-adriges Verbindungskabel zur Verfügung steht, dann empfiehlt sich die Versorgung der Module aus einem gemeinsamen Netzteil. Wie schon beim Sensormodul beschrieben, speise ich alle Module meines Messsystems von einem gemeinsamen 12V-Netzteil, welches sich in der Nähe des Sensormoduls befindet.

D4 sollte auch noch erwähnt werden: Diese Fotodiode ändert in Abhängigkeit von der Raumhelligkeit ihren Widerstand und ermöglicht die Steuerung der Display-Beleuchtung. Diese wird bei ausreichendem Tageslicht aus- und bei Dämmerung wieder eingeschaltet. Prinzipiell wäre auch ein gleitender Übergang möglich, aber die PWM-Signale stören den DCF-Empfang sehr stark und so habe ich darauf verzichtet. Die Einstellung der gewünschten Schaltschwelle erfolgt über die Software.

SymbolOptionen

Einige Teile im Schaltplan wurden bisher noch nicht erwähnt und sind mit unterbrochenen Linien umrahmt. Es handelt sich hier um 3 optionale Schnittstellen zum PC, die man je nach bei Bedarf aufbauen oder weglassen kann:

RS-232Baudrate von 9600 bis 115200 einstellbar, Software-Update über Bootloader möglich
USBBaudrate von 9600 bis 460800 einstellbar, Software-Update über Bootloader möglich
BluetoothBaudrate fest auf 115200 eingestellt, Bootloader-Update nicht möglich

Die Schaltung ist so ausgelegt, dass sowohl einzelne Optionen als auch beliebige Kombinationen aufgebaut werden können. Dazu wird der vom ATmega128 ausgehende serielle Datenstrom (TX) an alle Optionen gesendet. Umgekehrt werden die von den Optionen eingehenden Daten über eine einfache OR-Schaltung (R30, D7, D8, D11) zusammengefasst und zum RX des ATmega128 weitergeleitet. Somit können alle Optionen ohne Umschaltung verwendet werden, allerdings sollte immer nur eine aktiv sein.

RS-232: Für diese Option ist nur eine 9-polige D-Sub-Buchse notwendig. Es werden zwei Treiber des bereits vorhandenen MAX232 verwendet. Die Verbindung zum PC erfolgt über ein serielles Kabel mit 1:1 Beschaltung.

USB: Diese Option erfordert etwas mehr Aufwand und außerdem ein IC, welches nur in SMD Bauform erhältlich ist. Dafür kann das Anzeigemodul mit wirklich jedem aktuellen PC verbunden werden (USB-Kabel A-B erforderlich).

Zur Schaltung: IC9 ist ein USB-RS232-Wandler und wird in der Standard-Beschaltung für die Betriebsart „self powered“ betrieben, d.h. die Schaltung wird vom Anzeigemodul versorgt und die Spannung am USB dient lediglich dazu, IC9 aus dem Reset-Zustand zu holen. Normalerweise ist noch ein zusätzliches EEPROM vorgesehen, welches spezifische Daten und eine Seriennummer enthält, um Windows die Zuordnung von COM-Ports zu erleichtern. In der Praxis funktioniert es aber auch ohne EEPROM, deshalb habe ich darauf verzichtet.

Bluetooth: Diese Option gab es im ursprünglichen Anzeigemodul noch nicht und wurde deshalb als separate Schaltung gezeichnet.

Bluetooth-Option

Als zentrales Bauteil kommt hier das hochintegrierte Bluetooth-Modul „BlueNiceCom III“ der Firma Amber Wireless zum Einsatz (IC12). Dieses vereint alle wichtigen Komponenten auf einer kleinen Platine: das IC LMX9820A, welches den Transceiver und eine Mikrocontroller-Steuerung enthält sowie eine Antenne. Der große Vorteil dieses Moduls ist, dass es eine transparente serielle Schnittstelle zur Verfügung stellt und das bedeutet, dass man keine speziellen Kenntnisse in der Bluetooth-Technik haben muss, sofern man mit den Voreinstellungen des Moduls zufrieden ist.

Zur Schaltung: Der 5-poliger Steckverbinder symbolisiert den Anschluss an das Hauptmodul. Dieser ist nicht wirklich vorhanden und soll nur zeigen, welche Anschlüsse verbunden werden müssen. Im Hauptmodul ist dieser symbolische Stecker ebenfalls eingezeichnet (über IC8). Das Bluetooth-Modul benötigt eine Spannung von 3,3V, die mittels IC11 bereitgestellt wird. Da das Modul nicht immer aktiv sein soll, lässt sich mit T4 die Stromversorgung vom ATmega128 aus über Port PB5 bei Bedarf ein- oder ausschalten. Der MOSFET-Schalter in der Masseleitung ist vielleicht etwas ungewöhnlich, aber so konnte die Ankopplung von TX/RX etwas vereinfacht werden.

R34 sorgt dafür, dass T4 beim Start und Reset des Anzeigemoduls sperrt und das Bluetooth-Modul deaktiviert wird. Ursprünglich war vorgesehen, das Modul in der Startphase des Anzeigemoduls zu aktivieren, um ein Software-Update mittels Bootloader über Bluetooth zu ermöglichen. Leider ist es mir nicht gelungen, das AVR-Studio über Bluetooth mit dem Bootloader zu verbinden. Zu allem Überfluss blieb das Anzeigemodul auch ohne Updatewunsch gelegentlich beim Start im Bootloader hängen...

Zur Pegel-Anpassung zwischen der 5V-Welt der Hauptschaltung und IC12 dienen R32 und D12/D13. Hiermit wird die Spannung an IC12/Pin4 in jeder Situation auf zulässige Werte begrenzt. In der Gegenrichtung dient D11 als OR-Glied zur Einkopplung der Daten des Bluetooth-Moduls. R33 bildet zusammen mit R30 (auf dem Hauptmodul) einen Spannungsteiler und reduziert den H-Pegel am OR-Glied auf ca. 3,6V. Das ist wichtig, damit bei abgeschaltetem Bluetooth-Modul keine Spannung über 3,6V an das Modul gelangen kann.

Die blaue LED D14 zeigt an, wenn eine serielle Verbindung zum Bluetooth-Modul aufgebaut worden ist. Die LED muss wegen der hohen Flussspannung über den Treibertransistor T5 an 5V betrieben werden. Weitere Informationen zum Herstellen einer Bluetooth Verbindung zwischen dem Anzeigemodul und einem PC sind im Abschnitt Datenkommunikation zu finden.

Alle für das Anzeigemodul 2 benötigten Bauelemente sind in dieser Stückliste zu finden.

SymbolHardware

Platine1 Das Anzeigemodul 2 wurde komplett auf einer Lochrasterplatine aufgebaut. Im Zentrum 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 Anschlüsse passen perfekt ins Lochraster der Platine. Wegen der begrenzten Bauhöhe durch das darüber liegende Display habe ich das Header Board direkt auf die Platine gelötet. Vorher habe ich beide Quarze, den Spannungsregler und das Reset-IC entfernt und die ansonsten praktischen Programmieranschlüsse abgeschnitten. Das ist zwar etwas brutal, aber der Platz wird für andere Zwecke benötigt.

Links neben dem Controller sitzt der MAX232 (IC8) mit den Kondensatoren. Ganz links befinden sich alle Anschlüsse, von oben nach unten sind das: RS-232 (PC), ISP, JTAG und USB. Neben der USB-Buchse ist ein 4-poliger Steckverbinder zu sehen (weiter rechts ist noch einer), hier wird später eine Tochterplatine mit dem FT232BM (IC9) aufgesteckt. Rechts neben der RS-232 Buchse befindet sich das Bluetooth-Modul und einige Bauteile der Außenbeschaltung. Über dem Controller sind die beiden EEPROMs (IC3 und IC4) sowie der PCF8583 (IC7) mit Quarz, Trimmer und Batterie zu sehen. Weiter links befinden sich der DCF77-Empfänger und die Antenne.

Rechts vom Controller sitzt der Doppel-OPV (IC5), der 3,3V Spannungsregler (IC11) und darunter die beiden Transistoren für die Display Ansteuerung. Für die Soundausgabe wurde ein Minilautsprecher verwendet, der am oberen Platinenrand neben der Batterie festgeklebt wurde. Ganz rechts befindet sich die Stromversorgung, bestehend aus IC10 mit Kühler und der nötigen Beschaltung. Auf die große 4-polige Stiftreihe über dem Spannungsregler wird später eine ebenfalls 4-polige Schraubklemmenleiste aufgesteckt (K1). Ich empfehle allerdings direkte lötbare Schraubklemmen, die Steckverbinder meiner Klemmen haben sich in der Praxis als etwas unsicher erwiesen. Über K1 sind noch zwei Stifte zu sehen, die aber derzeit nicht verwendet werden.

Ganz unten wurde über 15mm Distanzhülsen eine Tochterplatine angeschraubt, die den Taster S2, die drei LEDs und die Fotodiode aufnimmt. So befinden sich diese Bauteile später im geschlossenen Gehäuse an der optimalen Position. Die LEDs habe ich vor der Montage mit feinem Schleifpapier bearbeitet, damit das Licht etwas gestreut wird und nicht so blendet. Rechts neben der LED-Platine befinden sich zwei Trimmpotis und der Drehimpulsgeber S1. Eins der Potis ist für die Einstellung des Displaykontrastes zuständig, das andere diente einst zur Einstellung des Lichtsensors, heute ist es fest auf ca. 7,5M eingestellt (R20) und die genaue Einstellung erfolgt jetzt in der Software.

Die Positionen von S1 und S2 sind bewusst so gewählt, denn sie dienen als so genannte Softkeys und haben immer die im darüber liegenden Display angezeigte Funktion. In den nächsten Bildern sieht man das noch genauer. Ebenfalls erwähnenswert ist die 22-polige Buchsenleiste für das Display, auch hier folgen noch weitere Informationen.

Platine2 Dieses Bild zeigt die Basisplatine von unten. Wie bei fast allen Schaltungen auf Lochraster sieht das auch hier nicht besonders schön aus. Im Falle meines Prototyps war es so, dass ich ganz am Anfang einen ATmega162 verwendet hatte. Später stellte ich aber fest, dass das fertige Programm nie und nimmer dort hinein passen wird und ich habe die Schaltung auf ATmega128 umgebaut, sowie die Software entsprechend umgeschrieben. Die Platine hat also schon einiges durchgemacht.

Für die DCF-Antenne habe ich eine Aussparung in die Platine gesägt und die Antenne dort eingeklebt. So konnte ich noch etwas Abstand zum Display gewinnen, welches den Empfang leider etwas stört. Auch sollte man beim Nachbau beachten, dass sich die Antenne nicht in der Nähe des Spannungsreglers IC10 befindet. Dieser erzeugt auf Grund des Schaltungsprinzips auch reichlich Störsignale.

Platine3 Diese kleine Tochterplatine enthält den USB-RS232-Wander IC9 und die nötige Beschaltung. Für den Nachbau in dieser Form sollte man schon etwas Erfahrung mit SMD-Bauteilen und eine ruhige Hand haben. Diese Platine wird später auf die Basisplatine aufgesteckt und ermöglicht eine PC-Kommunikation über USB.

Auf der linken Seite befinden sich alle Anschlüsse, die zur Schaltung führen: Masse, +5V, TXD und RXD. Die Anschlüsse rechts führen direkt auf die 4 Anschlüsse der USB-Buchse.

Die Schaltung kann man übrigens auch direkt auf die Basisplatine löten. Ich habe jedoch diesen Weg gewählt, weil die Basisplatine schon in Betrieb war und Daten aufgezeichnet hat und ich keine Lücken im Log haben wollte. So brauchte ich nur die Lötstifte und einige Leitungen innerhalb eines 15min-Intervalls auf die Basisplatine löten und konnte mir für die SMD-Löterei viel Zeit nehmen - ohne die Daten-Aufzeichnung zu unterbrechen.

Platine4 So sieht die USB-Platine von unten aus. Übrigens, trotz des unübersichtlichen Drahtverhaus hat diese Platine bei mir auf Anhieb funktioniert.

Platine5 In diesem Bildausschnitt wurde die USB-Platine auf die Basisplatine aufgesteckt.

Unterhalb der USB-Buchse befindet sich übrigens der Reset-Taster S3.

Platine6 Hier ist noch eine vergrößerte Ansicht vom Bluetooth-Modul und vom DCF77-Empfänger zu sehen. Beim Bluetooth-Modul ist zu beachten, dass sich in unmittelbarer Nähe der Antenne keine Metallteile befinden dürfen. Das Datenblatt schreibt hier einen Mindestabstand von 7mm vor.

Das Bluetooth-Modul lässt sich nicht direkt auf die Platine löten. Zum Einen hat es keine wie bei DIP üblichen Lötstifte und zum Anderen sind die Anschlüsse im 2mm-Raster angeordnet. Ich habe das Problem gelöst, indem ich an alle genutzten Anschlüsse Drähte von ca. 1cm Länge gelötet habe. Diese kann man dann vorsichtig ins 2,54mm-Raster der Platine biegen und somit lässt sich das Modul etwas erhöht auf die Platine stecken und verlöten.

Platine7 Im nächsten Schritt wird das Display auf die Basisplatine gesteckt und angeschraubt. Dazu befinden sich 4 Distanzhülsen mit 15mm Länge auf der Basisplatine. Zwischen Display und Hülse kommt noch jeweils eine Unterlegscheibe aus Plastik zur Isolation.

Platine8 Hier sieht man die Konstruktion von der Unterseite. Den 22-poligen Steckverbinder zwischen Basisplatine und Display habe ich aus 3 Elementen zusammengesetzt: Ganz unten auf der Basisplatine wurde eine Buchsenleiste in der entsprechenden Länge eingelötet. Hier habe ich dann eine etwas höhere Buchsenleiste (8,5mm hoch) hineingesteckt. Diese gab es leider nur in 20-poliger Ausführung, also mussten von einer weiteren Leiste zwei Buchsenelemente abgetrennt und beide Teile zu einer 22-poligen Leiste verklebt werden. Auf dem Display befindet sich als Gegenstück eine Stiftleiste. Bei einem Abstand von 15mm und einer Plastik-Unterlegscheibe passen Stift- und Buchsenleisten perfekt zusammen.

Platine9 Für das Anzeigemodul habe ich ein Standard-Gehäuse TEKO TK11 verwendet. Auf diesem Bild wurde die Platine ins Gehäuse-Unterteil eingesetzt. Nun sieht man auch, weshalb die Basisplatine die vielen Aussparungen an den Ecken hat.

Dies ist ein älteres Bild, hier fehlt noch das Bluetooth-Modul und die dritte LED.

Platine10 So sieht das fertig montierte Gerät aus. Wichtig ist, dass der Drehimpulsgeber S1 unten rechts vom Display angeordnet ist und der Taster S2 links unten. Bei allen Bediendialogen sind die möglichen Optionen jeweils über S1 und S2 auf dem Display zu sehen. Im Abschnitt Bedienung wird noch genauer darauf eingegangen.

Auch auf diesem Bild ist eine ältere Version zu sehen, wo noch die dritte LED fehlt.

Platine11 Hier ist noch ein Blick auf die linke Seite mit den Schnittstellen RS-232 und USB. In dem Loch befindet sich der Reset-Taster S3.

SymbolSoftware

Die Software des Anzeigemoduls besteht im Kern aus einer großen Programmschleife. Hier werden folgende Funktionen bearbeitet: Anzeigesteuerung, Daten vom Sensormodul verarbeiten, Daten von der PC-Schnittstelle verarbeiten, Daten zum PC senden, DCF-Daten verarbeiten, Zeit-abhängige Vorgänge starten und die Menüfunktionen steuern. Diese Schleife wird immer ausgeführt, also auch dann, wenn man sich in einem Untermenü befindet und beispielsweise Einstellungen durchführt. Man muss sich also keine Sorgen machen, dass irgendwo Daten verlorengehen. Dafür sorgen u.a. auch zwei Timer-Interrupts, die im Hintergrund laufen und den Drehimpulsgeber, die Taster, das DCF-Signal, eine Uhr und verschiedene Zähler bedienen. Auch die Datenkommunikation mit den anderen Geräten (Sensormodul und PC) läuft über Interrupt.

Das Anzeigemodul besitzt 3 Datenspeicher:
Internes EEPROM (ATmega128) Externes EEPROM (24C512) RTC-Speicher (PCF8583)
PfeilPfeilPfeil
KonfigurationsdatenLog-Daten 15minPointer für Log-Daten
Log-Daten 24hZwischenspeicher für
Meldungs-LogMin/Max/Mittel-Werte
Konfigurations-Backup

Das Interne EEPROM des ATmega128 ist 4kB groß und hier wird die aktuelle Konfiguration des Anzeigemoduls gespeichert. Das sind alle Parameter für die Temperatursensoren, die Alarme, die Schaltzeiten, die Grafik-Ausgabe und verschiedene andere Einstellungen. Die Konfigurationsdaten des internen EEPROMs können als Backup in das Externe EEPROM kopiert werden. Das ist praktisch bei einem Software-Update, denn hier wird (abhängig vom Programmierverfahren) das interne EEPROM gelöscht und folglich gehen auch die Konfigurationsdaten verloren. Das ist aber kein Problem - nach einem Update lässt sich die Konfiguration wieder in das Interne EEPROM zurück kopieren und das System ist wieder voll funktionsfähig.

Das Externe EEPROM ist fest in 4 Bereiche eingeteilt, die folgende Daten enthalten:

Damit alle Daten in 2 ICs mit jeweils 64kB Speicherkapazität Platz finden, werden sie in komprimierter Form abgelegt. Die Temperaturwerte werden dazu in einen 12-Bit Binärwert umgewandelt und jeweils zwei dieser Werte belegen dann 3 Byte im Externen EEPROM. Jeder Datensatz enthält zusätzlich noch einen Zeitstempel, der aus 4 Byte besteht (zweistelliges Jahr, Monat, Stunde und Minute). Die Meldungen sind ebenfalls komprimiert und bestehen aus einem 6 Byte großen Datensatz: gleicher Zeitstempel wie oben, zusätzlich ein Byte für den Sekundenwert und ein Byte für den Meldungscode.

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 eines Bereiches erreicht ist, wird wieder von vorn begonnen und der älteste Datensatz überschrieben. Die jeweils aktuelle Position (Pointer) wird zur Sicherheit im RAM-Speicher der RTC aufbewahrt. So ist auch bei einem Netzausfall gewährleistet, dass neue Log-Daten immer an die richtige Stelle geschrieben werden.

Der RTC-Speicher ist 240 Byte groß und speichert neben den bereits erwähnten Pointern zyklisch die aktuellen Minimal-, Maximal- und Mittelwerte des Tages. Die Speicherung erfolgt immer zur Minute 14, 29, 44 und 59 und soll verhindern, dass die Tagesdaten bei einem Netzausfall oder Software-Update verloren gehen. Bei einem Neustart wird immer geprüft, ob tagesaktuelle Min/Max/Mittelwerte vorliegen und diese werden dann automatisch geladen.

Noch etwas zum RTC-Chip: Dieser enthält eine Uhr, die im Normalbetrieb mit 5V oder bei Netzausfall von einer Batterie versorgt wird. 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 DCF-Synchronisation so etwas einfacher. Um den Gleichlauf von interner und externer Uhr zu gewährleisten, werden beide nach folgendem Prinzip stündlich synchronisiert: Wurde in der vergangenen Stunde eine verwertbare DCF-Zeit empfangen, dann wird die RTC neu gesetzt, falls nicht, dann wird die RTC gelesen und damit die interne Uhr gesetzt.

SymbolInbetriebnahme

Die Software v2.020 vom 04.03.2007 für den ATmega128 enthält den kommentierten Assembler-Quelltext (bestehend aus 3 Dateien), das fertig compilierte HEX-File und 2 Textdateien. Ein zusätzliches EEP-File gibt es hier nicht, weil die gesamte Konfiguration direkt am Gerät erfolgen kann.

Bitte auch diesen Hinweis beachten: Diese Software ist nur für den privaten Gebrauch bestimmt. Eine kommerzielle Nutzung ohne meine Genehmigung ist nicht erlaubt!

Für die Programmierung der Software gibt es 3 Möglichkeiten:
  1. Programmierung mittels ISP (mit dem AVR-Studio oder mit PonyProg) über K4: Das ist die „klassische“ Variante.
  2. Programmierung mit einem JTAG Interface über K5: Dies geht wesentlich schneller als über ISP und man kann direkt vom AVR-Studio aus programmieren, allerdings ist das erforderliche Interface nicht ganz billig.
  3. Programmierung über einen Bootloader: Die Installation des Bootloaders ist zwar etwas umständlich, aber nur einmal erforderlich. Dafür können alle zukünftigen Updates relativ leicht über die normalen Schnittstellen des Anzeigemoduls (RS-232 oder USB) erfolgen, ohne das Gerät öffnen zu müssen.

Generell empfehle ich hier die Verwendung eines Bootloaders. Die einmalig notwendige Installation des Bootloaders ist etwas aufwändiger und wird in der Beschreibung des neueren Anzeigemoduls 2a im Abschnit Inbetriebnahme genauer beschrieben.

Unabhängig vom Programmier-Verfahren ist beim ATmega128 die richtige Einstellung der Fuse-Bits wichtig:

Fuse-Bits 1 So sieht die Einstellung im AVR-Studio für den ATmega128 aus, hier ist (noch) kein Bootloader installiert.

Fuse-Bits 2 So sieht die Einstellung in PonyProg für den ATmega128 aus, hier ist (noch) kein Bootloader installiert.

SymbolUpdate

Hierfür wird das gleiche Software-Paket (Software v2.020 vom 04.03.2007) wie bei einer Neuinstallation verwendet und auch hier stehen die gleichen Möglichkeiten zur Programmierung wie bei einer Neuinstallation zur Verfügung: ISP, JTAG oder Bootloader. Um die Fuse-Bits braucht man sich jetzt nicht zu kümmern, denn diese werden beim Update nicht verändert. Allerdings können (abhängig vom gewählten Programmierverfahren) die Konfigurationsdaten verloren gehen. Um dies zu vermeiden, empfehle ich folgendes Vorgehen:
  1. Menü-Option Konfiguration - Backup - Sichern ausführen
  2. Warten bis zum nächsten Log-Intervall (Minute 0, 15, 30 oder 45)
  3. Neue Software programmieren

Falls an dieser Stelle das Anzeigemodul wieder normal anläuft, also die gewohnte Datenanzeige mit allen Sensor- und Alarmnamen sichtbar ist, dann kann der folgende Punkt übersprungen werden. Anderenfalls muss jetzt die Konfiguration wieder geladen werden:

  1. Menü-Option Konfiguration - Backup - Laden/Neustart ausführen

Beim Update von v1.000 auf v2.xxx wird an dieser Stelle immer ein Konfigurationsfehler gemeldet. Das ist normal und hat folgenden Grund: Die neue Software erwartet einige Konfigurationsdaten, die in der alten Software noch nicht vorhanden waren. Im nächsten Schritt wird die Konfiguration vervollständigt:

  1. Menü-Option Konfiguration - Grundeinstellung - Grafik-Presets zurücksetzen ausführen

Damit verschwindet der Konfigurationsfehler und die Grafik-Presets (im nächsten Abschnitt gibt es weitere Informationen dazu) werden in eine Grundeinstellung gebracht.

Beim Update von v2.000 auf v2.010 oder höher wird ebenfalls ein Konfigurationsfehler gemeldet, dieser lässt sich beheben, indem man das Menü Konfiguration - Zeiten - Schaltzeiten aufruft und die Bluetooth-Schaltzeiten einstellt, auch wenn kein Bluetooth-Modul installiert ist.

SymbolBedienung

Das Anzeigemodul wird mit einem relativ großen grafischen Display betrieben, welches eine Auflösung von 240x128 Pixel 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 der 16 Temperaturwerte realisiert. Hier wird jede Ziffer aus 6 Segmenten 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.

Display01 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
SymbolPC Datenkommunikation aktiv
SymbolBluetooth-Modul aktiviert (in Kombination mit den 3 oben stehenden Symbolen)
SymbolLautsprecher ausgeschaltet (stumm)
SymbolLautsprecher eingeschaltet
SymbolStatus Abwesend: Lautsprecher, LEDs, Bluetooth und LCD Hintergrundbeleuchtung sind ausgeschaltet

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 Impulsgeber/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 vorhanden
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 dann 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
  • Kein Datenempfang (vom Sensormodul)
  • Konfigurationsfehler (internes EEPROM)
  • Speicherfehler (externes EEPROM)
  • RTC-Fehler
  • Pointer-Fehler
2Symbolblinkt mit 3Hz Mindestens einer der 4 Alarme ist aktiv, die aktiven Alarme werden invertiert angezeigt.
3Symbolleuchtet und blinkt mit 3Hz abwechselnd Fall Nummer 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 sind unterstrichen (Erinnerung). Dieser Zustand wird nur dann signalisiert, wenn nicht gleichzeitig Fall 1-3 auftritt.
5Symbolleuchtet Mindestens ein Temperatursensor ist ausgefallen, hinter den betroffenen Temperaturwerten steht ein Ausrufezeichen.
6Symbolblinkt mit 3Hz Mindestens eine Temperaturgrenzwert Über- oder Unterschreitung 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 Nummer 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 sind unterstrichen (Erinnerung), 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.
9Symbolleuchtet Es wurde eine serielle Verbindung über Bluetooth aufgebaut und es können nun Daten übermittelt werden.

Noch etwas zur Signalisierung von Fehlern, Alarmen und Temperaturüberschreitungen: Grundsätzlich werden aktive Ereignisse durch invertierte Textdarstellung auf dem Bildschirm hervorgehoben. Bei Systemfehlern ist das der Text in der Infozeile oben links, bei Alarmen (4 Eingänge vom Sensormodul) betrifft das den Alarmnamen und bei Temperaturalarmen den Sensornamen und den Temperaturwert. 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.

Noch ein paar Worte zur Hintergrundbeleuchtung des Displays: Diese wird im Normalbetrieb in Abhängigkeit von der Raumhelligkeit ein- oder ausgeschaltet. Weiterhin kann bei Bedarf eine Nachtzeit programmiert werden, um die Beleuchtung während der Nacht aus zu schalten. Bei einer Tastenbetätigung oder beim Drehen des Impulsgebers wird die Beleuchtung grundsätzlich immer ein- und 3 Minuten nach der letzten Bedienung wieder ausgeschaltet bzw. wieder entsprechend der Raumhelligkeit eingestellt. Ein Sonderfall ist der Status Abwesend: hier wird die Hintergrundbeleuchtung immer 3 Minuten nach der letzten Bedienung ausgeschaltet.

Wie schon erwähnt, erfolgt die Bedienung des Anzeigemoduls über 2 Elemente (Impulsgeber und Taster) sowie eine Menüzeile im Display (untere 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 dient immer 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 2.020 vom 04.03.2007.

Vorweg noch ein Tipp für die erste Inbetriebnahme: Bevor man mit den Einstellungen beginnt, sollte man unbedingt die folgenden Aktionen durchführen:
  1. Menü-Option Konfiguration - Grundeinstellung - Basiskonfiguration laden ausführen. Damit werden definierte Anfangswerte in das Konfigurations-EEPROM geladen und man hat so eine gute Ausgangsbasis für weitere Einstellungen.
  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.

Weiterhin werden vermutlich jede Menge Fehler- und Alarm-Meldungen auftreten, aber das ist beim ersten Start vollkommen normal. Am Ende der Bedienungsanleitung befindet sich eine Übersicht mit den Fehlermeldungen, die auftreten können und den Möglichkeiten zur Behebung. Einige der Fehler werden während der Konfiguration wahrscheinlich von selbst verschwinden.

SymbolMenü Hauptmenü

Dieses ist immer im normalen Betrieb des Moduls aktiv. Hier werden alle aktuellen Temperaturwerte in 2 Spalten zu je 8 Werten angezeigt. Die Reihenfolge kann frei gewählt werden. Auf der rechten Seite sind im oberen Teil die Namen der 4 Alarmeingänge des Sensormoduls (kurz: Alarme) zu sehen. In dem verbliebenen Fester darunter kann einer der 16 Temperaturwerte zusätzlich im Großformat abgelesen werden.

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, um die vorherige Menü-Ebene zu erreichen. Im Hauptmenü hat dieser Taster keine Funktion, da die oberste Menü-Ebene erreicht ist. Er kann aber unter bestimmten Umständen 2 Sonderfunktionen haben: Falls Alarmmeldungen eingehen und diese gerade akustisch signalisiert werden, dann erscheint der Text Signal ausschalten und ein Druck auf den Taster schaltet den akustischen Alarm ab. Falls (wie weiter oben beschrieben) ältere Ereignisse durch unterstrichene Elemente angezeigt werden, dann erscheint der Text Erinnerungen löschen und ein Tastendruck entfernt alle Erinnerungen.

Vom Hauptmenü sind folgende Untermenüs direkt erreichbar:

Hauptmenü
Pfeil
Minimal-WertePfeil Anzeige der Minimalwerte alle Temperatursensoren, Löschen der Minimalwerte
Pfeil
Maximal-WertePfeil Anzeige der Maximalwerte alle Temperatursensoren, Löschen der Maximalwerte
Pfeil
GrafikPfeil Grafische Anzeige der gespeicherten Temperatur-Daten über 24 wählbare Voreinstellungen (Presets)
Pfeil
MeldungenPfeil Auflisten aller aufgetretenen Ereignisse mit Datum und Uhrzeit (maximal 500), Filterung nach Kategorie möglich
Pfeil
StatusPfeil Anzeige verschiedener Daten: Versionsnummer, Sensorbelegung, Status von EEPROM, RTC, Pointer und Batterie; Löschen von Systemfehlern
Pfeil
KonfigurationPfeil Weitere Menüs mit Konfigurationsdialogen für Temperaturen, Alarme, Signale, zeitabhängige Vorgänge, Grafik-Presets, Backup, Rücksetzen und anderes

Im Folgenden werden alle Untermenüs beschrieben.

SymbolMenü Minimal-Werte

Dieses Untermenü zeigt den gleichen Bildaufbau wie das Hauptmenü. Anstelle der aktuellen Temperaturen werden jetzt die ermittelten Minimaltemperaturen angezeigt. Falls ein eingestellter Grenzwert unterschritten wurde, dann wird der betroffene Temperaturwert invertiert dargestellt. In diesem Menü gibt es keine weiteren Untermenüs. Als einzige Option steht neben der Rückkehr ins Hauptmenü das Zurücksetzen der Minimalwerte zur Verfügung. Ein Druck auf den Impulsgeber setzt alle Minimalwerte ohne weitere Rückfragen auf die aktuellen Werte zurück.

Hinweis: Es ist auch möglich, die Minimalwerte zu einer festgelegten Zeit automatisch zurückzusetzen. Diese Einstellung erfolgt in einem der Konfigurationsmenüs, welches weiter unten beschrieben wird.

SymbolMenü Maximal-Werte

Dieses Untermenü ist mit den Minimalwerten vergleichbar, nur das hier logischerweise die Maximalwerte aller Sensoren zur Anzeige kommen. Auch hier werden bei aufgetretenen Überschreitungen die betroffenen Werte invertiert dargestellt. Ebenso lassen sich die Werte manuell zurücksetzen und auch hier gibt es eine automatische Rücksetzung, die in einem der Konfigurationsmenüs eingestellt werden kann.

SymbolMenü Grafik

Über dieses Menü lassen sich alle gespeicherten Temperaturdaten grafisch darstellen. Auf Grund der recht komplexen Grafikanzeige habe ich eine Art Speicherbank eingerichtet. Hier können 24 Diagrammanzeigen (Presets) voreingestellt werden, wobei für jedes Preset 6 Parameter und ein Name definiert werden können. Nach dem Aufruf der Option Grafik kann über den Impulsgeber eines der 24 Presets ausgewählt werden, wobei in der Menüzeile neben der Nummer auch der Name angezeigt wird. Ein Druck auf den Impulsgeber zeigt dann die ausgewählte Grafik an. 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 Temperaturverlauf über einen bestimmten Zeitraum an. 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 222 Tagen. Neben der Darstellung des Temperaturverlaufs eines einzelnen Sensors lassen sich auch die Verläufe von 2 Sensoren in Form eines Doppeldiagramms darstellen.

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 in der höchsten Auflösung angezeigt werden können. 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 24h-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.

Doppeldiagramme können natürlich auch bei 15min-Werten verwendet werden, ebenso sind auch Einzeldiagramme für 24h-Werte möglich. In den weiter unten beschriebenen Konfigurationsmenüs lässt sich jede Kombination einstellen - bis auf eine Ausnahme: eine gleichzeitige Darstellung von 15min-Werten in einem Diagramm und 24h-Werten im anderen ist nicht möglich.

Display12 Hier ist ein Beispielbild, welches noch eine weitere Funktion zeigt. Neben absoluten Temperaturwerten lassen sich auch Temperaturdifferenzen darstellen und das sowohl als Einzel- als auch als Doppeldiagramm. So kann man z.B. die Differenz zwischen einem Heizungs-Vor- und Rücklauf grafisch darstellen. Ich habe diese Funktion genutzt, um die Temperaturdifferenzen am Wärmetauscher meiner Lüftungsanlage zu kontrollieren.

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

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

SymbolDie 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 5 Optionen über den Impulsgeber auswählbar. Mit der Option Vorherige Seite 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 15 weitere Seite aufrufen, bei 24h Werten nur eine.

Die Option Nächste Seite zeigt weitere Daten in Richtung Gegenwart. Das funktioniert allerdings nur, wenn man vorher in die Vergangenheit geblättert hat oder wenn in der Zwischenzeit ein neuer Log-Eintrag geschrieben wurde.

Display13 Die nächste Option Fadenkreuz 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. 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.

Mit der Option Sensornamen anzeigen 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 kann man den Sensornamen ausblenden, um die ganze Kurve betrachten zu können. Diese Option wird im aktuellen Preset dauerhaft gespeichert.

Die Option Temperaturskala 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 dauerhaft im aktuellen Preset gespeichert wird.

SymbolMenü Meldungen

Hier werden alle aufgetretenen Ereignisse in Listenform angezeigt, wobei die letzte und somit aktuellste Meldung ganz oben steht. Jede Meldungszeile beginnt mit einem Symbol, welches die Kategorie anzeigt (es gibt die 3 Kategorien Alarme, Temperaturen und Fehler). Als nächstes erscheinen das Datum, die Uhrzeit und der Meldungstext.

Display02 Eine Bildschirmseite zeigt bis zu 8 Meldungen an. Um zur nächsten Seite (in Richtung Vergangenheit) zu blättern wird die Option Nächste Seite benutzt. Die Option Vorherige Seite blättert eine Seite zurück (in Richtung Gegenwart). Um die Liste, die bis zu 500 Einträge haben kann, etwas übersichtlicher zu gestalten, habe ich eine Filter-Möglichkeit eingebaut. In der Grundeinstellung sind zunächst alle Kategorien ausgewählt, was man in der Info-Zeile oben sehen kann.
Wählt man jetzt die Option Filter aus, dann werden jetzt nur noch Alarm-Meldungen angezeigt. Mit den bekannten Optionen Nächste Seite und Vorherige Seite kann man auch hier in der Alarm-Liste blättern. Eine nochmalige Aktivierung der Option Filter schaltet auf die Temperatur-Meldungen um und nochmals aktiviert erscheinen die Fehler-Meldungen in der Anzeige. Eine weitere Aktivierung schaltet das Filter wieder aus.

Die Symbole haben folgende Bedeutung:

SymbolAlarm-Meldung: An einem der 4 Eingänge des Sensormoduls wurde ein Alarm ausgelöst oder ein Alarm ist wieder verschwunden.
SymbolTemperatur-Meldung: Ein Grenzwert wurde über- oder unterschritten oder eine Temperatur kehrt in den normalen Bereich zurück.
SymbolEine der folgenden System-Meldungen ist aufgetreten: Kein Datenempfang, Datenempfang ok, Konfigurationsfehler, Pointer-Fehler, Sensorausfall <Name> oder Sensor ok <Name>.

SymbolMenü Status

Display03 Dieses Menü gibt einen Überblick über die wichtigsten Daten des Anzeigemoduls: Hier wird die vollständige Versionsnummer der Software angezeigt, weiterhin die aktuelle Sensorbelegung, falls eine solche vom Sensormodul empfangen wurde.

Im nächsten Bereich kann man sehen, ob die Hardware funktioniert. Bei jedem Systemstart testet der Controller die Kommunikation mit den beiden EEPROMs IC3 und IC4 sowie dem RTC-Chip IC7. Treten hier Probleme auf, dann werden diese signalisiert und auf dieser Seite angezeigt. Unter dem Begriff Speicher verbergen sich hier ebenfalls die beiden EEPROMs und hier kann man erkennen, ob im laufenden Betrieb Probleme aufgetreten sind. Die Pointer 1-3 enthalten die aktuelle Schreibposition für die Log-Daten in den EEPROMs IC3 und IC4. Pointer1 ist für die 15min-Werte, Pointer2 für die 24h-Werte und Pointer3 für die Meldungsdaten zuständig. Als letztes wird die Spannung der Stützbatterie angezeigt. Liegt die Spannung unter 2,8V, dann ändert sich das Symbol hinter dem Spannungswert und zeigt damit an, dass die Batterie ausgetauscht werden sollte. Den Batterietausch sollte man am besten vorsichtig im laufenden Betrieb vornehmen, damit keine Daten verloren gehen.

In der Zeile darunter kann man den LED-Zustand sehen. Im Normalfall sieht das so aus wie auf dem Bild, d.h. beide Alarm-LEDs zeigen Alarme an (so wie weiter oben beschrieben). Man kann aber während der Inbetriebnahme oder bei Problemen die Alarm-LEDs in einen Testmodus umschalten. Dann zeigt die LED1 (rot) durch kurzes Aufleuchten das empfangene DCF77-Signal an und LED2 (gelb) leuchtet kurz auf, wenn gültige Daten vom Sensormodul eingegangen sind. Die Bluetooth-LED wird hiervon nicht beeinflusst und zeigt immer den Verbindungsstatus an.

Die Symbole haben hier folgende Bedeutung:

SymbolDas Element arbeitet fehlerhaft. Bei den EEPROMs und der RTC deutet das auf ein Hardware-Problem hin. Im Falle eines Pointers bedeutet dies, dass der gesicherte Wert im RTC-Speicher ungültig ist. Die Software versucht daraufhin, die Position im EEPROM wieder zu finden und meist korrigiert sich das Problem von selbst. Es ist aber nicht ausgeschlossen, dass Log-Daten dabei verloren gehen. Erscheint dieses Symbol neben der Batterie, dann ist die Spannung unter 2,8V gesunken und die Batterie sollte ausgetauscht werden.
SymbolDas Element arbeitet fehlerfrei.

Im Status-Menü sind mehrere Optionen verfügbar. Mit der Option Normal/Abwesend kann der Status Abwesend gesetzt werden. Diese Funktion kann man aktivieren, wenn über einen längeren Zeitraum niemand zu Hause ist und sie bewirkt, dass die Hintergrundbeleuchtung, die LEDs, der Ton und das Bluetooth-Modul abgeschaltet werden. Das Anzeigemodul arbeitet trotzdem normal weiter, spart aber Strom und nervt nicht mit akustischen Alarmen, die sowieso niemand hört. Der Abwesend-Status wird, falls er aktiv ist, als Status - Abwesend in der Info-Zeile angezeigt, außerdem wird neben dem Lautsprecher ein Schlosssymbol gesetzt, so dass man diesen Zustand auch im Hauptmenü erkennen kann. Eine nochmalige Aktivierung der Option Normal/Abwesend schaltet den Abwesend-Status wieder aus (Info-Zeile: Status - Normal). Diese Option wird dauerhaft in der Konfiguration gespeichert und bleibt auch nach einem Netzausfall aktiv.

Die nächste Option LED-Modus umschalten bewirkt die Umschaltung der beiden Alarm-LEDs in den weiter oben beschriebenen Testmodus. Nochmaliges Aktivieren dieser Option schaltet die LEDs wieder in den normalen Modus um. Auch diese Option wird dauerhaft gespeichert.

Als nächste Option steht Speicherfehler löschen zur Auswahl. Hier kann man einen eventuell aufgetretenen Speicher-Fehler wieder löschen. Das macht allerdings nur Sinn, wenn die beiden EEPROMs fehlerfrei arbeiten, ansonsten tritt der Fehler beim nächsten Speicherzugriff wieder auf. Im normalen Betrieb darf dieses Problem nicht auftreten.

Mit der nächsten Option RTC-Fehler löschen kann man einen entsprechenden Fehler wieder löschen. Auch dieses Problem sollte im normalen Betrieb nicht auftreten.

Die letzte Option Pointer-Fehler löschen 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 RTC-Speicher stehen. Dies wird zwar automatisch korrigiert, aber trotzdem hier als Fehler gemeldet.

SymbolMenü Konfiguration

Über diese Option erreicht man alle Konfigurationsdialoge. Hier können alle Temperaturparameter, die Alarme, akustische Signale, verschiedene Schaltzeiten, Grafik-Presets und andere Dinge eingestellt werden. Die Struktur der Menüs sieht folgendermaßen aus:

Konfiguration
Pfeil
TemperaturenPfeilSensoren
Grenzwerte
Log-Zuordnung
Pfeil
Alarme
Pfeil
SignalePfeilZuordnung
Audio
Pfeil
ZeitenPfeilSchaltzeiten
Uhr stellen
Pfeil
Sonstiges
Pfeil
Grafik-Presets
Pfeil
BackupPfeilSichern
Laden/Neustart
Pfeil
GrundeinstellungPfeil Basiskonfiguration laden
Grafik-Presets zurücksetzen
15min Werte löschen
24 Werte löschen
Meldungen löschen

Hier folgt die Beschreibung aller Konfigurations-Untermenüs.

SymbolMenü Konfiguration - Temperaturen - Sensoren

Display04 In diesem Menü erscheint eine Übersicht mit allen Temperatursensoren und deren aktuelle Temperaturwerte. Hier kann man jeden Sensor ein- oder ausschalten und jedem Sensor einen Namen geben, der bis zu 9 Zeichen lang sein kann. Weiterhin wird hier festgelegt, an welcher Displayposition jeder Sensor angezeigt werden soll und ein Sensor kann für die Großanzeige ausgewählt werden.

Folgende Symbole werden verwendet:

Symbol Der Sensor ist ausgeschaltet und wird nicht auf dem Hauptbildschirm angezeigt. Es erfolgt keine Überwachung auf Ausfälle und Temperaturüberschreitungen.
SymbolDer Sensor ist eingeschaltet und wird im Hauptbildschirm angezeigt, alle Überwachungen sind aktiviert.
SymbolDer Sensor ist ausgeschaltet und für die Großanzeige ausgewählt. Das macht wenig Sinn, lässt sich aber so einstellen.
SymbolDer Sensor ist eingeschaltet und für die Großanzeige ausgewählt.

Die Bedienung ist an dieser Stelle vielleicht etwas gewöhnungsbedürftig: Zunächst aktiviert man die Option Auswählen durch Drücken des Impulsgebers und wählt dann durch Drehen des Impulsgebers den Sensor aus, den man als nächstes bearbeiten möchte. Die aktuelle Position ist durch eine invertierte Darstellung der Sensornummer zu erkennen. Befindet sich die Markierung an der gewünschten Stelle, dann wird nochmals auf den Impulsgeber gedrückt. Jetzt kann eine der folgenden Optionen verwendet werden:

Mit Ein/Ausschalten kann man den gewählten Sensor aktivieren oder deaktivieren. Falls man nicht alle 16 Sensoren verwendet, dann sollte man die nicht genutzten über diese Option ausschalten. Auch kann man hier vorübergehend einen Sensor abschalten, der sich nicht normal verhält und durch ständige Alarme nervt.

Mittels der Option Name kann man dem ausgewählten Sensor einen Namen geben. Auch diese Prozedur ist vielleicht etwas ungewohnt, aber nach einiger Übung sollte das kein Problem sein: Durch Drücken des Impulsgebers gelangt man in die Texteingabe. Beim ausgewählten Sensor erscheint nun ein Cursor hinter dem Namen, der zwei Zustände annehmen kann. In dieser Form Symbol können weitere Zeichen eingegeben werden, d.h. die maximale Länge von 9 Zeichen wurde noch nicht erreicht. Hat der Cursor die Form eines senkrechten Striches, dann bedeutet dies, dass die maximale Länge erreicht ist und keine weiteren Zeichen eingegeben werden können.

In der Menüzeile wird über dem Impulsgeber zunächst das Zeichen a angezeigt. Dieses kann man durch Drehen des Impulsgebers in ein anderes Zeichen wandeln, wobei der gesamte ASCII Zeichensatz zur Verfügung steht (Zeichencode 0x21 bis 0x7e). Ein Leerzeichen im Namen ist nicht zulässig und wird deshalb auch nicht zur Eingabe angeboten. Zusätzlich gibt es aber noch die deutschen Umlaute ÄÖÜäöüß und die folgenden beiden Zeichen im Angebot:

SymbolDie Auswahl dieses Symbols löscht das Zeichen links vom Cursor und setzt die Eingabeposition um eine Stelle nach links.
SymbolDieses Symbol beendet die Eingabe und der Name wird gespeichert.

Bedingt durch die verwendete Proportionalschrift kann noch ein Sonderfall auftreten. Es ist nämlich nicht immer genug Platz für alle 9 Zeichen in der Temperaturanzeige vorhanden und so kann es passieren, dass nach 8 eingegebenen Zeichen zwar immer noch der normale Cursor Symbol zu sehen ist, aber trotzdem keine weiteren Zeichen angenommen werden. An dieser Stelle kann man nur noch Zeichen löschen oder den Namen speichern. Dies ist beabsichtigt, denn sonst würde später ein Teil des Namens durch den Temperaturwert überschrieben werden und das sieht nicht schön aus.

Die nächste Option Verschieben dient dazu, die Sensoren in die gewünschte Reihenfolge zu bringen. Dazu sollte man folgendermaßen vorgehen: Man sucht sich zuerst mit der Option Auswählen den Sensor heraus, der an der ersten Position auf der linken Seite erscheinen soll. Ist dieser markiert, dann wählt man die Option Verschieben und bewegt dann durch Drehen des Impulsgebers den Sensor an die Position links oben. Ein erneuter Druck auf den Impulsgeber setzt die neue Position fest. Nach dem gleichen Muster kann man nun den nächsten Sensor an die zweite Position setzen usw.

Mit der letzten verfügbaren Option Großanzeige wird der gerade markierte Sensor für die Großanzeige ausgewählt. Die neue Auswahl erkennt man an der Änderung des Symbols.

SymbolMenü Konfiguration - Temperaturen - Grenzwerte

Hier kann für jeden Temperatursensor ein unterer und ein oberer Grenzwert festgelegt werden. Eine Unterschreitung bzw. Überschreitung des hier eingestellten Wertes führt später zu einem Temperaturalarm. Zunächst muss mit der Option Auswählen der gewünschte Sensor ausgesucht werden, danach sollte man sich für eine der beiden Optionen Unterer Grenzwert oder Oberer Grenzwert entscheiden. Ein Druck auf den Impulsgeber führt jeweils zu einem Untermenü mit 2 Möglichkeiten: Ändern und Löschen. Drückt man auf Ändern, dann wird der aktuelle Grenzwert in die Menüzeile übernommen und kann durch Drehen des Impulsgebers verändert werden. Langsames Drehen erhöht bzw. verringert den Wert in Schritten von 0,1°, bei schnellem Drehen werden größere Sprünge ausgeführt. Ist man mit dem Wert zufrieden, dann kann man ihn durch Druck auf den Impulsgeber speichern. Falls man die Überwachung des oberen oder unteren Grenzwertes eines Sensors ausschalten möchte, dann wählt man im entsprechenden Untermenü die Option Löschen.

SymbolMenü Konfiguration - Temperaturen - Log-Zuordnung

Die Daten aller 16 Temperatursensoren werden zyklisch in tabellarischer Form im Externen EEPROM gespeichert. Bei der späteren Ausgabe zum PC werden die Daten dann in genau dieser Tabellenform gesendet. Ohne Änderung dieser Log-Zuordnung werden die Werte der Sensoren 1-16 auch in der entsprechenden Tabellenspalte 1-16 im EEPROM gespeichert. Wünscht man eine andere Reihenfolge, dann kann man diese hier festlegen. Vermutlich wird man hier die Reihenfolge wie im Untermenü Sensoren festlegen, damit man die Daten später besser zuordnen kann.

Log01 steht hier für die Spalte 1 und Log16 für die letzte Spalte 16. Durch Auswählen und Verschieben (gleiches Prinzip wie im Menü Sensoren) lässt sich die Log-Reihenfolge anpassen.

SymbolMenü Konfiguration - Alarme

Display05 In diesem Menü lassen sich die Meldungen, die von den 4 Alarmeingängen des Sensormoduls kommen, konfigurieren. Jedem Alarm kann man einen Namen geben, weiterhin lässt sich jeder Alarm ein- oder ausschalten, invertieren und an die gewünschte Displayposition verschieben.

Dieses Menü funktioniert genau so wie das Menü Konfiguration - Temperaturen - Sensoren und es gelten auch hier die gleichen Bedingungen für die Länge des Namens - mit dem einzigen Unterschied, dass maximal 11 Zeichen verwendet werden können. Mit der zusätzlichen Option Invertieren kann man festlegen, ob der Alarm beim Schließen des Kontaktes ausgelöst werden soll (normal) oder beim Öffnen (invertiert).

Die hier verwendeten Symbole bedeuten folgendes:

SymbolDer Alarm ist ausgeschaltet und wird nicht auf dem Hauptbildschirm angezeigt.
SymbolDer Alarm ist eingeschaltet und wird auf dem Hauptbildschirm angezeigt.

SymbolMenü Konfiguration - Signale - Zuordnung

Display06 Mit diesem Menü ist es möglich, den insgesamt 8 verschiedenen akustischen Meldungen einen Signalton zuzuordnen. Auf der linken Seite steht der Name der akustischen Meldung, daneben die Nummer des Signaltons (z.B. N:01), als nächstes die Signaldauer in Sekunden (z.B. D:04) und rechts ist der gewählte Signalton als Grafik zu sehen. Die Grafik zeigt dabei den Lautstärkeverlauf innerhalb einer Sekunde an.

Folgende Optionen stehen hier zur Auswahl: Mittels Auswählen wird zunächst die gewünschte Meldung markiert, die bearbeitet werden soll. Die Option Nummer dient zur Einstellung des Signaltons, wobei 15 verschiedene Tonfolgen zur Verfügung stehen (Nummer 1-15). Mit der nächsten Option Dauer kann die Signaldauer in Sekunden eingestellt werden. Es sind dabei Zeiten von 0 (entspricht der Abschaltung des akustischen Signals) bis 30 Sekunden möglich. Zum Testen der eingegebenen Daten kann man die letzte Option Abspielen verwenden, hier wird das Signal genau so abgespielt, wie es soeben eingestellt wurde.

SymbolMenü Konfiguration - Signale - Audio

Über dieses Menü können 3 Werte eingestellt werden: die Signalfrequenz in Hertz, die Signallautstärke am Tag und die Lautstärke in der Nacht. Auch hier wird zunächst über die Option Auswählen der Parameter markiert, der verändert werden soll und die Option Ändern dient dann zum Einstellen des Parameters. Mit der letzten Option Abspielen wird ein Testsignal für 3 Sekunden mit der Signalnummer 2 abgespielt, so dass man die Einstellungen überprüfen kann.

Noch ein Hinweis zu diesem Menü: Mit der Frequenz-Einstellung 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 einstellen. Zwar kann man mit dem Impulsgeber jeden ganzzahligen Wert in diesem Bereich einstellen, jedoch wird beim Bestätigen des Wertes dieser auf den nächsten möglichen Wert geändert. Das ist also normal und kein Fehler.

Die beiden Lautstärkewerte können im Bereich von 0 (aus) bis 15 (voll) eingestellt werden. Die Zeiten für die Umschaltung zwischen Tag und Nacht werden im nächsten Menü eingestellt. Beim Test mit der Option Abspielen wird immer die Lautstärke benutzt, die entsprechend der Tageszeit gerade aktiv ist, d.h. am Tag wird immer die Taglautstärke benutzt und in der Nacht die Nachtlautstärke.

SymbolMenü Konfiguration - Zeiten - Schaltzeiten

Display07 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 LCD-Beleuchtung, die Nachtabschaltung des Bluetooth-Moduls und das automatische Rücksetzen der Minimal- und Maximalwerte.

Die Logik der Zeilen 1-6 ist folgende: Bei Aktivierung der Schaltzeit wird im eingestellten Zeitraum die Signallautstärke reduziert bzw. die LCD-Beleuchtung oder das Bluetooth-Modul abgeschaltet. Wird die Schaltzeit deaktiviert, so gilt rund um Uhr die Taglautstärke bzw. die LCD-Beleuchtung oder das Bluetooth-Modul bleibt ganztägig eingeschaltet.

In diesem Menü sind folgende 3 Optionen möglich: Mit Auswählen setzt man, so wie in den anderen Menüs auch, die Markierung auf den Parameter, den man verändern möchte. Die Option Ein/Ausschalten aktiviert oder deaktiviert das gewählte Zeitprogramm, wobei immer die Ein- und Ausschaltzeit gleichermaßen beeinflusst wird. Auch das Rücksetzen der Minimal- und Maximalwerte kann nur gemeinsam ein- oder ausgeschaltet werden. An den Symbolen kann man erkennen, ob die Schaltzeiten aktiviert sind oder nicht:

SymbolDie Schaltzeit ist deaktiviert.
SymbolDie Schaltzeit ist aktiviert.

Mit der letzten Option Ändern kann man die Schaltzeit einstellen. Auch hier bewirkt (wie in einigen anderen Menüs auch) ein langsames Drehen des Impulsgebers eine schrittweise Änderung 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.

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

SymbolMenü Konfiguration - Zeiten - Uhr stellen

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

Die Prozedur zum Stellen der Uhr läuft folgendermaßen ab: Mit der Option Auswählen setzt man die Markierung auf den Parameter, der verändert werden soll und über die Option Ändern stellt man den Wert auf eine Zeit in der nahen Zukunft. Sind alle 5 Werte richtig eingestellt, dann wird mit der Option Auswählen der Impulsgeber auf den Parameter Zeit übernehmen gedreht und beim Erreichen der eingestellten Zeit gedrückt. Das Setzen der Uhrzeit wird durch einen kurzen Piep-Ton quittiert.

SymbolMenü Konfiguration - Sonstiges

Display09 In diesem Menü sind alle übrigen Einstellungen zusammen gefasst: Hier kann die Sprache der Menüführung zwischen Deutsch und Englisch sowie das Trennzeichen in den Temperaturwerten zwischen Punkt (.) und Komma (,) umgeschaltet werden. Die Änderung dieser sowie auch der folgenden Einstellungen wird, wie in den anderen Menüs auch, über die beiden Optionen Auswählen und Ändern getätigt.

Die Symbole bedeuten hier:

SymbolDie Funktion ist ausgeschaltet.
SymbolDie Funktion ist eingeschaltet.

Die Einstellung Temp-Alarm immer signalisieren betrifft die akustische Signalisierung von Unter- oder Überschreitungen von Grenzwerten. Ist diese Einstellung aktiviert, dann wird grundsätzlich jede Grenzwertverletzung signalisiert. Schaltet man diese Einstellung aus (so wie im Bild zu sehen ist), dann wird nur die jeweils erste Unter- bzw. Überschreitung jedes Sensors signalisiert. Tritt nach Rückkehr in den Normalbereich ein erneuter Grenzwert-Alarm auf, dann bleibt der Lautsprecher stumm. Das ist sinnvoll, wenn eine Temperatur im Grenzbereich liegt und das ständig wieder kehrende Signal nervt.

Die nächste Einstellung LCD abschalten von 3:00 bis 3:30 schaltet (wenn aktiv) zu der angegebenen Zeit das Display aus, um einen weitgehend störungsfreien Empfang des DCF-Signals zu gewährleisten. Die Zeit wurde absichtlich so gewählt, damit die Umschaltung zwischen Sommer- und Winterzeit rechtzeitig erkannt wird.

Bei Aktivierung der Einstellung LCD-Beleuchtung weich schalten wird die Hintergrundbeleuchtung langsam ein- und ausgeblendet. Das funktioniert allerdings nur, wenn das Display eine LED Beleuchtung hat. Falls die Beleuchtung mit CCFL oder EL-Folie realisiert ist, dann muss diese Einstellung auf aus gesetzt werden.

Über die nächste Einstellmöglichkeit Schwellwert des Lichtsensors kann der Schaltpunkt für die LCD-Beleuchtungsautomatik festgelegt werden. Der Wert kann im Bereich von 5 - 250 eingestellt werden, bei kleinen Werten genügt schon wenig Licht im Raum um die Beleuchtung abzuschalten und bei hohen Werten schaltet die Beleuchtung erst bei sehr heller Umgebung aus. Zwischen Ein- und Ausschalten gibt es einen Hysterese-Bereich, so dass die Beleuchtung nahe des Schwellwertes nicht ständig ein- und ausschaltet wird. Es gibt noch eine Besonderheit: Normalerweise wird bei jeder Bedienung von Impulsgeber und Taster die Beleuchtung für 3 Minuten eingeschaltet. Für diese Einstellung gilt das nicht, so dass man die Wirkung des eingegebenen Wertes sofort testen kann.

Mit der letzten Einstellmöglichkeit Baudrate der PC-Schnittstelle kann man die Geschwindigkeit für die Datenübertragung zum PC einstellen. Folgende Werte sind möglich: 9600, 19200, 38400, 57600, 115200, 230400 und 460800 Baud. Bei jedem Aufruf der Option Ändern wird hier auf den nächsten Wert geschaltet. Für die Übertragung mit RS-232 empfehle ich 115200 und bei USB 460800 Baud. Bei Verwendung der Bluetooth-Option muss zwingend der Wert 115200 eingestellt werden. Sollten bei einer Verbindung über RS-232 Übertragungsfehler auftreten, dann muss die Baudrate reduziert werden. Bei USB sind normalerweise keine Fehler zu erwarten.

SymbolMenü Konfiguration - Grafik-Presets

Display14 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 Änderung dieser Parameter wird, wie in vielen anderen Menüs auch, über die beiden Optionen Auswählen und Ändern durchgeführt.

Um ein Preset einzurichten oder zu ändern, geht man wie folgt vor: Zunächst setzt man die Markierung auf Preset. Hier stellt man die Nummer des Presets ein, welches man bearbeiten möchte. Danach werden die aktuellen Parameter dieses Presets angezeigt und können bearbeitet werden.

Mit dem Parameter Name kann man dem Preset einen Namen geben, welcher bis zu 16 Zeichen lang sein kann. Dieser Name erscheint später im Menü Grafik und ermöglicht so eine bequeme Auswahl des gewünschten Presets. Die Eingabe des Namens erfolgt auf die gleiche Art wie im Menü Konfiguration - Temperaturen - Sensoren.

Mit dem nächsten Parameter Grafik 1 Sensor wird der Sensor ausgewählt, dessen Daten im Diagramm 1 grafisch dargestellt werden sollen.

Über den Parameter Grafik 1 Diff-Sensor kann man den Differenzmodus aktivieren. Im Normalfall setzt man diesen Parameter auf aus. Damit wird der Differenzmodus deaktiviert und die Daten des Grafik 1 Sensor werden direkt angezeigt. Stellt man jedoch hier einen Sensor ein, dann wird das Diagramm 1 die Differenz zwischen dem Grafik 1 Sensor und dem Grafik 1 Diff-Sensor grafisch darstellen.

Der Parameter Grafik 1 Modus legt fest, welche Daten im Diagramm 1 angezeigt werden sollen. Zur Auswahl stehen 15min Werte, 24h Minimalwerte, 24h Maximalwerte und 24h Mittelwerte.

Die folgenden 3 Parameter dienen zur Konfiguration des Diagramms 2. Über den Parameter Grafik 2 Sensor wählt man hier den Sensor aus, der in der zweiten Grafik dargestellt werden soll. Zusätzlich gibt es hier noch die Einstellung aus. Diese bewirkt, dass alle anderen Parameter von Grafik 2 ausgeschaltet werden und es wird später nur ein großes Diagramm angezeigt (mit den Daten von Grafik 1).

Der Parameter Grafik 2 Diff-Sensor hat hier die gleiche Funktion wie der bereits beschriebene Grafik 1 Diff-Sensor, nur dass hier der Differenzmodus für das Diagramm 2 eingestellt wird. Eine Änderung dieses Parameters ist übrigens nur möglich, wenn vorher ein Grafik 2 Sensor definiert wurde.

Auch der Parameter Grafik 2 Modus entspricht dem weiter oben beschriebenen gleichnamigen Parameter von Grafik 1. 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 abhängig vom Wert des Grafik 1 Modus. Ist letzterer auf 15min Werte eingestellt, so lassen sich für die Grafik 2 auch nur 15min Werte auswählen. Nur wenn bei Grafik 1 24h Werte eingestellt sind, lassen sich hier ebenfalls 24h Werte auswählen.

SymbolMenü Konfiguration - Backup

In diesem Menü stehen 2 Optionen zur Verfügung. Bei der Auswahl von Sichern wird die aktuelle Konfiguration, welche sich im internen EEPROM des Controllers befindet, in das Externe EEPROM kopiert. Eine Rückfrage erfolgt nicht und das erfolgreiche Kopieren wird mit einem kurzen Quittungston bestätigt. Von dieser Option sollte man unbedingt vor einem Software-Update Gebrauch machen, denn beim Programmieren des Controllers wird unter Umständen das interne EEPROM und somit auch die aktuelle Konfiguration gelöscht.

Die zweite Option Laden/Neustart lädt die gesicherte Konfiguration wieder zurück ins interne EEPROM und startet anschließend das System neu. Auch hier erfolgt keine Rückfrage, die erfolgreiche Ausführung kann man am Neustart erkennen. Diese Option kann man nach einem Software-Update verwenden um die vorher gesicherte Konfiguration wieder herzustellen.

SymbolMenü Konfiguration - Grundeinstellung

Dieses Menü bietet 4 Optionen, welche normalerweise nur bei einer Inbetriebnahme des Anzeigemoduls benötigt werden. Da alle 4 Optionen eine zerstörerische Wirkung haben, erfolgt hier noch eine Rückfrage. Nach der Auswahl erscheint die Frage Sicher? und man muss den Impulsgeber ein zweites Mal drücken um die Aktion auszuführen oder im Falle eines Abbruchs den linken Taster (Zurück) drücken.

Mit der Option Basiskonfiguration laden wird der Konfigurationsspeicher (internes EEPROM des Controllers) mit einer Grundeinstellung geladen und anschließend ein Neustart durchgeführt. Diese Option muss zwingend bei einer Inbetriebnahme ausgeführt werden, damit der Konfigurationsspeicher in eine definierte Grundstellung gebracht wird.

Über die Option Grafik-Presets zurücksetzen können alle Grafik-Presets in eine definierte Grundeinstellung gebracht werden. Diese Option wird nur bei einem Update von der Software v1.000 auf v2.x benötigt, um die fehlenden Konfigurationsdaten für die Grafikanzeige zu ergänzen.

15min Werte löschen bewirkt das Löschen des Speicherbereiches im Externen EEPROM, der die Log-Daten mit den 15-Minuten-Werten enthält. Dabei werden alle Bytes in diesem Bereich auf den Wert 0xFF gesetzt und der Pointer für die Schreibposition wird auf die erste Speicherzelle dieses Bereiches gesetzt.

24h Werte löschen bewirkt das Löschen des Speicherbereiches im Externen EEPROM, der die Log-Daten mit den 24-Stunden-Werten enthält. Der technische Ablauf ist genau so wie bei den 15-Minuten-Werten.

Meldungen löschen bewirkt das Löschen des Speicherbereiches im Externen EEPROM, der die Log-Daten mit den Meldungen enthält. Auch hier gilt das Gleiche wie bei den 15-Minuten-Werten.

Üblicherweise sind neue EEPROMs bei der Auslieferung gelöscht, alle Speicherzellen enthalten also bereits den Wert 0xFF. Trotzdem empfehle ich bei der Inbetriebnahme die oben stehenden Optionen nacheinander auszuführen, damit die Log-Daten-Speicher einen definierten Anfangszustand haben und die Pointer richtig initialisiert werden.

SymbolFehlermeldungen

Bei einem komplexen Gerät wie diesem Anzeigemodul können auch eine Reihe von Systemfehlern auftreten. Diese werden in der oberen Zeile (Infozeile) anstatt des Datums in invertierter Schrift angezeigt, teilweise werden diese Fehler auch im Meldungs-Log erfasst. Die folgende Übersicht listet alle möglichen Fehlermeldungen auf und gibt Tipps für die Behebung des entsprechenden Fehlers:

SymbolDatenkommunikation

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

Bevor mit der Datenkommunikation begonnen werden kann, muss eine Verbindung zum 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 und mit Stecker auf der einen und Buchse auf der anderen Seite benötigt (Verlängerungskabel).

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. Bevor man die Kabelverbindung herstellt, sollte man den nötigen VCP-Treiber entsprechend des verwendeten Betriebssystems von der FTDI-Webseite laden. Wenn man gut gearbeitet und die knifflige USB-Schaltung korrekt aufgebaut hat, dann sollte beim Anstecken ein neues Gerät gefunden werden. Nach erfolgreicher Installation des Treibers findet man im Gerätemanager von Windows XP (andere Systeme habe ich nicht getestet) einen USB Serial Port und in Klammern die zugewiesene COM-Schnittstelle, die man sich gut merken 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 PDA sein, der sich 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 (Bluetooth muss natürlich aktiviert sein). Eingeleitet wird die Prozedur, indem man über die mitgelieferte 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 Serial Port Device 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 0000 ist. Als letztes muss dem Gerät noch ein virtueller Com-Port zugeordnet werden, diesen benötigen wir dann zum Herstellen der seriellen Verbindung.

Die Bluetooth-LED am Anzeigemodul bleibt während dieser Prozedur ausgeschaltet. Sie leuchtet erst, wenn von einem gekoppelten PC aus der virtuelle COM-Port geöffnet wird. Übrigens, das verwendete Bluetooth-Modul kann mit bis zu 3 Geräten gleichzeitig gekoppelt werden. So können die Daten kabellos von mehreren PCs oder auch zusätzlich von einem PDA abgerufen werden - allerdings kann immer nur eine Verbindung aktiv sein.

Allgemein: Nach dem Herstellen der Kabelverbindung (RS-232 oder USB) bzw. nach dem Bluetooth-Pairing startet man nun auf dem PC ein Terminalprogramm, z.B. das mitgelieferte HyperTerminal. Hier wird im Menü Datei - Eigenschaften die genutzte reale oder virtuelle Schnittstelle eingestellt und im Untermenü Konfigurieren legt man folgende Anschlusseinstellungen fest:

ParameterRS-232USBBluetooth
Bits pro Sekunde115200460800115200
Datenbits888
Paritätkeinekeinekeine
Stoppbits111
Flusssteuerungkeinekeinekeine

Am Anzeigemodul muss natürlich die gleiche Baudrate eingestellt sein, diese wird im Menü: Konfiguration - Sonstiges festgelegt. Ist alles richtig eingestellt, dann wird mit einem Klick auf das Telefonsymbol im Terminal der gewählte COM-Port geöffnet und die Verbindung aktiviert. Bei einer Bluetooth-Verbindung sollte jetzt die blaue LED am Anzeigemodul leuchten.

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 der eingegebene Text nicht auf dem Bildschirm sichtbar ist. Das liegt daran, dass das Anzeigemodul kein so genanntes Echo sendet. Das ist beabsichtigt und soll verhindern, dass Echo-Zeichen die ausgegebenen Daten verfälschen. Hat das Anzeigemodul das Kommando erkannt, dann wird es ausgeführt und in diesem Fall die Versionsnummer gesendet:

Terminal

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 und dieses das Kommando ausführt und die gewünschten Daten sendet. Vom Anzeigemodul aus kann keine Kommunikation gestartet werden. Übrigens, während der Ausführung eines Kommandos wird auf dem Display des Anzeigemoduls neben dem Antennensymbol ein kleiner Blitz angezeigt.

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 Temperatur- und Meldungsdaten entspricht dem verbreiteten CSV-Format und kann deshalb relativ leicht in Datenbank- oder Tabellenkalkulations-Programme importiert werden.

Für die Datenkommunikation stehen 7 Kommandos zur Verfügung. Bei einigen Kommandos können Parameter angegeben 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. Nach Ausführung des Kommandos schaltet man die Aufzeichnung wieder ab und auf der Festplatte liegt nun eine Datei mit den angeforderten Temperatur- oder Meldungs-Daten.

Hier nun die Beschreibung aller Kommandos:

end

Mit diesem Kommando kann man jederzeit eine laufende Übertragung abbrechen. Dieses Kommando hat keine Parameter.

info

Dieses Kommando fordert eine Info-Zeile 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 II v2.020, 04.03.2007

gett15

Mit diesem Kommando können die 15min-Werte aus dem Log-Daten-Speicher (Externes EEPROM) ausgelesen werden. Die Daten haben folgendes Format:
Datum;Zeit;Wert1;Wert2;Wert3;...;Wert16
Hier ist ein Beispiel aus der Praxis:
20051228;15:15:00; 21,9; 22,7; -1,6; 20,4;  8,3; 22,1; -2,7;  3,8; 37,8; 22,8; 22,6; 22,0; 14,4; 13,5; 19,6;  5,1
20051228;15:30:00; 21,9; 22,7; -1,6; 20,5;  8,3; 22,1; -2,9;  3,8; 38,9; 22,8; 22,6; 21,9; 14,4; 14,5; 19,6;  5,3
20051228;15:45:00; 21,8; 22,7; -1,7; 20,5;  8,3; 22,1; -2,9;  3,8; 35,3; 22,9; 22,6; 22,0; 14,4; 13,0; 19,6;  5,0
Dieses Datenformat ist übrigens identisch zum LogFormat 1, welches von der Software „TAnz“ generiert wird. Die Werte werden hier immer in der gleichen Reihenfolge ausgegeben, wie sie im Log-Daten-Speicher abgelegt sind. Diese Reihenfolge lässt sich über das Menü Konfiguration - Temperaturen - Log-Zuordnung festlegen, allerdings muss man diese Einstellung vor Beginn der Aufzeichnung vornehmen.

Da man nicht immer alle Daten benötigt, kann man mit 2 Parametern die gewünschte Datenmenge beeinflussen, hier einige Beispiele für die praktische Anwendung:

gett15 2005 holt alle 15min-Werte des Jahres 2005.
gett15 200512 holt alle 15min-Werte vom Dezember des Jahres 2005.
gett15 20051228 holt alle 15min-Werte vom 28. Dezember des Jahres 2005.
gett15 20051228-  holt alle 15min-Werte seit dem 28. Dezember des Jahres 2005.

getmin

Dieses Kommando holt die 24h-Minimalwerte aus dem Log-Daten-Speicher. Das Format und auch die Reihenfolge entspricht dem Kommando gett15, auch können hier die gleichen Parameter verwendet werden. Hier ein Beispiel:
20051226;23:59:00; 21,3; 22,7; -0,4; 15,8; 11,2; 22,1; -1,4;  6,8; 24,6; 21,4; 20,4; 22,7; 16,6; 12,7; 18,3;  6,6
20051227;23:59:00; 21,3; 23,1; -1,1; 19,6; 10,2; 21,3; -2,0;  4,6; 24,4; 21,0; 20,3; 22,4; 14,8; 12,8; 16,6;  5,8
20051228;23:59:00; 20,8; 17,3; -2,2; 13,9;  8,1; 21,2; -3,6;  3,2; 23,9; 20,6; 19,6; 21,9; 13,9; 12,1; 15,6;  4,4
getmax

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

getavg

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

getmsg

Dieses Kommando holt die Meldungsliste (Messages) aus dem Log-Daten-Speicher. Auch bei diesem Kommando können die beiden weiter oben beschriebenen Parameter verwendet werden, um die gewünschten Daten gezielt abzurufen. Das Format sieht folgendermaßen aus:

Datum;Zeit;Alarm;Parameter
Auch hier zum besseren Verständnis ein Beispiel aus der Praxis:
20051228;14:19:42;Temp zu niedrig;Schlafz.
20051228;14:20:00;Temp normal;Schlafz.
20051228;14:41:43;Alarm ein;Briefkasten
20051228;14:41:45;Alarm aus;Briefkasten
An dieser Stelle noch einige Informationen zu den Log-Daten. Die 15min-Werte sind immer die gerade zu diesem Zeitpunkt aktuellen Temperaturen. Falls zu dieser Zeit ein Temperatursensor außer Betrieb war, dann wird kein Wert im Log gespeichert und folglich auch kein Wert beim Auslesen gesendet. Hier ist ein Beispiel, wo der Sensor 10 keine Daten geliefert hat:
20051217;14:15:00; 22,3; 23,4;  0,9; 21,1; 11,1; 22,4;  1,2;  6,4; 35,3;; 21,6; 22,8; 16,8; 12,9; 20,8;  8,0
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: Jede eingehende Temperaturmeldung vom Sensormodul erhöht einen Zähler und der aktuelle Wert wird zu einer Summe hinzuaddiert. Um 23:59 Uhr wird dann die Summe durch den Zähler dividiert und das Ergebnis als Mittelwert gespeichert.

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
...
L16:06
S01:Wohnzimm.
S02:HAR
...
S16:Schlafz.
AL1:Garagentor
AL2:
AL3:Briefkasten
AL4:Dachfenster

Die mit L beginnenden 16 Zeilen enthalten die Daten der Log-Zuordnungs-Tabelle. Die nächsten 16 Zeilen, welche mit S beginnen, enthalten die Namen der Sensoren und die letzten mit AL beginnenden 4 Zeilen übermitteln die Namen der Alarmeingänge. Anhand dieser Liste lassen sich die Log-Daten genau zuordnen.


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