Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino Verbinden met NMEA‑0183: Stap‑voor‑Stap Handleiding

Onderdelen en Benodigdheden

OnderdeelAantal
Arduino UNO (of compatibel)1
RS422/RS485 Shield met geïsoleerde interface1

Over dit Project

NMEA-0183 is een elektriciteitsstandaard voor het verbinden van GPS, sonar, sensoren en autopiloten op schepen. In tegenstelling tot NMEA 2000 (CAN-gebaseerd) gebruikt NMEA-0183 EIA RS422 (soms RS-232 of enkele draad). Deze handleiding laat zien hoe je een Arduino UNO koppelt aan elk NMEA-0183-apparaat met differentiële uitgang, gebruikmakend van een RS422/RS485-shield met galvanische isolatie.

Aansluiting op NMEA-0183

Typische apparaten hebben terminales gemarkeerd als NMEA OUT+ / OUT- of TX+ / TX-. De IN-draden zijn optioneel. Als je apparaat slechts één transmit-draad heeft (vaak TX of NMEA OUT), dan gebruikt het RS-232; dan heb je een simpele RS232-converter nodig.

Jumper-instellingen op de Shield

  • UART RX → positie 2
  • UART TX → positie 3
  • Spanning → 5V

DIP-switch Instellingen

Zet de DIP-switches conform de afbeelding voor RS422-modus met terminating resistor ingeschakeld.

Firmware & Bibliotheek

Gebruik de NMEA0183-bibliotheek van Justin R. Cutler: GitHub.

Belangrijk: Wijzig de software-UART pinnen naar 2 (RX) en 3 (TX). Zorg dat de baudrate (standaard 4800 baud) overeenkomt met je NMEA-apparaat.

Testen

Na uploaden opent u de seriële monitor om gedecodeerde NMEA-zinnen te zien. Geen echt apparaat? Gebruik een PC-simulator (bijv. NMEA Simulator) met een USB-naar-RS485-adapter.

Voorbeeldcode

#include <NMEA0183.h>
SoftwareSerial gps(2, 3); // RX, TX op pinnen 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 zin geaccepteerd (");
      Serial.print(nmea.getFields());
      Serial.print(" velden): ");
      Serial.write(nmea.getSentence());
      Serial.println();
    }
  }
}

Productieproces

  1. Bouw een Universele IR-remote met Arduino: Stap-voor-stap Handleiding
  2. Bestuur Je Roomba Create 2 Met Arduino En Android: Stapsgewijze Handleiding
  3. Arduino Mega koppelen aan een NEO‑6M GPS-module: stapsgewijze handleiding
  4. Temperatuur en Vochtigheid met DHT11 op Blynk - Stap-voor-Stap Arduino Tutorial
  5. Thermistor Gebruik Gemaakt Eenvoudig: Stap-voor-Stap Arduino Handleiding
  6. Maak Muzikale Tonen met Arduino: Stapsgewijze Handleiding
  7. Modbus op Arduino onder de knie: Stapsgewijze handleiding
  8. Betrouwbare Arduino-tester voor Power Blough-R-apparaten
  9. Arduino-aangedreven HID UPS: Upgrade je dummy voeding naar USB-compatibele backup
  10. Freesmes Slijper Technieken Beheersen: Een Praktische Gids
  11. C# Queues Beheersen: Enqueue, Dequeue en First-In-First-Out Operaties Uitgelegd