Андрей Смирнов
Время чтения: ~16 мин.
Просмотров: 2

Модуль позиционирования на базе u-blox NEO-7M

73c17c3406964959a688bc6533a24b11.png Решил немного пропиарить свой проектик, ну и заодно рассказать о прекрасном GPS модуле от швейцарской компании u-blox. Итак, ответ на вопрос, который возник после прочтения заголовка у людей, которые не знакомы с u-blox:

Почему u-blox?

Ответ:

  • Наличие GLONASS на борту
  • Хорошая доступная документация
  • Наличие собственного сервиса AGPS

Помимо этого есть еще поддержка, с которой мне даже успешно удалось пообщаться.

Немного о модуле:

Размеры: 12.2×16.0x2.4мм. Конечно модуль великоват для мобильного телефона, но достаточно мал для автомобильного решения, или, например, квадрокоптера, а также комфортен для ручного монтажа на плату.Спецификация GPS ресивера: 56-ти канальное ядро 7-го поколения от u-blox.Поддерживаемые системы позиционирования: GPS L1 C/A, GLONASS L1 FDMA, QZSS L1 C/A, SBAS: WAAS, EGNOS, MSAS, Galileo E1B/C. Galileo пока не запущен, но ввиду того, что есть возможность обновления прошивок, после полноценного запуска системы, я надеюсь будет, возможность ее использования.Частота обновления данных: до 10 Гц. Частоту можно менять програмно во процессе работы с модулем. По умолчанию 1Гц.Точность:

  • GPS — до 2.5м
  • GLONASS — до 4м

Поддержка активных и пассивных антенн Ничего необычного, просто факт. Правда именно у 7M нет возможности программно выключать питание активной антенны, поэтому если вы хотите энергосбережение нужно сделать одну из предложенных в документации схем аппаратного выключения извне.Интерфейсы: UART, SPI, I2C, USB UART и I2C работают одновременно, а вот SPI нужно железно муксить при помощи вывода D_SEL. Соответственно вы можете сделать управляемое переключение, например подключив GPIO к выводу D_SEL. Признаюсь честно я не проверял SPI, по скольку для моих целей UART намного удобнее. Да и в переключении протокола обмена «на лету» я не вижу великого смысла.Цена: ~15$ у китайцев. Вот так выглядит сам модуль:3a218faf42ef4085a71c437662b4f9b9.jpg

Краткое содержание предыдущих 270 серий, или с чего все началось

В начале года я приобрел автомобиль, а в автомобиле без мультимедиа системы в нынешние времена вообще никак. Само собою вы можете сказать «Купи за 300$ у китайцев и не лезь!» Но я же инженер и мне интересно сделать что-то самому, разобраться в технологиях. Опыт разработки автомобильных мультимедиа систем у меня уже имеется, правда не с 0, тем интереснее было попробовать. Впрочем, это другая история, о ней поведаю в следующий раз. Теперь о главном — ниодна мультимедия система не обходится без навигации. Отсюда вывод — нужно иметь GPS модуль, карту, маршрутизацию, блэкджек и поэтесс.

PCB или как это было в первый раз

Как оказалось при ближайшем рассмотрении, PCB дизайн не так уж и сложен, как кажется на первый взгляд. Все чем приходится пользоваться сопровождается обильным количеством документации с типовыми схемами и пояснениями. Справедливости ради, я не смотрел на документацию других вендоров, потому что после изучения предложенной u-blox, был удовлетворен более чем. В результате моих изысканий получился, на мой неискушенный взгляд, вполне себе нормальный PCB дизайн. Схемы можно скачать отсюда. Там же располагаются готовые к печати .pdf файлы, для дальнейшего использования в ЛУТ’е. Я готов выслушать критику, потому что серьезно радиотехникой никогда не занимался — отсюда возможны ошибки, даже грубые. Все схемы я делал в Eagle Cad Soft. Инструмент для меня оказался очень удобным, «+» ко всему огромное количество готовых библиотек с широким выбором различных элементов, которые делает сообщество. Ниже приведены скриношоты схематики и PCB:c1e29c6d4a0e409897b4cbfbdc1b1555.png Элементная база, которую я использовал вполне доступна в России. За исключением RF индуктивности 27nH, которую рекомендует производитель(впрочем сделанная своими руками работает не плохо). PCB возможно не удовлетворяет некоторым требованиям предъявляемым к таким схемам, по этому поводу снова буду не против получить отзывы. Снимать процесс изготовления печатной платы и пайки элементов у меня не было никакого желания, поэтому могу предложить только конечный вариант, если кому-то интересно по аббревиатуре ЛУТ находится огромное количество замечательных видео на youtube. После травления и пайки получилась вот такая вот платка: Верхняя сторона печатной платы: P.S. Да, снимал на калькуклятор. Да, колхоз. Да, много припоя. На нижней стороне платы имеется 5 выводов:

  • 2 вывода UART помеченые как «Rx» «Tx»
  • 2 вывода I2C помеченые как «SDA» «SCL»
  • 1 контакт для сигнальной «земли»

