Sail Instrument Plugin für AVnav

Die Idee dieses AVnav-Plugins ist es, ein Instrument anzuzeigen, das alle grundlegenden Informationen enthält, die zum Segeln benötigt werden. Mit der Möglichkeit dieses Display direkt auf der Karte an der Bootsposition einzublenden hat der Segler alle Informationen im Blick. Die Laylines informieren Sie über die schnellste Peilung zu einem Wegpunkt gegen den Wind, und wenn sie auf der Karte angezeigt werden, können Sie diesen Linien folgen.

Wer wissen will was Laylines sind, kann hier einige Infos dazu finden:

https://www.blauwasser.de/navigation/app-sailsteer-bandg

https://www.bandg.com/de-de/blog/sailsteer-with-mark-chisnell/

Abb: Sail Instrument Plugin für AV nav

Die Inspiration zum Instrument basiert auf dem B&Gs Sailsteer Instrument. Zum Sail Instrument gibt es bei GitHub ein Projekt wo man alle wichtigen Informationen zum Plugin finden kann.

https://github.com/kdschmidt1/Sail_Instrument

 

 

Ankerlicht-Automatik mit Shelly 1

Abb. Shelly 1

Wer ankert ist verpflichtet ein Ankerlicht zu setzen, damit man bei Dunkelheit auf freier Wasserfläche erkannt wird. Typischer Weise schaltet man das Licht manuell bei Dämmerung ein und bei Sonnenaufgang wieder aus. Beim Einschalten hat man kein Problem. Oft vergisst man aber das Ausschalten und das Ankerlicht ist dann dauerhaft an und verbraucht unnötig Strom.

Mit einem Shelly 1 kann eine Ankerlicht-Automatik gebaut werden, die das Ankerlicht selbstständig ein- und ausschalten kann. Dazu bezieht der Shelly die Uhrzeit aus dem Internet und errechnet sich die Sonnenauf- und Untergangszeit und schaltet entsprechend das Ankerlicht. Damit das funktioniert müssen folgende Bedingungen erfüllt sein:

  • Shelly V1 oder V3 mit original Firmware
  • Dauerhafte WiFi-Verbindung zum Internet über Hafen-WLAN oder mobilem Internet-Router zum Holen der aktuellen Uhrzeit
  • Dauerhafte Stromversorgung des Shelly 1 mit 12V (0,08W StandBy Relay aus, 0,2W Relais ein)
  • Verbindung des Schaltkontaktes vom Shelly mit dem Schalter für das Ankerlicht (Parallelschaltung)

Das Projekt richtet sich an Laien mit wenig Erfahrung. Der Shelly muss dazu nicht modifiziert oder umgebaut werden. Er wird so benutzt wie man ihn gekauft hat und die Hauptarbeit besteht darin, den Shelly zu konfigurieren und mit der Bootselektrik zu verbinden. In der bestehende Elektrik werden keine großen Umbauten vorgenommen  und ein vorhandener Schalter für das Ankerlicht kann weiterhin wie bisher benutzt werden. Die hier vorgestellte Anleitung funktioniert nur für den Shelly 1 V1 und V3. Der Shelly 1 V2 kann nicht genutzt werden, da der Schaltkontakt nicht potenzialfrei ist.

Grundsätzlich lässt sich der Shelly in zwei Betriebsarten nutzen. Einmal mit Cloud-Anbindung und einmal ohne Cloud-Anbindung. Für unser Projekt ist eine Cloud-Anbindung nicht notwendig und die Ankerlicht-Automatik funktioniert auch ohne dem. Wer das Ankerlicht von zu Hause aus über das Internet kontrollieren oder schalten möchte, kann auch gerne die Cloud benutzen. Wer Spaß daran hat, kann den Shelly1 auch über die Cloud mit Amazon Alexa oder Google Home mit Sprachbefehlen steuern. Die nachfolgende Beschreibung zeigt, wie man den Shelly für die Ankerlicht-Automatik herrichten muss.

Shelly auf 12V Versorgung einstellen

Bei Auslieferung ist der Spannungs-Selktor auf 230V AC eingestellt. Wir müssen den Jumper entsprechend zum Bild auf die Position für 12V setzen und den Shelly über N und L mit 12V versorgen. Aber aufgepasst! N ist nicht gleich Ground sondern 12V, wogenen L Ground ist. Im Mittel verbraucht der Shelly bei nicht angezogenem Relais nur 0,08W. Das funktioniert aber nur, wenn die aktuellste Firmware V1.11.8 oder neuer installiert und der Eco-Mode aktiviert ist.

Abb: Bedeutung der Stiftleisten

 

Abb: Belegung der Versorgungsspannungen für 12V

 

Shelly 1 ins eigene Netzwerk bringen

Wie das im Einzelnen geht, wird in der ShellyDokumentation ausreichend gut beschrieben. Eine statische IP-Adresse muss nicht vergeben werden. Das Feld kann deaktiviert bleiben. Wenn ein brauchbares Hafen-WLAN verfügbar ist, kann man dessen Login-Daten benutzen. Um die Ankerlichtautomatik auch ortsunabhängig nutzen zu können, empfiehlt sich die Anbindung ans Internet über einen mobilen UMTS- oder LTE-Router. Alternativ kann auch ein ausgedientes Handy im Hotspot-Mode genutzt werden.

 

Abb: Startseite

Abb: Internet & Security Seite

Achtung! Bei der Eingabe der Netzwerkparameter muss man umsichtig vorgehen. Hat man die WiFi SSID oder das Passwort falsch eingegeben, so sperr man sich aus und hat keine Möglichkeit mehr sich mit dem Shelly zu verbinden. Ein Hard-Reset auf Werkseinstellungen geht nur über eine umständliche Prozedur. Dazu muss  man die Stromversorgung ausschalten und wieder einschalten und dann innerhalb einer Minute 5 x den Schalter am Eingang SW betätigen. Das richtige Timing ist aber Glückssache und benötigt mehrere Versuche bis man erfolgreich ist. Im schlimmsten Fall lässt sich der Shelly nicht mehr aktivieren und man muss die Firmware neu flashen. Wie das geht ist in dieser Flash-Anleitung beschrieben.

Nachdem der Shelly im Netzwerk mit Internetzugang ist, sollte man die Firmware aktualisieren, da der Shelly schon länger auf dem Markt ist und noch einige Modelle mit alter Firmware angeboten werden. Die neueste Firmware bietet einige Funktionalitäten mehr und ist um Fehler bereinigt. Das Firmware-Update kann man unter Settings -> Firmware Update vornehmen.

Abb: Firmware-update

Quelle der Systemzeit einstellen

Die Uhrzeit wird standardmäßig automatisch aus dem Internet geholt und die richtige Zeitzone eingestellt, sofern eine Internetverbindung besteht. Oben rechts auf der Startseite kann überprüft werden, ob sie Systemzeit korrekt gesetzt ist. Sollte das nicht der Fall sein, so kann man unter Settings -> Time Zone and Geo-Location die nötigen Einstellungen vornehmen.

Abb. Quelle der Systemzeit einstellen

Der Shelly benötigt nicht dauerhaft eine Internetverbindung, um die Uhrzeit zu aktualisieren. Es reicht aus, einmalig nach dem Start die Systemzeit aus dem Internet zu holen. Ein Hafen-WLAN ist dazu völlig ausreichend. Die Uhrzeit läuft auch ohne Internet im Shelly weiter. Man sollte aber darauf achten den Shelly nicht ohne Internetverbindung abzuschalten, da sonst beim Neustart die Uhrzeit nicht geholt werden kann und damit die Schaltfunktion nicht mehr korrekt ausgeführt werden kann.

Schaltfunktion einstellen

Über die Konfigurationsseite Wekely schedule kann die Schaltfunktion für das Ankerlicht eingestellt werden. Dazu werden jeweils für das Ein- und Ausschalten ein euer Timer hinzugefügt und feste Zeiten gesetzt oder man kann auch als Quelle die Sonnenaufgangs- und Untergangszeit verwenden. das ist sehr praktisch, da sich so automatisch die Schaltzeitpunkte an den tatsächlichen Sonnenstand anpassen. Wer möchte kann die Schaltzeitpunkte noch mit einem Offset individuell verändern.

Abb: Schaltfunktionen für Sonnenuntergang und Sonnenaufgang einstellen

Abb: Einstellungen für Sonnenuntergang

Abb: Einstellung für Sonnenaufgang

Schaltung Ankerlicht-Automatik

