Projekt: Temperatur-Messsystem - Anzeigemodul 2
Status | wird nicht weiterentwickelt |
Letzte Bearbeitung | 04.03.2007 |
Aktueller Softwarestand | v2.020 vom 04.03.2007 |
Empfehlung | Upgrade zum Anzeigemodul 2a |
Schaltplan Anzeigemodul 2 | am2-sch.zip |
Stückliste mit Empfehlungen zur Bauteilbestellung | |
Software v2.020 für ATmega128 vom 04.03.2007 (Assembler) | am2-v2020.zip |
USB-Treiber (VCP) für FT232BM | www.ftdichip.com/Drivers/VCP.htm |
Beschreibung | Allgemeine Informationen über das Anzeigemodul 2 |
Schaltung | Beschreibung der Schaltung des Anzeigemoduls 2 |
Hardware | Bilder und Hinweise zum Aufbau des Anzeigemoduls 2 |
Software | Beschreibung der Software des Anzeigemoduls 2 |
Inbetriebnahme | Inbetriebnahme des Anzeigemoduls 2 und Installation der Software |
Update | Update der Software bei einem bereits laufenden Anzeigemodul 2 |
Bedienung | Bedienungsanleitung und komplette Beschreibung aller Funktionen |
Fehlermeldungen | Mögliche Fehlermeldungen und Hinweise zur Beseitigung der Fehler |
Datenkommunikation | Hinweise zur Herstellung einer PC-Datenverbindung und Beschreibung der Kommandos |
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:
- Übersichtliche Anzeige aller Werte auf einem grafischen LCD mit einer Auflösung von 240x128 Pixeln
- EEPROM (128kB) zur Speicherung der Temperaturdaten, speichert 15min-Werte von 36 Tagen, Tages-Min/Max/Mittel von 400 Tagen, 500 Meldungen und ein Konfigurations-Backup
- Konfigurierbare grafische Anzeige aller gespeicherten Temperaturdaten
- Tabellarische Anzeige aller Meldungen
- DCF77 oder HBG Empfänger zur Zeitsynchronisation
- Batteriegestützte Echtzeit-Uhr zur Überbrückung von Netzausfällen und zur Speicherung einiger Systemdaten
- PC-Verbindung über RS-232, USB oder Bluetooth zur Übertragung der Log- und Meldungsdaten, je nach Medium sind Geschwindigkeiten bis 460800 Baud möglich
- Bedienung über einen Drehimpulsgeber und einen Taster, die gesamte Konfiguration erfolgt direkt am Gerät
- 3 LEDs zeigen verschiedene Systemzustände an
- Lichtsensor zur Steuerung der Hintergrundbeleuchtung
- Konfigurierbare akustische Signalisierung
- Einstellbarer Tag/Nacht-Betrieb
- Software-Update über Bootloader möglich
Hauptmodul
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.
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.
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.Optionen
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-232 | Baudrate von 9600 bis 115200 einstellbar, Software-Update über Bootloader möglich |
USB | Baudrate von 9600 bis 460800 einstellbar, Software-Update über Bootloader möglich |
Bluetooth | Baudrate 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.
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.
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.
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.
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.
So sieht die USB-Platine von unten aus. Übrigens, trotz des unübersichtlichen Drahtverhaus hat diese Platine bei mir auf Anhieb funktioniert.
Unterhalb der USB-Buchse befindet sich übrigens der Reset-Taster S3.
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.
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.
Dies ist ein älteres Bild, hier fehlt noch das Bluetooth-Modul und die dritte LED.
Auch auf diesem Bild ist eine ältere Version zu sehen, wo noch die dritte LED fehlt.
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.
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) |
Konfigurationsdaten | Log-Daten 15min | Pointer für Log-Daten |
Log-Daten 24h | Zwischenspeicher für | |
Meldungs-Log | Min/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:
- 15-Minuten-Werte aller Sensoren für 36 Tage; die Speicherung erfolgt immer zur Minute 0, 15, 30 und 45
- 24-Stunden-Werte aller Sensoren, bestehend aus Tages-Minimum, Tages-Maximum und Tagesmittel für 400 Tage; die Speicherung erfolgt täglich um 23:59 Uhr
- 500 Meldungen über aufgetretene Fehler, Alarme und Temperaturabweichungen
- das bereits erwähnte Konfigurations-Backup
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.
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:
- Programmierung mittels ISP (mit dem AVR-Studio oder mit PonyProg) über K4: Das ist die „klassische“ Variante.
- 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.
- 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:
So sieht die Einstellung im AVR-Studio für den ATmega128 aus, hier ist (noch) kein Bootloader installiert.
So sieht die Einstellung in PonyProg für den ATmega128 aus, hier ist (noch) kein Bootloader installiert.
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:
- Menü-Option Konfiguration - Backup - Sichern ausführen
- Warten bis zum nächsten Log-Intervall (Minute 0, 15, 30 oder 45)
- 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:
- 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:
- 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.
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.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:
Kein DCF-Empfang innerhalb der letzten 24 Stunden | |
Die Uhr wurde innerhalb der letzten 24 Stunden mit dem DCF-Signal synchronisiert | |
PC Datenkommunikation aktiv | |
Bluetooth-Modul aktiviert (in Kombination mit den 3 oben stehenden Symbolen) | |
Lautsprecher ausgeschaltet (stumm) | |
Lautsprecher eingeschaltet | |
Status 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:
Keine weiteren Optionen vorhanden | |
Weitere Optionen durch Rechtsdrehen des Impulsgebers verfügbar | |
Weitere Optionen durch Linksdrehen des Impulsgebers verfügbar | |
Weitere 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:
Fall | LED | Zustand | Bedeutung |
---|---|---|---|
1 | leuchtet | Mindestens einer der folgenden Fehler ist aufgetreten, der Text wird in der Infozeile (oben) angezeigt:
| |
2 | blinkt mit 3Hz | Mindestens einer der 4 Alarme ist aktiv, die aktiven Alarme werden invertiert angezeigt. | |
3 | leuchtet und blinkt mit 3Hz abwechselnd | Fall Nummer 1 und 2 tritt gleichzeitig auf. | |
4 | blitzt 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. | |
5 | leuchtet | Mindestens ein Temperatursensor ist ausgefallen, hinter den betroffenen Temperaturwerten steht ein Ausrufezeichen. | |
6 | blinkt 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). | |
7 | leuchtet und blinkt mit 3Hz abwechselnd | Fall Nummer 5 und 6 tritt gleichzeitig auf. | |
8 | blitzt 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. | |
9 | leuchtet | 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:- 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.
- Menü-Option Konfiguration - Grundeinstellung - 15min Werte löschen ausführen.
- Menü-Option Konfiguration - Grundeinstellung - 24h Werte löschen ausführen.
- 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.
Menü 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ü | ||
Minimal-Werte | Anzeige der Minimalwerte alle Temperatursensoren, Löschen der Minimalwerte | |
Maximal-Werte | Anzeige der Maximalwerte alle Temperatursensoren, Löschen der Maximalwerte | |
Grafik | Grafische Anzeige der gespeicherten Temperatur-Daten über 24 wählbare Voreinstellungen (Presets) | |
Meldungen | Auflisten aller aufgetretenen Ereignisse mit Datum und Uhrzeit (maximal 500), Filterung nach Kategorie möglich | |
Status | Anzeige verschiedener Daten: Versionsnummer, Sensorbelegung, Status von EEPROM, RTC, Pointer und Batterie; Löschen von Systemfehlern | |
Konfiguration | 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.
Menü Minimal-WerteDieses 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.Menü 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.Menü 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.
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.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.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:
Die Grafik zeigt die Differenz zwischen zwei Temperaturwerten (Delta). Dieses Symbol steht immer vor Sensornamen. | |
Die Grafik zeigt 24h-Minimalwerte. Dieses Symbol steht immer hinter Sensornamen. | |
Die Grafik zeigt 24h-Maximalwerte. Dieses Symbol steht immer hinter Sensornamen. | |
Die 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.
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.
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.
Menü MeldungenHier 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.
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:
Alarm-Meldung: An einem der 4 Eingänge des Sensormoduls wurde ein Alarm ausgelöst oder ein Alarm ist wieder verschwunden. | |
Temperatur-Meldung: Ein Grenzwert wurde über- oder unterschritten oder eine Temperatur kehrt in den normalen Bereich zurück. | |
Eine der folgenden System-Meldungen ist aufgetreten: Kein Datenempfang, Datenempfang ok, Konfigurationsfehler, Pointer-Fehler, Sensorausfall <Name> oder Sensor ok <Name>. |
Menü Status
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:
Das 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. | |
Das 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.
Menü 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 | ||
Temperaturen | Sensoren Grenzwerte Log-Zuordnung | |
Alarme | ||
Signale | Zuordnung Audio | |
Zeiten | Schaltzeiten Uhr stellen | |
Sonstiges | ||
Grafik-Presets | ||
Backup | Sichern Laden/Neustart | |
Grundeinstellung | 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.
Menü Konfiguration - Temperaturen - Sensoren
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:
Der Sensor ist ausgeschaltet und wird nicht auf dem Hauptbildschirm angezeigt. Es erfolgt keine Überwachung auf Ausfälle und Temperaturüberschreitungen. | |
Der Sensor ist eingeschaltet und wird im Hauptbildschirm angezeigt, alle Überwachungen sind aktiviert. | |
Der Sensor ist ausgeschaltet und für die Großanzeige ausgewählt. Das macht wenig Sinn, lässt sich aber so einstellen. | |
Der 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 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:
Die Auswahl dieses Symbols löscht das Zeichen links vom Cursor und setzt die Eingabeposition um eine Stelle nach links. | |
Dieses 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 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.
Menü Konfiguration - Temperaturen - GrenzwerteHier 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.
Menü Konfiguration - Temperaturen - Log-ZuordnungDie 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.Menü Konfiguration - Alarme
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:
Der Alarm ist ausgeschaltet und wird nicht auf dem Hauptbildschirm angezeigt. | |
Der Alarm ist eingeschaltet und wird auf dem Hauptbildschirm angezeigt. |
Menü Konfiguration - Signale - Zuordnung
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.
Menü 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.
Menü Konfiguration - Zeiten - SchaltzeitenMit 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:
Die Schaltzeit ist deaktiviert. | |
Die 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.Menü Konfiguration - Zeiten - Uhr stellen
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.
Menü Konfiguration - Sonstiges
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:
Die Funktion ist ausgeschaltet. | |
Die 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.
Menü Konfiguration - Grafik-PresetsIn 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.
Menü Konfiguration - BackupIn 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.Menü 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.
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:
- Uhr nicht eingestellt - Dieser Fehler tritt nur bei der ersten Inbetriebnahme des Anzeigemoduls auf. Der Controller versucht hier die aktuelle Zeit aus dem
RTC-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 RTC aufgetreten sein, was äußerst unwahrscheinlich ist. Dieser Fehler erscheint nicht im Log, da nur bei gültiger Uhrzeit
Log-Daten aufgezeichnet werden können.
Lösung: Entweder warten bis sich die Uhr mit dem DCF-Signal synchronisiert hat, was im besten Fall in 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 - 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 wenn der Datenempfang wieder funktioniert, dann erfolgt ebenfalls ein entsprechender Eintrag.
Lösung: Datenverbindung kontrollieren und wieder herstellen.
- Konfigurationsfehler - 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 das Menü Konfiguration - Grundeinstellung - Basiskonfiguration laden aufrufen. Wurde der Fehler im laufenden Betrieb signalisiert, dann sollte man über das Menü Konfiguration - Backup - 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.
- Speicherfehler - Diese Meldung zeigt an, dass beim Zugriff auf das Externe EEPROM ein Fehler aufgetreten ist. Bei der Inbetriebnahme deutet dies auf einen
Kommunikationsfehler mit IC3 und/oder IC4 hin. Im laufenden Betrieb sollte dieser Fehler nicht auftreten. Ein Eintrag ins Meldungs-Log erfolgt nicht, da bei einem Speicherfehler 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 das Symbol hinter den Elementen EEPROM1 und EEPROM2 achten. Befindet sich hinter einem oder auch hinter beiden EEPROMs ein X-Symbol, dann liegt offensichtlich ein Hardware-Problem vor. Hier sollte man die EEPROMs und die Verdrahtung prüfen. Ich habe übrigens EEPROMs von 2 Herstellern (Atmel und ST) im Einsatz und beide arbeiten ohne Probleme.
Sind beide EEPROMs mit einem Ok-Symbol versehen und wird nur der Speicherfehler gemeldet, dann kann man den Fehler im Menü Status über die Option Speicherfehler löschen zurücksetzen. Tritt der Fehler wiederholt auf, dann sollten die EEPROMs ausgetauscht werden. - RTC-Fehler - Hier ist ein Fehler beim Zugriff auf den RTC-Chip aufgetreten. Dieser Fehler wird nicht ins Meldungs-Log geschrieben, da die RTC 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 RTC ein X-Symbol zu sehen sein. Falls der Fehler bei der Inbetriebnahme aufgetreten ist, dann sollte man zunächst die Hardware, also den RTC-Chip und die Verdrahtung prüfen. Trat der Fehler während des Betriebes auf, dann kann man ihn im Menü Status über die Option RTC-Fehler löschen zurücksetzen. Tritt der Fehler wiederholt auf, dann sollte man einen neuen RTC-Chip probieren.
- Pointer-Fehler - 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 RTC gelesen und falls hier ein Wert ungültig ist, dann wird diese Fehlermeldung ausgelöst. Gleichzeitig versucht das Programm, die Schreibposition wiederzufinden, 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 im Menü Status über die Option Pointer-Fehler löschen zurückgesetzt werden. Obwohl der Pointer repariert wird, kann nicht ausgeschlossen werden, dass Log-Daten überschrieben werden.
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.
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:
Parameter | RS-232 | USB | Bluetooth |
---|---|---|---|
Bits pro Sekunde | 115200 | 460800 | 115200 |
Datenbits | 8 | 8 | 8 |
Parität | keine | keine | keine |
Stoppbits | 1 | 1 | 1 |
Flusssteuerung | keine | keine | keine |
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: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:
endMit diesem Kommando kann man jederzeit eine laufende Übertragung abbrechen. Dieses Kommando hat keine Parameter.
infoDieses 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;...;Wert16Hier 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,0Dieses 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,4getmax
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.
getavgDieses 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.
getmsgDieses 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;ParameterAuch 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;BriefkastenAn 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,0Die 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.