Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
NMEA-0183 ist ein elektrischer Standard zum Anschluss von GPS, SONAR, Sensoren, Autopilot-Einheiten etc. in Schiffen und Booten. Im Gegensatz zum neueren NMEA 2000-Standard (basierend auf CAN) basiert die NMEA 0183 auf EIA RS422 (einige ältere und/oder einfache Systeme verwenden RS-232 oder ein einzelnes Kabel).
Ich möchte Ihnen in diesem anweisbaren zeigen, wie Sie ein Arduino UNO (oder ein anderes Arduino) mit einem NMEA-0183-Gerät verbinden. Obwohl der Standard isolierte Ein- und Ausgänge fordert, ist es sinnvoll, unser RS422/RS485 Arduino Shield mit isolierter Schnittstelle zu verwenden.
Schritt 1: Werkzeuge & Materialien
Werkzeuge & Materialien
- Arduino UNO
- RS485-Schild für Arduino
- jedes NMEA-0183-Gerät mit Differenzausgang
Software
Arduino-IDE
Schritt 2: Verbindung zu NMEA 0183
Im Bild oben sehen Sie ein typisches Gerät mit Differenzausgang. Die Anschlüsse sind NMEA OUT+ und NMEA OUT- oder TX+ oder TX-. Die Kabel NMEA IN+ und NMEA IN- sind optional.
Wenn Sie ein einzelnes Übertragungskabel von Ihrem Gerät haben (höchstwahrscheinlich mit TX oder NMEA OUT oder ähnlichem gekennzeichnet), verwendet Ihr Gerät das RS-232-Protokoll. In diesem Fall benötigen Sie einen einfachen RS232-Konverter.
Schritt 3: Jumper-Einstellung
- UART RX auf Position 2
- UART TX auf Position 3
- Spannung an Position 5V
Schritt 4: DIP-Schaltereinstellung
Schritt 5: Firmware
Sie können viele verschiedene NMEA-0138-Softwarestacks für Arduino finden. Eine sehr gute Lösung ist der NMEA-Stack von Eric Barch:
github.com/ericbarch/arduino-libraries/tree/master/NMEA