Je nach Art des Internetzugangs für den Shelly muss man die Stromversorgung des Shelly entweder direkt mit dem Hauptschalter verbinden oder kann eine Gruppenschalter an der Schalttafel benutzen wie z.B. den Schalter Kühlschrank. Der potenzialfreie Schaltkontakt vom Shelly wird an der Schalttafel parallel zum Schalter für das Ankerlicht geschaltet. So kann man entweder über den Shelly das Ankerlicht schalten oder direkt über den Schalter an der Schalttafel, wobei der Schalter der Schalttafel immer Vorrang hat und den Schaltzustand des Shelly übersteuern kann. Ein Problem besteht allerdings, wenn der Shelly das Ankerlicht eingeschaltet hat, kann man es mit dem Schalter der Schalttafel nicht ausschalten. Entweder man macht dann den Shelly stromlos oder deaktiviert die Schaltzustände im Shelly.

Abb: Schaltung Ankerlicht-Automatik

Weiterführende Informationen

Auf ähnliche Art lasen sich noch einige andere Funktionen an Bord automatisieren wie z.B. eine Heizung, Lüftung, Batterieladung oder Bilgenentwässerung. Wer die Cloud-Anbindung aktiviert hat, kann dann noch zusätzlich alle Funktionen remote über das Internet steuern und sich ggf. per Mail informieren lassen. Für den Shelly 1 findet man bei Thingiverse 3D-Druckvorlagen für einen Hutschienenhalter. So kann die Installation fachgerecht in einer Unterinstallation erfolgen.

Abb: Hutschienenhalter für Shelly 1 mit Temperatur Addon Modul

Hier noch einige Weiterführende Informationen zu Shelly:

 

 

Lilygo T-Watch 2020 mit Anbindung an SignalK

Abb. Lilygo T-Watch 2020 (Lilygo)

 

Jan Dytrych hat ein Softwareprojekt gestartet, um mit einer Smart Watch Daten von SignalK anzeigen zu können und Alarme zu empfangen. Als Smart Watch wird nicht irgend eine gängige Uhr unter Android benutzt. Er verwendet die Smart Watch Liligo T-Watch 2020. Die Besonderheit dieser Uhr ist, dass sie einen ESP32 als Prozessor verbaut hat und  über die Arduino IDE bzw. PlatformIO programmiert werden kann. Der Hersteller Liligo unterstützt die Uhr mit einigen Bibliotheken, die die Programmierung wesentlich vereinfachen.

Die Liligo T-Watch 2020 verfügt über folgende Komponenten:

Abb. Hardware Lilygo T-Watch 2020 (Lilygo)

  • CPU: ESP32, Dual-Core-MCU, 240 MHz
  • FLASH: QSPI-Flash 16MB
  • SRAM: 520 KB SRAM / PSRAM 8MB
  • WiFi 802.11bgn 2.4 GHz
  • Bluetooth 4.2 BR/EDR, BLE
  • Display: 1,54 Zoll farbiger TFT, kapazitiver Touchscreen, 240 x 240 Pixel
  • 3-Achsen-Beschleunigungssensor BMA423
  • RTC-Uhr: PCF8563
  • IR-Empfänger
  • Lautsprecher
  • Taste: Power-Taste
  • USB zu TTL: CP2104 (Micro USB)
  • Lithium Akku 380 mAh, 3.7 V, wechselbar Typ: YX-W9A
  • Betriebstemperaturbereich: -40 ~ +85 Grad
  • Metallgehäuse
  • Wasserdichtheit keine
  • Silikonarmband 270 mm
  • Gewicht: 58,5g

Zur T-Watch 2020 wird ein USB-Kabel mitgeliefert über das die Uhr aufgeladen und Programme übertragen werden können. Die Uhr hat ein Aluminium Metallgehäuse und das Design orientiert sich an der Apple I-Watch. Mit dem nicht austauschbaren Silikonarmband lässt sich die Uhr bequem tragen. Einziger Schwachpunkt, die Uhr ist nicht wasserdicht.

Eigenschaften der Firmware

Die Firmware zur Uhr wird bei GitHub gehostet und hat folgende Merkmale:

  • Hauptbildschirm Uhrfunktion mit Statuszeile
  • Einrichtungsbildschirm für Datum, Uhrzeit, Weckzeit, WiFi, SignalK
  • Benutzerdefinierte Bildschirme für Werte aus SignalK
  • SignalK Events wecken die Uhr und zeigen Meldungen an
  • Sleep-Mode mit Display Off für langen Betrieb bis zu 24h
  • Aufwecken der Anzeige mit tippen oder drehen des Handgelenks
  • Tag/Nacht Modus über Doppeltipp
  • Sprachanpassung über Quellcode
  • Schrittzähler

Abb. Startbildschirm, Warnmeldung und SignalK-Werte

Einstellungen und Konfiguration

Die grundlegenden Einstellungen können an der Uhr über das Display vorgenommen werden. Zur Gestaltung der benutzerdefinierten Bildinhalte für SignalK Werte gibt es das Programm TWatchSKDesigner für Linux, Mac und Windows. Damit können recht komfortabel neue Anzeigeseiten für SignalK erstellt und über eine USB-Verbindung zur Uhr übertragen werden. Der Konfigurator erlaubt verschiedenste Darstellungen und Farbauswahl für die anzuzeigenden Werte.

Abb. TKWatchDesigner mit Ergebnis

Fazit

Jan Dytriych hat mit seinem Open Source Software-Projekt eine coole Anwendung entwickelt, mit der es möglich ist Daten von SignalK am Handeglenk einsehen und überwachen zu können. Besonders die Alarmmeldungen sind eine nützliche Funktion, um sich über Grenzwertüberschreitungen informieren zu lassen. Bei Github ist das Projekt sehr gut dokumentiert und Interessierte sollten alle nötigen Informationen finden. Lilygo hat mit der T-Watch 2020 eine interessante Hardware für kleines Geld zur Verfügung gestellt, mit der sich eine Vielzahl an Projekten umsetzen lassen. Die Verwendung der beliebten CPU ESP32 vereinfacht für Maker die Software-Entwicklung, da in vertrauten Umgebungen mit bekannten Wissen entwickelt werden kann. Einziger Nachteil der T-Watch 2020 ist, dass sie nicht wasserdicht ist. Ob das ein KO-Kriterium ist, muss sich im Praxiseinsatz auf dem Boot noch zeigen. Bleibt zu hoffen, dass Liligo in Zukunft auch eine wasserdichte T-Watch rausbringt.

Links

Projekt-Homepage: https://github.com/JohnySeven/TWatchSK

TWatchSKDesigner: https://github.com/JohnySeven/TWatchSKDesigner#twatchskdesigner

Lillygo T-Watch 2020: http://www.lilygo.cn/prod_view.aspx?TypeId=50053&Id=1380&FId=t3:50053:3

Bilder

Abb. Lilygo T-Watch 2020 (Lilygo)

Abb. Geöffneter Deckel, rechts Lithium Batterie

Magnetix – ein digitaler Kompass mit NMEA2000

Warum

Ich fand die Idee schon immer spannend, dass auf meinem Plotter nicht nur dann der Kurs angezeigt wird wenn sich das Boot in Bewegung setzt, sondern auch, wenn es ruhig vor sich hindümpelt.

Nach der Suche im I-Net bei unterschiedlichen Herstellern war schnell klar, dass ich bei aktuellen Preisen vielleicht doch keinen E-Kompass an Bord brauche. Durch die Corona-Einschränkungen und dem mehr an Freizeit, die zu Hause verbracht wurde, kam die Idee auf, den Kompass selber zu bauen.

Der Bau des elektronischen Kompasses mit einem Ausgang in das NMEA2000 Netzwerk wurde inspiriert durch einen Beitrag von Andreas in dem “segeln-forum.de” Forum.
Durch viele Tipps in unterschiedlichen Foren ist es geglückt. Der Kompass ist fertig, aber noch (Stand:2022.01) nicht auf dem Boot getestet.

Beschreibung

Magnetix ist ein elektronischer Kompass, der seine Daten auf den MNEA2k-Bus überträgt. Als Basis dient ein CMPS14 als Sensor, ein ESP32 als Rechenknecht, ein Waveshare SN65HVD230 (nicht vergesse den Widerstand herauszubrechen) als Bindeglied zum Bus und ein LM2596 als Spannungswandler. Für die Anzeige im Gehäuse wird ein 0.91 Zoll OLED mit 132×32 Pixel verwendet.

Das Gehäuse für die Elektronik ist ein Bocube von „www.bopla.de“. Für den Sensor wurde sowohl die Halterung als auch das Gehäuse 3d-gedruckt. Die Halterungen für das OLED und die Touchsensoren (VA Schrauben) sind ebenfalls mit einem 3-Drucker erstellt worden.

