Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino an NMEA‑0183 anschließen: Schritt-für-Schritt-Anleitung

Komponenten und Materialien

Arduino UNO (oder kompatibel) 1
RS422/RS485 Shield mit isolierter Schnittstelle 1

Projektübersicht

NMEA-0183 ist ein elektrischer Standard zur Verbindung von GPS, Sonar, Sensoren und Autopiloten in der Schifffahrt. Im Gegensatz zum neueren NMEA 2000 (CAN-basiert) nutzt NMEA 0183 die EIA RS422 (manchmal auch RS-232 oder Einzelleiter). Dieses Tutorial zeigt, wie Sie einen Arduino UNO (oder jedes andere Arduino-Board) an ein NMEA-0183-Gerät mit differentieller Ausgabe anschließen. Obwohl der Standard isolierte Ein-/Ausgänge fordert, ist ein RS422/RS485-Shield mit isolierter Schnittstelle eine praktische Lösung.

Anschluss an NMEA 0183

Typische Geräte verfügen über differenzielle Ausgänge: NMEA OUT+ und NMEA OUT- (oder TX+/TX-). Die Eingänge NMEA IN+ und IN- sind optional.

Arduino an NMEA‑0183 anschließen: Schritt-für-Schritt-Anleitung

Falls Ihr Gerät nur einen einzelnen Sendeleiter besitzt (oft als TX oder NMEA OUT bezeichnet), handelt es sich um RS-232. In diesem Fall benötigen Sie einen einfachen RS232-Wandler (z. B. MAX232).

Jumper-Einstellung am Shield

Arduino an NMEA‑0183 anschließen: Schritt-für-Schritt-Anleitung

DIP-Schalter-Einstellung

Arduino an NMEA‑0183 anschließen: Schritt-für-Schritt-Anleitung

Die DIP-Schalter konfigurieren den Shield für RS422-Voll-duplex-Betrieb (Terminierung, Biasing). Die genaue Belegung entnehmen Sie dem Datenblatt des Shields.

Firmware / Software

Es gibt diverse NMEA-0183-Bibliotheken für Arduino. Eine empfehlenswerte ist die NMEA0183-Bibliothek von Justin R. Cutler: GitHub-Repository.

Wichtig: Ändern Sie in der Bibliothek die Pins für die Software-UART auf Pin 2 (RX) und Pin 3 (TX). Stellen Sie sicher, dass die Baudrate der Software-UART mit Ihrem NMEA-Gerät übereinstimmt – typischerweise 4800 Baud.

Testlauf

Nach dem Hochladen des Sketches decodiert das Programm eingehende NMEA-Sätze. Öffnen Sie den seriellen Monitor (115200 Baud), um die dekodierten Datensätze anzuzeigen.

Falls kein echtes NMEA-Gerät zur Hand ist, können Sie einen Simulator auf dem PC (z. B. NMEA Simulator) und einen USB-RS485-Adapter verwenden.

Arduino an NMEA‑0183 anschließen: Schritt-für-Schritt-Anleitung

Beispielcode

#include <NMEA0183.h> // passt zum Zihatec RS422/RS485 Shield
SoftwareSerial gps(2, 3); // RX, TX
NMEA0183 nmea;

void setup() {
  while (!Serial);
  Serial.begin(115200);
  gps.begin(4800);
  Serial.println("NMEA0183 Parser Test");
}

void loop() {
  if (gps.available()) {
    char c = gps.read();
    if (nmea.update(c)) {
      Serial.print("NMEA0183 Satz akzeptiert (");
      Serial.print(nmea.getFields());
      Serial.print(" Felder): ");
      Serial.write(nmea.getSentence());
      Serial.println();
    }
  }
}

Herstellungsprozess

  1. C# Queues meistern: Enqueue, Dequeue und First-In-First-Out Operationen erklärt
  2. Universelle IR-Fernbedienung mit Arduino bauen: Schritt-für-Schritt-Anleitung
  3. Roomba Create 2 per Arduino & Android steuern – Schritt-für-Schritt
  4. Arduino Mega mit NEO‑6M GPS-Modul verbinden: Schritt-für-Schritt-Anleitung
  5. Temperatur & Luftfeuchte mit DHT11 auf Blynk auslesen – Arduino-Tutorial Schritt für Schritt
  6. Thermistor (NTC) einfach nutzen: Schritt-für-Schritt Arduino-Anleitung
  7. Musikalische Töne mit Arduino erzeugen: Schritt-für-Schritt-Anleitung
  8. Modbus auf Arduino meistern: Schritt-für-Schritt-Anleitung
  9. Zuverlässiger Arduino-basierter Gerätetester für Power Blough-R Produkte
  10. Schleiftechniken für Werkzeugschleifmaschinen meistern: Praktischer Leitfaden