Как выбрать подходящий модуль спутникового позиционирования для своего проекта

Автор оригинала: Lewin Day
  • Перевод


Вы доделали свой новый проект, и теперь ваше детище живёт и передвигается по миру. И осталась только одна проблема – вам нужно знать его местоположение с достаточно неплохой точностью. К счастью, у нас есть системы спутникового позиционирования! При помощи готового модуля можно получить все данные по местоположению, которые вам только могут понадобиться. Но как подойти к этому вопросу, и какие компоненты лучше всего подойдут для вашего проекта? Читайте в данном материале.

Все одинаковые, но совершенно разные


Работа с GPS может внушать некоторые опасения, но благодаря усилиям промышленности и отдельных энтузиастов в наше время эта задача оказывается удивительно простой. Большинство имеющихся на рынке модулей будут работать одинаково. Чаще всего они передают данные по стандартному последовательному интерфейсу, обычно на скорости 9600 бод; также бывают интерфейсы I2C и SPI. Сами сообщения также стандартизированы – они выдаются в формате NMEA-0183. Если вы хотите сами обрабатывать данные, по этому стандарту полно документации. Однако если вы очень торопитесь, для многих платформ с микроконтроллером можно найти готовый код, который всё сделает за вас. Такие проекты, как NeoGPS, Adafruit GPS и minmea примут входящий поток последовательных данных и выдадут все географические данные, которые вам только могли понадобиться. Так что же – GPS это просто GPS?



В зависимости от области применения, от вашего GPS-модуля вам могут потребоваться разные вещи. Передвигающиеся с большой скоростью платформы, автопилот которых полагается на GPS, будут лучше работать с большой частотой обновления данных. Пассивные трекеры вполне удовлетворятся обновлениями не чаще раза в секунду. Требования к точности тоже бывают разные – некоторым приложениям требуется сантиметровое разрешение. Также существуют особые возможности, помогающие в пограничных ситуациях, типа расчёта местоположения исходя из проделанного пути (навигационного счисления) или приёмников, способных работать с несколькими навигационными системами одновременно (GPS, ГЛОНАСС, Бэйдоу и т.п.). Чёткое понимание требований к прибору и бюджета – главное в деле правильного выбора подходящего оборудования.

Мне просто нужно знать, где он!


Если вам необходима точность порядка нескольких метров и нечастое обновление местоположения, вам подойдёт простейший модуль GPS. Их стоимость может быть меньше $20, и они могут предложить частоту обновления 1-5 Гц и небольшое количество дополнительных свойств. Для многих проектов этого будет достаточно для определения местоположения человека, робота или транспортного средства. Также с такой частотой могут работать и простейшие автопилоты. Потребляют такие модули обычно менее 50 мА, а общаются по последовательному порту.

В эту группу попадают устройства на базе GP-20U7, а также уже устаревшего uBlox NEO-6M. Это дешёвый и простой способ недорого собрать ваш первый проект с GPS.

Мне нужен постоянный сигнал!


Если вам никак нельзя терять сигнал, или вы пытаетесь определить местоположение в загруженной городской территории, стоит обзавестись модулем, способным работать в таких условиях. В этих случаях могут помочь разъём для внешней антенны, позволяющий подключить антенну большего размера. Важно отметить, что распространённые коннекторы для плат U.FL рассчитаны на ограниченное количество подключений и их легко отломать, поэтому рассмотрите возможность покупки переходника U.FL to SMA. Антенны бывают всякие разные, но большинство из них будет лучше, чем стандартная небольшая керамическая пластинка, идущая в комплекте с многими модулями.


Качественная антенна с отдельным заземлением может значительно улучшить качество приёма

Точное определение местоположение требует получения хорошего сигнала от нескольких спутников – поэтому, чем больше выбор, тем легче этого достичь. Большая вероятность увидеть достаточно много спутников будет у модулей, способных распознавать различные навигационные системы. У нас есть китайская Бэйдоу, европейская Галилео, российская ГЛОНАСС – и если взять модуль, способный принимать дополнительный сигналы, у него будет огромное преимущество при работе в застроенной части города с ограниченным обзором неба.

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

