Windsensor Yachta

Abb: Windsensor Yachta

Der Windsensor Yachta ist eine Weiterentwicklung eines Windsensors vom User Yachta der bei Thingiverse vorgestellt wurde. Das technische Funktionsprinzip basiert auf einem Hallsensor für die Messung der Windgeschwindigkeit und auf einem magnetischen Rotationssensor zur Messung der Windrichtung. Udo aus dem Segeln-Forum hat die Idee aufgegriffen und einige Verbesserungen am Windsensor vorgenommen. Das Schalenrad des Windrades wurde in mehrere Teile zerlegt, so dass der 3D-Druck einfacher wird. Zusätzlich hat er die Elektronik überarbeitet. Dabei ist ein anderer magnetischer Rotationssensor ausgewählt worden, der einfacher zu beschaffen ist. Als Auswerte- und Kommunikationseinheit wird der bei Bastlern beliebte ESP-12E verwendet. Neben dem Yachta Windsensor hat Udo auch noch einen weiteren Windsensor neu konstruiert und einige Punkte im mechanischen Aufbau weiter verbessert. Die Zielsetzung bei Udos Konstruktionen war, dass sich die Windsensoren einfach nachbauen lassen ohne Spezialteile aus Metall zu benötigen. Alle nötigen Teile kann man als Hobbyist im Fachhandel und im Baumarkt beziehen.

Sowohl Udo als auch Jukolein haben eine Firmware für den Windsensor Yachta geschrieben die unterschiedliche Funktionalitäten aufweisen. Mit beider Firmware können die Messdaten als NMEA0183 Telegramme per WiFi übertragen und in entsprechender Software wie z.B. AVnav, OpenCPN verarbeitet werden. Bei der Firmware von Jukolein können die Messdaten auch auf einer Webseite angezeigt werden. Die Firmware von Norbert die für den Windsensor WiFi 1000 verwendet wird, kann auch für den Windsensor Yachta genutzt werden. Diese Firmware ist universell und unterstützt auch andere kommerzielle und nicht kommerzielle Windsensoren. Von der Funktionalität her bietet diese Firmware die größten Möglichkeiten und besitzt ebenfalls eine Weboberfläche zur Visualisierung und Bedienung.

Abb: Platine Windsensor Yachta

Abb: Eingebaute Platine

Die Platine von Udo wurde noch einmal von Norbert überarbeitet und in einigen Punkten verbessert. Die Platine kann unkompliziert über das Internet bei Aisler in kleinen Stückzahlen bezogen werden. Alle notwendigen Fertigungsdaten sind bei Aisler hinterlegt. Der Bestellvorgang ist denkbar einfach.

Dieser Windsensor verdeutlicht sehr anschaulich welche Möglichkeiten DIY-Projekte mit Open Software und Open Hardware bieten. Ohne die Offenheit wäre eine Weiterentwicklung und Verbesserung durch unterschiedliche Personen kaum möglich gewesen.

Eigenschaften Windsensor Yachta

  • Messung von Windspeed 0…75 kn und Windrichtung 0…360°
  • Winkelauflösung 0,1°
  • Robuste Mechanik (3 Kugellager)
  • Ohne Spezialteile aus Metall
  • Alle Bauteile findet man im Fachhandel und Baumarkt
  • Einfache 3D-Teile
  • Gewicht ca. 210g
  • Wetterfest und UV-stabil
  • Keine Kabel für Sensorsignale notwendig
  • Digitale Signalübertragung per WiFi
  • Versorgungsspannung 6…25V
  • Stromaufnahme 30mA @ 12V (0,36W)
  • 12V Versorgung  über Toplicht möglich
  • ESP8266 für WiFi und Datenübertragung
  • Aktualisierungsrate 1 Messwert pro Sekunde
  • Kein Einbauinstrument notwendig
  • Visualisierung in OpenPlotter auf einem  Laptop, Handy oder Tablett
  • Webinterface zur BedienungDie EXE-Datei kann ohne spezielle Installation direkt gestartet werden. Als erstes werden unter
    Advanced folgende Einstellungen vorgenommen.
  • Keine Extrasoftware notwendig (Display ist die Anzeige)
  • Unterstützt das NMEA 0183 Protokoll
  • Firmwareupdate via Internet möglich

Firmware Eigenschaften

Udo Firmware

  • Webkonfiguration für IP Einstellungen Port 80
  • UDP Port 2948
  • UDP NMEA0183 Telegramm MWV

Jukolein Firmware

  • Webkonfiguration und grafische Visualisierung
  • Webserver Port 80
  • UDP Port 8080
  • TCP Port 8080
  • UDP/TCP NMEA0183 TelegramM MWV
  • Firmwareupdate OTA via Arduino IDE

Wifi 1000 Firmware

  • Webkonfiguration und grafische Visualisierung
  • Webserver Port 80
  • TCP Port 6666
  • TCP NMEA0183 Telegramme MWV, VWR, VPW
  • TCP NMEA0183 kundenspezifische Telegramme INF, WST, WSE
  • JSON Schnittstelle über http://192.168.4.1/json
  • Firmwareupdate via Internet über GitLab
  • Android App

Nutzung

Der Windsensor Yachta kann gut in Kombination mit einem Raspberry Pi mit z.B. OpenPlotter oder AVnav benutzt werden. Der Raspberry Pi stellt dann einen Access Point im WiFi Netzwerk zur Verfügung. Der Windsensor verbindet sich mit dem WiFi Netzwerk und überträgt die NMEA0183 Datentelegramme zum Raspberry Pi. Alle Endgeräte verbinden sich ebenfalls mit dem WiFi Netzwerk und könne die Messdaten die von OpenPlotter oder AVnav aufbereitet wurden grafisch anzeigen.

