Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Comment utiliser NMEA-0183 avec Arduino

Composants et fournitures

Arduino UNO
× 1
Bouclier RS422 / RS485
× 1

À propos de ce projet

NMEA-0183 est une norme électrique pour connecter le GPS, le SONAR, les capteurs, les unités de pilotage automatique, etc. dans les navires et les bateaux. Contrairement à la nouvelle norme NMEA 2000 (basée sur CAN), la NMEA 0183 est basée sur EIA RS422 (certains systèmes plus anciens et/ou simples utilisent RS-232, ou un seul fil).

Je veux vous montrer comment connecter un Arduino UNO (ou tout autre Arduino) à n'importe quel appareil NMEA-0183 avec sortie différentielle. Bien que la norme appelle des entrées et sorties isolées, il est utile d'utiliser notre RS422/RS485 Arduino Shield avec interface isolée.

Connexion à NMEA 0183

Dans l'image ci-dessous, vous pouvez voir un appareil typique avec une sortie différentielle. Les terminaux sont NMEA OUT+ et NMEA OUT- ou TX+ ou TX-. Les fils NMEA IN+ et NMEA IN- sont en option.

Si vous avez un seul fil de transmission de votre appareil (probablement étiqueté TX ou NMEA OUT ou quelque chose comme ça), alors votre appareil utilise le protocole RS-232. Dans ce cas, vous aurez besoin d'un simple convertisseur RS232.

Réglage du cavalier

  • UART RX à la position 2
  • UART TX à la position 3
  • Tension à la position 5V

Réglage du commutateur DIP

Micrologiciel

Vous pouvez trouver de nombreuses piles logicielles NMEA-0183 différentes pour Arduino. Une très bonne solution est la bibliothèque NMEA de Justin R Cutler

https://github.com/jrcutler/NMEA0183

Il est nécessaire de changer les broches du logiciel UART en broches 2 et 3 ! Prenez soins que le baud noter de le logiciel uart est le même comme dans votre NMEA appareil - typique 4800 Bauds.

Test de fonctionnement

Après la compilation et le téléchargement, le programme décodera les protocoles NMEA entrants. Vous pouvez ouvrir le moniteur série pour voir les protocoles décodés.

Si vous n'avez pas d'appareil NMEA chez vous, vous pouvez également utiliser un simulateur sur votre PC et un simple adaptateur USB vers RS485 au lieu d'un vrai appareil.

Code

  • Démo NMEA 0183
Démo NMEA 0183Arduino
L'analyse des protocoles NMEA 0183
#include // correspond à 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("phrase NMEA0183 acceptée ("); Serial.print(nmea.getFields()); Serial.print ("champs):"); Serial.write(nmea.getSentence()); Serial.println(); } }}

Processus de fabrication

  1. File d'attente C# avec exemples :qu'est-ce que la file d'attente C# et comment l'utiliser ?
  2. Comment pirater des télécommandes infrarouges
  3. Contrôler un robot Roomba avec Arduino et un appareil Android
  4. Comment interfacer Arduino Mega avec le module GPS NEO-6M
  5. Comment lire la température et l'humidité sur Blynk avec DHT11
  6. Est-il facile d'utiliser une thermistance ? !
  7. Comment faire de la musique avec un Arduino
  8. Comment utiliser Modbus avec Arduino
  9. Comment utiliser une meuleuse de coupe