Windgeschwindigkeit für Jalousiesteuerung

Jalousien werden in der Regel bei der Überschreitung einer vorgegebenen Windstärke oder Windgeschwindigkeit automatisch nach oben gefahren. Dazu ist in der Regel ein Wind-Messgeber an eine Jalousie-Steuerung angeschlossen. Wir haben bei uns eine weitere Jalousie eingebaut, für die an der bauseitig vorhandenen Jaluosie-Steuerung kein Kanal mehr frei war. Die Steuerung dieser zusätzlichen Jalousie erfolgte über einen HomeMatic-Jalousiesteuerung.

Die Frage war nun, wie denn diese über HomeMatic eingebundene Jalousie bei Überschreitung einer bestimmten Windgeschwindigkeit automatisch hochfahren kann. Ein Windmessgeber war ja bereits vorhanden und an die ebenso bereits existierende Jalousiesteuerung angeschlossen; aber diese besagte nachträglich installierte Jalousie war eben nicht daran angeschlossen. Ich wollte keinen zweiten Wind-Messwertgeber installieren. Die Idee war daher, den Messwert des vorhandenen Wind-Messwertgebers auszulesen.

Der bauseitig vorhandene Warema-Messwertgeber Wind/Photo liefert ein Impuls-Signal mit (nach Anleitung) einer Freqzuenz von 2,1 Hz je m/s Windgeschwindigkeit. Erfasst werden Windgeschwindigkeiten zwischen 0,5 und 25 m/s. 25 m/s entsprechen einer Frequenz von 52,5 Hz oder knapp 20 ms. Für die Frequenzmessung habe ich wieder einmal einen ESP8266 verwendet. Da lediglich ein digitales Signal ausgewertet werden muss, reicht die einfacher Version des ESP8266, ein ESP-01, völlig aus. Der Warema-Messwertgeber arbeitet mit einem Schließer (vermutlich Reed-Kontakt). Dieser Schließer ist entsprechend der folgenden Schaltung am GPIO2 des ESP8266-ESP01 angeschossen:

Schaltung Wind-Messwerteber

 

Mit einem Oszilloskop gemessen sieht das Signal bei einer Windgeschwindigkeit von 4 m/s (angezeigt an der Warema-Steuerungen Minitronic dialog) so aus:

Signal Wind-Messwerteber

 

Die Zeitkonstante dieses Rechteck-Signals beträgt in diesem Beispiel 120 ms, die Frequenz damit 8,4 Hz, was der angezeigten Windgeschwindigkeit von 4 m/s entspricht. Das Signal ist 50 ms auf Masse (Schließer geschlossen) und 70 ms auf Plus (Schließer offen). Vor dem GPIO2 ist noch ein Tiefpassfilter (RC-Glied mit 10 kOhm und 1 µF) eingebaut. Die Motoren der anderen Jalousien hatten das Signal des Wind-Messwertgebers stark und hochfrequent gestört!

 

Aufbau ESP8266-ESP01

Den ersten Prototyp hatte ich mit einem OLED-Display aufgebaut. Auf dem Display wurden die wichtigsten Parameter dargestellt. Damit war auch ein Vergleich der aktuellen Messwerte mit dem danebenliegenden Warema-Display möglich. Auch der Tiefpassfilter (RC-Glied) war hier noch separat angeschlossen:

erster Prototyp ESP8266 ESP-01 Windgeschwindigkeit

 

Der zweite Prototyp besteht aus dem Spannungswandler AMS1117-3.3, dem ESP8266-ESP01 und dem Tiefpassfilter (RC-Glied) und sieht aktuell so aus:

erster Prototyp ESP8266 ESP-01 Windgeschwindigkeit

 

Programm für den ESP8266-ESP01

Ein Interrupt auf GPIO2 erfasst die Zeitkonstante des Rechtecksignals des Wind-Messwertgebers. Dazu wird die Zeit gemessen, bis zehn fallende Flanken erfasst wurden. Aus dieser Zeitkonstante wird die Frequenz berechnet; und durch 2,1 (siehe oben) geteilt dann die Windgeschwindigkeit in m/s berechnet. Aus einem gleitenden Mittelwert mit zehn Werten wird dann ein Mittelwert und ein Maximalwert abgeleitet. Außerdem wird die höchste Windgeschwindigkeit der letzten fünf Minuten erfasst. Wenn die Zeitmessung (der zehn fallenden Flanken) länger als zehn Sekunden dauert, dann ist die gemessene Zeikonstante größer eine Sekunde; und damit die Frequenz < 1 Hz und die Windgeschwindigkeit < 0,5 m/s. Dann wird als aktueller Wert 0 m/s in die Liste für den gleitenden Mittelwert eingetragen.

Aktuell sieht mein Code für den ESP8266-ESP01 so aus: