Ein Raspberry Pi zur Steuerung einer Wetterstation

Die Vorgehensweise habe ich zur besseren Übersicht in verschiedene Schritte eingeteilt.

Schritt 1: Planung und Aufbau der MySql/MariaDB

Für die von den verschiedenen Sensoren er mittelten Daten wird eine MySql/MariaDB entworfen und eingerichtet. Neben Datum/Uhrzeit brauchen wir also auch Felder für die Windgeschwindigkeit, die Windrichtung, die Regenmenge, die Luftfeuchtigkeit zweier Sensoren, den Luftdruck, die Temperatur von 4 Sensoren, den Lichtwert, den sich aus den Lichtwerten ergebenden Zeitpunkt von Sonnenaufgang und Sonnenuntergang, 

Schritt 2: Das Anemometer (Windfahne)

Windfahnen zeigen die Richtung an, aus der der Wind kommt, nicht wohin er geht. Dies kann am Anfang etwas verwirrend sein, da die Pfeile auf den meisten TV-Wetterkarten das Gegenteil zeigen. Eine Windfahne funktioniert, weil der Wind eine Kraft auf das vertikale Blatt ausübt, das sich dreht, um die Position mit dem geringsten Windwiderstand zu ermitteln. Diese Position ist auf die Richtung des entgegenkommenden Windes ausgerichtet

Wie  funktioniert diese Windfahne?

Wie der Regenmesser oder der Windmesser verfügt auch die hier verwendete Windfahne über Reedschalter und einen rotierenden Magneten. Sie ist jedoch komplexer und funktioniert ganz anders.
Wenn Du in das Gehäuse schaust siehst Du acht Reed-Schalter, die wie die Speichen eines Rads angeordnet sind.
Es gibt auch acht Widerstände in der Windfahne, und wenn sich der Magnet dreht, öffnen und schließen sich verschiedene Reedschalter und schalten so ihren entsprechenden Widerstand in den Stromkreis hinein und aus diesem heraus. Die Aufgabe der Widerstände ist es  dem Stromfluss zu widerstehen / ihn reduzieren, ohne ihn zu stoppen. Widerstände können unterschiedliche Widerstandswerte haben, die in Ohm Ω angegeben sind. diejenigen mit niedrigem Widerstand lassen fast den gesamten Strom durch, während diejenigen mit hohem Widerstand nur sehr wenig Strom durchlassen. Die gebräuchlichsten Anwendungen für Widerstände sind der Schutz von Bauteilen vor Beschädigung durch zu hohe Ströme oder die Aufteilung der Spannung auf verschiedene Teile eines Stromkreises. Jeder der acht Widerstände hat einen anderen Wert, den Du in Weiß daneben sehen solltest (z. B. siehst Du rechts 8,2 KB). Dies ermöglicht der Windfahne 16 mögliche Widerstandskombinationen, da der Magnet zwei benachbarte Reed-Schalter schließen kann, wenn er sich auf halber Strecke zwischen ihnen befindet.
Widerstand messen
Um die Windrichtung von der Schaufel abzulesen, mußt Du  in der Lage sein, den vom Sensor erzeugten Widerstand zu messen und in einen Winkelwert umzuwandeln. Dieser Prozess umfasst mehrere Schritte. Anstatt den Widerstandswert direkt zu messen, ist es tatsächlich viel einfacher, eine Spannung von der Windfahne aufzuzeichnen, die sich danach ändert, welche Kombination von Widerständen gerade in den Stromkreis geschaltet wird. Dies bedeutet, dass Du einen analogen Wert misst: Die Windfahne meldet kontinuierlich einen Spannungsbereich. Im Gegensatz dazu meldet das Anemometer einfach eine „HIGH“ - oder „LOW“ -Spannung - alles oder nichts, was bedeutet, dass es ein digitales Signal sendet.

Windrichtung1

Beispiel einer Windfahnen-Schnittstellenschaltung:

Windrichtung2


 Spannungswerte für eine 5-Volt-Versorgung und einen Widerstandswert von 10 kOhm sind in der Tabelle angegeben.

Windrichtung3
Windrichtung3

Schritt 3: Der Regenmesser (Kipplöffel)

