Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Как использовать NMEA-0183 с Arduino

Компоненты и расходные материалы

Arduino UNO
× 1
RS422 / RS485 Shield
× 1

Об этом проекте

NMEA-0183 - это электрический стандарт для подключения GPS, SONAR, датчиков, устройств автопилота и т. Д. На судах и лодках. В отличие от более нового стандарта NMEA 2000 (основанного на CAN), NMEA 0183 основан на EIA RS422 (в некоторых старых и / или простых системах используется RS-232 или однопроводной).

Я хочу показать вам, как подключить Arduino UNO (или любой другой Arduino) к любому устройству NMEA-0183 с дифференциальным выходом. Хотя стандарт требует изолированных входов и выходов, полезно использовать наш RS422 / RS485 Arduino Shield с изолированным интерфейсом.

Подключение к NMEA 0183

На картинке ниже вы можете увидеть типичное устройство с дифференциальным выходом. Клеммы - это NMEA OUT + и NMEA OUT- или TX + или TX-. Провода NMEA IN + и NMEA IN- не являются обязательными.

Если у вас есть единственный провод передачи от вашего устройства (скорее всего, с маркировкой TX или NMEA OUT или что-то в этом роде), то ваше устройство использует протокол RS-232. В этом случае вам понадобится простой преобразователь RS232.

Установка перемычки

  • UART RX в позицию 2
  • UART TX в позицию 3
  • Напряжение в позиции 5 В

Настройка DIP-переключателя

Прошивка

Вы можете найти множество различных программных стеков NMEA-0183 для Arduino. Очень хорошее решение - библиотека NMEA от Джастина Р. Катлера

https://github.com/jrcutler/NMEA0183

Необходимо поменять контакты программного UART на контакты 2 и 3! Возьмите забота это the бод оценка из the программное обеспечение uart равно the то же как в ваш NMEA устройство - типичный 4800 Бод.

Тестовый прогон

После компиляции и загрузки программа будет декодировать входящие протоколы NMEA. Вы можете открыть последовательный монитор, чтобы увидеть декодированные протоколы.

Если у вас дома нет устройства NMEA, вы также можете использовать симулятор на своем ПК и простой адаптер USB-RS485 вместо реального устройства.

Код

  • Демонстрация NMEA 0183
Демонстрация NMEA 0183 Arduino
Анализ протоколов NMEA 0183
 #include  // соответствует Zihatec RS422 / RS485 shieldSoftwareSerial gps (2, 3); NMEA0183 nmea; void setup () {while (! Serial); Serial.begin (115200); gps.begin (4800); Serial.println ("тест синтаксического анализатора NMEA0183");} void loop () {if (gps.available ()) {char c =gps.read (); if (nmea.update (c)) {Serial.print ("Предложение NMEA0183 принято ("); Serial.print (nmea.getFields ()); Serial.print ("поля):"); Serial.write (nmea.getSentence ()); Serial.println (); }}} 

Производственный процесс

  1. Очередь C# с примерами:что такое очередь C# и как ее использовать?
  2. Как взломать ИК-пульты
  3. Управление роботом Roomba с помощью Arduino и устройства Android
  4. Как связать Arduino Mega с GPS-модулем NEO-6M
  5. Как читать температуру и влажность на Blynk с DHT11
  6. Насколько легко использовать термистор ?!
  7. Как создавать музыку с помощью Arduino
  8. Как использовать Modbus с Arduino
  9. Автоматический тестер устройств с Arduino
  10. Как использовать шлифовальный станок