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


    Решил немного пропиарить свой проектик, ну и заодно рассказать о прекрасном GPS модуле от швейцарской компании u-blox.

    Итак, ответ на вопрос, который возник после прочтения заголовка у людей, которые не знакомы с u-blox:
    Почему u-blox?

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

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

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


    Размеры: 12.2x16.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$ у китайцев.

    Вот так выглядит сам модуль:



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


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

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


    Как оказалось при ближайшем рассмотрении, PCB дизайн не так уж и сложен, как кажется на первый взгляд. Все чем приходится пользоваться сопровождается обильным количеством документации с типовыми схемами и пояснениями. Справедливости ради, я не смотрел на документацию других вендоров, потому что после изучения предложенной u-blox, был удовлетворен более чем.

    В результате моих изысканий получился, на мой неискушенный взгляд, вполне себе нормальный PCB дизайн. Схемы можно скачать отсюда. Там же располагаются готовые к печати .pdf файлы, для дальнейшего использования в ЛУТ'е.

    Я готов выслушать критику, потому что серьезно радиотехникой никогда не занимался — отсюда возможны ошибки, даже грубые. Все схемы я делал в Eagle Cad Soft. Инструмент для меня оказался очень удобным, "+" ко всему огромное количество готовых библиотек с широким выбором различных элементов, которые делает сообщество.

    Ниже приведены скриношоты схематики и PCB:



    Элементная база, которую я использовал вполне доступна в России. За исключением 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
    Поделиться публикацией
    Ммм, длинные выходные!
    Самое время просмотреть заказы на Фрилансим.
    Мне повезёт!
    Реклама
    Комментарии 33
    • 0
      Можно ссылку где брали
    • +1
      Присмотритесь к MTK3333. При ценнике модуля 300 рублей — ГПС+Глонасс (именно "+", а не «или») — возможность обновления прошивки. Не знаю насчёт нео-7, но в предыдущих версиях «блохи» обновление прошивок заявлялось возможным — но не работало по факту. HDOP у МТК получается 1,2...1,9 метра при 18-21 спутнике.
      • 0
        На момент, когда искал модуль на рынке(розничном) не было MTK3333, хотя его я тоже рассматривал. Сейчас нагуглил у китайцев партии только 100 штук. По поводу обновления прошивок, всетаки видимо они работают, поскольку для 6-ого поколения было выпущено несколько версий. Я пока не пробовал, потому что для 7-го поколения прошивка пока только одна. А вот решение ГПС+Глонасс(8-ое поколение чипов) у u-blox стоит в 2 раза дороже у тех же китайцев, тут соглашусь MTK сильно выигрывают.
        • 0
          По поводу обновления прошивок, всетаки видимо они работают, поскольку для 6-ого поколения было выпущено несколько версий

          По моей информации, в младшие модули NEO-6 прошивку не обновить. Возможно, можно в LEA, я не пробовал, у меня таких не было.
          Модули ГПС и антенны, весьма недорого, есть в терраэлектронике.
          На чипсете МТК можно посмотреть модули TSI EB800A или Quectel L70, например. L70 попроще, помельче.
          • 0
            Попробуйте Геос-3М, НАВИС NV-08C. Они, по моему опыту, интереснее MTK, к тому же поддержите отечественного производителя.
          • 0
            Не знаю насчёт нео-7, но в предыдущих версиях «блохи» обновление прошивок заявлялось возможным — но не работало по факту

            Нет, на NEO-6M обновления прошивок нет в принципе, а на LEA-6H — есть, сам обновлял.
          • 0
            Спасибо за проделанный труд.
            Расскажите еще поподробнее про изготовление индуктивности в цепи питания антенны.
            Еще интересует вопрос согласования Ublox'а с 5ти вольтовой логикой.
            • +1
              По поводу изготовления индуктивности рассказать ничего конкретного не могу. Индуктивность делалась наматыванием на резистор в несколько МОм витков полаченой проволки(сняли с убитой катушки). Делал ее мой товарищ, мерили самодельным измерителем индуктивности, который делал он же, кустарненько, но работает. Для релизного решения закажу рекомендованую производителем японку Murata. По поводу согласования с 5-ти вольтовой логикой — мне оно не требуется, A10 работает с 3-х вольтовым UART. На youtube были где-то хорошие туториалы и объяснение как это сделать. Потом возможно затрону это в отдельной статье, не знаю было это уже на хабре или нет. Повторюсь я не гуру в электронике, сам учусь, попутно делюсь опытом.
              • +1
                Товарищ, о котором идет речь, скорее всего напишет об измерители индуктивности по мере появления свободного времени.
            • 0
              Расскажите, а как в нем с AGPS заявленным?
              • 0
                Ограничусь тем, что работает. С антивной антенной не играет никакой роли. С пассивной убирало где-то 30 секунд от времени фикса.
              • 0
                Фазового режима, конечно, нет?
                • 0
                  Насколько мне известно нет. Может быть как-то заложено в железо, но я сильно сомневаюсь.
                  • 0
                    Это заложено в железо, и доступно через недокументированные сообщения UBX. wiki.openstreetmap.org/wiki/UbloxRAW
                    • 0
                      Почитал про про другие их модули, у NEO-7P есть PPP-режим встроенный, ещё и RTK можно реализовать. Эх, где же эти дешевые точные приемники? Piksi, насколько я понял, так и не производят.
                      • 0
                        Ну вы же сами прекрасно понимаете, что большинство пользователей не заинтересованы в PPP, потому что надо стоять. Для RTK вообще нужны довольно тепличные условия (особенно — антенна), и даже простой пост-процессинг фазовых сигналов требует надежной инфраструктуры базовых станций. А массовый потребитель не понимает даже разницы в свойствах приемника в туристическом навигаторе и смартфоне с ущербной антенной. Откуда дешевым решениям «все в одном» взяться? Я себе для экспериментов собрал устройство из ресивера на Antaris 4 с логгером на microSD (готовый модуль был куплен на SparkFun), так что представляю, на сколько сложно получить полноценные измерения.
                        • 0
                          Да, это сложно, тут я не спорю, но это задача вполне решаемая в автоматическом режиме. Миллиметровую точность от таких простых устройств ожидать не стоит, но десятки сантиметров — вполне. Насчет RTK — конечно, в сложных условиях, — в лесу или в плотной городской застройке, решения могут и не сойтись, ни в поле, ни при постобработке, но в многих местах это быстро и надежно, особенно когда есть прием не только от спутников GPS, но и от ГЛОНАСС.

                          Меня это интересует в том смысле, что геодезисты вынуждены платить за оборудование десятки тысяч долларов, хотя все понимают, что такая цена складывается именно потому, что потребителей как будто бы мало. Хотя точное позиционирование нужно не только геодезистам, просто люди пока не понимают, что им это сулит. Сейчас начинается бум автомобилей с автопилотом, вот тогда может быть и до массового потребителя дойдет, в чем разница.
                          • 0
                            По моему опыту общения с людьми, которые являются непрофессиональными картографами (например, те, кто самостоятельно делал карты глубин для рыбалки, что само по себе тоже процесс не элементарный и требующий знаний), у меня сложилось впечатление, что даже осознание практический выгоды не может сдвинуть их в сторону того, чтобы сделать еще один непростой шаг для повышения точности.
                            Чтобы было «быстро и надежно», нужно все же дофига разных факторов, не все из которых решаемы. Скажем, нет у вас поблизости базовой станции, отдающей RINEX-файлики, что будете делать? Городить свою? А куда ставить? И так далее.
                            • 0
                              Смотря для чего она нужна, эта базовая станция. Если брать примеры попроще, то человек, пускающий квадракоптер, может поставить радом с собой приемник на штативе, получить через режим PPP его координаты и дальше уже запускать дрона в режиме RTK.

                              Понятно, что в России не предвидится государственной системы станций, раздающих поправки, у нас пока что всё по-старинке, но люди могут решать эту проблему и самостоятельно.
                              • 0
                                Теоретически — да, практически — попробуйте с доступной антенной по цене в пределах $100 и приемником типа uBlox получить carrier lock time в десяток минут непрерывно не в заведомо идеальных условиях типа чистого поля.
                        • 0
                          Из готового, можете посмотреть вот на этих конкурентов Piksi (у которого цена была задрана неимоверно):
                          www.onetalent-gnss.com/ideas/usb-hw-receivers/ducat10
                          • 0
                            А нету такого же, но только со встроенным блоком обработки, на FPGA или с микрокомпьютером общего назначения?
                            • 0
                              Лично мне неизвестен.
                        • 0
                          это заложено в не во все модули, а только LEA-5T, LEA-6T, LEA-7T… вообщем модели LEA с литерой Т (timing)
                          ну и стоят они дороже значительно
                          • 0
                            Вы не в курсе.
                            Эти приемники поддерживают документированное сообщение, необходимое для фазовых измерений. А официально недокументированное поддерживают все.
                  • 0
                    А какая используется антенна, patch? Я хотел купить quadrifilar helix, но их нет в наличии. И модулей в сборке тоже нет :(
                    • 0
                      Да, обе антенны с которыми ковырялся — патч. Конечно же выбор антенны всегда упирался в стоимость и доступность. Но u-blox тут тоже помог с выбором. По скольку далается это в конечном итоге для автомобиля, а он преимущественно находится в «горизонтальном положении», патч антенна самое то.
                      • 0
                        Я хочу сделать велосипедно-портативный трекер, для этого лучше подойдёт helix, но пока не нашёл где её заказать.
                      • 0
                        компания производитель хеликсов — sarantel поменяла специализацию после банкротства :(
                        • 0
                          Понятно. А кто-нибудь ещё производит всенаправленные GPS/ГЛОНАСС антенны? Я нашёл Maxtena M1516HCT, но нужно что-нибудь подешевле.
                          • 0
                            Свяжитесь с Дмитрием omegapraim на форуме rcdesign.ru — он проводил какие-то изыскания в этом направлении.

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.