Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Como usar NMEA-0183 com Arduino

Componentes e suprimentos

Arduino UNO
× 1
RS422 / RS485 Shield
× 1

Sobre este projeto


NMEA-0183 é um padrão elétrico para conectar GPS, SONAR, sensores, unidades de piloto automático, etc. em navios e barcos. Diferente do padrão NMEA 2000 mais recente (baseado em CAN), o NMEA 0183 é baseado em EIA RS422 (alguns sistemas mais antigos e / ou simples usam RS-232 ou um único fio).

Quero mostrar a você como conectar um Arduino UNO (ou qualquer outro Arduino) a qualquer dispositivo NMEA-0183 com saída diferencial. Embora o padrão exija entradas e saídas isoladas, é útil usar nosso RS422 / RS485 Arduino Shield com interface isolada.





Conexão com NMEA 0183


Na imagem abaixo você pode ver um dispositivo típico com saída diferencial. Os terminais são NMEA OUT + e NMEA OUT- ou TX + ou TX-. Os fios NMEA IN + e NMEA IN- são opcionais.

Se você tiver um único fio de transmissão de seu dispositivo (provavelmente rotulado como TX ou NMEA OUT ou algo parecido), então seu dispositivo usa o protocolo RS-232. Neste caso, você precisará de um conversor RS232 simples.





Configuração de jumpers

  • UART RX para a posição 2
  • UART TX para a posição 3
  • Tensão para posição 5V





Configuração do interruptor DIP





Firmware


Você pode encontrar várias pilhas de software NMEA-0183 diferentes para Arduino. Uma solução muito boa é a biblioteca NMEA de Justin R Cutler

https://github.com/jrcutler/NMEA0183

É necessário alterar os pinos do software UART para os pinos 2 e 3! Pegue cuidado isso o baud taxa de o software uart é o mesmo como em seu NMEA dispositivo - típico 4800 Baud.





Execução de teste


Após a compilação e o upload, o programa decodificará os protocolos NMEA de entrada. Você pode abrir o monitor serial para ver os protocolos decodificados.

Se você não tem nenhum dispositivo NMEA em casa, você também pode usar um Simulador no seu PC e um adaptador USB para RS485 simples em vez de um dispositivo real.


Código

  • Demonstração NMEA 0183
Demonstração NMEA 0183 Arduino
Analisando protocolos NMEA 0183
 #include  // corresponde a Zihatec RS422 / RS485 shieldSoftwareSerial gps (2, 3); NMEA0183 nmea; void setup () {while (! Serial); Serial.begin (115200); gps.begin (4800); Serial.println ("teste do analisador NMEA0183");} void loop () {if (gps.available ()) {char c =gps.read (); if (nmea.update (c)) {Serial.print ("NMEA0183 frase aceita ("); Serial.print (nmea.getFields ()); Serial.print ("campos):"); Serial.write (nmea.getSentence ()); Serial.println (); }}} 

Processo de manufatura

  1. C# Queue com Exemplos:O que é C# Queue e como usar?
  2. Como hackear IR Remotes
  3. Controle de um robô Roomba com Arduino e dispositivo Android
  4. Como fazer a interface do Arduino Mega com o Módulo GPS NEO-6M
  5. Como ler a temperatura e umidade em Blynk com DHT11
  6. Quão fácil é usar um termistor ?!
  7. Como fazer música com um Arduino
  8. Como usar o Modbus com Arduino
  9. Testador de dispositivo automático com Arduino
  10. Como usar um moedor de corte