Der Regenmesser ist ein selbstentleerender Kipplöffel. Alle 0,011 Zoll (0,2794 mm) Regen verursachen einen kurzzeitigen Kontaktschluss, der mit einem digitalen Zähler oder Mikrocontroller-Interrupt-Eingang aufgezeichnet werden kann. Der Schalter des Messgeräts wird mit den beiden Mittelleitern des beigefügten RJ11-Kabels verbunden.

Wie funktioniert es? 

Du kannst den Regenmesser und seine Funktionsweise untersuchen, indem Du den Einlauftrichter entfernst. Drück die Clips auf beiden Seiten vorsichtig zusammen. Der Deckel sollte dann abspringen. Dieser Regenmesser ist im Grunde ein selbstentleerender Kippbehälter. Regen wird gesammelt und in den Kipplöffel geleitet. Sobald genügend Regenwasser gesammelt wurde, kippt der Löffel um, das Wasser läuft aus dem Boden ab und der gegenüberliegende Löffel kommt in Position. Das Produktdatenblatt sagt uns, dass 0,2794 mm Regen den Löffel kippen lassen. Du kannst dies mit der Anzahl der Kippvorgänge multiplizieren, um die Niederschlagsmenge zu berechnen.  Normalerweise sind diese Messgeräte mit einem RJ11-Stecker ausgestattet, obwohl sie nur zwei Drähte verwenden: einen roten und einen grünen. Im Grat zwischen den beiden Löffeln sollte sich ein kleiner zylindrischer Magnet befinden, der zur Rückwand zeigt. In der Rückwand befindet sich ein Reed-Schalter. Die Oberseite der Rückwand löst sich, wenn man Details sehen möchten. Ziehe einfach vorsichtig am flachen Ende und es sollte sich lösen. Im Inneren befindet sich eine kleine Leiterplatte, die Du zur Untersuchung entfernen kannst. In der Mitte siehst Du dann  den Reed-Schalter. Bringe die Leiterplatte und den Rückwanddeckel wieder an, bevor Du fortfährst. Wenn einer der Kipplöffel kippt, passiert der Magnet den Reed-Schalter und schließt ihn kurz. Wenn Du also genau wie beim Windmesser den Regenmesser an einen GPIO-Pin am Raspberry Pi anschließt, kannst Du  ihn wie einen Schalter behandeln und die Anzahl der „Schaltungen“ zählen, um den Niederschlag zu berechnen.

Schritt 4: Die Windgeschwindigkeit

An zwei Punkten der Magnetdrehung hilft uns ein Stück Elektronik, das als Reed-Schalter bezeichnet wird . In dem Reed-Schalter befinden sich zwei Metallkontakte, die sich unter dem Einfluss eines Magneten berühren. Daher funktioniert dieser Schalter elektronisch genauso wie ein Knopf, der mit dem Raspberry Pi verbunden ist: Wenn sich das Anemometer dreht, passiert sein Magnet den Reed-Schalter, wodurch er für einen Moment einen geschlossenen Stromkreis bildet. Daher kannst Du anhand der Anzahl der Signale vom Reed-Schalter berechnen, wie schnell sich das Anemometer dreht. Immer wenn der Reed-Schalter ausgelöst wird, erzeugt er ein Signal, welches Du über einen GPIO-Pin einlesen kannst. Für jede volle Umdrehung des Windmessers erzeugt der Sensor zwei erkennbare Signale. Durch Zählen und Timing dieser Signale kannst Du die Windgeschwindigkeit berechnen.

Windböen

Wetterberichte und -vorhersagen geben normalerweise die Windgeschwindigkeit zusammen mit Windböeninformationen an. Eine Windböe ist eine kurze Erhöhung der Windgeschwindigkeit, die auftreten kann, wenn der Wind weht. Böen machen sich mit zunehmender Windgeschwindigkeit stärker bemerkbar. Dies liegt daran, dass die vom Wind ausgeübte Kraft mit zunehmender Windgeschwindigkeit schnell zunimmt. Böen treten normalerweise auf, weil sich die Luft nicht mit konstanter Geschwindigkeit über den Boden bewegen kann. Hindernisse wie Vegetation, Gebäude und Höhenunterschiede verursachen Oberflächenreibung, die den Wind an einigen Stellen stärker verlangsamt als an anderen. Luft, die näher am Boden liegt, leidet stärker unter diesem Phänomen als Luft, die höher liegt. Dies erzeugt eine turbulentere Windströmung entlang des Bodens, die zu Böen führt. Ein typischer Windstoß dauert weniger als 20 Sekunden.
Aber auch Windböen sollten berücksichtigt werden. Das schauen wir uns aber bei der Programmierung der Wetterstation hoch genauer an.

