Sie sind nicht angemeldet.

Werbung

Boote kaufen

Windstärken

Windstärkentabelle

Beiträge: 3

Wohnort: Erding

Schiffsname: AFRI

Bootstyp: NAB 38

Heimathafen: Lübeck

  • Nachricht senden

401

Samstag, 9. Februar 2019, 11:06

Moin Norbert,
ich hab mir das Projekt auf Gitlab schon mal angesehen - ich denke, die Theorie die Windrichtung anhand der Zeitverschiebung zwischen den Impulsen des Windrades und dem Auslösen des zweiten Hallsensors zu ermitteln, habe ich vom Prinzip her erfasst. Das ist wirklich ein clevere Idee. Die Mathematik dazu fehlt mir im Moment gerade noch - die steht vermutlich in der Patentschrift. (Ich gestehe, ich hab sie noch nicht gelesen...)

Um den ESP und seinen Code mit meinem Geber zu verheiraten, wäre sicher etwas Umprogrammierung nötig - aber das ESP-Modul, das du verwendest hat ja sogar einen ADC mit 10 bit Auflösung on board - damit ließe sich die Windrichtung ja theoretisch mit einer Genauigkeit von 360/1024 erfassen - weit mehr als nötig und sinnvoll, denke ich.

Ich habe einen Blick auf das Windsensor5.INO-File geworfen, aber die NMEA-Logik nicht gefunden. Du zählst die Impulse, ermittelst die Zeitverschiebung, d.h. den Winkel ermittelst die möglichen Werte und gibst die via serialprint () aus. Wie du daraus ein NMEA-Wort bildest und wie du das dann verbreitest, habe ich nicht entdeckt. Vermutlich steckt das in den diversen .bin-Files? Deren Quellcode habe ich aber nicht gesehen.

Ich bin in Sachen ESP8266 (und C++) noch ganz am Anfang. Ich kann zwar JS, PHP, CSS und HTML - habe aber schon 'ne Weile nichts mehr mit kompilierten Sprachen gemacht. Das wird mich aber nicht abhalten :-)

Und: sobald ich PNs schreiben darf, kriegst du eine von mir ...

VG aus München,
uli

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 481

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

402

Samstag, 9. Februar 2019, 15:03

@LordHelmchen:

Hallo Uli,

die Berechnung des Windwinkels ist eigentlich ganz einfach. Du misst nur die zeitliche Verschiebung des Windrichtungsimpulses im Verhältnis zum Windgeschwindigkeitsimpulses. In Zeile 93 des Windsensor5.INO-Files steht die Formel zur Berechnung der Windrichtung. Im Grunde genommen ist es eine einfache Verhältnisrechnung (winddirection = time2 / time1 * 360). Im INO-File ist die Aussendung der NMEA-Signale per WLAN nicht enthalten, um den Code übersichtlich zu halten. Ich werde den Original-Code noch veröffentlichen aber noch nicht zum jetzigen Zeitpunkt. Daher gibt es momentan nur die Binärdateien. Ich möchte nicht, dass das jemand wirtschaftlich verwertet ohne was dazu beigetragen zu haben. Dazu habe ich zu viel Zeit in die ganze Sache gesteckt. Der größte Aufwand steckt bis jetzt in der Software und liegt bei gut 160h Arbeit. Wie man die Signale Auswerten muss, sieht man aber ganz gut im INO-File. Alles andere kann man drum herum programmieren.

Der AD-Wandler im ESP8266 ist etwas buggy. Das WLAN-Modul verursacht Störsignale bei der Aussendung, die man im Analogsignal wiederfindet. Man muss dann spezielle Software-Filter implementieren, um den AD-Wandler halbwegs nutzen zu können. Ohne dem wirst Du keinen Erfolg damit haben. Ich meine die neueste Lib hat schon solch einen Filter mit eingebaut, wenn man den AD-Wandler ausliest. Wie gut der funktioniert habe ich noch nicht getestet. Ich habe mir einen eigenen Softwarefilter gebaut.

Die Programmierung des ESP8266 erfolgt größtenteils in C und ein wenig in C++. Wenn Du JavaScript kannst, dann sollte es kein großes Problem für Dich darstellen. Im Internet findet man Unmengen von hilfreichen Tipps für alle möglichen Problemstellungen. Da solltest Du schnell vorankommen. Wenn Du Dir sowas (Wemos D1 mini) hier kaufst, dann hast Du eine gute Basis für einen Anfang. Damit habe ich auch begonnen und meinen Prototypen mit gebaut.

Norbert

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 481

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

403

Donnerstag, 14. Februar 2019, 21:14

@all:

Kurzer Zwischenstatus: Michael und ich haben es endlich hinbekommen, dass die Firmware jetzt vernünftig läuft, so dass man sie einsetzen könnte. Wir testen zwar noch, aber alle wichtigen Funktionen sind gegeben. Von der Performance her ist das Webinterface doch nicht so leistungsfähig wie die Demo-Version, da die Messfunktionen doch recht viel Leistung benötigen. Es ist jetzt möglich, dass der Windsensor in OpenPlotter eingebucht ist und gleichzeitig 1...2 Web-Clients das Instrument im Webbrowser oder über die App anzeigen können. Wenn man bedenkt was der ESP8266 da alles leisten muss ist das schon recht beachtlich.

