Windmesser / Anemometer - best practice?

OP #7839464
Lesenswert?

Ich bastele gerade an einem Windmesser mit einem Schalenanemometer vom Chinamann. Die Auswertung und die Datenübertragung per Bluetooth erfolgt mit einem nRF52840. Die Daten gehen letztlich zum ioBroker, sollen aber auch auf einem kleinen Display angezeigt werden. Das funktioniert auch grundsätzlich.

Meine Frage ist nun, gibt es da "best practices" in Bezug auf die Häufigkeit der Datenübermittlung, der Messzeit usw. Mein googeln nach Fertiggeräten hat in der Hinsicht wenig Aufschluss gegeben.

Einerseits möchte ich den Server nicht mit Daten zumüllen, andererseits möchte ich auch meine Neugier befriedigen und bei Böen schnell mal nachschauen können. Aktuell übertrage ich alle 6 Sekunden die Windgeschwindigkeit. Mein Anemometer gibt 20 Impulse pro Umdrehung. Daraus bestimme ich, über die 6 Sekunden, den Mittelwert der Impulslänge und somit die Windgeschwingikeit. Es ist ein reines Hobbyprojekt, muss also keine speziellen Anforderungen erfüllen.

OP #7839526
Lesenswert?

Rahul D. schrieb:

Wenn die Dauer zwischen zwei Impulsen einen Grenzwert unterschreitet, könntest du doch Messwerte außerhalb der regelmäßigen Übertragungen verschicken.

Ja. Im Moment habe ich schon das Gegenteil integriert. Der Wert 0 m/s wird nur noch alle 3 Minuten übertragen. Sozusagen als Lebenszeichen, daß das Teil noch funktioniert. Das häufigere Senden bei hohen Windgeschwindigkeiten kam mir auch schon in den Sinn.

Der Hintergrund meiner Frage war, mal zu schauen wie das die "Profis" machen. Einfach aus dem Gedanken heraus, ob meine 6 Sekunden Taktung nicht eh schon viel zu häufig sendet.

(Sicher kommt da auch ein wenig der "Spieltrieb" am neuen Gerät zum Tragen. Am Anfang schaut man vielleicht öfter nach, als nach einem halben Jahr.)

#7839529
Lesenswert?

Jürgen H. schrieb:

gibt es da "best practices"

Ja: schliesse das Ding über Kabel an, nicht Funk, dann musst du dir keine Gedanken um die Auswertung machen, das dem Wetter ausgesetzte Teil muss gar keine Elektronik enthalten die nach 2 Jahren wegen Kondenswasser und drastischen Temperaturwechseln sowieso kaputt ist und du ersparst der Umwelt viel Batteriemüll und dir selbst ständigen Batteriewechsel.

Theoretisch reicht die Datenerfassung in den Abständen in denen du sie speichern möchtest, z.B. täglich oder stündlich, Maximalböen kann man ja aggregieren. Aber wenn das Ding eine Aktion auslösen soll, z.B. Markise einfahren, dann muss es häufiger sein, oder bei Überschreitung der Grenzwerte. Deine 'Neugier' alle 6 Sekunden befriedigen zu wollen kann natürlich ein Grund sein, für den gibt es aber keine Festlegung. Der eine hat ADHS, der andere nicht.

#7839548
Lesenswert?

Detlef _. schrieb:

Aus der Zeitdifferenz zur letzten message errechnet der empfangende Controller die Windgeschwindigkeit.

Unnötige zusätzliche Fehlerquelle. Wenn ein Datenpaket verloren geht führt das zu völlig falschen Werten. Da im Sender sowieso Intelligenz steckt, kann er genausogut die mittlere Windgeschwindigkeit und die maximale Böengeschwindigkeit übermitteln, statt der Anzahl der Impulse.

#7839554
Lesenswert?

Udo S. schrieb:

