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

So verwenden Sie NMEA-0183 mit Arduino

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
RS422 / RS485-Abschirmung
× 1

Über dieses Projekt

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 NMEA 0183 auf EIA RS422 (einige ältere und/oder einfache Systeme verwenden RS-232 oder ein einzelnes Kabel).

Ich möchte Ihnen zeigen, wie Sie ein Arduino UNO (oder ein anderes Arduino) an ein beliebiges NMEA-0183-Gerät mit Differenzausgang anschließen. Obwohl der Standard isolierte Ein- und Ausgänge fordert, ist es sinnvoll, unser RS422/RS485 Arduino Shield mit isolierter Schnittstelle zu verwenden.

Verbindung zu NMEA 0183

Im Bild unten 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 (wahrscheinlich mit TX oder NMEA OUT oder so ähnlich gekennzeichnet), verwendet Ihr Gerät das RS-232-Protokoll. In diesem Fall benötigen Sie einen einfachen RS232-Konverter.

Jumper-Einstellung

  • UART RX auf Position 2
  • UART TX auf Position 3
  • Spannung an Position 5V

DIP-Schaltereinstellung

Firmware

Sie können viele verschiedene NMEA-0183-Softwarestacks für Arduino finden. Eine sehr gute Lösung ist die NMEA-Bibliothek von Justin R Cutler

https://github.com/jrcutler/NMEA0183

Es ist notwendig, die Pins für den Software-UART auf Pin 2 und 3 zu ändern! Nehmen Pflege das die Baud Preis von die Software uart ist die gleich als in Ihre NMEA Gerät - typisch 4800 Baud.

Testlauf

Nach dem Kompilieren und Hochladen dekodiert das Programm eingehende NMEA-Protokolle. Sie können den seriellen Monitor öffnen, um die dekodierten Protokolle anzuzeigen.

Wenn Sie kein NMEA-Gerät zu Hause haben, können Sie anstelle eines echten Geräts auch einen Simulator auf Ihrem PC und einen einfachen USB-zu-RS485-Adapter verwenden.

Code

  • NMEA 0183-Demo
NMEA 0183-DemoArduino
Analysieren von NMEA 0183-Protokollen
#include // entspricht Zihatec RS422/RS485 ShieldSoftwareSerial gps(2, 3);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#-Warteschlange mit Beispielen:Was ist C#-Warteschlange und wie wird sie verwendet?
  2. Wie man IR-Fernbedienungen hackt
  3. Steuerung eines Roomba-Roboters mit Arduino und Android-Gerät
  4. Wie man Arduino Mega mit dem NEO-6M GPS-Modul verbindet
  5. So liest man Temperatur und Luftfeuchtigkeit auf Blynk mit DHT11
  6. Wie einfach ist es, einen Thermistor zu verwenden?!
  7. Wie man mit einem Arduino Musik macht
  8. So verwenden Sie Modbus mit Arduino
  9. Automatischer Gerätetester mit Arduino
  10. So verwenden Sie einen Cutter Grinder