Vorstellung: HB-UNI-Sensor1 als Schwellwertschalter (HB-UNI-Sensor-Heizung)

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Antworten
TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Vorstellung: HB-UNI-Sensor1 als Schwellwertschalter (HB-UNI-Sensor-Heizung)

Beitrag von TomMajor » 15.11.2019, 15:16

Für einen speziellen Einsatzzweck habe ich eine HB-UNI-Sensor1 Variante generiert die schneller auf definierte Änderungen (Schwellwert) eines Messwertes reagiert als dies beim Standard-Sendeintervall der Fall ist.
  • Der HB-UNI-Sensor-Heizung ist ein vom Universalsensor HB-UNI-Sensor1 abgeleitetes Gerät.
  • Es ist ein Schwellwertschalter, der bei Unter- und Überschreitung eines bestimmten Sensorwertes möglichst zeitnah ein Telegramm an die Zentrale sendet.
  • Die hier dargestellte Konfiguration ist für die kontaktlose Überwachung einer LED (Brenner), dabei wird die Helligkeit mittels eines MAX44009 gemessen.
  • Natürlich sind auch andere Messwerte wie Temperatur oder Luftfeuchtigkeit zur Auslösung bei einem bestimmten Schwellwert möglich.
  • Das Gerät wacht aller 60 Sek. kurz auf, misst die Helligkeit und entscheidet anhand des Messwertes ob ein Telegramm an die Zentrale gesendet werden soll oder nicht.
  • Der Status (An/Aus) wird dabei in HomeMatic auf den Geräte-Datenpunkt 'Digitaler Eingang / Ventilposition' gelegt (um das vorhandene AddOn nutzen zu können).
  • Falls es in einer definierten Zeit (hier 4h) keine relevanten Änderungen des Meßwertes gibt wird trotzdem ein Telegramm gesendet (Alive-Status).
  • Die Schaltung arbeitet mit einem NiMH 1,2V Akku und integriertem Step-Up Wandler MAX1724.
    Ohne den Step-Up Wandler kann sie AskSinPP typisch mit 3V betrieben werden.
  • Es wurde eine Platine entwickelt die einen Arduino Pro Mini 8MHz benutzt (bei dem die Maßnahmen zur Ruhestromverringerung angewendet wurden) - da ich nicht immer Lust habe den AVR als TQFP32 zu löten :roll:
Link zum Projekt:
https://github.com/TomMajor/SmartHome/t ... or-Heizung

Vielleicht ist die Sache ja für den einen oder anderen hier auch für andere Anwendungszwecke interessant.

.
Dateianhänge
01.jpg
02.jpg
03.jpg
05.jpg
Viele Grüße,
Tom

harvey
Beiträge: 136
Registriert: 01.12.2013, 13:19
Danksagung erhalten: 3 Mal

Re: Vorstellung: HB-UNI-Sensor1 als Schwellwertschalter (HB-UNI-Sensor-Heizung)

Beitrag von harvey » 28.11.2019, 15:34

Hallo Tom,
als Modifikation Deiner Erweiterung möchte ich eine Erweiterung vorstellen:

Lokale Signalisierung von Schwellwerten über LED/Relaisausgang

Dabei sind möglich:
- Schwellwerte mit Überschreitung und Unterschreitung (Hysterese)
- Schwellwerte als Bereich mit Untergrenze und Obergrenze (inerhalb/ausserhalb)

An den UNI-Sensor werden zur Signalisierung eine LED (optional über LED_ON abschaltbar) und über einen Treiber ein Relais/Halbleiterrelais an zwei Pins angeschlossen.
Dann ist in der Konfiguration (LEVEL_THRESHOLD) auswählbar, ob bei Überschreitung des oberen Schwellwertes ein Alarm ausgelöst wird, bei Unterschreitung des unteren Schwellwertes der Alarm zurückgesetzt wird.
In dieser Einstellung (LEVEL_THRESHOLD = 0) kann der Sensor etwa zur Überwachung von Helligkeit oder Feuchtigkeit arbeiten:
- bei Überschreiten einer Helligkeit wird eine Abdunklung runter gefahren, bei Unterschreitung wieder hoch gefahren
- bei Überschreitung einer Luftfeuchtigkeit wird ein Gebläse zur Lüftung eingeschaltet, bei Unterschreitung wieder ausgeschaltet.
Dies kann auch invertiert werden (INVERT_RELAY = 1), etwa für:
- bei Unterschreitung einer Temperatur wird eine Zusatzheizung eingeschaltet, bei Überschreitung wieder abgeschaltet

Alternativ können die beiden in der Konfiguration eingebbaren Schwellwerte auch einen Bereich (LEVEL_THRESHOLD = 1) beschreiben, mit etwa folgenden Anwendungen:
- Messung ist innerhalb des Bereiches signalisiert in einem Weinkeller, dass die Temperatur im gewünschten Bereich liegt
Dies kann ebenfalls invertiert werden, so dass:
- bei einer Tiefkühltruhe eine Alarmierung ausserhalb der Grenzen erfolgt, also die Tiefkühltruhe zu warm oder zu kalt ist

Die Modifikation erweitert diesen Sensor also dahin, dass eine Berechnung eines Alarms innerhalb des Sensors und nicht über Programme in der CCU stattfindet. Der Sensor meldet wie der Original-Sensor bei jeden (einstellbarem) Intervall die Messwerte und das Ergebnis, misst aber innerhalb des Sendeintervalls einstellbar mehrfach.
Dadurch wird einerseits die CCU nicht mit vielen Paketen (und Verbrauch des Dutycycles) belastet, andererseits werden aber zeitnah Alarmierungen sowohl an die CCU gesendet als auch sofort lokal an der LED und dem Ausgang ausgegeben.

