Долго не получалось подружить модуль Eagle Tree GPS v4 с
MegaPirateNG на контроллере Crius AIO Pro.
Модуль базируется на чипе Mediatek 3329 и может выдавать координаты с частотой 10Hz.
Назначение выводов и исходные настройки
Настройки последовательного порта для подключения к компьютеру: скорость 38400, 8N1.
На модуле установлен светодиод. После включения он мигает с частотой 1 Hz до передачи первого 3D fix.
После того как спутники найдены светодиод погасает.
Питание (красн) - возможно подключение как 3.3в так и с 5в.
Общий (белый)
Rx (желтый)) - принимаемые модулем данные
Tx (коричневый) - передаваемые модулем данные
Для корректной работы модуля в системе EagleTree требуется настроить передачу следующих типов сообщений:
GGA(1hz/5hz/10hz), GSA(1hz), RMC(1hz/5hz/10hz)
Штатная утилита для настройки и проверки модулей Mediatek - MiniGPS v1.4
Если у Вас есть gps модуль производства Mediatek, то для его настройки и диагностики поставляется утилита MiniGPS.
Кроме того настроить все необходимые параметры:
- частоту передачи для каждого типа сообщений
- частоту передачи 3D-fix
- скорость порта
- управлять средствами повышения точности позиционирования
Программа позволяет установить Fix Update Rate 10Hz. Для этого надо ввести 10 вручную (этого варианта в выпадающем окошке нет).
Во вкладке About можно узнать версию прошивки модуля.
Подключение к Cirus All In One Pro
Сигнальные линии GPS подключается к выводам TX2 и RX2 разъема с последовательными портами (S1/S2/S3).
Экспериментально установил что наилучший для меня вариант подключения питания - взять 5в с порта I2C.
Перенес разъем на модуль, затянул модуль в термоусадку.
Можно взять питание с вывода Vcc разъема с последовательными портами.
В этом случае нужно подключить внешнее питание и убрать перемычку Esc Bridge с платы. Если внешнее напряжение больше 5в, нужно установить стабилизатор.
Скорость порта задается в MegaPirateNG.
#define SERIAL2_BAUD 38400 // GPS port
Светодиод отвечающий за индикацию наличия GPS на плате - C (зеленый).
Возможные режимы индикации:
- не горит - MegaPirate не видит GPS модуля
- мигает - GPS модуль определен, необходимое кол-во спутников для навигации не найдено
- горит - GPS модуль определен, получен 3D fix. Возможна навигация по GPS.
Обновление firmware модуля EagleTree GPS v4
Модуль поддерживает обновление firmware. После множества проб и ошибок выяснил следующее
Для работы с Arducopter необходима последняя версия прошивки. Сейчас это AXN1.50_2366. Скачать можно тут
http://code.google.com/p/ardupilot/wiki/MediaTekПосле обновления на модуле выставляется скорость 9600. Для определения модуля её нужно изменить на 38400, используя MiniGPS.
MegaPirateNG с этой версией работает только в режиме NMEA.
#define GPS_PROTOCOL GPS_PROTOCOL_NMEA
В вариантах MTK16 и AUTO у меня с этой прошивкой Mission Planner отображал NoGPS, в консоли MegaPirateNG писал GPS Disabled.
В проекте MegaPirateNG используются библиотеки gps от ardupirates. Корректная работа возможна с firmware версии AXN1.30_2389 скачать можно тут
http://code.google.com/p/ardupirates/downloads/list #define GPS_PROTOCOL GPS_PROTOCOL_MTK16
Режим GPS_PROTOCOL_AUTO я с этой прошивкой не пробовал, судя по всему тоже должно заработать.
Что лучше более старая прошивка в бинарном режиме MTK16 или новая в режиме NMEA? Для меня пока открытый вопрос.
Если что-то не завелось
В MegaPirateNG для GPS предусмотрено два режима отладки.
1) test->rawgps -выводит данные с модуля как есть. В нем можно проверить правильность физического соединения модуля. и посмотрет данные в режиме NMEA
2) test->gps - выводит декодированные координаты. Режим ползен после переключения модуля в бинарный режим.
Светодиод C в этих режимах мигает каждый раз при приеме данных от GPS.