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

Hoe NMEA-0183 te gebruiken met Arduino

Componenten en benodigdheden

Arduino UNO
× 1
RS422/RS485-schild
× 1

Over dit project

NMEA-0183 is een elektrische standaard voor het aansluiten van GPS, SONAR, sensoren, stuurautomaten etc. in schepen en boten. In tegenstelling tot de nieuwere NMEA 2000-standaard (gebaseerd op CAN) is de NMEA 0183 gebaseerd op EIA RS422 (sommige oudere en/of eenvoudige systemen gebruiken RS-232 of een enkele draad).

Ik wil je laten zien hoe je een Arduino UNO (of een andere Arduino) aansluit op elk NMEA-0183-apparaat met differentiële uitgang. Hoewel de standaard geïsoleerde inputs en outputs vereist, is het handig om ons RS422/RS485 Arduino Shield met geïsoleerde interface te gebruiken.

Verbinding met NMEA 0183

In de onderstaande afbeelding ziet u een typisch apparaat met differentiële uitvoer. De terminals zijn NMEA OUT+ en NMEA OUT- of TX+ of TX-. De NMEA IN+ en NMEA IN- draden zijn optioneel.

Als je een enkele zenddraad van je apparaat hebt (waarschijnlijk gelabeld TX of NMEA OUT of iets dergelijks), dan gebruikt je apparaat het RS-232-protocol. In dit geval heeft u een eenvoudige RS232-converter nodig.

Jumper-instelling

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

DIP-schakelaarinstelling

Firmware

Je kunt veel verschillende NMEA-0183-softwarestacks voor Arduino vinden. Een zeer goede oplossing is de NMEA-bibliotheek van Justin R Cutler

https://github.com/jrcutler/NMEA0183

Het is noodzakelijk om de pinnen voor de software UART te veranderen naar pin 2 en 3! Neem zorg dat de baud waarderen van de software uart is de hetzelfde als in uw NMEA apparaat - typisch 4800 Baud.

Proefdraaien

Na het compileren en uploaden zal het programma inkomende NMEA-protocollen decoderen. U kunt de seriële monitor openen om de gedecodeerde protocollen te zien.

Als je thuis geen NMEA-apparaat hebt, kun je in plaats van een echt apparaat ook een Simulator op je pc en een eenvoudige USB naar RS485-adapter gebruiken.

Code

  • NMEA 0183-demo
NMEA 0183-demoArduino
Parsing van NMEA 0183-protocollen
#include // komt overeen met Zihatec RS422/RS485 shieldSoftwareSerial gps(2, 3);NMEA0183 nmea;void setup(){ while (!Serial); Serieel.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()); Serieel.println(); } }}

Productieproces

  1. C# Queue met voorbeelden:wat is C# Queue en hoe te gebruiken?
  2. IR-afstandsbedieningen hacken
  3. Een Roomba-robot besturen met Arduino en Android-apparaat
  4. Hoe Arduino Mega te interfacen met NEO-6M GPS-module
  5. De temperatuur en vochtigheid op Blynk aflezen met DHT11
  6. Hoe gemakkelijk is het om een ​​thermistor te gebruiken?!
  7. Muziek maken met een Arduino
  8. Modbus gebruiken met Arduino
  9. Automatische apparaattester met Arduino
  10. HID-compatibele UPS met Arduino
  11. Hoe een snijmolen te gebruiken