Am Wochenende werde ich eine Update-Anleitung für die Software schreiben, so dass ihr dann die Firmware aktualisieren könnt. Wir sind aber noch nicht ganz mit der Firmware fertig. Es sollen noch einige weiter Funktionen dazukommen (Windhistorie, Oszifunktion für Sensorsignale, verbesserte Updatefunktion). Im GitLab kann man alle neuen und alten Firmwareversionen finden und die Files runterladen. Dort gibt es auch eine Datei Changelog.md in der die Änderungen zu den jeweiligen Versionen beschrieben sind.

https://gitlab.com/norbertwalter67/Winds…er/Arduino-Code

Solltet ihr Fehler finden, was vermutlich nicht ausbleibt, so mailt sie bitte an folgende Service-Adresse:

incoming+norbertwalter67-windsensor-wifi-1000-7293133-f58zdukpq26g2jo1uxr6r5xyy-issue@incoming.gitlab.com

In GitLab findet ihr unter Issues eine Liste aller gelösten und noch offenen Fehler. Schaut erstmal dort nach, ob der Fehler nicht schon beschrieben ist, bevor ihr einen neuen Fehler meldet.

https://gitlab.com/norbertwalter67/Winds…iFi_1000/issues

So langsam wird der Windsensor fertig. Ich hoffe ihr könnt dann alle was mit anfangen. Ich bin schon ganz gespannt auf Eure Rückmeldungen.

Norbert

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »norbert-walter« (14. Februar 2019, 23:40)


Beiträge: 3

Wohnort: Erding

Schiffsname: AFRI

Bootstyp: NAB 38

Heimathafen: Lübeck

  • Nachricht senden

404

Sonntag, 17. Februar 2019, 14:17

Hallo alle,

ich habe mir den Arduino-Code auf gitlab angesehen und versucht zu verstehen, was er tut.
Dabei habe ich ein Verständnisproblem, bei dem ich nicht weiterkomme und bitte um einen Schubs in die richtige Richtung:

In Zeile 107 im Code wird die Berechnung der Windgeschwindigkeit in mps vorgenommmen. Das geschieht, indem die Strecke, die der Mittelpunkt einer Halbschale pro Sekunde zurücklegt, ermittelt wird (2 * PI * r) * Anzahl der Impulse pro Sekunde (windspeed_hz).
Soweit, so klar.
Was ich allerdings nicht verstehe: Berechnet wird hier ja die Bahngeschwindigkeit für den Mittelpunkt der Halbschale.
Dieser Wert hängt vom Radius ab (je größer der Radius, desto höher die Bahngeschwindigkeit bei gleicher Drehzahl).
Das würde bedeuten, dass die Windgeschwindigkeit von der Entfernung der Halbschalen von der Drehachse abhängt?
Oder anders gesagt: Je nachdem, wo ich die Halbschalen anbringe (weiter innen oder weiter außen) ist die Windgeschwindigkeit eine andere. Das kann ja nicht wirklich stimmen.

Lambda hat in meinem Modell keine Bedeutung, weil das ja eh eine Einheitenlose Konstante ist - ihr Anteil am Ergebnis ist also immer gleich.


Irgendwo bin ich falsch abgebogen, sehe aber gerade nicht, wo.
Vielleicht kann mir einer von euch weiterhelfen?

Danke und VG,
uli.

norbert-walter

Proviantmeister

  • »norbert-walter« ist der Autor dieses Themas

Beiträge: 481

Wohnort: Düsseldorf

Schiffsname: Cumulus

Bootstyp: Dehlya 22

Heimathafen: Lemmer (NL)

  • Nachricht senden

405

Sonntag, 17. Februar 2019, 16:26

Hallo Uli,

der Theorie nach ist der Windsensor ein Schalenanemometer und damit ein Widerstandsläufer:

https://de.wikipedia.org/wiki/Anemometer

Die Schnellaufzahl beschreibt das Verhalten eines Schalenanemometers:

https://de.wikipedia.org/wiki/Schnelllaufzahl

(Quelle Wikipedia)

Wenn Du die Formel nach v umstellst, dann kommt die Windgeschwindigkeit raus. In der Formel taucht auch der Radius r des Schalenrades und die Winkelgeschwindigkeit auf. Ein großer Radius verlangsamt die Winkelgeschwindigkeit. Lamda ist sowas wie ein Formfaktor für die Art des Schalenrades. Was ich am Ende messe ist die Winkelgeschwindigkeit (Winkel je Zeit) bei einer vollen Umderehung (360°). Dann bleibt nur noch die Zeit übrig und genau die messe ich dann. Ich hoffe das ist halbwegs verständlich rübergekommen. Wenn nicht, dann frag noch einmal.

Norbert

PS: Dein Verständnisproblem ist wohl der Zusammenhang zwischen Winkelgeschwindigkeit und Radius. Sie stehen beide in Beziehung. Das Produkt aus Omega und r an sich ändert sich nicht, wenn Du r veränderst, da sich die Winkelgeschwindigkeit mit verändert. Großes r ergibt kleine Winkelgeschwindigkeit und umgekehrt.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »norbert-walter« (17. Februar 2019, 16:37)


Zur Zeit ist neben Ihnen 1 Benutzer in diesem Thema unterwegs:

1 Besucher

Counter:

Gezählt seit: 4. Februar 2014, 08:39, nur eingeloggte Mitglieder
 Zugriffe:   Hits heute: 1 164   Hits gestern: 2 531   Hits Tagesrekord: 5 297   Hits gesamt: 4 314 899   Hits pro Tag: 2 340,97 
 Seitenaufrufe:   Klicks heute: 8 236   Klicks gestern: 18 711   Klicks Tagesrekord: 154 353   Klicks gesamt: 34 764 373   Klicks pro Tag: 18 860,74 

Kontrollzentrum

Helvetia