Также есть SMA — female разъем для подключения активной/пассивной антенны. На верхней стороне есть одинокий пин 3.3В. Он не был запланирован и не был разведен на PCB изначально, отсюда получился висящий в воздухе конденсатор. Отмечу еще, что это вторая ревизия платы, и где-то в недрах гита скрывается первая, без питания LNA. Ну и, как мог заметить внимательный читатель, текущая плата немного не соответствует схематике и PCB. Пару слов о антенне. Я использую активную антенну, заказанную у всех тех же китайцев за ~8$. Была попытка сделать свою собственную, но теоретической базы, наравне с элементной, пока не хватает чтобы сделать активную антенну приемлемого качества.

К чему я все это написал

Теперь поведу себя немного несдержанно и перейду к самопиарной части. Помимо чудо-платы, которая надо сказать была не самой трудоемкой частью процесса, я написал тонну-другую кода (а если быть точным комментариев к нему). У u-blox есть свой собственный бинарый протокол, который наравне с NMEA умеет отдавать данные о местоположении, и многое другое. В общем-то не долго думая я сделал С-библиотечку для UBX протокола

*

. Написание doxygen комментариев отняло уйму времени, но всеже я осилил. Возможно в следующих постах я расскажу по подробнее о возможностях этого протокола. В частности использовании AGPS при работе с модулем.

Заключение

В заключении хочу добавить: все о чем написано выше успешно работает в связке с PC и Cubieboard. Естественно, не все оттестировано, но у меня пока не хватает рук к сожалению. Основной недостаток этого модуля заключается в том, что GPS и GLONASS не могут работать одновременно. Приходится програмно переключаться между ними. Скорее всего та же учесть ждет Galileo. Источники:Общая информация о модулях u-blox 7-го поколения;Спецификация 14-ой ревизии протокола UBX.

*

.

*

На момент написания статьи последней является 15-ая ревизия. Автор собирается имлементировать новые возможности протокола.UPD: добавил DIY

Всем привет, и сразу к делу.

Есть, или вернее было, такое чудо от китаез.

Работало исправно аж 2 недели! (в авто магнитоле) Потом не нужны были карты, а когда понадобилось — оказалось не ловит спутники. Определяется на com-5, но при попытке синхронизировать часы зависает на 48%.

Первым делом подумал на магнитолу, заново пере прошил, а вот результат — снова нет сигнала.

После этого, уже подумал на сам приемник. Втыкаю в ноут — все тоже самое, 48% в цикле и все.

На сайте производителя скачал утилку и прошу. На винде прошил. По логам все нормально. Но при поиске спутников опять на 48%. На скрине уже отключился от приемника.

под линем более наглядно

вскрытие показывает что теоретически обугленного ничего нет. Окислений нет — это туман от сборки.

Выкидывать как то не с руки. Ждать 3 месяца пока китаезы новый вышлют тоже не приятно.

В хозяйстве есть тестер и громадный паяльник…..кувалда с наковальней спрашивают почему я за них забыл 🙂

ps. Не смог определиться в каком сообществе опубликовать, вроде и авто, вроде и электроника.

1u-blox_-_Logo.jpg

/ 11.04.2014 / Подключение и настройка

        Вот так выглядят модули с RCTimer.com и MyAirBot.com:  

На данных модулях GPS кроме самого модуля имеется flash-память для хранения настроек, конвертер логических уровней и стабилизатор питания 3.3В. На некоторых модулях конвертера может не быть, но память везде быть обязана! Если ее нет, то можно смело искать другой модуль. На модуле от MyAirBot.com на борту еще имеется внешний компас и светодиод для индикации 3D-fix. Для настройки конфигурации нам понадобится: 1) Переходник USB-COM, например на микросхеме FT232RL (может быть и другой), который мы использовали для прошивки загрузчиков ATMega32u2 и ATMega2560. 2) Программа U-Center. Можно скачать с официального сайта по ссылке. 3) Конфигурационный файл с настройкой для APM. Скачиваем здесь. В архиве еще имеются сохраненные мной конфигурационные файлы. Производим подключение переходника COM и модуля NEO-6M в соответствии с: VCC-VCC, GND-GND, RX-TX, TX-RX.