Все эти возможности увеличивают вероятность успешного определения местоположения, но и стоят денег. Модули XA1110 и ublox NEO-M8U стоят от $50 до $100. Но за такие деньги зато они часто предлагают дополнительные интерфейсы типа USB-serial и I2C, а также высокую частоту обновления.

Мне нужны быстрые обновления!


Если вы собираете нечто, движущееся с большой скоростью, 5 Гц вам может показаться мало. Более частое обновление у модулей бывает от 10 Гц до 25 Гц, благодаря чему ваш быстро движущийся проект сможет куда лучше ориентироваться в пространстве. Конечно, если вы строите крылатую ракету, то вы вряд ли будете закупаться в Sparkfun – а в противном случае развлекайтесь! Эти устройства обычно обмениваются данными на больших скоростях по последовательному порту или I2C, чтобы чаще обновлять местоположение.



Модули с такими возможностями всё равно бывают относительно недорогими, от $20 до $100. Для своих высокоскоростных проектов ищите модули типа SAM-M9N или BN-880Q.

Мне нужна сантиметровая точность!


Для некоторых случаев точность прежде всего. Если вы управляете комбайном, и не хотите, чтобы он протаранил ограду, то метровая точность вас не устроит. В данном случае лучше всего использовать приёмники с технологией Real Time Kinematics (RTK). Они объединяют полученный со спутника сигнал с локальными данными коррекции, полученными с базовой станции, в идеале находящейся не далее 10 км от их местоположения.


RTK работает, добавляя локальные данные коррекции, полученные с базовой станции

Эти данные могут поступать по интернету или по радиосвязи LoRa, и позволять модулю выдавать местоположение с точностью до сантиметра, в идеальных условиях. Некоторые операторы предоставляют публичный доступ к своим станциям, однако возможно приобрести собственное оборудование и поднять станцию для личных нужд. Многие модули высшего класса могут работать в качестве базовой станции для других модулей, работающих поблизости.

За точность приходится расплачиваться сложностью и деньгами. GPS-модули с поддержкой RTK идут уже по $200-$300 за штуку. Среди них — NEO-M8P и ZED-F9P. Также требуется прикупить базовую станцию, если в вашей местности нет публичной. Данные нужно будет заводить в модуль – либо по интернету, либо по радиосвязи. Не забудьте учесть эти требования при разработке!

Заключение


Нам повезло иметь доступ к широкому спектру GPS-модулей для рынка самодельщиков, сильно разнящихся по возможностям и стоимости. Высокоскоростные модули когда-то стоили тысячи долларов и продавались только для промышленных производителей, а теперь их можно купить в магазинах гораздо дешевле. Используйте требования вашего проекта как подсказку и конструируйте ваш проект с определением местоположения.