Unnötige zusätzliche Fehlerquelle. Wenn ein Datenpaket verloren geht führt das zu völlig falschen Werten. Da im Sender sowieso Intelligenz steckt, kann er genausogut die mittlere Windgeschwindigkeit und die maximale Böengeschwindigkeit übermitteln, statt der Anzahl der Impulse.

Was auch das gesamte System robuster macht, da der Messteil komplett ausgetauscht werden könnte, ohne dass es den Empfänger tangieren muss. Der Empfänger benötigt keine Detailinfos des Messverfahrens.

#7839559
Lesenswert?

Udo S. schrieb:

Unnötige zusätzliche Fehlerquelle. Wenn ein Datenpaket verloren geht führt das zu völlig falschen Werten.

Deshalb werden die Datenpakete besser durchnummeriert, so dass der Empfänger erkennen kann, wenn eins nicht angekommen ist. Dann wird lediglich das Mittelungsintevall länger aber vor völlig falschen Werten ist man sicher.

Jürgen H. schrieb:

Einfach aus dem Gedanken heraus, ob meine 6 Sekunden Taktung nicht eh schon viel zu häufig sendet.

Es kommt drauf an, ob du Einzelwerte der Geschwindigkeit überträgst oder schon am Sensor Dinge wie Mittelwerte/Streuung/Windspitzen auswertest und dann nur regelmäßig oder bei nennenswerten Änderungen diese Kennwerte zur Basisstation schickst. Bei Böen kannst du Spitzenwerte zusätzlich sofort übertragen, um ggf. auf kurze Reaktionszeiten zu kommen.

OP #7839819
Lesenswert?

Danke an Alle, für die Meinungen!

Ich werde mich wohl in Richtung variable Sendefolge orientieren. Die Auswertung soll weiterhin am Anemometer stattfinden und Durchschnittswerte wie auch Spitzenwerte, wie oben erwähnt, versenden.

Zur Stromversorgung kann ich eine kleine Leitung verlegen. Wobei die Versorgung per Solarzelle einen gewissen Charme hat. Aktuell wird das Ganze zum Testen mit einer LiPo-Zelle versorgt. In 24h werden daraus etwa 220mAh entnommen.

#7841313
Lesenswert?

Hendrik L. schrieb:

Meine Wetterstation sendet ungefähr alle 30-60 Sekunden. Dabei wird zum einen die durchschnittliche Windgeschwindigkeit übertragen, und zusätzlich noch ein Wert für Böen ('gust'). Vermutlich ist dass dann einfach der Maximalwert seit der letzten Messung.

Für die 'Böe' gibt es es eine ausgefuchste Definition der WMO. Die hab ich auf die Schnelle nicht gefunden, aber mein chatkumpel kennt die auch.

Cheers Detlef

Wie definiert WMO Böen ChatGPT: Die Weltorganisation für Meteorologie (WMO) definiert eine Böe als einen kurzfristigen, plötzlichen Anstieg der Windgeschwindigkeit, der sich von der mittleren Windgeschwindigkeit unterscheidet.

Definition einer Böe laut WMO: Ein Windstoß oder eine Böe liegt vor, wenn die Windgeschwindigkeit innerhalb von 3 Sekunden einen deutlichen Spitzenwert erreicht und anschließend wieder abnimmt. Eine Böe wird in der Regel registriert, wenn die Windgeschwindigkeit um mindestens 10 Knoten (≈18,5 km/h) über den mittleren Wind steigt. Sie tritt typischerweise innerhalb eines kurzen Zeitraums auf (wenige Sekunden bis Minuten). Bedeutung und Messung Böen entstehen durch Turbulenzen, Konvektion, Gewitter oder orografische Einflüsse. Sie werden mit Anemometern gemessen und häufig in METAR-Wetterberichten als "G" (Gust) gekennzeichnet, z. B. "27015G25KT" (Wind aus 270° mit 15 Knoten Mittelwind und Böen bis 25 Knoten).