Die Verbindung zwischen dem Kompass-Sensor und dem ESP erfolgt über ein KAT5 Netzwerkkabel, bei dem immer zwei Kabel zu einem Paar verbunden wurden. Obwohl das Protokoll zwischen dem CMPS und dem ESP ein Kurzstreckenprotokoll (I2C) ist, habe ich bei einer Kabellänge von ~70cm keine Probleme

Die Stromversorgung erfolgt über den NMEA – Bus und beträgt ~1LEN. Als Verbindung zum Netzwerk wird ein Einbaustecker der Firma Techno-Spark verwendet.

Der ESP bekommt die Daten über den I2C – Bus, wandelt das Ganze in einen NMEA2K Datensatz (127250) um und schickt es an das Netzwerk.

Der Kompass identifiziert sich am Bus als „Magnetix Alpha“ und kann auch unter diesem Namen in den Quellen des Netzwerks gefunden werden.

Variablen im Code

Kompletter Quellcode https://open-boat-projects.org/wp-content/uploads/2022/01/compass_NMEA2k_V05_01.zip
https://open-boat-projects.org/wp-content/uploads/2022/07/compass_NMEA2k_V05_02.zip
devitation []
ist ein Array mit 36 möglichen Einträgen. Darin kann eine Deviationstabelle hinterlegt werden, die bei den jeweiligen Kursen automatisch den ausgegebenen Kurs korrigiert.
CorrectionMountingAngle
Damit kann eine – horizontale – Korrektur für eine Abweichung der Kompasslinie zur Bootsachse eingestellt werden.

[-] Werte für eine Korrektur nach Backbord

[+] Werte für eine Korrektur nach Steuerbord

Bedienung

Die Bedienung beschränkt sich auf die zwei Touchflächen(Schrauben):

Touchfläche Funktion
1 Autokalibrierung an / aus
2 Autokalibrierung aus Durchgeführte Kalibrierung speichern
1 & 2 neue Kalibrierung anstoßen

Display

Das Display ist in drei Bereiche gegliedert:

Links (in 90° gedrehter Schrift)
Aktuelle Funktion des Sensors
„Calib“ der Sensor befindet sich gerade in der Kalibrierung, die durch Touch 1&2 angestoßen wurde.
„inacc“ wenn der Sensor nicht komplette kalibriert ist, (nicht alle Sensor Rückmeldungen 1 sind) erscheint „inaccurate“. Auf ein Ausschalten der HDM Daten wurde verzichtet, da es sehr oft zu Meldungen 0 kommt.

Evtl. muss dass nach Feldversuchen an Bord angepasst werden

„ON“ Der Sensor befindet sich im „autocalibration“ Modus
„OFF“ Der „autocalibration“ Modus ist ausgeschaltet
Mitte
S Status des Sensorsystems gefolgt von zwei Zahlen
A ‚Status des Beschleunigungssensors
M Status des magnetischen Sensors
Die drei Angaben werden jeweils durch die folgenden Zahlen präzisiert:
00 nichts ist OK
11 alles OK
01 oder 10 teilweise OK
(was diese Zahlen genau bedeuten ist aus der Dokumentation des CMPS14 leider nicht eindeutig ersichtlich)
Rechts vom Strich
M Magnetischer Kurs  (nach dem Druck auf T2 erscheint für 2sec. “…stored…” [v5.02])
R Roll des Sensors
P Pitch des Sensors

Auf- und Zusammenbau

Aufgebaut habe ich das ganze in einem Standard Gehäuse in dass ich eine Grundplatte als Träger für die Lochplatte und den Spannungswandler gebaut habe. Das einzige was beim Zusammenbau zu beachten ist, ist dass auf dem CAN.Modul (Waveshare SN65HVD230) der Abschlusswiderstand herausgebrochen werden muss. Sonst terminiert der Waveshare SN65HVD230 den kompletten NMEA Bus. Die Verkabelung kann in dem Schaltplan nachgesehen werden.

Leider habe ich in der ersten Version meine Halterungen für das Display und die Touchflächen bündig an die Oberkante des Gehäuses gesetzt. Da der Deckel sich aber komplett über das untere Gehäuse “stülpt” ging er nicht mehr zu. 🙁

Updates

2022-03-01 Neue Halterung für das Gehäuse mit einer Wandhalterung um einen falschen horizontalen Einbau auszugleichen -> Thingiverse
2022-07-02 Nach einigen Tests ist mir aufgefallen, dass der Sensor nach einem Stromverlust (trotzdem er die Kalibrierung gespeichert hatte) wieder bei Null anfängt. Ich habe die Touchflächen jetzt so umgestellt dass T2 die vorher durchgeführte Kalibrierung abspeichert. Nach den ersten Proben mit einem Neustart von Magnetix scheint es jetzt zu funktionieren.  (V5.02)

Libraries

die verwendeten Libraries erscheinen im Kopf der INO Datei und werden hier nicht weiter behandelt.

Links und Materialien

Alle 3-D Druck Bauteile https://www.thingiverse.com/thing:5207953
ESP-32 Dev Kit C V4 https://www.az-delivery.de/products/esp-32-dev-kit-c-v4
CMPS14 Data Sheet
Waveshare SN65HVD230 https://www.amazon.de/gp/product/B00KM6XMXO/ref=ppx_yo_dt_b_asin_title_o01_s01?ie=UTF8&th=1
0,91 Zoll OLED I2C Display 128 x 32 Pixel https://www.az-delivery.de/products/0-91-zoll-i2c-oled-display
LM2596S DC-DC Netzteil Adapter Step down Modul https://www.az-delivery.de/products/lm2596s-dc-dc-step-down-modul-1
PCB Board Set Lochrasterplatte Lochrasterplatine Leiterplatte https://www.az-delivery.de/products/pcb-board-set-lochrasterplatte-platine-leiterplatte-4×4-stuck
Gehäuse https://www.bopla.de/gehaeusetechnik/product/bocube/pc-ul-94-v0-glasklarer-deckel.html

meine Maße finde ich allerdings in der dortigen Liste nicht wieder!

PG – Durchführungen https://www.conrad.de/de/p/kvpg9gr-kabelverschraubung-verschraubbar-mit-zugentlastung-pg9-pg9-polyamid-grau-1-st-1521121.html

(an die Mutter denken)

Micro-C Einbaustecker https://technospark.de/nmea-2000-panel-mount-connector?number=SW1153
Grundlagen Diesjährige Winterbastelei: Ein NMEA Heading Sensor oder auch elektronischer Kompass Pitch und Roll Kompensiert

https://www.segeln-forum.de/thread/66453-diesj%C3%A4hrige-winterbastelei-ein-nmea-heading-sensor-oder-auch-elektronischer-komp/?pageNo=1

Touchfunktionen https://www.wiegleb.org/2018/09/22/esp32-ttgo-mit-touch-funktion/
NMEA Grundlagen AK-Homberger Workshop (ESP -> NMEA2k)

https://github.com/AK-Homberger/NMEA2000-Workshop

Beispiele I2C NMEA https://www.robot-electronics.co.uk/htm/arduino_examples.htm#CMPS12/11%20I2C

https://www.robot-electronics.co.uk/files/arduino_cmps12_i2c.ino

Gallerie

qtVlm Navigations- und Wetterouting Software

Woher der Name qtVlm für die Naviagtions- und Wetterrouting- Software kommt ist nicht bekannt. Auf jeden Fall ist qtVlm einen Blick wert für denjenigen, der nach einer Freeware Navigationssoftware mit Basisfunktionen sucht. Je nach weiteren Wünschen kann die Software mit Add Ons erweitert werden die kostenpflichtig sind. Wer Bedarf hat, kann ebenso kostenpflichtigen Telefon- oder Email-Support dazu buchen. Die Software gibt es für folgende Betriebssysteme:

  • Linux PC
  • Linux Raspi
  • Mac
  • Windows PC
  • Android App
  • Android Wearables (Smart Watches)

Als Kartenmaterial eignen sich:

  • Vektorkarten (S57, S63)
  • Rasterkarten (kaps, geotiff, mbtiles)
  • Grib Wetterkarten als Overlay
  • Strömungsdaten als Overlay

Funktionen:

  • Strecken-Routing
  • Wetter-Routing
  • Kollisionswarnung über AIS
  • Regattafunktionen
  • Anzeige von Sensordaten
  • Performance-Optimierung mit Polarplot-Daten
  • NMEA Multiplexer mit Ein- und Ausgabe

An Signalquellen kann qtVlm folgendes verarbeiten:

  • NMEA0183 In/Out über TCP/UDP
  • NMEA0183 In/Out über USB, RS232
  • AIS als NMEA0183
  • GPSd über TCP

Neben einem integrierten NMEA Multiplexer können auch Filterfunktionen für die jeweiligen Signalquellen definiert werden. Die Bedienung ist aber wie auch bei OpenCPN auf Desktop-Anwendungen ausgelegt und erfordern eine Maus und Tastatur. In der Andoid App sind viele Einstellfunktionen für den Touch-Betrieb optimiert.

Das sagen die Macher von qtVlm über ihre Software:

“Viele Optionen sind verfügbar, wie z. B. Multi-Routing, um das beste Datum und die beste Abfahrtszeit gemäß verschiedenen Parametern zu finden, Routing auf einem Weg oder die Berücksichtigung von Segmenten mit Motor. Winde, Strömungen und Wellen sowie einige andere Wettervariablen werden während der Berechnung verwendet. Bootsleistungen können sehr genau abgestimmt werden, zum Beispiel die polare Effizienz bei Nacht oder die Zeit, die zum Wenden oder Halsen benötigt wird. Es können mehrere Grib-Dateien gleichzeitig geladen werden, um mit verschiedenen Parametern (z. B. Wind, Strömung und Wellengang) routen zu können oder Grib-Modelle zu vergleichen. Wetterfaxbilder können auch auf Grids geladen werden. Ein  Startlinienmodus  verwaltet eine Regatta-Startlinie mit Chronometer, Entfernungs- und Zeitberechnungen und zeigt eine sichere Zone an. qtVlm kann auch im  Simulationsmodus verwendet werden . In diesem Modus verwendet qtVlm Wind- und Strömungsdaten von grib, um die Navigation zu simulieren. Alle Instrumente sind nutzbar und echte Live-AIS-Ziele werden aus dem Internet empfangen. Achten Sie darauf, nicht mit einem echten Fischerboot oder einem anderen qtVlm-Boot zu kollidieren!”

Fazit

Freeware ist nicht gleich OpenSource. Wer nach Open Source Software für Navigationsanwendungen sucht, liegt bei qtVlm falsch. Trotzdem lohnt es sich das Programm näher anzusehen, da es eine sehr umfangreiche Funktionsvielfalt bietet und einige Extras für Regattasegler und auch Langfahrsegler bietet. Besonders hervorzuheben ist die gute englischsprachige Dokumentation die alle Funktionen des Programms ausführlich beschreibt. Das Programm basiert auf Qt und ist damit für alle gängigen Betriebssysteme verfügbar. Die Desktop-Versionen benötigen allerdings eine Maus und Tastatur und sind eher für Anwendungen am Kartentisch gedacht. Mit der Android App ist das Programm auch für Tabletts verfügbar und damit auch direkt am Steuerstand nutzbar. Über die NMEA Out Funktion des Multiplexers können z.B. Serverdaten vom Raspi an die Android App auf dem Tablett weitergeleitet werden. Somit hat man sowohl am Kartentisch als auch am Steuerstand die selben Daten zur Verfügung.

Link zur Webseite: https://www.meltemus.com/index.php/en/

Luftdruck Füllstandssensor

Abb. Steuerbox mit Pumpe, Drucksensor und Ventilen

In der Facebook Gruppe Raspberry Pi for Boats habe ich eine coole Lösung für eine Füllstandmessung gesehen. Erik aus Finnland hat mit einem Luftdrucksensor eine Überwachung für 4 Tanks konstruiert. Das Funktionsprinzip basiert auf der Verdrängung von Flüssigkeiten in einem Messrohr. Es baut sich dann ein entsprechender Luftdruck im Messrohr aus der proportional zur Füllstandhöhe ist. Das System benutzt eine Pumpe die in einem Schlauchsystem so lange Druck aufbaut bis die Luft am Schlauchende im Tank ausströmt. Je nach Schlauchlänge arbeitet die Pumpe zwischen 5…10 s. Danach wird der statische Druck im Schlauchsystem gemessen, der proportional zum statischen Druck einer Flüssigkeitssäule ist. Damit man 4 Tanks kontrollieren kann, sind im System 5 Ventile verbaut, die ein Verbindung zum jeweiligen Tank herstellt von dem man den Füllstand ermitteln möchte. Mit dieser coolen Lösung umgeht er das Problem des Druckverlustes im Schlauchsystem, weil er vor jeder Messung kurz die Pumpe anlaufen lässt und die entwichene Luft nachfüllt. Ich hatte damals auch mit Schlauchsystemen experimentiert und die Lösung für unbrauchbar gehalten, weil ich den Druckverlust nicht kompensieren konnte. Das Problem war, dass Luft eine sehr geringe Dichte hat und durch Schläuche hindurch diffundieren oder an Schlauchverbindern entweichen kann. Der Luftdruck lässt sich dann nicht über mehrere Tage oder Wochen aufrecht erhalten. Man kann das umgehen indem man durchgängige Metallleitungen ohne Verbinder benutzt, was das Ganze dann aber wieder aufwändiger werden lässt. Ich hatte mich damals in meinem Projekt zur Motordiagnose entschieden, den Drucksensor direkt im Tank einzubauen und die Flüssigkeitssäule direkt zu messen.

Die Lösung von Erik hat den Vorteil, dass man keine gefährlichen Spannungen am Tank hat und man im Prinzip beliebig viele Tanks mit der Methode überwachen kann. Als Auswerteeinheit benutzt er einen Raspberry Pi und zeigt die Messergebnisse auf einer Webseite an. Die ganze Elektronik hat er auf einer einfachen Streifenleiterplatte untergebracht. Das Projekt hat Erik auf seiner Homepage beschrieben.

Im Segeln-Forum findet man eine interessante Diskussion mit weiterführenden Informationen zu diesem Thema.

Abb. Pneumatischer Systemaufbau

 

Abb. Schlauchende im Tank

 

Abb. Pumpen- und Ventilansteuerung

Abb. Anzeige- und Bedieneinheit

Volvo Penta NMEA2000 Interface

Vorab ein paar wichtige Hinweise die sie unbedingt beachten sollten.

Disclaimer: Die Beschreibungen der Verdrahtung und der Pinbelegungen entsprechen dem, was ich in meinem Boot vorgefunden habe. Deshalb muss man, wenn man das Interface nachbauen möchte, sicherstellen, dass die Verdrahtungen und Pinbelegungen auf dem eigenen Boot identisch sind oder das Interface entsprechend anpassen. Die gesamte Beschreibung dieser Lösung ist in einem experimentellen Zustand und kommt ohne jegliche Gewährleistung. Änderungen an der Verkabelung des Bootes oder der elektrischen und elektronischen Gegebenheiten können zu Schäden oder kritischen Situationen führen. Das geschieht auf eigene Gefahr.

 

Allgemeines

Die Basis-Installation eines Volvo Penta-Motors (Motoren D1 und D2) mit EVC besteht aus verschiedenen Sensoren am Motor, die an das EVC/MDI (electronic vessel control/motor data interface) angeschlossen sind. Diese Daten werden vom MDI über einen CAN-Bus an das Drehzahlinstrument geliefert. Häufig gibt es nur den Drehzahlmesser mit einem kleinen LCD-Display um Daten anzuzeigen. Weitere Instrumente können aber erworben und hinter dem Drehzahlmesser über den sog. Easy-Link angeschlossen werden.

 

 

 

Die Drehzahl wird kontinuierlich angezeigt. Weiter Werte, wie etwa Kühlwassertemperatur und Ladespannung werden nur im Fehlerfall alarmiert, aber nicht durchgehend angezeigt. Das hier beschriebene Interface verbindet den CAN-Bus des Motors mit einem NMEA2000-Bus. Dabei werden die Informationen im VP-CAN-Bus die als J1939-Datagamme vorliegen gelesen, ausgewertet, und als NMEA2000-Datagramme auf den NMEA2000-Bus geschrieben. Die bisher implementierten Daten sind

  • Motordrehzahl
  • Ladespannung
  • Kühlwassertemperatur
  • Motorstunden

Im NMEA2000-Bus können die Informationen z.B. von einem Plotter angezeigt und mit Warnleveln versehen werden.

Bei einer Überführung meines Bootes über die Unterems Richtung DEK hat mich das vor sehr großen Problemen bewahrt. Durch die vielen Sedimente in der Ems war der äußere Kühlkreis zunehmend verstopft. Über meinen Plotter (MFD) konnte ich den Temperaturanstieg frühzeitig bemerken, und entsprechend reagieren. Ohne das Interface und die Anzeige im MFD wäre irgendwann der Alarm gekommen, und dann hätte ich kaum noch Handlungsoptionen gehabt, dass es keine Möglichkeiten gegeben hätte, festzumachen oder zu ankern. Ich hätte mit dem Risiko der Überhitzung der Maschine weiterfahren müssen.

 