Комментарии 26

    +2
    Сами сообщения также стандартизированы – они выдаются в формате NMEA-0183.

    Фактически неверно, потому что у приемников есть собственные протоколы (например, у упомянутых в статье приемников uBox — UBX). NMEA актуален для ситуации «мне просто нужны координаты».
      –1
      Бывают ещё модули с широкозонной дифпоправкой — у них две антенны, одна обычная gps, другая принимает дифпоправку с геостационарного спутника, за счёт чего повышается точность местоопределения. Если это та вселенная, в которой в радиусе хотя бы нескольких сотен километров от приёмника есть наземная станция дифпоправок, включённая в сеть.

      Также дифпоправку можно передавать со своей станции любым подходящим способом — через gsm сеть, пакетное радио, RDS-канал FM станции и т.д. и т.п.

      Есть портативные морские транспондеры, устанавливаемые на морских судах, которые в случае необходимости передают через спутниковую связь координаты терпящего бедствие судна.

      Есть крошечные приёмники, вживляемые под кожу домашним питомцам.

      Много чего есть, хвала за то современным и не очень технологиям.

      Спасибо за перевод.
        +1
        Есть крошечные приёмники, вживляемые под кожу домашним питомцам.

        Это не имеет никакого отношения к GNSS/GPS.
          0
          Есть крошечные приёмники, вживляемые под кожу домашним питомцам.

          Это уже что-то из области фантастики, можно ссылку?

              0
              Вы эту статью нашли по ключевым словам «gps implant» (первая в выдаче) уже после того, как вас поймали на сказанной ерунде. И речь там не о домашних питомцах. Собакам и кошкам имплантируют чипы RFID. Это не GPS. Самое компактное, что существует для имплантации для наблюдения за животными (не домашними, а для исследований живой природы) — вот это: www.telemetrysolutions.com/wildlife-tracking-devices/gps-implants/micro-implants
                0
                К счастью, вы не дремлете но бдите. А что вас смущает? Да, массово имплантируют rfid, что не мешает продолжать работу над gps. Да, Three Square Market нашёл в выдаче Гугла, но история с чипированием сотрудников несколько лет назад была громкая. Начинали они с животных, и импланты, предназначенные для людей также тестируют на животных. Люди от животных отличаются, в основном тем, что у них обычно принято спрашивать разрешение для имплантации. Пациенты с деменцией — очевидные претенденты на первоочередную установку имплантов с полноценным gps, это может быть в их интересах. «все деньги, включая несколько десятков миллионов инвестиций, вкладывают в создание нового вида подкожного чипа. Они разрабатывают его уже почти год; выпуск запланирован на начало 2019-го». Была и новость о начале тестирования бета-версии чипа.

                Есть и более крупные gps трекеры, чем приведённые вами, к примеру, ошейники для слонов.

                bigger GPSmicro

                Но вы же смотрели спецификации трекеров по своей ссылке? Даже там есть версия nano, гораздо более компактная и лёгкая, чем указанная micro.



                Собственно приёмник gps с антенной и источником питания достаточно миниатюрны для имплантации. Большую долю в габаритах и весе трекера занимает передатчик. Компактный передатчика c малым радиусом действия можно услышать, например, с сети дронов, развёрнутой над районом поиска хозяина импланта.
          0
          Насколько я знаю в России невозможно как-то официально и за вменяемые деньги получать данные RTK. Так что единственный вменяемый вариант это парный модуль где-то стационарно установленный.
            0
            Режим RTK не эквивалентен высокой точности, высокоточных методов больше и они, часто, куда менее сложны в реализации. Из-за требования вычисления позиции в реальном времени, RTK — самый капризный из всех методов. Так что если высокоточные координаты не нужны в реальном времени, лучше воспользоваться другим способом, с постобработкой.
              0
              Что за способ проще RTK?
              Для ZED-F9P у спаркфана есть простенький мануал для RTK. Но блин цена больше 400 баксов за комплект.
                0

                Постобработка. Снимаете фазовые измерения, потом прогоняете через rtklib, например, используя измерения либо с одной из станций IGS, либо со своего приемника. Число устройств, которые выдают фазовые изменения, несколько больше числа устройств, которые сами умеют делать RTK.

                  0
                  Речь о реальном времени?
                    +1

                    Естественно, нет, и я об этом сказал, как минимум, три раза. Что, по-вашему, означает термин "постобработка"?

                      0
                      Речь в статье про навигацию на улице, естественно речь про реалтайм.
                      Никому не интересна постобработка когда робот уже врезался во что-то.
                        0

                        Речь в статье про множество разных применений. Это не ограничивается роботами, естественно.

                  0

                  https://rtklibexplorer.wordpress.com/ почитайте тут, если вам тема интересна.

                    0
                    Но там вроде как про тот же RTKLIB что и в мануале спаркфана с парой ZED-F9P.
                    А какие другие более простые варианты, не RTK?
                      0

                      Вы жаловались на цену оборудования. Я вам дал ссылку на блог, одна из тем которого — дешёвая аппаратная реализации, включая, буквально, модели дешёвых приемников. Rtklib применяется не только для измерений в реальном времени. Почитайте, для начала, что там пишут, а не реагируйте не а первые попавшиеся шесть букв.

                  +1
                  Мануал-то простенький, но практика показывает, что всё не так-то просто. RTK невероятно чувствителен к качеству принимаемого сигнала. Поэтому для стабильной работы RTK на F9P, во-первых, нужны хорошие и дорогие активные двухдиапазонные антенны. Это спиральные антенны либо керамические патч-антенны стомостью $50 — 80. Я протестировал несколько более дешёвых вариантов и выяснил, что с ними про стабильный RTK можно лишь мечтать. Кабели, коннекторы — всё тоже критически важно — роль играет каждый децибелл сигнала, всё нужно тщательно тестировать. Во-вторых, даже при использовании подходящих антенн крититески важна очень хорошая видимость неба. Это и отсутствие высоких преград поблизости, и хорошие погодные условия. В городских условиях на уровне земли получать стабильное целочисленное решение RTK выходит крайне редко, а в пасмурные дни — примерно никогда.

                  Если говорить о более дешёвых вариантах, то можно посмотреть в сторону однодиапазонного ublox NEO-M8P. Стоимость комплекта будет вдвое меньше, но вместе с ней в первую очередь ухудшится стабильность работы в неблагоприятных условиях. Насколько именно — сказать не могу, пока не тестировал.
                    0
                    Блин, тогда цена ещё печальней выходит, под 600 баксов наберётся. На дачную газонокосилку как-то уже не поставишь.
                      0
                      Чуть дешевле: у ublox в продаже есть весьма хороший набор для разработчиков — C099-F9P. Стоит 220 евро. В комплект входит плата с модулями ZED-F9P и ODIN W2 (Wi-Fi/BT) с выведенными на штырьковую гребёнку интерфейсами, весьма хорошая керамическая антенна с длинным кабелем, магнитным креплением и земляной пластиной, антенна для Wi-Fi/BT. Двух таких комплектов более чем достаточно для большинства задач, требующих RTK.
                        0
                        Но с газонокосилкой всё проще — это не летательный аппарат, для котороко отвал RTK может означать немалую вероятность крушения. Газонокосилка при отвале RTK может просто остановиться и подождать, пока RTK не восстановится. Поэтому в ней вполне можно использовать намного более дешёвые решения на базе NEO-M8P, с которыми вполне реально уложиться в $200 — 250 за всё GPS-оборудование.
                          0
                          Наверное проще маячки по границе участка + компзрение.
                          в дождь и ночью она явно ездить не будет.
                  0
                  Статья, скажу прямо, «ни о чем». Поскольку не отвечает на главный вопрос: чем руководствоваться, выбирая чип под задачу? Хотя определенные намеки есть. Например, чтобы обрабатывать сигналы с нескольких GPSS (GPS/Glonass/Baidou/Galileo), надо брать чипы последних поколений, не старше, условно говоря, 2015 года (выход серии U-blox Neo-M8). Хотя M7 тоже, вроде, умел.
                  Далее — ключевой момент: некоторые чипы умеют хранить настройки в энергонезависимой памяти, некоторые — не умеют. Некоторые модули на aliexpress, которые заявлены, как M8N (умеют), по факту оказываются M8M (не умеют).
                  Про NMEA/9600 — вообще ересь полная. Этот протокол и эта скорость должны использоваться только для начальной инициализации чипа (одноразовой или при каждом включении питания). Дальнейший обмен должен вестись на скорости 115200 минимум и, желательно, с использованием проприетарного протокола, в котором могут быть разные интересные вещи.
                  Про комбайн (робот-пылесос, любой автомат) — если нужна сантиметровая точность, RTK там не сильно поможет. Дециметровая — вполне.

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

                  Самое читаемое