#7841472
Lesenswert?

Ich hab meine Windgeschwindigkeitserfassung gemäß dem hier gemacht:

https://www.umweltaerodynamik.de/bilder-originale/Zeichnungen/Informationsblatt%20zur%20Windgeschwindigkeit.pdf

Ein China-Anemometer mit ModBus-Ausgang (https://de.aliexpress.com/item/1005007142444730.html) liefert mir die Daten, die ich mit einem Atmega324P als Modbus-Slave so schnell wie möglich polle - müsste im SourceCode nachschauen, denke aber so alle 100ms...

Da ich "nur" auf 4m Höhe messe rechne ich mit dem Potenzgesetz nach Hellmann (https://de.wikipedia.org/wiki/Potenzgesetz_nach_Hellmann) näherungsweise auf 10m Höhe um.

Alle 10 Minuten wird mit gleitendem Mittelwert der "Mittelwind" ermittelt und das Maximum der letzten 10 Minuten als Böengeschwindigkeit ausgegeben.

Die aktuelle Windgeschwindigkeit übertrage ich aber auch noch - was zu 0-3 Werten pro Sekunde führt, mit MQTT aber kein Problem...

Stromversorgung und Datenübertragung alles über Kabel.

OP #7841778
Lesenswert?

Crazy Harry schrieb:

gibts doch sicher kein Datenblatt

Au contraire. Wenn Du dem obigen Link zu Aliexpress folgst, findet sich dort eine Übersicht der wichtigsten Angaben. Das Gleiche liegt dann auch nochmal mit im Paket.

In meinem Fall: 1 Umdrehung/Sekunde = 1,75 m/s Windgeschwindigkeit. Die Abtastung erfolgt intern mit einer Lichtschranke. Insgesamt war ich positiv überrascht von dem Teil.

#7841793
Lesenswert?

Nicht schlecht, Geiles Hobby!!

Auch für den Luftdruck sollte ein Sensor vorhanden sein. Wichtig ist das alle Deine Meßwerte dann in einer Datenbank landen, zum Bleistift SQLLITE.

Dann kannst Du nämlich mit selbstgeschriebenem oder gekauftem Proggy wettermäßig in die Vergangenheit zurückschauen und mit elektronischen Schätzverfahren ne Wettervorhersage machen.

Und Dein System kann dann der Landwirtschaft dienen, wie etwaa das System eines 17 Jährigen, der milbentragene Bienen beim "Betreten" ihres Stockes automatisch aussortiiert und damit den Imkern nen großen Dienst erweisen wird, wenn es dann vermarktet werden kann.

mfg

#7842843
Lesenswert?

Lotta  . schrieb:

Auch für den Luftdruck sollte ein Sensor vorhanden sein. Wichtig ist das alle Deine Meßwerte dann in einer Datenbank landen, zum Bleistift SQLLITE.

Hmhmhm... Sqlite (ja, ein "L")? Für Append-Only-Daten und Datenanalysen eher nicht so gut geeignet. Einerseits sind die klassischen Datenbanken wegen der ACID-Garantien nicht allzu schnell beim Schreiben einzelner Datensätze. Das Lesen von Spalten für Analyse und Visualisierung ist bei zeilenorientierten Speichermodellen eher schlecht. Erklärungen gibt es hier [1] und da [2].

Ich würde für solche Anwendungsfälle eher TimescaleDB [3] empfehlen, das zwar ein bisschen mehr Einarbeitung erfordert sowie natürlich eine Maschine, auf der man die Software betreiben kann, aber dafür die volle Leistungsfähigkeit der beliebten OpenSource-Datenbank PostgreSQL als Basis plus zusätzlich die Möglichkeiten der Erweiterung bietet.

[1] https://en.wikipedia.org/wiki/Data_orientation [2] https://www.tinybird.co/blog-posts/what-is-a-columnar-database [3] https://www.timescale.com/

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren