NMEA0183 Datenaustausch mit Clipper Wind Tochterdisplay

Vorab ein paar wichtige Hinweise die sie unbedingt beachten sollten.

Abb.: Clipper Wind Tochterdisplay

Das Clipper Wind Tochterdisplay ist eigentlich dazu gedacht, Wind-Daten vom Hauptgerät als NMEA0183-Telegramm MWV zu empfangen und anzuzeigen. Dazu werden NMEA0183-Daten vom Hauptgerät an das Tochterdisplay gesendet. Die Datenschnittstelle ist jedoch nicht zu RS422 kompatibel und kann nicht mit anderen Geräten verbunden werden. In dem Artikel wird gezeigt, wie man ein Seriell/USB-Adapter in Verbindung mit einer Anpassschaltung an einem Raspberry Pi nutzen kann, um Daten zu einem Clipper Wind zu senden. So lassen sich z.B. recht preiswert Winddaten aus SignalK, OpenPlotter oder AVnav mit dem Clipper Wind Tochterdisplay anzeigen.

Das Tochterdisplay wird über 3 Leitungen mit dem Hauptgerät verbunden:

Leitung  Bedeutung Bemerkung
Rot +12V Versorgungsspannung
Blau NMEA NMEA-Eingang mit 12V-Pegel, invertiert
Schirm GND Masse

Die verbaute Schnittstelle entspricht aber nicht dem RS422 Standard, so dass die Signale von Geräten anderer Hersteller nicht verarbeitet werden können. Die Schnittstelle basieren auf 12V-Signalen, die dazu noch invertiert sind. Damit kann natürlich keine Kommunikation mit üblichen Schnittstellen anderer Hersteller funktionieren. Durch Reengineering der Schnittstelle hat sich herausgestellt, dass die Schnittstellen folgende technische Spezifikation besitzen:

  • Kommunikationsart: Seriell, 8N1, RS232-ähnlich
  • Signalpegel: 12V, invertiert
  • Uniplolare Datenübertragung
  • Bezugspotenzial: GND
  • Simplexbetrieb (nur empfangen, MWV)
  • Speed: 4800 Bd NMEA Standard

Daraus ergibt sich die Notwendigkeit die Signale zu invertieren und auf 12V zu verstärken.

USB-Seriell-Wandler für die Anbindung an den Raspberry Pi

Mit einem einfachen USB-Seriell-Wandler und ein paar zusätzlichen Bauelementen kann man sich einen funktionierende Anpass-Schaltung selber aufbauen.

Abb.: Schaltplan USB-Seriell-Wandler

Der USB-Seriell-Wandler wird als erstes auf 5V TTL Signale eingestellt. Dazu gibt es einen kleinen Jumper auf der rechten Seite in der Nähe der Stiftleiste. Die Funktion der Schaltung ist recht einfach. Das Signal kommt vom TX-Ausgang des USB-Seriell-Wandlers und wird über einen 4k7 Widerstand an der Basis des Transistor angeschlossen. Die Transistorschaltung arbeitet als Inverter. Der 1k Widerstand am Kollektor des Transistors dient als PullUp-Widerstand für den NMEA-Ausgang. Der Emitter ist mit GND verbunden und bildet das Bezugssignal. Wenn über USB ein Low-Signal ankommt und über TX ausgegeben wird, dann ist der Transistor zwischen nicht leitend und der PullUp-Widerstand  zieht die Spannung am NMEA-Ausgang auf 12V. Bei einem High-Signal wird der Transistor zwischen Kollektor und Emitter leitend und verbindet den NMEA-Ausgang mit Masse. Das Signal ist dann invertiert.

Das Clipper Wind Tochterdisplay verarbeitet nur MWV NMEA0183-Telegramme. Alle anderen Telegramme die ebenfalls über die Leitung gesendet werden, ignoriert das Display. Am USB-Seriell-Wandler wird ein USB-Kabel mit einem Mini USB Stecker verwendet. Beim Raspberry Pi muss die Schnittstellengeschwindigkeit auf 4800 Bd eingestellt werden.

Achtung! Bei den niedrigen Geschwindigkeiten mit 4800 Bd muss man darauf achten, nicht zu viele Daten in zu kurzer Zeit zu senden, denn die Schnittstellengeschwindigkeit gibt das nicht in allen Fällen her. Ein Zeichen wird mit ca. 10 Bit übertragen. Mit 4800 Bd kann man also maximal 480 Zeichen pro Sekunde übertragen. Mit entsprechenden Telegramm-Filtern können Sie dafür sorgen, dass nur MWV-Telegramme zum Tochterdisplay übertragen werden.