Bestandteile

Das Volvo Penta – N2K Interface besteht aus Hardware- und Softwarekomponenten.

Hardware

Um das Interface physisch mit dem VP-CAN-Bus des Motors zu verbinden, benötigt man ein Adapterkabel mit Y-Verzweigung. Die Verbindung des Kabels vom MDI zum Drehzahlmesser sind sog. 6-polige ‘Deutsch-Stecker’, male und female. ( z.B. https://www.kabelschuhe-shop.de/KALI-1206-DEUTSCH-DT-Steckverbinder-Set-6-polig). Man verbindet die sechs Pins des Steckers mit denen der Buchse. Zusätzlich leitet man 12v+, GND Can high und CAN low aus.

Um das Interface physikalisch mit dem N2K-Bus (entweder Seatalk NG oder NMEA2000) zu verbinden, benötigen man ebenfalls ein geeignetes Kabel. Mein Interface ist mit einem Raymarine Seatalk NG-Netzwerk verbunden. Also habe ich ein STNG-Standard-Spurkabel durchgeschnitten, um ein Kabel mit einem Stecker und einem offenen Ende zu bekommen.

 

CAN-Bus-Transceiver

Um das Interface auf Protokollebene mit dem CAN-Bus des Motors zu verbinden, verwende ich einen SPI-MCP2515-CAN-Transceiver-TJA1050. Dieser Transceiver wird von der MCP_CAN_lib von Cory J. Fowler gesteuert.

Um das Interface auf der Protokollebene an den N2K-Bus anzuschließen, verwende ich einen Waveshare SN65HVD230. Dieser Transceiver wird von der NMEA2000-Bibliothek von Timo Lappalainen gesteuert.

Da der ESP32 eine Spannungsversorgung von 5V benötigt und der CAN-Bus mit 12V versorgt wird, benötigt man zusätzlich einen Stepdown-Converter auf 5V.

 

 

Software

Den Code gibt es hier: https://github.com/buhhe/VolvoPenta-N2K_Interface

Er basiert auf Code von:

Timo Lappalainen https://github.com/ttlappalainen

Andreas Koritnik https://github.com/AK-Homberger

Cory J. Fowler https://github.com/coryjfowler

 

Diese Bibliotheken werden benötigt:

https://github.com/coryjfowler/MCP_CAN_lib

https://github.com/ttlappalainen

 

 

Volvo Penta – N2K Interface: Vorgehen

  1. Besorgen Sie sich die Hardwarekomponenten
    • ESP32 Entwicklungsmodul
    • MCP2515-CAN-Transceiver
    • SN65HVD230 CAN-Sender/Empfänger
    • DC-DC Abwärtswandler 5V
    • Ein Paar 6-polige “Deutsch-Stecker” (Stecker/Buchse)
  2. Erstellen Sie das Y-Verzweigungskabel. (Siehe Seite 3)
  3. Führen Sie die Verkabelung durch. (Siehe Seite 4)
  4. Besorgen Sie die benötigten Bibliotheken.
  5. Kompilieren und flashen Sie die Software.
  6. Installiere alles auf deinem Boot.
  7. Viel Spaß!

 

Anschluss des Interface an den VP CAN-Bus

 

Der Drehzahlmesser mit integrierter LCD-Anzeige wird über einen Kabelbaum und einen 6-poligen Deutsch-Stecker mit dem MDI des Motors verbunden. Die Verbindung heißt bei Volvo Penta „Multi-Link“. Die Daten werden als CAN-basierte J1939-Datagramme bereitgestellt.

 

 

Für den Anschluss an den Bus benötigten man ein Y-Verzweigungskabel. Das Kabel wird zwischen dem Stecker des Kabelbaums und dem Tachometer angeschlossen.

 


Pin-Belegung:

  • 1 nicht belegt
  • 2 CAN low
  • 3 nicht belegt
  • 4 Minus
  • 5 CAN high
  • Plus, 5V

 

Verkabelung

 

Zusammenbauanleitung Windsensor Yachta

3D-View* (Bild anklicken, Download abwarten und Objekt mit der Maus bewegen)

Der Windsensor Yachta dient zur Messung der Windgeschwindigkeit und der Windrichtung auf Booten. Er wird am Mast installiert und mit 12V versorgt. Die Datenübertragung der NMEA0183 Telegramme erfolgt drahtlos per WiFi. Im Windsensor befindet sich ein AccessPoint und ein kleiner Webserver. Als Anzeigegerät der Messwerte dient ein Handy mit einen Webbrowser. Die Messdaten können auch in anderen Programmen wie SignalK, AvNav, OpenCPN, Navionics o.ä. angezeigt werden, die NMEA0183 Daten verarbeiten können.

Copyright und Lizenzen

Das Copyright und die Lizenzen sind beim Nachbau zu beachten. Der Windsensor kann von Jedermann unentgeltlich nachgebaut werden, solange keine kommerziellen Absichten bestehen und damit Geld verdient wird. Bei kommerziellen Absichten kann Kontakt mit Open-Boat-Projects aufgenommen werden. Wir klären dann, welche Möglichkeiten einer kommerziellen nicht exklusiven Verwertung bestehen.

Wenn Ihnen diese Anleitung hilfreich war, würden wir uns freuen, wenn Sie uns mit einer Spende unterstützen. So können wir weitere interessante Projekte veröffentlichen. Sie tragen auch dazu bei, dass diese Seite weiterhin der Allgemeinheit kostenlos zur Verfügung steht.

Bereich Lizenz Bemerkung
Dokumentation CC-BY-NC-SA Alle Online- und Print-Dokumente
Hardware CC-BY-NC-SA 2D, 3D CAD-Files
Software GPL V3.0 Firmware, App

Schwierigkeitsgrad und Zeitbedarf

Gesamt
 
Schwierigkeitsgrad 4
Zeitbedarf [h] 2…3
Details
 
Mechanik 2
Elektronik 6
Software 2
Netzwerktechnik
4

Die Zusammenbauanleitung richtet sich an Interessierte mit handwerklichen Fähigkeiten. Wer die Elektronik zusammen löten möchte, sollte über Erfahrung in der Bestückung von SMD-Bauelementen verfügen. Ohne solche Erfahrungen sollte besser eine fertig bestückte Platine bezogen werden. Die Programmierung des Mikrocontrollers ESP8266 erfordert etwas Erfahrung im Umgang mit Mikrocontrollern und Programmieradaptern, stellt  aber keine großen Hürden für Anfänger dar. Wer die Software selber modifizieren möchte, sollte sich im Umgang mit der Programmiersprache C und Programmierumgebungen wie die Arduino IDE oder PlattformIO auskennen. Da die Datenübertragung über WiFi-Netzwerke und per TCP/IP erfolgt, sollte man über Kenntnisse in der Konfiguration von WiFi-Routern und in der Netzwerktechnik mitbringen.

Werkzeuge, Hilfsmittel und Verbrauchsmaterialien

Werkzeuge Verwendung Bezugsquelle
Pinzette
Cuttermesser / Skalpell
Inbus-Satz
Maulschlüssel-Satz
Schraubendreher-Satz
Feinzange
Elektronik Seitenschneider
Elektronik Lötkolben
Entlötpumpe
USB-Kabel (Mini USB) Programmierung
USB-Seriell-Adapter (3.3V) Programmierung
Hilfsmittel
Digitalmultimeter Funktionstest
Laptop / PC Programmierung
Handy Funktionstest mit App
Oszilloskop (optional) Funktionstest
Verbrauchsmaterialien
Lötzinn D 1mm
Entlötlitze (optinal)
Silikonöl / Feinöl
Dupli-Color Aerosol Art, Klarlack matt Schutzlack für Kunststoffteile bauhaus.de
2K-Kleber Weicon RK-1300 conrad.de
Alkohol 99% Drogeriemarkt, Baumarkt
Q-Tips Drogeriemarkt
Lappen

Funktionsweise

Der Windsensor Yachta ist ein Anemometer mit rotierendem Schalenrad. Die Windrichtung wird über die Windfahne gemessen. Die Windfahne richtet sich entsprechend der Windrichtung aus. An der Unterseite der Achse befindet sich ein Neodym-Magnet, dessen Magnetfeld von einem Magnetfeldsensor (AS5600) berührungslos gemessen wird, der sich auf der grünen Platine in der Mitte befindet. Die Winkel werden in 4096 Teilschritte pro 360° unterteilt und über den I2C-Bus zum Mikrocontroller ESP8266 übertragen, so dass sich eine Winkelauflösung von ca. 0,1° ergibt. Die Windgeschwindigkeit wird über das Schalenrad gemessen, an dessen oberer Achse sich ein Kranz mit mehreren kleinen Magneten befindet. Die Magnete bewegen sich bei der Drehung an einen Hallsensor vorbei und lösen ein digitales Schaltsignal aus, das vom ESP8266 ausgewertet wird. Die Firmware des Windsensors enthält einen AccessPoint und einen kleinen Websever mit dem die Messdaten per WiFi übertragen werden können. Mit einem Handy kann man sich in das WiFi-Netzwerk des Windsensors einbuchen und die Messdaten mit einem Webbrowser ansehen. Es gibt auch eine Android-App mit der die Messdaten angezeigt werden können. Der Windsensor lässt sich aber auch über den TCP-Port 6666 mit anderer Auswerte- und Anzeigesoftware verbinden die in der Lage ist, NMEA0183 Daten auszuwerten.

Für mechanische Details können sie im 3D-View das Funktionsprinzip erkunden.

3D-View* (Bild anklicken, Download abwarten und Objekt mit der Maus bewegen)

Projektunterlagen

Hilfreiche Links

Wichtige Hinweise

Bevor Sie mit dem Projekt beginnen, sollten Sie sich Zeit nehmen und diese Hinweise lesen, um die häufigsten Fehler zu vermeiden. Versuchen Sie erst zu verstehen, wie der Windsensor aufgebaut ist und wie er funktioniert, bevor Sie loslegen. Benutzen Sie die Kontaktmöglichkeiten bei Fragen und Unklarheiten. So werden Sie Ihr Projekt erfolgreich umsetzen können.

Als Filament für die 3D-Teile eignet sich PETG hervorragend. Es hat eine höhere Temperaturstabilität als PLA und lässt sich ähnlich gut verarbeiten. Achten Sie darauf keine dunklen Filamente zu verwenden, da sich durch Sonneneinwirkung der Windsensor sehr stark aufheizen kann und der Kunststoff weich wird. Die Formstabilität ist nur bis 70°C bei PETG gegeben. Weiße Filamente haben sich als geeignet herausgestellt. Schwarze PETG Filamente sind hingegen ungeeignet. Wenn Sie unbedingt einen schwarzen Windsensor bauen wollen, dann benutzen Sie am besten ABS. Der Druck ist aber etwas komplizierter als bei PETG und erfordert Erfahrung im Umgang mit ABS.

Die gedruckten Teile des Windsensors sind nicht wasserdicht und müssen nachträglich lackiert werden. Anderenfalls besteht die Gefahr, dass Wasser in den Windsensor eindringt und die Elektronik beschädigt. Als Lack kann nicht irgend ein Lack verwendet werden, da ein gewöhnlicher Lack nicht auf Kunststoffteilen haftet. Der in der Bauteilliste aufgeführte Lack ist speziell für eine direkte Kunststoffbeschichtung ohne Vorbehandlung geeignet. Er lässt sich gut verarbeiten und erzielt ein gutes Lackierergebnis. Wenn Sie alternative Lacke verwenden, prüfen Sie vorher die Eignung an Testobjekten bevor Sie den Windsensor lackieren.

Beachten Sie, dass der verwendete Kleber eine bestimmte Restelastizität haben muss, um die Ausdehnung oder Schrumpfung unterschiedlicher Bauteile bei Temperaturänderungen ausgleichen zu können. Immerhin können Temperaturänderungen von ca. 100°C (-10 … 90°C) zwischen Sommer und Winter auftreten und dadurch Klebeverbindungen brechen.

Wenn Sie wenig Erfahrung mit SMD-Elektronik haben, kaufen Sie eine bestückte und programmierte Platine. Das erspart Ihnen viel Zeit und Mühe bei der Fehlersuche.

Sollten Sie die Elektronik selber programmieren wollen, so achten Sie darauf einen USB-Seriell-Wandler mit 3,3V TTL Signalpegel zu benutzen. Wandler mit 5V TTL Pegel sind ungeeignet und können die Elektronik zerstören. Grundsätzlich sollten Sie vorsichtig mit der Elektronik umgehen und nicht ungewollt mit Metallteilen in Berührung bringen. Dies kann zu Kurzschlüssen führen und die Elektronik beschädigen. Achten Sie auch darauf, nicht elektrostatisch aufgeladen zu sein. Besonders im Winter bei geringer Luftfeuchte besteht die Gefahr. Sie können sich vor der Arbeit an der Elektronik an einer metallischen Wasserleitung oder einem Heizungsrohr entladen.

Bauteilliste

Die nachfolgende Bauteilliste bezieht sich auf den Zusammenbau mit einer fertig bestückten und ggf. auch programmierten Platine. Sollen Sie die Bestückung der Platine selber vornehmen wollen, so finden Sie im GitLab Repository eine Stückliste zu den Elektronikbauteilen.

Die in der Bauteilliste aufgeführten Bezugsquellen können u.U. nicht mehr aktuell sein. Suchen Sie dann am besten im Internet nach alternativen Bezugsmöglichkeiten.

Mechanischer Zusammenbau

Für den mechanischen Zusammenbau gibt es im GitLab Repository eine Bildergalerie als Zip-File die man sich herunterladen kann. Die Bilder sind recht hilfreich und zeigen detailliert wie man vorgehen sollte. Nachfolgend ist eine Röntgenaufnahme zu sehen wie die internen Teile verbaut sind.

Abb: Anordnung der inneren Teile im Windsensor Yachta

Wer eine detailliertere Ansicht haben möchte, kann sich beim Online-CAD-Programm Onshape kostenlos anmelden und im öffentlichen Repository nach “Yachta” suchen. Das gesamte Projekt kann in den eigenen Workspace kopiert werden und dort von allen Seiten betrachtet werden. Bauteile können angeklickt werden und über die rechte Maustaste lassen sich die Bauteile transparent schalten. Wer den Windsensor nach seinen eigenen Wünschen verändern möchte, kann das in Onshape selber machen. Über den Export mit STL können Dateien exportiert werden die ein Slicer für einen 3D-Drucker aufbereiten kann.

Lackierung

EPTG ist ein Kunststoff der sich aufgrund seiner Oberflächeneigenschaften nicht direkt lackieren läßt. Es muss eine spezielle Vorbehandlung des Untergrundes erfolgen. Es gibt aber Speziallacke die ohne Grundierung und Vorbehandlung direkt auf EPTG aufgetragen werden können. Der empfohlene transparente Lack „Aerosol Art“ von Dupli-Color (matt oder glänzend) ist ein Polymerlack mit Aceton und n-Butylacetat in einer 400ml Sprühdose. Er kann direkt auf EPTG in mehreren Lagen ohne Abtrockenzeit aufgebracht werden.

Das Lackieren kann auf zweierlei Art vorgenommen werden. Entweder per Lackierung mit dem Pinsel oder per Sprühdose. Grundsätzlich sollten mit jedem Verfahren 3 Schichten aufgetragen werden. An den Passungen ist entsprechend dünner aufzutragen. Grundsätzlich sollte der Schichtaufbau dünn sein und keine Laufnasen aufweisen. Laufnasen sind im feuchten Zustand zu entfernen.

Das Sprühlackieren sollte möglichst im Freien erfolgen, da mehr Lack daneben gesprüht wird als auf das Bauteil kommt. Im Hintergrund sollte eine Pappe aufgestellt werden die den überschüssigen Lack aufnimmt. Je nach Empfehlung des Lackherstellers sollte ein Mindestanstand von 30cm beim Lackieren zum Bauteil eingehalten werden. Anderenfalls trägt man sonst zu viel Lack auf und es kommt zu Läufern. Die Teile werden beim Sprühen fortlaufend langsam gedreht bzw. bewegt, so dass alle Flächen erreicht werden können. Das Lackieren der Schaleninnenseite ist etwas schwieriger, da man nicht richtig einsehen kann wie viel Lack aufgetragen ist. Hier sollte man zurückhaltender sein, da man eher neigt zu viel aufzutragen. Die richtige Schichtdicke ist erreicht, wenn der feuchte Lack anfängt zu glänzen.

Der Lack ist nach kurzer Zeit handtrocken und nach 24h endgültig trocken.

Schalenrad

Die Schalen können am besten von unten in die Basis geschoben werden. Um es vollständig hineinzubekommen, kann es notwendig sein, für die letzten Millimeter, einen Hammer zu benutzen. Hierbei muss nur aufgepasst werden, dass man die Schalen dabei nicht abbricht.

In die Aussparung im unteren Teil der Basis kommt die M5 Mutter hinein. Um ein Herausfallen während der Montage zu verhindern, kann die Mutter mit einem Tropfen Sekundenkleber in der Aussparung befestigt werden.

Yachta Schalenrad

Magnethalter und unteres Lager

Das 695 Kugellager wird von unten und das 625 Kugellager von oben bis zur jeweiligen Kante in das Unterteil des Windsensors eingefügt.

Unterteil des Yachtasensors mit Kugellagern

Die Magnete können relativ einfach mit Sekundenkleber im Magnethalter festgeklebt werden.Beim Einbau der Magnete ist auf richtige Polarität zu achten.

Um die Montage zu vereinfachen, kann man in die Innenseite des Magnethalter vorübergehend Klebeband kleben und die Magnete dann von außen in die Aussparungen drücken. Das Klebeband kann, sobald der Sekundenkleber getrocknet ist, wieder entfernt werden. Darauf kann die M5 x 60 mm Schraube durch den Magnethalter geführt und von unten mit einer Mutter befestigt werden. Der Halter kann anschließend durch das Unterteil gesteckt werden.

Magnethalter und Unterteil des Yachtasensors

Im letzten Schritt muss nur noch das Schalenrad angeschraubt werden. Hierbei sollte man darauf achten das Ganze nicht zu festzuschrauben, damit sich das Schalenrad leicht drehen kann. Wenn die gewünschte Leichtläufigkeit erreicht ist, kann die Schraube an der unteren Mutter noch mit Loctite gesichert werden.

Kompletter Unterbau des Yachtasensors

Windfahne und Unterbau

Der Unterbau der Windfahne besteht aus einem Ober- und einem Unterteil. In die Oberseite des Unterteils wird das 625 Kugellager eingesetzt, die M5 x 25 Senkkopfschraube von unten durchgesteckt und mit einer Mutter gesichert. Auch an dieser Stelle ist darauf zu achten, dass die festgeklemmte Schraube sich leichtläufig drehen kann. Anschließend wird das Oberteil mit vier M3 x 10 Schraube auf das Unterteil geschraubt, um das Kugellager an Ort und Stelle zu halten.

Windfahnenbasis des Yachtasensors

Im nächsten Schritt wird eine M5 Mutter in die Aussparung der Windfahne gesteckt und kann dort zusätzlich mit Kleber fixiert werden.

Windfahne des Yachtasensors

Die Basis der Windfahne kann jetzt auf den bereits monierten Unterbau gesteckt und anschließend mit der Windfahne fixiert werden.

Windfahne des Yachtasensors

Als Letztes muss noch der 5 x 5 x 5 mm Magnet auf die Senkkopfschraube geklebt werden. Hier ist benefalls auf die korrekte Ausrichtung des Magneten zu achten. Die äußeren Kanten des Magneten sollten parallel zur Windfahne ausgerichtet werden. Sollte trotzdem noch ein Ausrichtungsfehler vorliegen, so kann er über einen Offset unter Device Settings korrigiert werden.

Magnet in der Windfahne

Standrohr und Basis

Das Alurohr wird in die Basis des Sensors geschoben und kann dann an Ort und Stelle mit einem Loch für die Kabel versehen werden. Anschließend kann die Platine mit den bereits angelöteten Kabeln für die Stromversorgung in die vorgesehene Aussparung eingelegt werden.  Hierfür müssen die Kabel vorher ins Alurohr geführt werden. Ist alles am richtigen Platz, kann die Platine mit vier M3x10 Schrauben befestigt werden.

Platine in Basis

 

Software

Die Software ist in C mit der Arduino IDE programmiert worden. Die Firmware selbst zu compilieren erfordert Erfahrung im Umgang mit der Arduino IDE und dem installieren der benötigten Software-Bibliotheken in der richtigen Version. Aufgrund der hohen Komplexität wurde die Firmware schon kompiliert und als Binärdatei dem Nutzer zur Verfügung gestellt. So erspart man sich den ganzen Aufwand die Firmware selbst zu kompilieren.

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 Verfü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), sollte 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

 