u-blox_ft232rl-300x200.jpg
Подключение модуля GPS к FT232RL

Подключаем разъем USB переходника в ПК, устанавливаем по необходимости драйвер, в диспетчере устройств смотрим, какой назначился порт для переходника. Устанавливаем программу U-Center на ПК, запускаем. Нажмите кнопку с «волшебной палочкой» для установки автоматической скорости порта. ucenter1-300x174.pngВыберите порт, который появился при подключении переходника. ucenter2-300x224.pngПосле подключения в нижней части окна должны увидеть зеленый значок, это значит что модуль успешно подключился. ucenter3-300x22.pngНажимаем меню «Tools», «GPS Configuration» (GNSS Configuration в свежих версиях программы). ucenter4-300x144.pngВыбираем конфигурационный файл «3DR-Ublox.txt» и в окне диалога нажимаем «Open». Ставим галку «Store configuration into BBR/Flash». Нажимаем кнопку «File >> GPS». ucenter5-300x268.pngПоявится окно с предупреждением о несоответствии версий конфигураций, где надо нажать «Yes» (если слева в колонке версия не отображается, то необходимо сбросить настройки модуля на стандартные. Для этого нажимаем меню «Receiver — Action — Revert Config», после чего пробуем загрузить настройки снова). ucenter-ver-300x202.pngДалее начнется процесс загрузки конфигурации в модуль, о чем будет свидетельствовать движение индикатора прогресса. Если окно исчезло, значит все загрузилось, иначе отобразятся ошибки. Пробуем еще раз. ucenter6-300x171.pngЧтобы успокоиться и посмотреть данные спутников, необходимо нажать кнопку «Debug». ucenter7-300x219.pngТеперь полоски могут долго не появляться из-за того, что после загрузки конфигурации был произведен холодный старт модуля. Модуль должен заново получить данные от спутников, чему могут мешать естественные и искусственные объекты и т.д. Теперь просто ждем. Ждать можно долго, но обычно продохит 5-10 минут и данные начинают появляться. Модуль в этот момент лучше разместить у окна. Постепенно появится больше и больше данных. ucenter8-121x300.pngВ параметрах необходимо проверить параметр TP и настроить его. Цитирую Артема:

За моргание светодиода отвечает пункт TP (Timepulse), в выпадающем списке справа надо поставить «+1 risisng edge» и нажать внизу Send, чтоб настройка прописалась. Светодиод вновь радует глаз при 2D/3D Fix.

На данном этапе настройка модуля завершена и далее можно переходить к подключению. Также можно воспользоваться другим способом настройки, используя плату APM в качестве связующего звена между ПК и модулем GPS. Для этого необходимо загрузить особую прошивку «APM2 / Ublox passthrough» на плату, которая качается по ссылке (+ прямая ссылка) и загружается через Mission Planner. ВНИМАНИЕ!Летная прошивка стирается и, после процедуры настройки модуля, необходимо опять загрузить летную прошивку, а так же произвести все настройки с нуля. Ниже представлено видео данного процесса использования контроллера APM для настройки модуля GPS. Update 15.06.2014:Описание загрузки конфигурационного файла через контроллер APM. Сергей Макаров:

Давайте с самого начала:ПРОШИВАЕМ ЧЕРЕЗ APM: Открываете среду Ардуино, в свойствах выбираете плату и порт. Открываете пример: Файл -> Примеры -> Communication -> MultiSerialMega. Жмете кнопку «Загрузить». APM теперь просто транслятор сигналов на скорости 9600. Идете в U-Centre, загружаете конфиг, получаете ошибку, игнорируете. Открываете среду Ардуино, в свойствах выбираете плату и порт. Открываете пример: Файл -> Примеры -> Communication -> MultiSerialMega. Редактируете две строчки: Serial.begin(38400); Serial1.begin(38400); Жмете кнопку «Загрузить». APM теперь просто транслятор сигналов на скорости 38400. Идете в U-Centre, меняете скорость на 38400, загружаете конфиг, уже не получаете ошибку, радуетесь. Что может быть проще?PS ну настройки APM ведь сохранили? Прошиваем любимую прошивку и восстанавливаем настройки только ручками!