Schritt 5: Die Luftfeuchtigkeit

Die Luftfeuchtigkeit wird hier von zwei verschiedenen Sensoren ermittelt, wahrscheinlich werden daher auch bei gleichem Installationsort unterschiedliche Werte zu erkennen sein. Aber da hilft dann ja ein Mittelwert aus. Die Werte werden ja ohnehin in einer MySql/MariaDB gespeichert und können vorher  oder für eine Auswertung ja mit PHP entsprechend bearbeitet werden.

Zum Einsatz kommen für die Luftfeuchtigkeit zum Einen ein Sensor BME280 (er liefert aber auch Temperatur und Luftdruck) und zum Anderen ein DHT22 (liefert auch einen weiteren Temperaturwert). Der BME280 ist im "ausgedienten" Gehäuse der alten Wetterstation WS1080 untergebracht, der DHT22 in einer aus einer gelochten Kunststoffdose (Kaugummi), die an einem Träger am Installationsmast befestigt ist. Der bisherige aus 3 zusammengesteckten Edelstahl-Rohren bestehende Installationsmast wurde gegen ein 1 Meter langes Aluminiumrohr ausgetauscht.

Schritt 6: Die Temperaturen 

Für die Messung der Temperaturen dienen der BME280, der DHT22, ein DS18B20(Standard) und ein wasserdichter DS18B20, dieser wird im Boden unter der Wetterstation eingelassen. Auch hier werden natürlich unterschiedliche Werte ermittelt, die Berechnung von Mittelwerten dürfte sinnvoll werden (außer der Bodentemperatur, diese liegt ja nur einmal vor).  Der Standard-DS18B20 ist auch im "alten" WS1080-Gehäuse untergebracht.

Schritt 7: Die Lichtwerte

Für die Ermittlung der Lichtwerte kommen zwei verschiedene LDR zum Einsatz. Einer liefert in erster Linie nur die Daten zu Helligkeit/Dunkelheit, der weitere schaltet zudem noch ein Relais zur Stromversorgung von Außenleuchten.

Für die analog ermittelten Daten des DHT22 und der DS18B20-Sensoren sowie für die Sensoren zur Ermittlung der Lichtwerte (einer der Sensoren wird nicht primär für die Wetterstation, sondern auch für die Ansteuerung von Relais für Beleuchtungszwecke) wird ein Analog/Digitalwandler vom Typ MCP3800 verwendet.

Schritt 8: Der Gewitterwarner

Neben den eigentlichen Wetterdaten macht auch die Installation eines Gewitterwarners oder besser eines Sensors zur Erkennung von Blitzen in der Umgebung Sinn. Daher habe ich einen Raspberry Pi mit einem Sensor des Typs Blitzsensor Whadda WPSE343 ausgestattet. Die Daten werden in einer MySql-DB gespeichert und im Web abgebildet (oder auch nicht, wer mag schon Blitze?).

Vielleicht werde ich später auch noch einen CCS811 zum Testen installieren, in Innenräumen sind schon sinnvolle Werte mit einem anderen Raspberry ermittelt worden, ob der Sensor auch im Außenbereich sinnvolle Werte ermittelt, wird sich ja dann zeigen.

Schritt 9: Bodenfeuchtigkeit/Nässe

Zu guter Letzt noch eine weitere Information: Die Bodenfeuchtigkeit. Mit einem sogenannten "Moisture Sensor", der einfach in den Boden in der Nähe der Wetterstation eingelassen ist, soll der Feuchtigkeitswert regelmäßig ermittelt werden. Dann kann man ja entscheiden, ob der Regen ausgereicht hat oder der Garten bewässert werden muß.

Zurück





Commentum
Der Einfall, die Lüge, die Erdichtung
E-Mail
Infos