Funktionstest

Der Funktionstest beschränkt sich darauf zu prüfen, ob die Sensoren korrekte Signale abgeben. Dazu eignet sich die Instrumentenansicht  am besten. Detailliertere Informationen zum Windsensor sind unter Device Info zu finden.

 

Fehlerbehebung

Die Windrichtungsanzeige ist nicht korrekt

Je nachdem wie der 5x5x5 mm Magnet zur Windrichtungsanzeige eingeklebt ist, kann eine Abweichung im Anzeigeinstrument auftreten. Das ist nicht weiter schlimm, denn über einen Offset unter Device Settings kann der Fehler korrigiert werden.

Die Messwerte für den wahren Wind stimmen nicht

Der Windsensor Yachta kann nur den relativen Wind anzeigen, da Referenzwerte der Bewegung des Bootes im Windsensor nicht vorliegen. Der Wahre Wind kann nur korrekt angezeigt werden, wenn der Windsensor als Wetterstation stationär an Land mit korrekter Nord-Ausrichtung installiert ist. Auf einem beweglichen Boot kann nur der relative Wind bzw. scheinbare Wind angezeigt werden.

Die Windrichtungsanzeige reagiert nicht

  • Ist der Magnet richtig herum eingebaut?  (korrekte Nord-Süd-Ausrichtung)
  • Ist die Feldstärke des Magneten ausreichend stark? (Magn. Flux Density muss größer 1000 mT sein)
  • Ist der Abstand des Magneten zum Chip hinreichend klein? (ca. 1 mm Abstand)
  • Ist der richtige Wind Sensor Type unter Device Settings ausgewählt? (Yachta)

Die Windspeedanzeige funktioniert nicht richtig

  • Ist der Hallsensor nah genug am Magnetkranz? (ca. 1 mm Abstand)
  • Sind die Magnete richtig herum eingebaut? (korrekte Nord-Süd-Ausrichtung)
  • Hat die Achse zu großes Spiel? (Der Magnetkranz darf nicht hin und her pendeln und den Abstand zum Hallsensor verändern)

Die Windspeedanzeige zeigt den doppelten Speed an

Das Problem wird häufig durch falsche Ausrichtung der Magnete im Magnetkranz verursacht. Die Magnete müssen eine abwechselnde Polarität haben. Sind alle Magnete gleich ausgerichtet, so werden 4 Impulse anstatt 2 Impulse erkannt. Die Geschwindigkeit ist damit um den Faktor 2 zu hoch. Am einfachsten ist es, wenn man die Magnete vor dem Einbau alle zusammen aneinander haftet und einzeln abnimmt und eine der anhaftenden Seiten markiert, z.B. immer die linke Seite. So kann man beim Einbau die Ausrichtung des Magnetfeldes sehr einfach kontrollieren. Mit einem Handkompass wäre das durchaus auch möglich, wenn auch etwas schwieriger.

Die Android App lässt sich nicht unter Android 11 installieren

Ab Android 11 wurden die Sicherheitseinstellungen verschäft und es lassen sich keine Apps (apk-Dateien) mehr von externen Quellen installieren. Das soll verhindern, dass ungewollt Programme über Internetseiten instaliert werden. Jedes Mal wenn eine apk-Datei herunter geladen wird, wird deren Dateiendung automatisch umbenannt und die Datei kann nicht mehr zur Installation gestartet werden. Ein nachträgliches umbenenen der Datei in apk unter Android ist nicht möglich. Um die App trotzdem unter Android 11 installieren zu können, muss ein kleiner Umweg über die Dateitranfer-Funktion vorgenommen werden. Dazu wird die apk-Datei auf einem PC herunter geladen und über ein USB-Kabel in den Download-Ordner des Handys übertragen. Mit dem internen Datai-Manager von Android 11 kann dann die apk-Datei installiert werden.

Es ist keine Verbindung mit dem Windsensor über WiFi möglich

Nachdem der Windsensor mit 12V versorgt wird, öffnet sich nach 30s das WiFi-Netzwerk des Windsnesors mit dem Namen NoWa. Das Passwort lautet 12345678. Einige Handy und Tabletts können nicht korekt damit umgehen, dass der AsseccPoint des Windsensors keine Internetverbindung hat. Immer wenn man die Webseite http://192.168.4.1 aufrufen möchte wird die Anfrage in das Internet geleitet anstatt zum Windsensor. Das Routing im Handy bzw. Tablett ist nicht korrekt. Das selbe Problem tritt auch bei der Android-App auf. Um den Fehler zu beheben kann man die Mobilfunk-Verbindung des Handys zum Internet trennen. Danach wird der Windsensor Yachta wieder gefunden.

Wenn ich die Spannung zuschalte, dann wird in AVnav oder OpenPlotter der Windsensor nicht automatisch angebunden