Update 25.06.2014: Добавил ссылку на архив с конфигурационными файлами. Update 11.08.2014: Видеоинструкция от Юлиана. Update 14.11.2014: По просьбе Сергея добавил информацию от Артема по поводу параметра отображения 3D Fix светодиодом. Приобрёл на Али Экспресс недавно за сумму около 50-ти американских енотов.GPS-приёмник ublox neo-m8n для Pixhawk (и как было написано у продавца — для APM). У меня же — модуль APM 2.6. Во-первых, пришлось перенести один пин в правую сторону, поскольку разъём приёмника — 6-пиновый, а на GPS-разъёме APM — 5 пин. Вскрытие самого модуля GPS с целью выяснения распиновки разъёма эффекта не дало — на плате приёмника они не обозначены вообще, присутствует только маркировка элементов. Подключение к APM велось в соответствии с цветовой маркировкой проводников, идущих от разъёма приемника к APM, а точнее — кроме переноса проводника черного цвета на один пин вправо (в сторону проводника красного цвета+5В) и укорачивание самого разъёма приёмника на этот же один пин с помощью лезвия — с целью воткнуть его в APM, что в результате и было сделано. После подачи питания на APM по USB модуль весело засветился зелёным цветом, что для начала-порадовало. Далее хотелось выяснить, выполняет ли приёмник свои функции по предназначению, имея в виду то обстоятельство. что на плате приёмника при осмотре было установлено наличие ещё одного светодиода — синего свечения, индицирующего наличие захвата спутников и функционирование в режиме 3DFIX. Я живу на перовм этаже пятиэтажного дома, балкон — зарешёчен, рядом от моего дома на дистанции 30 метров — соседний пятиэтажный дом аналогичной постройки и приличное количество распускающихся деревьев, что делало задачу нормального функционирования приёмника маловероятной. Однако после вынесения приёмника сантиметров на 10-15 за пределы решётки, закрывающей балкон минуты через полторы на правом борту приёмника весело включился и замигал синий светодиод, подтверждающий 3D FIX. Запуск Mission planer и последующее подключение к нему APM мои предположения подтвердили, координаты и точка моего местонахождения были означены на карте с точностью, достойной всяческого уважения — учитывая место и условия расположения приёмника. Дальнейшая заливка файла конфигурации в приёмник в U-center через APM после установки на последний кастомной прошивки оказалось делом несложным и быстрым. Программа U-center является инструментом, позволяющим проводить практически ЛЮБЫЕ настройки самого модуля GPS. Если с ней хорошо разобраться. При установлении прошивки с сайта APM просмотрщиком конфигурации в U-center следует убедиться в том, что установлены — порт, скорость порта, скорость выдачи навигационной информации, а также — включение бинарного протокола UBX и отключение протокола NMEA выдачи навигационных данных. Хочу повторить, что внимательное изучение программы U-center позволит Вам конфигурировать приёмники UBLOX вручную, добиваясь максимально эффективной работы с APM. Удачи Вам! Практические моменты при выборе GPS — приёмника.Доброго всем времени суток! Описывая настройки gps-приёмника на базе ublox neo-m8n (и всё что с ними связано) возникают следующие наблюдения: — как и в случае со всеми жизненными ситуациями, при комплектации Вашей конструкции приёмником GPS имеет место извечно актуальная проблема …выбора. При выборе навигационного приёмника Вы должны понимать, что, рекламируя свои новинки, производитель тем самым демонстрирует свою последовательность в данном направлении и желание выпустить модель, учитывающую недостатки предыдущей и стремление к совершенствованию. С моей точки зрения, изделия UBLOX этим критериям вполне соответствуют. Это -европейский производитель и один из лидеров в данном направлении. Он обладает и серьёзным качественным производственным потенциалом и необходимой программной и прочей поддержкой своих изделий. Далее идёт более приземлённая сторона вопроса. Всё дело в том, что подавляющее большинство GPS-приёмников из этих наборов микросхем собирается в широко известной нам стране и тайны из этого мы давно уже не делаем, поскольку сей факт нас вполне устраивает. То есть, как говорит мой родственник, периодически бывающий в местах производства этой электроники: -… кока-кола в баре может быть и американской, а вот лёд в ней — из ближайшего к бару канала рисового чека. С последующими выводами… Что следует из написанного мной? Перед покупкой приёмника внимательно собирайте статистику по отзывам на сайтах продавца, и на форумах. Многочисленные диспуты на тему работы одновременной GPS-приёмника с несколькими навигационными группировками вызывают у меня некоторый интерес, но не более того. Мой ublox neo-m8n декларирует готовность видеть практически ВСЕ существующие навигационные группировки,(и видит их) но выдаёт навигационные данные пока только по сигналам GPS в протоколе UBX. Хочется в этой связи отметить отдельно, что в случае для Ublox конфигурация модуля в программе U-center позволяет осуществлять конфигурацию рабочих протоколов приёмника раздельно и на приём, и на выдачу навигационных данных- соответственно. (Задумайтесь на досуге — зачем?) В случае необъяснимой тяги к экспериментам по одновременному приёму сигналов двух и более навигационных спутниковых группировок с моей точки зрения, более предпочтительна платформа Pixhawk, позволяющая корректно практически подключить два навигационных приёмника к одному рейс-контроллеру. А с особенностями их совместной работы Вам придётся разбираться…, но скорее всего — уже самостоятельно… В качестве практического наблюдения имею возможность сообщить, что приём сигналов в разное время суток даёт реально различные результаты. Приём в вечернее и тёмное время суток, даже в условиях плотной облачности — более уверенный. Во всяком случае для выбранной мной модели приёмника ublox neo-m8n. Попытаюсь написать короткое резюме по поводу прочитанного и написанного:— Во- первых, на одном и том же наборе микросхем одного производителя GPS – ресиверы собираются почему-то СОВСЕМ НЕ ОДИНАКОВЫЕ… — Обобщать по поводу изделий Ublox я не собираюсь в принципе, как минимум по одной причине, которую указал пунктом выше. Но считаю, что если в линейке этого производителя появился ресивер генерации M8, то выпуск этого изделия не обусловлен исключительно переводом производственных мощностей на новый техпроцесс для снижения энергопотребления в целях последующего увеличения времени автономной работы. Однозначно присутствуют и другие — более важные конструктивные особенности, – но это вовсе не означает, что эти самые особенности ДЛЯ Вас будут и наглядны и очевидны… — Протокол NMEA – никогда не был абсолютным злом (во всяком случае я этого не писал). Но включенный одновременно с UBX доставит Вам не мало вопросов перед тем, как ваш коптер научиться держать фиксированную GPS – позицию. В программе U-center имеется на этот случай соответствующий пункт, позволяющий ресиверу адекватно воспринимать как один и другой протокол (или же оба — совместно) поступающие на вход ресивера, так и с лёгкостью выбирать тот из них, который представляется Вам наиболее актуальным для дальнейшего применения. Update 02.06.2015: Информация от Ильи об модуле ublox neo-m8n. *у меня 3.2.1 — но, наверное, не суть* 1.

