|
Tastensensor mit LEDs und zusätzlichen Funktionen
Der 6-fach Taster von haus-bus.de,
angepasst auf meine Bedürfnisse. Auch habe ich ein eigenes Layout erstellt,
daher ist die Beschaltung nicht die selbe wie bei den original Modulen.
Funktionen, Basismodul:
Erweiterung 2:
Erweiterung "klein":
Aktueller Stand...
Prototyp, Ober- und Unterseite |
|||
Erstes Layout, komplett bestückt,
bis auf die Wannenstecker. |
|||
Zwei Fehler gab es dem ersten
Layout. Eine Masseverbindung war unterbrochen (mit dem blauen Draht gebückt)
und zwei fehlende Widerstände (R16 & 17) als Pegelwandler im
RS-485 Rx Pfad. Wobei dies beim Prototyp kein Problem war, aber für
einen stabilen Betrieb besser ist. Sie wurden nachträglich in die
Leiterbahn eingefügt. (SMD, 0603 Bauform) [Bild links] |
|||
Programmieradapter aus einem Stück
AGP Stecksockel. Lässt sich nur bei ausgebauter Platine aufstecken
– ein Steckmöglichkeit bei eingebauter Platine wäre eine
praktischere Alternative. |
|||
Da ich 30 Platinen bestellt hatte, habe ich sie dennoch genutzt.. also 18 mal die Brücke einlöten und die Rx Leiterbahn für die Pegelwandlerwiderstände unterbrechen. Die Wannenstecker sind in den Ecken etwas gekürzt, da sie sonst
mit dem Tragring kollidieren. |
|||
"Anprobe" des kompletten
Schalters. Tragring, Platine, Trennsteg (hält das Plexiglas auf Abstand
und die LED Beleuchtung im jeweiligen Tasterbereich) und die Plexiglasabdeckung. |
Beleuchtung für vier Taster eingeschaltet. Ca.
20 % (die Kamera verstärkt das Licht stark) |
||
Zur Montage der Plexiglasabdeckung hatte ich eine Vorrichtung gefräst, um einen Kunststoffstreifen mittig auf das Plexiglas zu kleben. Dieser passt in die Vertiefung des Trennstegs und hält das Plexiglas an Position. Zwei kleine Neodymmagnete im Plexiglas sitzen auf den Schrauben und sorgen dafür das die Abdeckung nicht herausfallen kann. | |||
Finale Montage. Die untere
Platine wurde noch gedreht (siehe Bild rechts) – um den Temperatursensor
ganz unten zu positionieren. Auch was dies für den PIR Sensor positiv,
da der Erkennungs-Radius keine 360° beträgt, bzw. die 120°
Öffnungswinkel nicht für alle Ebenen gilt. Neben Temperatur-/Feuchtigkeitssensor,
Helligkeitssensor und Bewegungsmelder sind drei bis 5 farbige LEDs verbaut,
welche für Signalisierungszwecke benutzte werden können. |
Hier ist statt eines PIR- ein Mikrowellensensor verbaut.
Die Sensoren lassen sich einfach im Betrieb austauschen. Die Plexiglasabdeckung
wir auch mit Magneten gehalten und kann so einfach getauscht werden. |
||
Für die Kellerbeleuchtung brauchen
die Schalter nicht so "schön" zu sein, daher hatte ich
günstige Feuchtraumdosen genommen. Hier darf aber der Kunststoff
nicht zu weich sein, wenn man – so wie hier, die Taster des Multitasters
nutzen will. Die Aussparungen sind mit transparentem Silikon verfüllt,
so ist es weiterhin staubdicht. Die Kellerbeleuchtung wir über Bewegungsmelder und gewöhnliche Feuchtraumtaster gesteuert, von denen in Summe 5 Stück an der Erweiterungsplatine angeschlossen werden können. Die Bedienung am Multitaster ist nur für selten genutzte Aktoren. |
|||
Angepasste xMega X32A4 fuses:
WDWP = 8CLK
WDP = 8CLK
BOOTRST = BOOTLDR
TOSCSEL = XTAL
BODPD = DISABLED
RSTDISBL = [ ]
SUT = 0MS
WDLOCK = [ ]
BODACT = CONTINUOUS
EESAVE = [X]
BODLVL = 3V0
FUSEBYTE1 = 0x00 (valid)
FUSEBYTE2 = 0xBF (valid)
FUSEBYTE4 = 0xFE (valid)
FUSEBYTE5 = 0xE0 (valid)
Flash
fuses:
avrdude -c AVRISPmkII -p x32a4u -U fuse2:w:0xbf:m -U fuse4:w:0xfe:m -U fuse5:w:0xe0:m
flash Device software (+booter +signature):
avrdude -c AVRISPmkII -p x32a4u -U boot:w:Firmware\X32A4-Booter\HBW-SD6-v1\HBW-X32A4-Booter.elf:a -U usersig:w:Firmware\X32A4-Booter\HBW-SD6-v1\HBW-X32A4-Booter.usersignatures:a -U application:w:Firmware\X32A4-Devices\Release\HBW-X32A4-Devices.elf:a
Anpassungen an die eigene Hardware
LEDs nicht invertieren:
HBWMultiKeySD6v1Hw.h
-inline HBWMultiKeySD6v1Hw() : HBWMultiKeySD6BaseHw( PortPin( PortR, 0 ), PortPin(
PortR, 1 ), true )
+inline HBWMultiKeySD6v1Hw() : HBWMultiKeySD6BaseHw( PortPin( PortR, 0 ), PortPin(
PortR, 1 ), false )
Neue Funktion zur Helligkeitsmessung (z.B. in Verbindung mit Bewegungsmelder)
Homematic Geräte mit Funk nutzen einen eigenen Nachrichtentyp (message id=0x41), bei dem der Helligkeitsmesswert mit dem Schaltsignal (KeyEvent) mitgesendet wird und dann der Aktor im peering einen Schwellwert konfiguriert hat. Homematic Wired kennt diesen Nachrichtentyp wohl nicht. Ursprünglich wollte ich diesen Hinzufügen, dann hätten jedenfalls alle Homebrew Geräte diese Funktion erhalten.
Um Standard Geräte kompatibel zu halten, habe ich es über zwei paar zusätzliche Kanäle im HBW-SD6-Multikey Device realisiert. Es ist nicht ganz so flexibel wie mit dem speziellen Nachrichtentyp, aber lässt doch verschiedene Konfigurationen zu.
Funktion
Kanal 32 & 33 (ANALOGSENSOR) stellen wie bisher den Analogen Messwert (12bit)
zur Verfügung.
Virtueller Kanal 34 & 35 (BRIGHTNESS SWITCH) sind fest mit je einem der
vorhergehenden Kanäle verknüpft, sie errechnen einen 0-100% Helligkeitswert
(Zeitraum ist konfigurierbar, 1,3 bis 60 Minuten; "moving average"). Dieser
Kanal wird mit einem "Key" (Bewegeungsmelder) Kanal verknüpft
(peering), dabei wird der Schwellwert festgelegt, ab dem das Schaltsignal an
Kanal 36/37 weitergegeben wird (größer oder kleiner gleich dem Helligkeitsmesswert).
Virtueller Kanal 36 & 37 (BRIGHTNESS KEY) sind wieder fest mit je einem
der beiden vorhergehenden Kanäle verknüpft, hier wird das Schaltsignal
von Kanal 34/35 weitergegeben und ein kurzer Tastendruck gesendet. Dieser Kanal
kann mit alles möglichen Aktoren gepeert werden.
Bsp. Konfiguration
Der Bewegungsmelder wird an einen der 12 Taster Eingänge Angeschlossen
(Kanalkonfiguration "motionsensor"), dann ein peering mit z.B Kanal
34 angelegt. Das Schaltsignal wird intern an Kanal 36 geleitet. Mit diesem Kanal
kann dann ganz normal ein externes peering mit einem Aktor angelegt werden.
Kanal 36 gibt das Schaltsignal des Bewegungsmelders nur weiter, wenn die Vergleichsoperation
zutrifft, d.h. der Helligkeitswert z.B. unterschritten wurde.
Man könnte so auch Bewegungsmelder und Helligkeitssensoren verschiedener HBW-SD6-Multikey Geräte verknüpfen...
Libs:
HMWired\HmwBrightnessSwitch.h, HmwBrightnessSwitch.cpp
HMWired\HmwBrightnessKey.h, HmwBrightnessKey
Schaltplan der Hauptplatine | ||
Quellcode und Hex Dateien auf GitHub. | ||
loetmeister ©2024