Abb: Verbindungsmöglichkeiten

Eine direkte Kommunikation vom Handy mit dem Windsensor ist ebenfalls möglich, wenn keine Messdatenverarbeitungs-Software benutzt wird. In der Firmware des Windsensors ist ein kleiner Webserver implementiert der die Messdaten direkt anzeigen kann. Die Leistungsfähigkeit ist aber etwas geringer als bei einem Raspberry Pi. Es lassen sich sinnvoller Weise nur 2…3 Endgeräte gleichzeitig mit dem Windsensor verbinden und Daten anzeigen. Des weiteren gibt es auch eine Android-WebApp mit der sich die Messdaten anzeigen lassen. Die WebApp ist ein rahmenloser WebBrowser der die Inhalte der Webseiten anzeigt und gleichzeitig dafür sorgt, dass sich der Bildschirm des Handys nicht automatisch ausschaltet, solange die App läuft.

Nachbau

Für den Nachbau wurde ein Repository bei GitLab angelegt. Dort sind alle Fertigungsunterlagen zu finden. Die mechanische Zusammenbauanleitung besteht aus einer Bilderserie, die die einzelnen Schitte des Zusammebaus zeigen. Am einfachsten ist es, wenn man sich das komplette Repositors als Zip-Datei herunterläd. Die Platine kann mit Hilfe der Gerber-Daten bei einem beliebigen Platinenhersteller in Auftrag gegeben werden. Der einfachste Weg der Platinenbestellung geht über Aisler, da dort schon alle Gerber-Daten hinterlegt sind. Eine kleine Serie von bestückten und programmierten Platinen wurde aufgelegt. Bei Interesse können Sie hier eine Nachricht über das Kontaktformular hinterlassen.

Achtung: Wer die Platine selber bestückt, sollte darauf achten, dass die Ausgangsspannung des DC/DC-Wandlers vor dem Einlöten auf 3.3V eingestellt wird. Anderenfalls wird sonst der ESP-12E durch Überspannung zerstört.

Firmware Installation

Die Installation der Firmware auf dem ESP12-E kann vor dem Einlöten mit einem Programmieradapter oder auch auf der fertig bestückten Platine erfolgen.

Abb: ESP8266 Programmieradapter für externe Programmierung

Abb: Programmieradapter für Programmierung auf der Platine

Bei Verwendung eines Programmieradapters für die Programmierung auf der Platine ist darauf zu achten, dass die Signalpegel für TX und RX 3.3V TTL-Pegel unterstützen. 5.0V TTL-Pegel können nicht genutzt werden, da der ESP12-E damit beschädigt werden kann. Der Programmieradapter ist wie im Bild dargestellt anzuschließen. Man muss darauf achten, dass RX mit TX und TX mit RX verbunden sind. Anderenfalls kann man sonst keine Programmübertragung durchführen.

Abb: Programmierschaltung

Programmieranleitung

  1. Programmierschaltung zusammen bauen
  2. PRG und GND verbinden
  3. Programmieradapter USB mit Laptop oder PC verbinden
  4. 9V Batterieblock zuschalten
  5. Programmiersoftware NodeMCU Flasher auf Laptop oder PC starten und Firmware laden
  6. Programmiervorgang starten
  7. Bei erfolgreicher Programmierung USB trennen und 9V ausschalten
  8. PRG und GND trennen
  9. Programmierschaltung von Platine trennen
  10. 12V einschalten und Firmware über WiFi-Verbindung prüfen

NodeMCU Flasher

Als Programmiersoftware für den ESP12-E kann das einfach zu benutzende Windows Tool NodeMCU Flasher verwendet werden. Die EXE-Datei kann ohne spezielle Installation direkt gestartet werden. Das Tool kann sowohl für die externe als auch für die Programmierung in der Schaltung verwendet werden. Als erstes werden unter Advanced folgende Einstellungen vorgenommen.

Danach wird unter Config die aktuelle Firmwaredatei firmware_Vx.xx.wsb ausgewählt.

Zum Flashen geht man auf Operation und wählt die entsprechende Schnittstelle aus an der der Adapter angeschlossen ist. Danach drückt man auf Flash und wartet ab, bis die Firmware geladen ist.

Während des Flashens wird der Fortschritt der Übertragung angezeigt.

Wenn die Firmware erfolgreich geladen wurde ist folgender Bildschirm zu sehen.

Nach der Übertragung kann das Programmiertool geschlossen und der Adapter abgezogen werden.

Um die neue Firmware zu starten benötigt der Windsensor einen Reboot. Nach dem Neustart stellt  der Windsensor ein WiFi-Netzwerk mit dem Namen NoWa zur Vefügung in das man sich 30 s nach dem Neustart mit einem Handy und dem Passwort 12345678 einloggen kann. Die blaue LED geht dann 3x kurz aus, wenn der Webserver bereit ist.  Ruft man dann die Webseite des Windsensors mit der Android App auf (http://192.168.4.1), solle folgendes zu sehen sein. Werden unter WLAN Client SSID und WLAN Client Password Zugangsdaten von einen AccessPoint eingeben, so bucht sich der Windsensor in dieses WiFi Netzwerk ein. Die blaue LED verlischt dann als Hinweis für eine erfolgreiche Verbindung. Werden Messdaten über Port 6666 von einem Programm wie z.B. OpenCPN oder ähnlichen abgerufen, blinkt die blaue LED immer kurz auf, wenn ein Telegramm übertragen wird.

Als letztes muss in der Firmware noch der richtige Windsensor-Typ Yachta in der Konfiguration ausgewählt werden, damit die Daten korrekt angezeigt werden.

Abb: Device Settings für Yachta

Abb: Messwerte für Yachta