Um den Sketch zu verwenden muss ein eigenes XML verwendet werden. Da ich das ganze nicht als "out_of_the_box_ready" bereit stelle muss der Nutzer also selbst wissen, wie er ein XML in die CCU bringt, also nur etwas für Leute mit intensivem KnowHow!!!
Dazu gehört also noch eine Menge weiterer Arbeit!!!

Die XML-DAtei ist dahin gehend modifiziert, dass weitere Werte (Häufigkeit der Messung in einem Sendeintervall, unterer Schwellwert, oberer Schwellwert, Modus=Schwellwert oder Bereich, Relais invertieren) in der Konfiguration eingestellt wird. Daher ist lediglich die Auswahl des Sensors zur Alarmierung (Temperatur/Helligkeit/Feuchtigkeit/Luftdruck) im Sketch notwendig, es müssen natürlich auch die Sensoren angeschlossen sein. Und die Pins der LED und des Relais sind zu definieren.

Auch die Ausgabe habe ich in der XML-Datei angepasst, so dass nicht verwendete Sensoren auch nicht sichtbar gesetzt werden können. Ebenso können Namen frei vergeben werden, um etwa eine "Temperatur" als "Temperatur Weinkeller" deutlich zu beschreiben.

Wie immer, dies ist ein Snapschuß der Arbeit, sie kann Fehler enthalten. Es handelt sich auch nicht um einen eigenständigen AKTOR-Kanal, der Ausgang wird nur von den Messwerten und den Schwellwerten gesteuert. Trotzdem kann der Stromverbrauch des Ausgangs (Relais) für einen Batteriesensor zu raschem Verbrauch führen.

Bei Fragen ... gerne Fragen!

Vielen Dank an die intensive und konstruktive Diskussion insbesonders über die XML-Datei an Jerome!

Ach ja, Sketch und XML sind angehängt.
cu Harvey
Dateianhänge
hwj-sensor6.xml.txt
(10.95 KiB) 54-mal heruntergeladen
Uni-Sensor6 .ino.txt
(25.84 KiB) 47-mal heruntergeladen
Homematic raspberrymatic, iobroker, Asksinpp und Arduinos - rund 50 Geräte

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: Vorstellung: HB-UNI-Sensor1 als Schwellwertschalter (HB-UNI-Sensor-Heizung)

Beitrag von TomMajor » 28.11.2019, 18:21

Hallo Harvey,
danke für deine Arbeit.

Ich kann mich wie gesagt momentan nicht intensiver damit befassen und bin auch zufrieden mit dem HB-UNI-Sensor-Heizung für meine Anwendung.

Aber die Idee finde ich gut und es gibt bestimmt Bedarf nach solchen Geräten bei anderen Leuten.

Hier auch nochmal der link zur Diskussion auf github, besonders potentielle HomeMatic AddOn/xml Entwickler finden da viele interessante Insider Informationen, Dank Jerome.
https://github.com/TomMajor/SmartHome/issues/29
Viele Grüße,
Tom

harvey
Beiträge: 136
Registriert: 01.12.2013, 13:19
Danksagung erhalten: 3 Mal

Re: Vorstellung: HB-UNI-Sensor1 als Schwellwertschalter (HB-UNI-Sensor-Heizung)

Beitrag von harvey » 07.12.2019, 12:27

Hallo, es ergaben sich noch kleine Änderungen

- Schwellwerte müssen signed sein, damit auch negative Temperaturen gehen
- kleine Anpassungen der Namen und Links

Schaut bitte in den Sketch und die XML und vergleicht mit dem alten Beispiel von mir bzw. den Originalen (Heizungssensor)

Schöne Weihnachtstage!
ciao
Harvey
Dateianhänge
Uni-Sensor6.ino.txt
(24.69 KiB) 52-mal heruntergeladen
hwj-sensor6.xml
(10.84 KiB) 47-mal heruntergeladen
Homematic raspberrymatic, iobroker, Asksinpp und Arduinos - rund 50 Geräte

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: Vorstellung: HB-UNI-Sensor1 als Schwellwertschalter (HB-UNI-Sensor-Heizung)

Beitrag von TomMajor » 14.06.2020, 17:46

Erweiterung 06/2020
  • Detektion einer Störung am Brenner, die Lampe meiner Buderus-Heizung blinkt dann und ist in diesem Fall natürlich nicht mehr für den einfachen An/Aus-Status geeignet.
  • Mit der Erweiterung in 06/2020 wird auch dieser Fall abgedeckt, der Datenpunkt STATE hat einen dritten Zustand Stoerung bekommen mit dem entsprechende Aktionen im WebUI getriggert werden können.
  • Im Rahmen dieser Änderung hat das Gerät eine eigene xml-Datei und ein eigenes DeviceModel bekommen, für den Betrieb des Gerätes muss mein HB-TM-Devices-AddOn installiert sein.
https://github.com/TomMajor/SmartHome/t ... ung-062020
Dateianhänge
HB-UNI-Sensor-Heizung_ccu1.png
HB-UNI-Sensor-Heizung_ccu1.png (5.51 KiB) 804 mal betrachtet
HB-UNI-Sensor-Heizung_ccu2.png
HB-UNI-Sensor-Heizung_ccu2.png (12.78 KiB) 804 mal betrachtet
Viele Grüße,
Tom

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“