Homematic Wired - Homebrew
Home > Elektronik > Homematic > HBW-SD6-Multikey  
 

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 1, mit Schraubklemmen:

Erweiterung 2:

Erweiterung "klein":

 

top Elektronik

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.
Des weiteren sind sie ca. 1 mm erhöht eingebaut (Abstandshalter zwischen Wannenstecker und Platine) – so ragen die Pins weniger weit aus der Platine heraus und Konflikte mit SMD Widerständen sind auch gelöst.

"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

 

top Software Anpassungen

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

 

top Schaltpläne/Layout

 

Schaltplan der Hauptplatine  
Quellcode und Hex Dateien auf GitHub.