RSS блога
Подписка
GY-NEO6MV2 - плата GPS-модуля NEO-6M с активной керамической антенной и интерфейсом UART
- Цена: $10.00
- Перейти в магазин
Данная плата содержит на себе GPS-модуль NEO-6M от u-blox и была приобретена пару месяцев назад с целью создания GPS-логгера своими руками.
В статье описывается «комплект» с модулем, программа u-center, немного USB-to-TTL-адаптер CH340G, а также проводится срвнение записи трека.
В «комплект» входит: сам модуль u-blox NEO-6M, стабилизатор напряжения (чтоб можно было питат от 5В) и активная керамическая антенна. ИМХО, реальная цена раза в два ниже, поскольку есть более дешевый конкурент — VK172 ($8.58) — с поддержкой ГЛОНАСС и USB-интерфейсом — $8.58, например. Может, и в нём есть UART, но его я в руках не держал.
Антенна телепается на тонком на экранированном кабеле длинной 2.5 см. Сильно телепать ею не стоит: за два дня телепаний у меня нарушился контакт экрана кабеля с землей антенны — и спутники перестали ловиться. Пришлось её разбирать и восстанавливать контакт экрана. Разбирается активная антенна при помощи паяльника ватт на 40-60, снимаем припой лёгкими прикосновениями к краям металлической крышки, одновременно подковыривая её:
(фото сделано через пару месяцев, взято из из этого обзора).
Практика показала, что, несмотря на металлическую пластину с обратной стороны, положение антенны в пространстве на точность определения позиции слабо влияет. Близкое расположение домов, и низкая скорость, как мне показалось, сильнее снижает точность. Если стоять на одном месте, начинают появляться точки на 5-30 метров от реальной позиции.
Модуль NEO-6M питается от напряжения 3.3В, он может выйти из строя при подключении к большему напряжению или некорректно работать при меньшем, но здесь имеется стабилизатор — и питать можно от 5В. Также, есть энергонезависимая память и батарейка:
Светодиод — зелёный, по умолчанию «мигает при 3D-виксации», настроить его поведение можно из приложения u-ctnter.
Пробовал подключать к 3.3В — вместо нужных данных, выдает текстовые сообщения с какой-то информацией, думаю, мощности не хватает. Вывод контактов J1 состоит из:
GND — минуса питания,
TX — линии передачи данных (от модуля),
RX — линии приёма данных (модулем),
VCC — плюса питания (5В).
Из всех особенностей UART для взаимодействия с данным модулем нужно знать только одну — скорость работы, у меня она установлена в 9600 бод. Изкоробки пакетика, модуль, когда поймает, выдает такую информацию:
Это — текстовые сообщения протокола NMEA, подробнее о них можно почитать в Википедии, они могут немного отличаться от задокументированных.
По сути, этот модуль — микроконтроллер, который анализирует данные со спутников и производит действия, заданные в его настройках — не только выводит текущее положение… Есть подозрение, что он может вести объект по заданному маршруту (по треку, сохранённому в его памяти). Такие модули используют любители квадрокоптеров, они должны знать о нём больше.
С верхней стороны, имеются три светодиода: питания — красный и два одинаковых синих, мигающих в унисон передаче или приёма данных… Так как цвета светодидов одинаковы, отличить передачу от приёма можно, разве что, выучив их расположение =)
С торца имеются следующие контакты:
первые три контакта — выводплюса питания: ненужный соединяется с VCC, нужный — со входом питания устройства;
TXD — линия передачи данных (от компьютера к внешнему устройству);
RXD — линия приёма данных (от устройства);
GND — минус питания.
Таким образом, для подключения GPS-модуля к компьютеру, нужно соединить: RX с TXD; TX с RXD; GND с GND; VCC с 5V,
затем вставить USB в компьютер. После подключения к компьютеру и установки драйверов (кажется, сами ставятся), появляется виртуальный COM-порт, при подключении к новому USB-порту, создается еще один COM-порт…
После установки драйверов запускаем программу, указываем скорость обмена данными и выбираем в нужный COM-порт:
Показано на примере программы разработчика GPS-модуля, но в любой другой программе работы с COM-портом, будет то же самое. Если после сопряжения устройств ожидаемых данных не появляется (в терминале), то можно попробовать изменить скорость порта: вдруг мы забыли ее правильно вставить.
После работы — сначала в программе отключиться от пота, затем выдернуть USB; имхо, так более безопасно. Если ошибаюсь, — поправьте; также, могу слишком подробно описывать очевидные вещи, но я хотел бы изъясняться максимально понятно для минимально осведомлённого читателя.
Этим же модулем можно «прошивать» и популярный микроконтроллер Arduino...
Вообще-то, можно было на один из компьютерных COM-портов или на LPT-порт резисторов напаять и не покупать модуль… Но его еще можно к планшету с OTG подключать! Кстати, не всякая программа поддерживает данный адаптер; я успешно мониторил порт пргграммой UsbTerminal,
если скорость низкая (выбранного бодрейта недостаточно для объемов передачи данных), плохой контакт или неправильно настроены биты чётности, то будут теряться части строк;
если же бодрейт на двух устройствах не одинаков, то будут выводиться либо «крякозябрики», либо вообще не будет виден никакой вывод…
Посмотреть на передающиеся данные, можно открыв одну из консолей, или все вместе:
через меню, иконку или нажав соответствующий хоткей.
Настройки сообщений, GPS-модуля находятся в окне View -> Messages, иконкой или по F9:
Когда приходит то или иное сообщение, подсвечивается соответствующая ветка, из меню этого дерева можно отключать или подключать ненужные сообщения. Стоит отметить, что интерфейс программы рассчитан на множество разных модулей и некоторые функции не будут работать с нашим, например, даже если мы разрешим сообщения GLRMC, они не будут приходить, так как модуль не поддерживает ГЛОНАСС. Особо продвинутые отключают все NMEA-, подключают нужные UBX-сообщения — и экономят на этом гигабиты трафика и километры строк кода!
Кстати, у автора видео такой же модуль. Как видно из того же видео, можно настроить скорость работы GPS-модуля из окна
UBX -> CFG -> PRT:
А из UBX -> CFG -> RATE, путем подбора Measurement Period выставляется значение Navigation Frequency — на сколько я понял, это частота, с которой данные приходят в порт, если выставить 0.5 Гц, то порция данных будет отправляться нам по порту раз в две секунды.
Если нужно сохранить текущую конфигурацию устройства, выбираем из меню Receiver -> Action -> Save Config, после чего можно проверить, сохранилась ли конфигурация, отключив его (USB) и подключив обратно.
Там имеется еще много всякоразных настроек, как то частота кварцевого резонатора или энергосбережение; я еще не разбираюсь в них на столько, чтобы кому-то рассказывать. К сожалению, на русском я не нашел подробного описания настроек, применимого к реальным задачам. Но для их понимания можно прочесть документацию и подумать, как ими пользоваться.
Положил его в сумку вместе с планшетом Asus MemoPad 7, запустил запись трека и прокатился на велике по району, по пути выехал к огородом, где нет домов, затем вернулся обратно, сделав круг и заехал в пару дворов.
Белым пунктиром отмечен путь, который не зафиксировал ни модуль, ни планшет; синяя линия — планшет, красная — модуль.
Постояв минуты три, мне надоело ждать, когда GPS на планшете стартанёт — и я поехал в огороды, вернувшись обратно, достал планшет, посмотрел, как там дела — и трек на нём начал записываться с этого места.
Оцениваю работу данного модуля по записи велотрека как достойную замену телефонного, главным образом, потому что он стартует быстрее; однако его поведение при стационарном положении меня немного пугает. Трек с него был получен путем конвертирования упомянутых выше NMEA-сообщений в GPX-файл посредством команды:
-x discard,hdop=1.2 — фильтр по hdop, теоретически, чем меньше величина — тем больше менее достоверных точек удаляется из трека; практически же, если поставить в 1, — удалятся все позиции.
За время поездки (20 минут), аккумулятор пятилетней давности BL-5CP (телефона Nokia 1616), от которого питается микроконтроллер, записывающий лог, разрядился с 4.10 до 3.97В. Ток GPS-модуля при старте, если верить дешёвому мультиметру DT832, составляет 70мА.
Более подробная статья о GPS-треккере, с кодом для Atmega328 — mysku.club/blog/aliexpress/39653.html
Неплохая статья о данном модуле — radiolaba.ru/microcotrollers/gps-modul-podklyuchenie-k-mikrokontrolleru.html
В статье описывается «комплект» с модулем, программа u-center, немного USB-to-TTL-адаптер CH340G, а также проводится срвнение записи трека.
В «комплект» входит: сам модуль u-blox NEO-6M, стабилизатор напряжения (чтоб можно было питат от 5В) и активная керамическая антенна. ИМХО, реальная цена раза в два ниже, поскольку есть более дешевый конкурент — VK172 ($8.58) — с поддержкой ГЛОНАСС и USB-интерфейсом — $8.58, например. Может, и в нём есть UART, но его я в руках не держал.
Антенна телепается на тонком на экранированном кабеле длинной 2.5 см. Сильно телепать ею не стоит: за два дня телепаний у меня нарушился контакт экрана кабеля с землей антенны — и спутники перестали ловиться. Пришлось её разбирать и восстанавливать контакт экрана. Разбирается активная антенна при помощи паяльника ватт на 40-60, снимаем припой лёгкими прикосновениями к краям металлической крышки, одновременно подковыривая её:
(фото сделано через пару месяцев, взято из из этого обзора).
Практика показала, что, несмотря на металлическую пластину с обратной стороны, положение антенны в пространстве на точность определения позиции слабо влияет. Близкое расположение домов, и низкая скорость, как мне показалось, сильнее снижает точность. Если стоять на одном месте, начинают появляться точки на 5-30 метров от реальной позиции.
В описании сказано...
А ничего там не сказано, продавец снимает с себя всю ответственность =)Модуль NEO-6M питается от напряжения 3.3В, он может выйти из строя при подключении к большему напряжению или некорректно работать при меньшем, но здесь имеется стабилизатор — и питать можно от 5В. Также, есть энергонезависимая память и батарейка:
Светодиод — зелёный, по умолчанию «мигает при 3D-виксации», настроить его поведение можно из приложения u-ctnter.
Пробовал подключать к 3.3В — вместо нужных данных, выдает текстовые сообщения с какой-то информацией, думаю, мощности не хватает. Вывод контактов J1 состоит из:
GND — минуса питания,
TX — линии передачи данных (от модуля),
RX — линии приёма данных (модулем),
VCC — плюса питания (5В).
Из всех особенностей UART для взаимодействия с данным модулем нужно знать только одну — скорость работы, у меня она установлена в 9600 бод. Из
$GPRMC,100732.00,A,***0792,N,***3668,E,0.065,,160216,,,A*70
$GPVTG,,T,,M,0.065,N,0.120,K,A*23
$GPGGA,100732.00,***0792,N,***3668,E,1,05,2.58,128.2,M,16.8,M,,*51
$GPGSA,A,3,07,23,06,09,03,,,,,,,,4.78,2.58,4.03*0B
$GPGSV,3,1,10,02,22,306,20,03,26,148,32,06,30,258,24,07,39,215,30*70
$GPGSV,3,2,10,09,74,295,27,16,34,080,,23,67,080,23,26,24,049,*76
$GPGSV,3,3,10,29,02,001,,30,09,219,*70
$GPGLL,***0812,N,***3682,E,100731.00,A,A*68
А когда не поймает - такую :3
$GPGGA,144343.00,,,,,0,00,99.99,,,,,,*63
$GPRMC,144348.00,V,,,,,,,070416,,,N*77
и т.д.
$GPRMC,144348.00,V,,,,,,,070416,,,N*77
и т.д.
По сути, этот модуль — микроконтроллер, который анализирует данные со спутников и производит действия, заданные в его настройках — не только выводит текущее положение… Есть подозрение, что он может вести объект по заданному маршруту (по треку, сохранённому в его памяти). Такие модули используют любители квадрокоптеров, они должны знать о нём больше.
CH340
Подключить GPS-модуль к компьютеру (или планшету) через USB можно с помощью USB to TTL модуля CH340 ($0.60) — это переходник USB-UART с возможностью выбора напряжения питания: 3.3 или 5В.С верхней стороны, имеются три светодиода: питания — красный и два одинаковых синих, мигающих в унисон передаче или приёма данных… Так как цвета светодидов одинаковы, отличить передачу от приёма можно, разве что, выучив их расположение =)
С торца имеются следующие контакты:
первые три контакта — вывод
TXD — линия передачи данных (от компьютера к внешнему устройству);
RXD — линия приёма данных (от устройства);
GND — минус питания.
Таким образом, для подключения GPS-модуля к компьютеру, нужно соединить: RX с TXD; TX с RXD; GND с GND; VCC с 5V,
затем вставить USB в компьютер. После подключения к компьютеру и установки драйверов (кажется, сами ставятся), появляется виртуальный COM-порт, при подключении к новому USB-порту, создается еще один COM-порт…
После установки драйверов запускаем программу, указываем скорость обмена данными и выбираем в нужный COM-порт:
Показано на примере программы разработчика GPS-модуля, но в любой другой программе работы с COM-портом, будет то же самое. Если после сопряжения устройств ожидаемых данных не появляется (в терминале), то можно попробовать изменить скорость порта: вдруг мы забыли ее правильно вставить.
После работы — сначала в программе отключиться от пота, затем выдернуть USB; имхо, так более безопасно. Если ошибаюсь, — поправьте; также, могу слишком подробно описывать очевидные вещи, но я хотел бы изъясняться максимально понятно для минимально осведомлённого читателя.
Этим же модулем можно «прошивать» и популярный микроконтроллер Arduino...
Вообще-то, можно было на один из компьютерных COM-портов или на LPT-порт резисторов напаять и не покупать модуль… Но его еще можно к планшету с OTG подключать! Кстати, не всякая программа поддерживает данный адаптер; я успешно мониторил порт пргграммой UsbTerminal,
если скорость низкая (выбранного бодрейта недостаточно для объемов передачи данных), плохой контакт или неправильно настроены биты чётности, то будут теряться части строк;
если же бодрейт на двух устройствах не одинаков, то будут выводиться либо «крякозябрики», либо вообще не будет виден никакой вывод…
u-center
Разработчик модуля предоставляет специализированную программу для работы с ним, скачать её и другие программы можно бесплатно с официального сайта — www.u-blox.com/en/evaluation-software-and-tools — однако, их использование требует не только понимания английского, но и знания предметной области.Посмотреть на передающиеся данные, можно открыв одну из консолей, или все вместе:
через меню, иконку или нажав соответствующий хоткей.
Настройки сообщений, GPS-модуля находятся в окне View -> Messages, иконкой или по F9:
Когда приходит то или иное сообщение, подсвечивается соответствующая ветка, из меню этого дерева можно отключать или подключать ненужные сообщения. Стоит отметить, что интерфейс программы рассчитан на множество разных модулей и некоторые функции не будут работать с нашим, например, даже если мы разрешим сообщения GLRMC, они не будут приходить, так как модуль не поддерживает ГЛОНАСС. Особо продвинутые отключают все NMEA-, подключают нужные UBX-сообщения — и экономят на этом гигабиты трафика и километры строк кода!
Кстати, у автора видео такой же модуль. Как видно из того же видео, можно настроить скорость работы GPS-модуля из окна
UBX -> CFG -> PRT:
А из UBX -> CFG -> RATE, путем подбора Measurement Period выставляется значение Navigation Frequency — на сколько я понял, это частота, с которой данные приходят в порт, если выставить 0.5 Гц, то порция данных будет отправляться нам по порту раз в две секунды.
Если нужно сохранить текущую конфигурацию устройства, выбираем из меню Receiver -> Action -> Save Config, после чего можно проверить, сохранилась ли конфигурация, отключив его (USB) и подключив обратно.
Там имеется еще много всякоразных настроек, как то частота кварцевого резонатора или энергосбережение; я еще не разбираюсь в них на столько, чтобы кому-то рассказывать. К сожалению, на русском я не нашел подробного описания настроек, применимого к реальным задачам. Но для их понимания можно прочесть документацию и подумать, как ими пользоваться.
Тест в реальных условиях
Подключив данный GPS-модуль и MicroSD-карту к Arduino Promini, я собрал GPS-логгер:Положил его в сумку вместе с планшетом Asus MemoPad 7, запустил запись трека и прокатился на велике по району, по пути выехал к огородом, где нет домов, затем вернулся обратно, сделав круг и заехал в пару дворов.
Белым пунктиром отмечен путь, который не зафиксировал ни модуль, ни планшет; синяя линия — планшет, красная — модуль.
Постояв минуты три, мне надоело ждать, когда GPS на планшете стартанёт — и я поехал в огороды, вернувшись обратно, достал планшет, посмотрел, как там дела — и трек на нём начал записываться с этого места.
Оцениваю работу данного модуля по записи велотрека как достойную замену телефонного, главным образом, потому что он стартует быстрее; однако его поведение при стационарном положении меня немного пугает. Трек с него был получен путем конвертирования упомянутых выше NMEA-сообщений в GPX-файл посредством команды:
gpsbabel -w -r -t -i nmea -f IN.GPS -x discard,hdop=1.2 -o gpx -F OUT.GPX
-x discard,hdop=1.2 — фильтр по hdop, теоретически, чем меньше величина — тем больше менее достоверных точек удаляется из трека; практически же, если поставить в 1, — удалятся все позиции.
За время поездки (20 минут), аккумулятор пятилетней давности BL-5CP (телефона Nokia 1616), от которого питается микроконтроллер, записывающий лог, разрядился с 4.10 до 3.97В. Ток GPS-модуля при старте, если верить дешёвому мультиметру DT832, составляет 70мА.
Более подробная статья о GPS-треккере, с кодом для Atmega328 — mysku.club/blog/aliexpress/39653.html
Неплохая статья о данном модуле — radiolaba.ru/microcotrollers/gps-modul-podklyuchenie-k-mikrokontrolleru.html
Самые обсуждаемые обзоры
+50 |
3042
86
|
115138.50 — время (GMT),
190316 — дата,
потом ловит еще спутники и уже по ним вычисляет.
А вот это я писал — orangepi.pp.ua/index.php?topic=271.msg2436#msg2436
Когда еще был жив Orange Pi PC и не было UART-переходника, я мог только читать то, что выдаёт модуль из коробки. Может, его можно настроить на вывод только времени.
bigdanzblog.wordpress.com/2015/01/18/connecting-u-blox-neo-6m-gps-to-raspberry-pi/
вот тут вроде чел запустил через gpsd+ntpd. но я так понял, что в этом модуле не лучшая точность.
Поэтому его использование в качестве сервера времени stratum 1 не целесообразно.
Да и не прогнозируемые задержки в USB при использовании USB-UART тоже не в лучшую сторону будут сказываться.
Для себя, для дома сделать — хватит с лихвой, но никак не в продакшен такое решение.
Вообще он отдаёт данные ровно 1 раз в сек.
От использования часового модуля или задержек отказался вообще.
Но у меня с пассивной антенной. Как допилю девайс, сделаю обзор.
=)
через ucenter можно было только читать данные из него, любые попытки конфигурять что-то ничего не принесли, свисток всё игронил напрочь… точность посредственная, если на месте лежит то так же как и у ТС начинает «гулять» метров на 30-50 куда ему вздумается
Спасибо за информацию, может, память глючет, или ее вообще нет… Или батарейка не работает.
Я бы на Вашем месте, если в описании товара упомянут ГЛОНАСС, открыл диспут, разместил там скрины, а лучше — фотографии устройства, к которому подключен модуль и на котором не поймались спутники ГЛОНАСС и требоал бы вернуть часть суммы. А продавец, пусть морозится сколько угодно, решение о возмещении принимает не он.
Если там G7020-KT, глонасс должен работать.
отсутствие глонасса обнаружил через пару недель, после того, как основные работы с проектом были уже закончены и захотелось поиграться с модулем и посмотреть на что он вцелом ещё способен, тогда-то и выяснилось, что с ucenter оно не полноценно дружит и отсутствие поддержки глонасс.
свой отзыв на 3 звезды он получил за это с описанием причины низкой оценки
ublox neo-7m (в вашем случае — VK172) — работают только в одном режиме: или GPS, или GLONASS. Выбор осуществляется при старте определенными пинами.
ublox neo-m8n — GPS+GLONASS+BeiDou. Одновременная работа
Ну а вообще заказал сейчас себе поиграться neo-m8n. Из-за одновременной работы gps + GLONASS. Там уже буду наоборот делать для подключения к USB. Скачайте даташит на чипы… там все понятно.
ииии… есть neo-m8t последний индекс T. зверские штуки… я так понимаю они сырые данные умеют давать…
Я вот жду 8ю серию поиграться, надеюсь будет хоть чем-то лучше
arduino.ua/ru/prog/SoftwareSerial и arduino.ua/ru/prog/Serial
для других — смотрите как там реализована возможность работы с последовательным портом.
Берётся три контакта: Плюс и Минус питания и один Сигнальный, по сигнальному передаются импульсы — вот и вся суть. Для чтения из устройства достаточно одного контакта микроконтроллера, для чтения и записи — два. Контакт TX одного устройства подключается к контакту RX другого, в статье я это писал =)
Сейчас примерно 80% текста статьи про то, как он подключается к ардуино, уже написано, скоро опубликую, там будет чуть подробнее.
И как на точность это влияет?
Но правда еще не пробовал.
А так сама NEO-6M работает у меня в помещение, спутники ловит нормально. К роутеру цеплял, пакет компилил kplex под openwrt. Правда на андроиде не получилось принять данные через WiFi (GPSBridge), а на компе через GpsGate все руки не доходят
Насчет питания — это настраивается через тот же U-center, подавать или не подавать
в u-center для антенны есть такие настройки (так было по умолчанию):
числовые значения в полях в нижней части изменять нельзя.
После снятия галки напряжение пропадет же?
Для сохранения значений нужно использовать слудующий пункт дереве настроек — CFG.
Там надо выбирать куда записывать — зависит от того есть ли батарейка и есть ли I2C память рядом с модулем.
P.S. Замерил на самом модуле на выходе антенны, при снятии галок и нажатие send напряжение питания с антенны не пропадает
Так как управляю этими модулями через микроконтроллер — записал в U-center шестнадцатиричные дампы нужных команд и запуливаю их в GPS при загрузке микроконтроллера.
Еще из особенностей, мои модули не поддерживают UBX протокол. Если его ставишь, ничего не выдают. Наверное, прошивка такая.
В остальном модули вполне годные. Работают надежно
12:26:14 $GPRMC,,V,,,,,,,,,,N*53
12:26:14 $GPVTG,,,,,,,,,N*30
12:26:14 $GPGGA,,,,,,0,00,99.99,,,,,,*48
12:26:14 $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
12:26:14 $GPGSV,6,1,22,02,,,23,03,,,23,04,,,24,05,,,23*79
12:26:14 $GPGSV,6,2,22,06,,,24,07,,,24,08,,,24,10,,,23*72
12:26:14 $GPGSV,6,3,22,11,,,23,12,,,24,13,,,23,14,,,24*78
12:26:14 $GPGSV,6,4,22,16,,,23,17,,,24,18,,,23,19,,,24*7B
12:26:14 $GPGSV,6,5,22,20,,,23,21,,,23,25,,,24,26,,,24*78
12:26:14 $GPGSV,6,6,22,28,,,23,51,,,28*7C
12:26:14 $GPGLL,,,,,,V,N*64
http://webdiscounts.online/5132-1-large_default/GY-NEO6MV2-NEO-6M-GPS-Module-NEO6MV2-with-Flight-Control-EEPROM-MWC-APM2-5-large-antenna-for-arduino.jpg
Проблемы со стабилизатором 3,3 В. Кто знает какая именно стоит микросхема стабилизатора или на какой ток потребления рассчитывать стабилизатор?