3. Все пишут, что в 3.2 NMEA нет. Люди специально компилируют кастомные прошивки с NMEA.

Вот, собственно, я так же думал. пока не получил по недосмотру м8н БЕЗ ЕЕПРОМ, жёстко сконфигурированный на NMEA 9800. И коптер — висел в точке! а значит, либо верно Ваше понимание того, что APM полностью конфигурирует ublox, вплоть до протоколов — либо….мозги понимают NMEA в пользу своей точки зрения добавлю, что сейчас у меня нормальный м8н сконфигурирован на вывод Ublox+NMEA (дефолтная установка), но я добился, что в u-centre отображается стабильный NMEA без прерываний на UBX. И, опять же, когда у меня был сконфигурирован вывод только UBX, коптер улетал в Россию. Насколько я понимаю, всё это вкупе свидетельствует о том, что всё же коптер опирается на NMEA Или же включение дополнительно NMEA как-то влияет на восприятие коптером UBX…но это за гранью моего понимания. 3.

Считаю что было бы уместным предположить, что в случае с NEO M8N частота обновления актуальна НЕ ТОЛЬКО ДЛЯ ОПТИМАЛЬНОЙ РАБОТЫ С APM

Если честно, я по горло сыт мучениями с GPS вместо полётов, — так что, думаю, флаг будет нести кто-то другой. Если вы нашли ошибку на странице, то нажмите Shift + Enter или нажмите здесь, чтобы уведомить нас. Используемые источники:

  • https://habr.com/post/233925/
  • https://pikabu.ru/story/gps_priemnik_ublox7_6144444
  • https://apmcopter.ru/apm/apm-setup/nastrojjka-gps-u-blox.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации