Модули GPS являются одними из важнейших компонентов устройств IoT. Они в основном используются для определения координат текущего местоположения и многого другого. В этой статье мы рассмотрим методы устранения неполадок для модулей GPS, особенно популярного модуля NEO-6M GPS от компании U-blox.
Обратите внимание на то, что мы написали это руководство, предполагая, что вы используете модуль NEO 6M GPS с Arduino UNO, но вы также можете следовать инструкциям для других плат разработки, таких как ESP32, Arduino Nano или даже Raspberry Pi. Мы просто проверяем работу модуля NEO 6M GPS, подключив его к преобразователю USB в UART, как только мы убедимся, что оборудование работает, мы можем подключить его к одной из плат разработки/микроконтроллеру, чтобы заставить наши проекты GPS работать.
На нашем сайте мы подключали GPS модуль NEO 6M к следующим микроконтроллерам/платам:
- к микроконтроллеру AVR;
- к модулю ESP32 (в этой статье есть и подробное описание данного модуля);
- к плате Raspberry Pi;
- к плате MSP430G2 Launchpad;
- к плате Arduino Uno;
- к плате STM32F103C8 (Blue Pill).
Все проекты на нашем сайте, использующие технологию GPS, вы можете посмотреть по этой ссылке. Возможно, вам также будет интересна статья как выбрать GPS модуль для своего проекта.
Быстрые шаги по устранению неполадок модуля Neo 6M GPS
Если ваш модуль GPS Neo 6M не работает, вот 5 важных вещей, которые следует проверить:
-
Проверьте подключение питания (от 3,3 В до 5 В).
-
Проверьте подключение антенны.
-
Подтвердите настройки скорости передачи данных (9600).
-
Тестовый выход NMEA.
-
Проверьте прием спутникового сигнала.
В таблице ниже также приведены общие проблемы, возникающие при использовании GPS-модуля Neo 6M, и способы их решения.
Проблема | Причина | Способ решения |
Светодиод не мигает | Плохой прием спутникового сигнала | Переместить антенну |
Нет данных NMEA | Неправильная скорость передачи данных | Установить скорость передачи данных на 9600 бод |
Неверное местоположение | Недостаточно спутников | Перейти на открытую территорию |
Если вы попробовали решить проблему с неработающим Neo 6m GPS с помощью этих советов и у вас не получилось - не волнуйтесь. Мы собираемся глубоко погрузиться в этот модуль и поделиться с вами нашими знаниями и опытом, чтобы вы смогли заставить его работать в кратчайшие сроки. Итак, давайте начнем с основ работы модуля Neo 6m GPS.
Модуль GPS U-blox Neo 6M
Серия модулей Neo 6 — самая популярная среди модулей GPS от компании U-blox, широко используемая для приложений позиционирования и навигации. Этот модуль отличается компактным дизайном и обеспечивает высокоточные данные GPS, поддерживая ряд применений, таких как робототехника, дроны и проекты IoT.
Модуль оснащен движком u-blox 6, который обеспечивает быстрое и надежное спутниковое позиционирование с поддержкой нескольких навигационных систем. Он также обеспечивает эффективное энергопотребление, что делает его идеальным для приложений с питанием от батареи. Благодаря возможности отслеживать несколько спутников NEO-6M является универсальным и надежным решением GPS для различных проектов.
Однако одна из проблем с модулем GPS NEO-6M заключается в том, что версия с кристаллом и ПЗУ достигла конца своего жизненного цикла. Это означает, что больше нет официальной поддержки от команды U-blox. Рекомендуется рассмотреть их расширенную серию, если вы работаете над новыми продуктами. Это не значит, что NEO-6M непригоден для использования; это просто более старое поколение модулей.
Теперь, когда мы рассмотрели основы Neo-6M, давайте перейдем к методам устранения неисправностей, которые могут возникать при работе с данным модулем.
Модуль GPS NEO 6M не работает?
Если вы попробовали свой первый проект с модулем NEO 6M GPS и все работает не так, как вы ожидали, не волнуйтесь, вы не одиноки.
Наш план заключается в том, чтобы подключить модуль GPS к компьютеру с помощью любого метода UART-to-USB и подтвердить источник проблемы — связан ли он с оборудованием или программным обеспечением. Как только проблема будет определена, мы сможем решить ее соответствующим образом.
Проблемы с подключением модуля GPS Neo 6M
Наиболее распространенная проблема при использовании модуля NEO6M GPs возникает с проводкой, поэтому сначала давайте убедимся в правильности соединений.
Поскольку у меня есть мост USB-UART на базе CP2102, я использую его. Ниже вы можете увидеть правильную схему, которую нужно использовать в данном случае. Пожалуйста, убедитесь, что вы используете тонкие перемычки для подключения. Иногда из-за этого также может возникнуть проблема. Аналогично следует проверить провод антенны.
Более наглядно эта схема соединений показана на следующем рисунке.
При подключении GPS-модуля NEO 6M к любой плате разработки, например Arduino, следует обратить внимание на два ключевых момента:
A. Соединение между мостом USB-UART (или микроконтроллером) и модулем GPS:
Обычно есть четыре провода, два для сигналов и два для питания. Модуль включает в себя встроенный регулятор напряжения, поэтому он принимает диапазон напряжения от 3,3 В до 5 В. Сигнальные контакты TX и RX должны быть подключены к RX и TX моста USB-UART соответственно.
Б. Соединение между антенной и модулем GPS:
Обычно модуль имеет разъем IPEX. Если вы подозреваете проблемы, очистите разъемы изопропиловым спиртом и надежно закрепите их. Проверьте, нет ли ослабленных контактов, и при необходимости используйте небольшие плоскогубцы, чтобы слегка согнуть металлическую зажимную часть разъема, чтобы обеспечить надежное соединение.
Если все соединения идеальны, модуль должен работать нормально. Если нет, переходим к следующему шагу.
Модуль Neo 6M GPS не отвечает (нет выходного сигнала)
Предполагая, что проблем с подключением нет, теперь проверим вывод NMEA с порта UART NEO-6M.
Модуль NEO-6M по умолчанию выводит данные NMEA через свой передающий вывод без каких-либо триггеров. Для просмотра данных вам необходимо установить скорость передачи данных вашей программы последовательного мониторинга на скорость передачи данных NEO-6M по умолчанию, которая составляет «9600».
Далее перейдем к аппаратному разделу.
Если у вас есть USB to Serial Bridge/Debugger, вы можете использовать его. В качестве альтернативы вы можете использовать Arduino Uno или любой другой микроконтроллер в качестве моста USB to UART. Код для преобразования Arduino Uno в мост USB UART можно найти в репозитории Git.
С работающим конвертером USB-to-Serial (USB в COM порт) подключите схему, показанную выше. Затем определите номер порта связи подключенного устройства, например, «COM3».
Откройте Arduino IDE и SerialMonitor. Установите скорость передачи данных на «9600». Если модуль работает, вы должны увидеть непрерывно печатаемый текст. Это означает, что модуль работает нормально и не имеет существенных повреждений.
Если данные не печатаются, это, скорее всего, означает, что модуль не получает достаточно спутниковых сигналов. Для точного определения местоположения необходимо не менее четырех спутниковых сигналов. Без определения местоположения в последовательности NMEA не будет данных.
После обнаружения достаточного количества спутников светодиод на модуле GPS начнет мигать с интервалом в 1 секунду. Если мигания нет, модуль все еще ищет спутниковый сигнал. Теперь перейдем к анализу данных.
Как исправить проблемы с подключением GPS NEO-6M
Если все вышеперечисленное прошло успешно, теперь нам нужно проверить данные о местоположении в последовательности NMEA.
В серии данных предложение, начинающееся с $GPGLL, содержит данные о местоположении и времени. Остальное также содержит некоторую важную информацию, используемую продвинутыми пользователями.
Предложение $GPGLL имеет следующий формат:
$GPGLL, latitude, latitude direction, longitude, longitude direction, time, validity, mode*checksum
($GPGLL, широта, направление широты, долгота, направление долготы, время, валидность, режим*контрольная сумма)
Разбор предложения GPGLL:
Ниже приведен разбор предложения $GPGLL, выделенного на изображении выше.
-
Широта: 1100.66582 — это широта в градусах и минутах. Это 11 градусов и 00.66582 минут северной широты.
-
Направление широты: N — указывает на широту Северного полушария (для Южного полушария это будет S).
-
Долгота: 07700.79231 — это долгота в градусах и минутах. Это 77 градусов и 00.79231 минут восточной долготы.
-
Направление долготы: E — указывает на то, что долгота находится в Восточном полушарии (для Западного полушария это будет W).
-
Время: 102351.00 — это время UTC в формате HHMMSS.sss (10:23:51.000 UTC).
-
Достоверность: A — это означает, что данные достоверны, что указывает на то, что GPS имеет хорошее спутниковое позиционирование (если бы это было значение V, это означало бы, что данные недостоверны).
-
Режим: A — это автономный режим, то есть GPS использует собственные внутренние вычисления для определения местоположения.
-
Контрольная сумма: *6C — необходима для проверки ошибок, чтобы убедиться, что данные не повреждены.
В заключение, мы получили ценные знания о правильном использовании модуля GPS NEO-6M и эффективном получении данных от него. Понимание структуры предложений NMEA и того, как интерпретировать информацию, предоставляемую GPS, позволяет нам использовать модуль в различных приложениях, таких как навигация, отслеживание местоположения и синхронизация времени.
Для получения дополнительной информации вы можете обратиться к разделу часто задаваемых вопросов, где дополнительные ресурсы и ответы на распространенные вопросы помогут вам глубже погрузиться в тему и расширить свои знания.
Распространенные проблемы с GPS-модулем и их решения
Светодиод не мигает на NEO-6M?
Единственный светодиод на модуле NEO-6M не является индикатором питания, но служит индикатором состояния. Светодиод подключен к выводу Time Pulse Output модуля NEO-6M. По умолчанию он действует как индикатор определения положения. Вот как ведет себя светодиод на модуле NEO 6M GPs.
Не мигает: Модуль NEO-6M ищет спутниковый сигнал.
Мигает каждую секунду: Модуль NEO-6M обнаружил достаточно спутников, чтобы определить свое положение.
Если светодиод вашего модуля мигает с интервалом в 1 секунду, он работает правильно.
Модуль GPS NEO-6M не подключается к спутнику?
Размещение антенны имеет решающее значение для правильного приема сигналов со спутников. Следуйте этим рекомендациям, чтобы убедиться, что ваш модуль NEO 6M GPS может подключиться к спутнику.
-
Расположите излучающую сторону антенны (верхнюю металлическую пластину) обращенной вверх, к небу.
-
Избегайте нахождения вблизи препятствий, таких как стены, крыши или металлические предметы, которые могут блокировать или отражать сигналы GPS.
-
Поместите GPS-модуль на непроводящую поверхность, чтобы предотвратить искажение сигнала.
-
Располагайте антенну вдали от источников электромагнитных помех (ЭМП), таких как маршрутизаторы Wi-Fi, двигатели или мощная электроника.
-
Если вы используете несколько модулей, держитесь на расстоянии от других антенн, чтобы избежать перекрестных помех.
-
Убедитесь, что антенный кабель не изогнут слишком сильно и не поврежден, так как это может ухудшить качество сигнала.
-
При использовании на открытом воздухе защитите антенну от воздействия окружающей среды, например, дождя, пыли или экстремальных температур, используя соответствующие кожухи.
Устранение неполадок с данными NMEA модуля GPS
National Marine Electronics Association (NMEA) — это стандартный формат данных, широко используемый в системах GPS. Предложение $GPGLL в данных NMEA предоставляет важную информацию о географическом местоположении, включая широту, долготу, время UTC и действительность исправления.
Однако есть и другие предложения, такие как DTM, GBS, GGA, GLL, GPQ, GRS, GSA, GST, GSV, RMC, THS, TXT и VTG. Чтобы узнать больше об этом, обратитесь к официальному описанию приемника U-blox.
25 просмотров