NMEA2000 für NASA / CLIPPER Duet Echolot/Log

Vorab ein paar wichtige Hinweise die sie unbedingt beachten sollten.

Abb.: NASA/Clipper Duet Echolot/Log

In diesem Artikel soll es darum gehen, wie man ein NASA/Clipper Duet Echolot/Log so umbauen kann, dass das Gerät NMEA2000 Daten ausgibt. Dieses Dokument basiert auf dem DIY-Project von Sönke und wurde um einige Zusatzinformationen ergänzt. Das NASA/Clipper Duet Echolot/Log ist eigentlich ein Gerät ohne Bus-Anschluss und arbeitet autark mit zwei getrennten Sensoren. Ein Ultraschall-Sensor misst die Wassertiefe und ein Paddelrad die Geschwindigkeit durchs Wasser. Die Sensoren werden jeweils über ein Coaxialkabel mit der Display-Einheit verbunden. Das NASA/Clipper Duet Echolot/Log ist aufgrund des attraktiven Preises weit verbreitet und in vielen Booten im Einsatz.

Technische Daten

Das Messgerät hat folgende Eigenschaften:

  • Aufbaumaße: 110 x 110 x 27 mm
  • Einbautiefe: 40 mm
  • LCD-Display mit Hintergrundbeleuchtung
  • 4 Taster mit Folie abgedeckt
  • Gehäuse ABS, schwarz
  • Weiße Abdeckkappe
  • IP65 frontseitig
  • Versorgung: 12V / 100 mA
  • Länge Geberkabel: 6,5 m
  • Tiefenmessbereich: ca. 0,8…100 m
  • Geschwindigkeitsbereich: ca. 0…50 kn
  • Tiefengebers
    • Gewinde-Ø: 16 mm
    • Kopf-Ø: 38 mm
    • Länge: 104 mm
  • Loggebers
    • Gewinde-Ø: 42 mm
    • Kopf-Ø: 70 mm
    • Länge: 118 mm

Generell sind keine technischen Daten in der Original-Dokumentation enthalten. Bitte beachten Sie, dass die Angaben nur grobe Richtwerte sind. Irgendwie ist das völlig unverständlich, dass der Hersteller keine technischen Daten angibt.

Elektronik

Die Elektronik des NASA/Clipper Duet ist schon in die Jahre gekommen. Sie stammt aus den 90er Jahren. Als Display wird ein LCD verwendet, dessen Segmente von einem Display-Controller HT1621 angesteuert werden. Als zentrale Auswerteeinheit wird der 8Bit-Mikrocontroller PIC16C63A -20/SP mit 5 MHz Taktfrequenz eingesetzt. Neben der Hauptplatine auf der die Anzeige, der Mikrocontroller und ein Teil der Analogelektronik sitzen, gibt es noch eine weiter Analog-Platine zur Ansteuerung und Auswertung der Sensorsignale. Der PIC interagiert mit der Analog-Platine und errechnet sich die Messwerte aus den Analogsignalen und steuert den Display-Controller über eine SPI-Schnittstelle an.

Abb.: Hauptplatine NASA/Clipper Duet

Funktionsprinzip

Die Grundidee des Umbaus besteht darin, dass an der SPI-Schnittstelle zwischen dem Mikrocontroller und dem LCD-Controller die SPI-Datensignale abgegriffen und und mit einem ESP32 ausgewertet und als NMEA2000 Telegramme über den CAN-Bus ausgegeben werden.

Abb.: Blockschaltbild

Der PIC-Mikrocontroller des Clipper Duet teilt dem HT1621 LCD-Controller mit, welche Segmente in Abhängigkeit von den anzuzeigenden Werten eingeschaltet sein sollen. Im nachfolgenden Diagramm ist beispielhaft ein zeitliche Signalverlauf auf dem SPI-Bus zu sehen.

Abb.: Typischer Signalverlauf auf dem SPI-Bus

Die Segment/Com-Leitungen wurden untersucht, indem eine Testsoftware geschrieben wurde, die den LCD-Controller veranlasst, einzelne Segmente hervorzuheben, so dass eine Karte der Segmente und gemeinsamen Ebenen erstellt werden konnte.

Abb.: Zuordnung der Segment/Com-Leitungen