Wird AVnav oder OpenPlotter auf einem Raspi verwendet und stellt der Raspi gleichzeitig den AccessPoint bereit mit dem sich der Windsensor verbinden soll, so dauert es eine gewisse Zeit nach dem Zusschalten der Versorgungsspannung bis das Linux-Betriebssystem hochgefahren ist und der Access Point bereit ist. Die Boot-Phase kann 2…3 min dauern. Wenn zeitgleich die Versorgungsspannung des Windsensors zugeschaltet wird, so versucht der Windsensor 30s lang sich in das externes WiFi-Netzwerk des Raspi einzubuchen. Da der Raspi aber wesentlich mehr Zeit zum Booten benötigt als der Windsensor, scheitert die Herstellung der WiFi-Verbiundung. Unter Device Settings kann das Connection Timeout von 30s auf 2 min oder mehr eingestellt werden. Dann wartet der Windsensor entsprechend länger bis das Connection-Timeout kommt. Mit der blauen LED auf der Platine kann die WiFi-Verbindung überprüft werden. Ist die LED aus, so hat sich der Windsensor in ein externes WiFi-Netzwerk als Client eingebucht. Wenn Daten übertragen werden, bitzt die blaue LED kurz auf.

Die Anzeige der Daten vom Windsensor ist sehr träge

Wenn sich das Schalenrad nicht deht, wird das Sende-Intervall der Datentelegramme von 1s auf 3s erhöht, um  nicht unnötig viele Daten zu senden, denn bei Windstille macht es nicht viel Sinn dauerhaft die selben Daten zu senden. Wenn der Windsensor zu Hause ohne Wind getestet wird, dann kann es bis zu 3s dauern, bis Windspeed-Daten kommen, wenn man das Schalenrad dreht. Für Tests zu Hause eignet sich der Demo Mode ganz gut, bei dem permanent simulierte Daten für Windrichtung und Windspeed erzeugt werden. Die Einstellungen könne unter Device Settings über den Server Mode vorgenommen werden.

Ich sehe keine Temperaturwerte

Wenn unter Wind Values kein Temperaturwert angezeigt wird, dann ist vermutlich der Temp Sensor Type unter Device Settings nicht richtig ausgewählt. Der Wert muss auf DS18B20 stehen. Andere Temperatursensoren als der DS18B20 werden beim Windsensor Yachta nicht unterstützt.

Ich sehe keine Messwerte für Luftfeuchtigkeit und Luftdruck

Der Temp Sensor Type BME280 kann beim Windsensor Yachta nicht verwendet werden, da er nicht auf der Platine verbaut ist. Eine Anzeige der Luftfeuchtigkeit und des Luftdrucks sind nicht möglich.

Ich habe noch einen Fehler entdeckt, was kann ich tun?

Falls Sie noch einen Fehler entdeckt haben, so können Sie uns gerne über das Kontaktformular der Webseite informieren. Beschreiben Sie den Fehler möglichst so, dass er nachvollzogen werden kann. Wir leiten den Fehelrbericht an den jeweiligen Projekteigentümer weiter und bitten ihn um Korrektur. Sie können aber auch selber einen Fehlerbericht als Issue bei GitLab auf der Projektseite einreichen. GitLab informiert dann den Projekteigentümer automatisch.

Ich habe hier keine Lösung für mein Problem gefunden

Falls Sie hier keine Lösung für Ihr Problem gefunden haben, können Sie bei GitLab unter Issues nach bekannten nicht gelösten Problemen nachsehen. Schauen Sie auch unter Closed Issues nach. Dort sind auch einige Lösungen zu aufgetretenen Fehlern beschrieben. Wenn Sie möchten, können Sie sich auch Hilfe bei anderen Seglern im Deutschen Segeln-Forum holen. Dort gibt es viele Interessierte, die bereits erfolgreich einen Windsensor Yachta zusammen gebaut haben und Ihnen helfen können. Sie können dort in Deutsch oder Englisch kommunizieren.

Technische Daten

Bezeichnung Wert / Wertebereich Bemerkung
Messdaten
Windgeschwindigkeit 0…40 m/s, 0…78 kn
Start Geschwindigkeit 1 m/s
Windrichtung 0…360 °
Auflösung Windrichtung 0,1 °
Funktionstyp magnetisch
Kalibrierung Steigung, Offset
Umgebungsbedingungen
Umgebungstemperatur 0…60 °C
Lagertemperatur -10…80 °C
Luftfeuchtigkeit 0…100 %
Duchtheitsklasse IP63, IPX3 gegen Sprühwasser geschützt
Stromversorgung
Versorgungsspannung 7…25V verpolungssicher
Leistungsaufnahme 0,4W typisch
Datenübertragung
Netzwerkart WiFi 11 bgn 2,4 GHz
Datenrate 3 MBit/s
Reichweite ca. 50 m im Freifeld
AccessPoint ja max. 3 Clients
Webserver ja, Port 80 Bedienseiten
JSON-Datenserver ja, Port 80 Control-Daten
TCP-Datenserver ja, Port 6666 NMEA0183 Datenstream
Serielle Schnittstelle ja, 3,3V Pegel NMEA0183, Debugdaten, parametrierbar
mDNS ja abschaltbar
NMEA0183 Sentences
MWV Winddaten
VWR Winddaten
VPW Performance-Daten
INF Custom Code
Unterstützte Software
Linux AvNav, OpenPlotter, OpenCPN
Android Windsensor App, AVnav, OpenCPN, Navionics, WinGPS pro
Windows WinGPS
iOS NMEAremote, Navionics
Dimensionen
Abmessungen 175 x 120 x 150 mm ohne Rohr und Fuß
Gewicht 150 g mit Rohr und Fuß
Materialien
Kunststoff PETG: Gehäuseteile lackiert
Metalle Alu: Halterohr eloxiert
V2A: Spitze, Schrauben, Muttern
Sonstiges
CE keine
UL keine
Garantie keine
Lizenzen CC-BY-NC-SA Hardware, Doku
GPL 3.0 Software

Meinungen und Tipps

Wir hoffen, dass diese Anleitung Ihnen eine Hilfe war, das Projekt erfolgreich umzusetzen. Ihre Meinungen und Tipps sind uns wichtig. Bitte teilen Sie uns mit, ob Sie mit der Anleitung zurecht gekommen sind, Schwierigkeiten hatten oder Tipps haben, wo wir die Dokumentation verbessern sollten. Benutzen Sie am besten dazu unser Kontaktformular. So können wir eine hohe Qualität der Nachbauanleitung und eine erfolgreiche Projektumsetzung ermöglichen.

Hinweise

* Erfordert eine 3D Grafikkarte die WebGL unterstüzt

Ventus W132 – Umbau zum NMEA2000 Windsensor

Vorab ein paar wichtige Hinweise die sie unbedingt beachten sollten.

Abb.: Außenansicht

  • NMEA0183 und NMEA2000
  • Nur drei weitere Teile (ESP32, Spannstift, CAN BUS) nötig
  • Winkelauflösung in 0,1°-Schritten
  • Darstellung der Daten im Browser möglich (im AP-Modus auch ohne fremdes Netzwerk)
  • Code vollständig kommentiert auf GitHub

Dieses Projekt beschreibt den Umbau des Ersatzwindmessers Ventus W132 mit minimalem Materialaufwand. Das gesamte Projekt lässt sich, inklusive Kauf des W132, für weniger als 50€ umsetzen.

Die ausführliche Dokumentation zum Umbau sowie die kommentierte Software befinden sich auf GitHub: https://github.com/jukolein/W132.

Der entsprechende Thread im SegelForum befindet sich hier: https://www.segeln-forum.de/board194-boot-technik/board195-open-boat-projects-org/81141-boots-windsensor-ventus-w132-f%C3%BCr-50-euro/.

Da hierbei bereits bestehende Hardware modifiziert wird, entfallen viele kritische Arbeitsschritte wie das Drucken des Gehäuses oder die Nachbearbeitung für Witterungsbeständigkeit.

Die Windgeschwindigkeit wird über einen Hallsensor, die Richtung mittels magnetischem Rotationssensor gemessen. Dies ermöglicht gerade hinsichtlich der Windrichtung extrem genaue Angaben.

Die Größe des Gehäuses erlaubt den Einsatz eines ESP32, womit die Erstellung und Aussendung nicht nur von NMEA0183-Datagrammen via WiFi, sondern erstmals auch von NMEA2000-Daten möglich wird.

Zusätzlich können die Daten grafisch im Browser dargestellt werden. Über eine Einstellungsseite kann etwa der Sensor kalibriert oder das Aussenden von NMEA2000-Daten aktiviert/deaktiviert werden .

Auch eine Softwareaktualisierung  über das Netzwerk ist möglich.

 

Abb.: Schaltbild

 

Abb.: Materialliste

 

Abb.: Einstellungen