Measuring Wind Speed with Arduino & Selfmade Anemometer | Update (German)
HTML-код
- Опубликовано: 17 авг 2024
- Hello Friends!
I already made a video about this topic some years ago. After a lot of questions came up here, it's time to make an update on this topic again. In this video we build up again the complete circuit for the evaluation of an anemometer with the Arduino. I also explain how the wind speed calculations work and what the individual components do.
All information, the circuit diagram and the software can be found as always on the blog: www.aeq-web.co...
Tags: #anemometer #arduino #wind speed #aeqweb Наука
Hallo Alex, habe mir mal Gedanken um den Multiplikationsfaktor 2,4 und dessen Ursprung gemacht. Er ergibt sich aus dem Radius des Umfangs des Schaufelkreises. Bei mir ist der Radius 7,5 cm (0,075m). Somit ergibt sich eine Umfangsberechnung wie folgt 0,075 *2*3,14 = 0,471m. 1/0,471 = 2,123 Umdrehungen/Meter. Dies ist der exakte Faktor mit dem zum Schluss die Windgeschwindigkeit in km/h berechnet werden muss. Somit kann jeder, je nach Schaufelgröße seine genaue Windgeschwindigkeit ermitteln.
Ich habe mal eine Entprellung mit einem Monoflipflop gemacht aber deine Lösung ist natürlich einfacher und damit viel schneller umzusetzen
Gutes Video mit hervorragenden Informationen. Ich habe es mit einem Leserelais und einem Hall-Sensor getestet und festgestellt, dass es mit einem Hall-Sensor am besten funktioniert und die Daten stabil bleiben. Vielen Dank für die Weitergabe dieser Informationen.
Sehr gutes Video, schickes Design mit einfachen Erklärungen. Vielen Dank fürs Teilen.
Wirklich sehr verständlich erklärt, vielen Dank für deine Mühe.
Kleiner Tipp: Das Zählen der Impulse in einer "festen" Zeit ist suboptimal. Je nach Intervall kann es sein, dass man "gerade noch" einen Puls zählt, oder "knapp" einen pulse verpasst.
Das ergibt dann Fehler für 2 aufeinander folgende Messungen.
Besser ist es wie folgt: Man legt fest, dass man 10 pulse zählen will. Nun misst man die Zeit für genau 10 pulse, das ist im Millisekunden bereich keine rocket-science für micro controller.
die Rechnung ist weiterhin denkbar einfach: hat man für 10 Pulse 3654 ms gewartet ergibt das 2,73 pulse pro 1000 ms - also mit dem Faktor 2.4 dann 6,4km/h.
Auf diese weise ist man unabhängig vom Fehler der gezählten (oder nicht gezählten) halb / dreiviertel / 90% Umdrehungen.
Meine Implementierung geht sogar noch dahin, dass das "Zählziel" dynamisch ist. Ziel sind Messungen im Sekunden Takt. Ausgehend von obigem Beispiel würde mein System sich also nach der Berechnung adaptieren und sagen: "Jetzt zähle ich nur 3 Pulse, das ist dann wieder im Bereich von etwa 1000ms".
- Bei Flaute zählt es jeden Pulse mit 1000ms+
- Bei starkem Wind geht es hoch auf biszu 40 Zählungen pro 1000ms (96 km/h)
Danke für das Video. Genau, was bei 15:07 vorkommt wollte ich bei meinem Projekt vermeiden. Wie würde measure() aussehen, wenn ich mit Millis arbeiten würde?
void windmeasure()
{
wind_ct=0;
currentmillis=millis();
if (currentmillis-previousmillis>=0)
{
previousmillis=currentmillis;
attachInterrupt(1, countWind, RISING);
}
if(currentmillis-previousmillis>=5000)
{
detachInterrupt(1);
previousmillis=currentmillis;
}
windgeschw= (float)wind_ct/(float)messzeit*2.4;
}
Habe es aktuell so geändert.
Prima Anleitung, habe ich aufgebaut und es hat gleich funktioniert!
Klaus
Moin Alex, ich möchte dir noch mal danke sagen , hast mir per Mail geantwortet und sehr viel weiter geholfen .
Moin,
danke für die gute Anleitung.
Wenn ich es richtig gezählt habe sind es 2 Impulse pro Umdrehung.
Weil immer gesagt wird das es pro Umdrehung 1 Impulse ist.
Das ist mir beim Nachbau aufgefallen
Gruß Peer
Bis auf das "delay" ein tolles Video.
Sehr schön erklärt.
Nice video, very well explained and entertaining. Btw, I noticed a very nice looking oscilloscope on your bench. Maybe you can do a video/review on this ?
*⚠ Hinweis zur Berechnung ⚠*
Im Video wird der Zähler (InterruptCounter) direkt durch die Zeitspanne (RecordTime) geteilt. Da viele Anemometer (Ich schätze auch dieses im Video), allerdings zwei Signale pro Umdrehung ausgeben, müsste der Zähler also zuvor noch mit 2 dividiert werden.
Es gibt welche die 2 Pulse abgeben, ja. Tachosignale, wie man es von PC-Lüftern kennt, machen das zum Beispiel so. Mein Anemometer gibt nur einen Impuls pro Drehung. Im Zweifel einfach mit einem Multimeter nachmessen und gegebenenfalls so wie du es beschrieben hast, anpassen.
@@AEQWEB Dann passt die Berechnung in deinem Fall 👍. Ich konnte übrigends ohne Kondensator Windgeschwindigkeiten bis 141.6 km/h erreichen (mit Fön). Das ist beeindruckend!
Danke für dein Video es hat mir bei meinen Projekt enorm geholfen🤝
danke, sehr schön und ausführlich erklärt
kann man das mit shelly verbinden und jalousin damit steuern lasen?
*Vielen Dank* für das Video und den Code!
Reed-Kontakte sind schon nach rel. kurzer Zeit störanfällig, kleben gerne zusammen und fangen an zu prellen (wie Du auch erwähnt hast).
Ich würde da *Hall-Sensor/Gabelschranke* verwenden. Zur Speisung der Elektronik würde ich einen 1,2V Akku einbauen, der dann durch den Wind (nach)geladen wird. Oder, falls nicht per Funk, also drahtgebunden, per MC-Board speisen. Übrigends den Windmesser selber zu drucken finde ich eine gute Idee!
Gruss, Roger
Warum sollten sie das tun? Habe jetzt, nach knapp 10000km den Tacho vom Rad abgebaut und verwende den Reedkontakt problemlos am Arduino weiter. Wie oft der geschaltet hat lässt sich ja leicht rechnen. 2,2m Radumfang.
meSCHanisch hust.... :P
Hallo Alex,
gutes Video so weit :-)
Anbei mal konstruktive Kritik:
Schade, dass du kein Datenblatt mehr dazu hast, im Netz findet man leider auch nicht darüber.
Auf deinem Video ist mir aufgefallen, dass auf deinem Oszilloskop ZWEI positive Flanken entstehen bei einer Umdrehung.
Du erzählst aber was von einem Impuls pro 2,4km/h, das kann dann alles so nicht stimmen bzw. richtig sein.
Ich habe es mit meinem Oszi. überprüft und ich komme auch auf Zwei Impulse pro Umdrehung.
Folglich muss er zwei Magneten haben.
Gedanke:
Wenn man kein Datenblatt hat, dann könnte man sich ein Anemometer kaufen und dann den „Selbstbau“ drauf kalibrieren/nachmessen/abgleichen:
Bitte Prüfen.
Danke und einen lieben Gruß.
Alexander
❤️❤️❤️👏
Hallo Alex,
welchen Pin müsste ich bei einem CubeCell statt D3 verwenden?
Hallo Alex, tolles Video u.a. auch zu interrups.
Kann man eigentlich dieses Anemometer auch mittels CellCube Board mit LoRa Helium für eine Wetterstation nutzen? Kennst du vielleicht so einen Sketch und den zugehörigen Decoder für Ubidots? Würde gerne diesen Sensor in meine Helium-Wetterstation integrieren.
Viele Grüße Ulli
Wie heißen die beiden Anschlüsse beim Anemometer? Ground und Data? oder Ground und Vcc oder wie. Also die korrekte Bezeichnung?
Ich habe ein opitsch identischer Anemometer. Allerdings kann ich bei einer Umdrehung 2 Impulse hören. Jetzt ist die frage: Ist das bei Ihrem Anemometer identisch oder muss ich das entsprechend umrechnen?
Hallo Alex, wo bekomme ich ein entsprechendes Programm und einen Decoder her, um mit einem CubeCell die Messwerte des Anemometers an TTN zu schicken und mit ThingSpeak zu visualisieren? Hast Du oder Deine Kollegen da vielleicht eine Möglichkeit?
Viele Grüße Ulli
PS.: Ich habe mir nun auch LoRIS-Module (GPS, Base, ButtonCell und Temp-Hum1) zugelegt. Deine Videos haben mich neugierig gemacht.
Do you have a English translation video
Aber eine frage ?
Wie kann ich data von arduino mit HC05 zu handy schicken?
Ich möchte deise wind sensor im Garte fixiren!!
Ich brauche deine hilfe??
Sehr gut erklärt, Alex ! Deswegen mag ich auch z.B. keine billigen Drehencoder vom Chinamann, sondern verwende magnetische oder Optokoppler- Encoder. Sind teurer aber die halten wesentlich länger. P.S: Gabs nicht von Elektor mal einen Windmesser nur mit Thermofühlern ? Der wäre noch verschleißfreundlicher.
Gruß, Andreas
Das weiß ich nicht, aber wenn es wirklich verschleißfrei sein sollte, dann wäre ein Ultraschall-Anemometer die beste Wahl. Die sind allerdings aber sehr teuer.
Wissen Sie wenn man kann ein „impeller” anemometer wie die Kestrel Computer finden?
Schönes Projekt. Gibt es hierzu auch ein alternatives günstiges Angebot für den Anemometer, da es das verlinkte Angebot nicht mehr gibt?
Gruß, Domenico
Hallo Alex köntest du bitte noch erklären wie du aus den delay millis machst
Hallo und Danke für das Video.Ich hab mir bei Amazone so ein Anemometer gekauft. Kann ich den Aufbau auch an einem Raspberry 4 anwenden und funktioniert das Script auch auf dem Raspi oder gibt es da etwas anderes? ich Habe vom Arduino keine Ahnung. Hättest du da ein Script für den RPI 4? ich bedanke mich schon mal.
Wäre es nicht einfacher einfach einen bestimmten Wert pro Puls zu multiplizieren?
Also wenn man sich einen 60s Zeitraum anschaut, wären es dann nicht 2.4km/h
/60s=0.04
Also könnte man dann nicht jeden Puls um 0.04 multiplizieren?
Habe aktuell in esphome das stehen:
```yaml
sensor:
- platform: pulse_counter
pin:
number: GPIO35
# mode: INPUT_PULLUP
unit_of_measurement: 'km/h'
name: "${friendly_name} wind speed"
icon: 'mdi:weather-windy'
count_mode:
rising_edge: DISABLE
falling_edge: INCREMENT
internal_filter: 13us
update_interval: 60s
accuracy_decimals: 2
filters:
- multiply: 0.04
- sliding_window_moving_average:
window_size: 2
send_every: 1
```
Irgendwie kommen aber komplett falsche Werte raus...
wie kann ich das umprogramiren das es den höchst wert anzeigt ?
was sollte so ein fertiges Anemometer Aktuell kosten?
Bei "den Wilden Weiber" habe ich Preise von 17€ - 70 € gefunden, für augenscheinlich das selbe teil.
der Materialwert dürfte ja bei ca. >5 € liegen
Ja ja ERST das Video bis zum Ende Gucken..... dann Schreiben....
Alles unter 25€ sollte seinen dienst tun.
auch in der Beschreibungen steht:
*Dieser Anemometer wurde entwickelt, um das Anemometer der N25FR-Station zu ersetzen. Auch passend für Stationen Typ WH1080. Es verfügt über einen RJ11-Anschluss zum Anschluss an das Wireless-Modul der Station Der Windgeschwindigkeitsmesser misst die Windgeschwindigkeit und schließt einen Kontakt mit einem Magneten durch einen Sensor. Eine Windgeschwindigkeit von 2,4 km/h sorgt dafür, dass der Schalter einmal pro Sekunde geschlossen wird. Auch geeignet für den Anschluss an einen Arduino-Mikrocontroller oder ähnliches. Benötigt 5 V Stromversorgung und einen Anschluss an einen digitalen Pin. Dazu müssen die Kabel zum RJ11-Stecker verwendet werden. VCC, GND und Digitales Signal*
Fehlt nur noch was auf welcher Farbe liegt.... Rot -> VCC & Schwarz -> GND wäre logich, aber i.wie nicht der Standard
10€ wäre meiner meinung nach ein fairer Preis. Aktuell bekommt man die bei Amazon zwischen 15-25€, geht auch noch. Aber ab 25€ sind sie definitiv überteuert
@@AEQWEB Hi, ich such schon die ganze Zeit nach einem entsprechenden Radl aber find keines. Hast evtl. noch einen Tipp für mich. Vielen Dank. Grüße und tolle Videos!
und woher bekommt man das?
Anemometer: Ginge das auch mit einer beweglichen Windklappe und Winkelmessung? Dann könnte man Strömungen messen...
Hallsensor ist besser. Der Kontakt hat eine schlechte Eigenschaft.