bedienfeld - hcanIngo/openHCAN GitHub Wiki
Bedienfeld
Die Bedienfelder (auch Bedienpanels oder Userpanel genannt) sind Unterputzbusknoten mit einem 16x2 Zeichen LCD und 8 Tastern. Sie werden fuer verschiedene Dinge verwendet, wie z.B. Einstellen von Heizungsparameter, Ausloesen von Rollaeden-Bewegungen oder Anzeigen von offenen Fenstern.

Die Bedienfelder sind "Doppeldecker" aus einer unteren Platine mit dem ATmega32/ATmega644p Controller,der CAN Bus Anbindung, der Stromversorgung etc und einer oberen Platine mit dem LCD und den Tastern. Beide Platinen sind ueber ein Flachbandkabel verbunden. Die Hintergrundbeleuchtung des LCD kann per Software gedimmt werden. Die Abbildung zeigt ein Bedienfeld in einer Unterputzdose (Breite x Hoehe x Tiefe: 10cm x 10cm x 6cm). Die Frontplatte kann aus unterschiedlichen Materialen gefertigt sein und ist massgeblich fuer die Optik im eingebauten Zustand verantwortlich.

Von der Software her ist ein Bedienfeld einem Controller-1612 sehr aehnlich: der Grossteil des EEPROM des ATmega32/ATmega644p wird fuer das EDS verwendet; per telican kann dann eine Konfiguration editiert werden. Siehe auch telican-Tutorial.
Die Konfiguration beschreibt eine Baumstruktur aus sogenannten Pages (Seiten). Eine Page wird vom Bedienfeld angezeigt. Durch Duecken von Tasten kann eine andere Seite aufgerufen und angezeigt werden.

Die Steuerung mit den Tasten sieht im Normalfall folgendermassen aus:
-
OK: bei einer Menueseite wird auf die Seite gesprungen, deren Name das Display gerade anzeigt. Diese "Links" sollten per Konvention immer "Seitename.." sein. Der ".." soll signalisieren, dass es hier weitergeht. Falls ein Paramter editierbar ist, so beginnt OK die Editierung bzw. schliesst sie ab
-
ESC: springt auf die naechst hoehere Seite in der baumartigen Hirarchie oder verwirft eine Parameterveraenderung
-
UP: springt einen Eintrag in einer Menueliste nach oben oder veringert den Wert eines Parameters
-
DOWN: springt einen Eintrag in einer Menueliste weiter nach unten oder erhoeht den Wert eines Parameters
-
ein kurzer Druck auf eine F-Taste springt an die hinter der Taste gespeicherte Page
-
ein langer Druck auf eine F-Taste speichert die aktuell angezeigte Page auf der F-Taste
Ein Konfigurationsbeispiel:
# dies ist noetig, damit die Shortcuts gespeichert werden koennen;
# es ist Speicherplatz fuer 8 Tasten vorgesehen, bisher werden nur
# 4 verwendet.
create userpanel_shortcuts
set F1 255
set F2 255
set F3 255
set F4 255
set F5 255
set F6 255
set F7 255
set F8 255
exit
# Es folgt die Menu-Struktur:
create screensaver_page
set page_id 1
set parent_id 0
set next_id 0
set prev_id 0
exit
create dir_page
set page_id 2
set parent_id 1
set next_id 3
set prev_id 0
set name Wohnen..
exit
create dir_page
set page_id 3
set parent_id 1
set next_id 0
set prev_id 2
set name Kueche..
exit
create heiz_page
set page_id 4
set parent_id 2
set next_id 0
set prev_id 0
set name Wohnen
set heiz_id 10
exit
create heiz_page
set page_id 5
set parent_id 3
set next_id 0
set prev_id 0
set name Kueche
set heiz_id 11
exit
Diese Konfiguration erzeugt folgenden Menu-Baum:
screensaver_page(1)
|
|
+-- dir_page Wohnen..(2)
| |
| |
| +-- heiz_page Wohnen(4)
|
+-- dir_page Kueche..(3)
|
+-- heiz_page Kueche(5)
Die spezielle ID 0 stellt quasi einen Null-Pointer dar, und wird z.B. fuer Ende oder Anfang einer Page-Liste (siehe die Pages 2 und 3) verwendet. Ebenso hat die screensaver_page (1) kein Parent, daher wird hier auch die 0 verwendet.
Uebrigens: Bei den Konfigurationen der Bedienfelder hilft mkuserpanelconf.
Schaltpläne
HCAN-Bedienpanel-Interface-v01-partlist.txt

Achtung im Schaltplan ist ein Fehler, C6 und C7 sollten vertauscht sein. Siehe auch Datenblatt vom LM2574.

HCAN-Bedienpanel-v01-partlist.txt
Statusanzeige auf der Screensaverpage (Hauptseite mit Datum und Uhrzeit)
-
Lampen:
z.B. "L3" drei Lampen sind aktiv -
Sonstige:
z.B. "S2" zwei Sonstige sind aktiv -
Mute:
z.B. "P1" ein Passiv-Zustand liegt vor -
Fenster:
z.B. "F4" vier Fenster sind offen -
Heizungen:
z.B. "H8" die Solltemperatur betraegt fuer acht Heizungen > 15°C
z.B. "h6" die Solltemperatur betraegt fuer sechs Heizungen > 0°C (Frostschutz)
z.B. keine Anzeige mit "h" oder "H", dann sind alle Heizungen aus