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. Alternativ können Sie die interaktive Bauteilliste verwenden die sich hervorragend für eine manuelle Bestückung der Platine eignet.

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 Dateitransfer-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 Fehlerbericht 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

ibom