Der ESP32 analysiert fortlaufend die Kommunikation auf dem SPI-Bus zwischen dem PIC-Mikrocontrollers und dem HT1621 Display-Controller. Der PIC-Controller sendet dabei periodisch Daten für den gesamten Anzeigespeicher des LCD-Controllers in Abhängigkeit der Messwerte. Der ESP32 ordnet diesen Anzeigespeicher wieder den 7 Ziffern plus einigen Symbolen zu. Aus den Ziffern und Symbolen werden dann die Werte, Einheiten und der Zustand des Clipper Duet abgeleitet. Die zusammengestellten Daten werden in Standard-NMEA2000-Sätze übersetzt und auf den CAN-Bus ausgegeben.

Alarmeinstellungen für geringe Tiefe und Geschwindigkeit werden ebenfalls gelesen , aber da es kein bekanntes NMEA2000-PGN gibt, wird kein Telegramm mit diesen Werten auf dem CAN-Bus gesendet.

Umbau auf NMEA2000 Ausgang

Für den Umbau werden folgende Teile benötigt:

Der ESP32 wird in Form des ESP32 DevKits verwendet. Das ist ein einfach zu benutzendes Modul mit einem USB-Anschluss zur Programmierung. Es können auch andere ESP32 Module verwendet werden. Die korrekte Pinbelegung ist dann aber zu beachten. Am einfachsten ist es, wenn man direkt Drähte an die Pins des PIC-Mikrocontrollers auf der Rückseite anzulöten und mit dem ESP32 DevKit verbindet. Die nachfolgende Belegung zeigt, welche Verbindungen zum PIC-Controller hergestellt werden müssen.

Achtung: Es ist nicht bekannt, ob es verschiedene Hardware-Revisionen des Clipper Duet gibt. Prüfen Sie, ob Sie denselben LCD-Controller vom Typ TH1621 und dasselbe LCD-Layout vorfinden.

Abb.: Drahtverbindungen für den Datenabgriff

PIC-Controller Pin ESP32 DevKit Pin Bedeutung
unbelegt D12 GPIO12, SPI MISO
4 D13 GPIO13, SPI MOSI
5 D14 GPIO14, SPI CLK
7 D27 GPIO27,  SPI CS
8 GND GND

Mit dem CAN-Treiber-Modul wird folgende Verbindung hergestellt:

CAN-Treiber
ESP32 DevKit Pin Bedeutung
VCC 3V3 3.3V
CAN RX D4 GPIO4, RXD
CAN TX D5 GPIO5, TXD
GND GND GND

Der ESP32 kann nur mit 3.3V an den oben genannten GPIO-Pins umgehen. Erfahrungsgemäß besteht aber eine Toleranz von 5 V an den Eingängen, so dass in Anbetracht der geringen Kosten des ESP32-Moduls keine Pegelwandler verwendet werden. Eine zusätzliche Stromversorgung für den ESP32 wird allerdings benötigt. Die meisten ESP32-Module benötigen entweder 3,3 V oder 5 V. Der Onboard 5V Regler des Clipper Duet sollte nicht verwendet werden, da der ESP32 auch ohne WIFI zu viel Strom ziehen könnte. Ein eigener DC/DC-Wandler von 12V auf 5V ist erforderlich.

Der DC/DC-Wandler wird folgendermaßen mit dem ESP32 DevKit verbunden:

DC/DC Wandler Ausgang
ESP32 DevKit Pin Bedeutung
+5V (Out+) VIN 5,0V
GND (Out-) GND GND

Es ist auf jeden Fall darauf zu achten vorher den DC/DC-Wandler an der Einstellschraube auf 5,0V einzustellen, bevor der Wandler am ESP32 DevKit benutzt wird. Anderenfalls kann der ESP32 zerstört werden.

Abb.: ESP32 DevKit Pinbelegung

Schaltung

Für die Schaltung werden nur einige Verbindungsleitungen benötigt. Die Schaltung kann man recht einfach auf einer Lochrasterplatine aufbauen.

Abb.: Schaltung

Programmierung

Die NMEA2000-Firmware kann dem Repository von GitHub entnommen werden:

https://github.com/speters/ClipperDuet2N2k