GPS-приемники для квадрокоптеров

Gapey

точность в 1-2 см действительно никому не нужна , но точность соизмеримая с размерами самого аппарата будет вполне востребована …
изначально коптеры были просто дорогими игрушками , но с развитием технологий и снижением цены им находится все больше применений , зачастую весьма экзотических … так и тут , как только точная навигация будет доступна за приемлемые деньги народ придумает как это использовать … а просто полетать можно и на Куке …

Shuricus

Изначально мой первый коптер на Куке, стоил несопоставимо дешевле навороченных аппаратов, на которых летают сейчас. 😃

RA4CTB:

Ну и «отучайтесь говорить за всех». Это как минимум некорректно по отношению к коллегам по хобби.

Некорректно говорить другим, что им делать. А я привел вполне четкую аргументацию, своему высказыванию.

Serjio_S

Результаты:
M8N
$GNTXT,01,01,02,u-blox AG - www.u-blox.com*4E
??:??:?? $GNTXT,01,01,02,HW UBX-M8030 00080000*60
??:??:?? $GNTXT,01,01,02,EXT CORE 3.01 (107900)*33
??:??:?? $GNTXT,01,01,02,ROM BASE 2.01 (75331)*19
??:??:?? $GNTXT,01,01,02,FWVER=SPG 3.01*46
??:??:?? $GNTXT,01,01,02,PROTVER=18.00*11
??:??:?? $GNTXT,01,01,02,FIS=0xEF4016 (100111)*5B
??:??:?? $GNTXT,01,01,02,GPS;GLO;GAL;BDS*77
??:??:?? $GNTXT,01,01,02,SBAS;IMES;QZSS*49
??:??:?? $GNTXT,01,01,02,GNSS OTP=GPS;GLO*37
??:??:?? $GNTXT,01,01,02,LLC=FFFFFFFF-FFFFFFFF-FFFFFFFF-FFFFFFFF-FFFFFFFD*2F
??:??:?? $GNTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*3E
??:??:?? $GNTXT,01,01,02,ANTSTATUS=DONTKNOW*2D
??:??:?? $GNTXT,01,01,02,PF=3FF*4B

Patch
$GNTXT,01,01,02,u-blox AG - www.u-blox.com*4E
??:??:?? $GNTXT,01,01,02,HW UBX-M8030 00080000*60
??:??:?? $GNTXT,01,01,02,EXT CORE 3.01 (107900)*33
??:??:?? $GNTXT,01,01,02,ROM BASE 2.01 (75331)*19
??:??:?? $GNTXT,01,01,02,FWVER=SPG 3.01*46
??:??:?? $GNTXT,01,01,02,PROTVER=18.00*11
??:??:?? $GNTXT,01,01,02,FIS=0xEF4016 (100111)*5B
??:??:?? $GNTXT,01,01,02,GPS;GLO;GAL;BDS*77
??:??:?? $GNTXT,01,01,02,SBAS;IMES;QZSS*49
??:??:?? $GNTXT,01,01,02,GNSS OTP=GPS;GLO*37
??:??:?? $GNTXT,01,01,02,LLC=FFFFFFFF-FFFFFFFF-FFFFFFFF-FFFFFFFF-FFFFFFFD*2F
??:??:?? $GNTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*3E
??:??:?? $GNTXT,01,01,02,ANTSTATUS=DONTKNOW*2D
??:??:?? $GNTXT,01,01,02,PF=3FF*4B

M8P
??:??:?? $GNTXT,01,01,02,u-blox AG - www.u-blox.com*4E
??:??:?? $GNTXT,01,01,02,HW UBX-M8030 00080000*60
??:??:?? $GNTXT,01,01,02,EXT CORE 3.01 (db0c89)*68
??:??:?? $GNTXT,01,01,02,ROM BASE 2.01 (75331)*19
??:??:?? $GNTXT,01,01,02,FWVER=HPG 1.40REF*0B
??:??:?? $GNTXT,01,01,02,PROTVER=20.30*19
??:??:?? $GNTXT,01,01,02,FIS=0xEF4016 (100111)*5B
??:??:?? $GNTXT,01,01,02,GPS;GLO;BDS*06
??:??:?? $GNTXT,01,01,02,QZSS*58
??:??:?? $GNTXT,01,01,02,GNSS OTP=GPS;GLO*37
??:??:?? $GNTXT,01,01,02,LLC=FFFFFFFF-FFFFFFFF-FFFFFFFF-FFFFF79E-FFFFFFFD*22
??:??:?? $GNTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*3E
??:??:?? $GNTXT,01,01,02,ANTSTATUS=DONTKNOW*2D
??:??:?? $GNTXT,01,01,02,PF=3FF*4B
??:??:?? $GNTXT,01,01,02,INCOMPATIBLE HARDWARE -> NO GNSS OPERATION*22

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

RA4CTB

Ага… интересно… Что-то помнится было в даташитах, точнее в каком-то из Hardware Integration Manual, про «ANTSTATUS» — пойду поизучаю.

Upd: Есть.
PIO15 ANT_OK — Antenna status of antenna supervisor ANT_SHORT_N
и
The 3-pin antenna supervisor is comprised of pin PIO14 for ANT_DET (active antenna detection), PIO15 for ANT_SHORT_N (short detection) and PIO16 for ANT_OFF (antenna on/off control). This function must be enabled by Low Level Configuration.
PIO14 — ANT_DET — Antenna detected “high” = Antenna detected, “low” = Antenna not detected — Polarity can be changed by Low Level Configuration if the external circuitry requires other polarity, see section 2.10.2
PIO15 — ANT_SHORT_N — Antenna not shorted “high” = antenna has no short, “low” = antenna has a short — Polarity can be changed by Low Level Configuration if the external circuitry requires other polarity, see section 2.10.2
PIO16 — ANT_OFF — Control signal to turn on and off the antenna supply “high” = Turn OFF antenna supply, “low” = Turn ON antenna supply — Polarity can be changed by Low Level Configuration if the external circuitry requires other polarity, see section 2.10.2

Есть схема узла, но похоже достаточно на нужные пины подать высокий уровень. PIO14 — 13pin, PIO15 — 36 pin. По умолчанию они никуда не подключены.

Shuricus:

Некорректно говорить другим, что им делать. А я привел вполне четкую аргументацию, своему высказыванию.

Отучаемся говорить за всю сеть — фидошное возражение на обобщение. Родилось в недрах питерской сисопьей эхи SPB.SYSOP в ходе очередного срача. Фраза обычно применяется в фидо в качестве ответа на особо пафосное письмо. Также известен следующий вариант: «Отучаемся говорить за всех. Отучил себя — отучи товарища». Производная сокращенная форма — «отучаемся!»

Это устойчивое выражение я привёл аргументу «точность позиционирования … не нужна вообще никому…»
Приношу своё извинение, что несколько его переиначил и оно стало звучать как указание к действиям.

Shuricus

Я тоже приношу извинения за радикальность высказываний, просто у меня стиль такой. Хакнуть ЖПС в любом случае интересно!

Serjio_S
RA4CTB:

По умолчанию они никуда не подключены.

Если это про сам чип, то там и ешкин кот не поможет.
Вот разводка на BN-180 думаю она ничем не отличается от других “стандартных” модулей.

alexeykozin

предположительно вывод таков
что юблокс шьет перед продажей производителям чипам фьюз который ограничивает применение прошивок,
u-blox.com/…/GNSS-FW3.01_ReleaseNotes_(UBX-1600031… стр 7 сказано UBX-RXM-RAWX Feature restricted to products with a particular e-Fuse setting

тем самым они обеспечивают и тех кто делает модули по 20 долл типа M8N и тех кто выпускает модули по 200 долл M8P практически одним и тем же продуктом но по кардинально разной цене.
поэтому прошивка M8P запустившись на чипе с иным значением фьюза сообщает что несовместимое хардваре и отключает все свои высокоточные возможности.
в стартапе это отображается
$GNTXT,01,01,02,INCOMPATIBLE HARDWARE -> NO GNSS OPERATION*22
собственно вероятно что аналогично разблокировке возможностей для прошивки M8N до функционала M8T можно разблокировать и прошивку “8P ровер” и “8P база”, но для этого нужен программист с навыками работы с дизасемблером для cortex m3 чтобы поправить проверку фьюза и контрольную сумму прошивки.

Gapey
alexeykozin:

практически одним и тем же продуктом но по кардинально разной цене.

не практически а фактически … фьюзы пишутся наверняка на выходном контроле , так что в лучшем случае идет отбор наиболее удачных экземпляров/партий для более дорогих продуктов … притом фьюзы наверняка одноразовые и при записи понижают функционал …
так-же возможны более жесткие требования к резонаторам для высокоточных продуктов , сам чип поддерживает несколько типов (стр 11 из документа по вашей ссылке)

PS: тут пришла в голову бредовая идея - снести чип в рентген кабинет … а вдруг там флэшеподобные ячейки ??? чем черт не шутит …

alexeykozin
Gapey:

PS: тут пришла в голову бредовая идея - снести чип в рентген кабинет … а вдруг там флэшеподобные ячейки ??? чем черт не шутит …

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

RA4CTB

Верно — конфигурация по умолчанию задаётся через фьюзы. Но самое интерсное. их можно перепрограммировать в Safe Mode:

If PIO12 is low at startup, the receiver enters Safe Boot Mode. In this mode the receiver does not calculate positioning data, but is set into a defined state that allows such actions as changing the low level configuration by eFuse, programming the FLASH memory in production, or recovering a corrupted FLASH memory.

PIO12 это вывод 34. А у модуля NEO-M8* это вообще вывод 1, который по-умолчанию «висит в воздухе».
Скорей всего верно и то, что 13 и 36 выводы «висят в воздухе», а должны быть подтянуты к VDD_IO.
Вероятно именно это вызывает ошибку $GNTXT,01,01,02,ANTSTATUS=DONTKNOW*2D

На выходных попробую «поиграть» с пинами и посмотреть что получится.

Gapey
RA4CTB:

Скорей всего верно и то, что 13 и 36 выводы «висят в воздухе», а должны быть подтянуты к VDD_IO.

это скорее всего зеленка (экономия энергии) … зачем питать антенну если функции позиционирования не востребованы … зачем пытаться принять сигнал со спутников если антенна отключена … ноги в воздухе поэтому статус антенны неизвестен …

alexeykozin:

это как кувалдой по компу.

растворить корпус и изучить кристалл под микроскопом будет конечно цивильнее … если фузы просто ограничивают функционал то пусть стираются , получим максимум …
хуже если там еще какие-то калибровочные параметры , тогда получм труп … при цене модуля в $5 вполне можно попробовать …

RA4CTB
Gapey:

так-же возможны более жесткие требования к резонаторам для высокоточных продуктов

по даташиту:
Rakon IEC19RSX-8 26.000MHz XZC918
Rakon IEC19RSX−10 26.000 MHz XZD182
Вроде ничего другого не находил…

Нужно еще вот это внимательно «покурить»: u-blox.com/…/u-blox8-M8_ReceiverDescrProtSpec_(UBX…
Про фьюзы и команды конфигурации там много интересного.

Gapey:

это скорее всего зеленка (экономия энергии) … зачем питать антенну если функции позиционирования не востребованы…

Нет это именно входы информации о состоянии антенны ))) А то, о чём говорите Вы задается «выходом» PIO16 — ANT_OFF — Control signal to turn on and off the antenna supply “high” = Turn OFF antenna supply, “low” = Turn ON antenna supply
Вот схемка реализующая полный контроль антенны:

Gapey
RA4CTB:

Вроде ничего другого не находил…

в этом документе u-blox.com/…/GNSS-FW3.01_ReleaseNotes_(UBX-1600031… 12 страница пункт 4.2 Oscillator support . к сожалению не указаны конкретные продукты .

RA4CTB:

Вот схемка реализующая полный контроль антенны:

ссылка бтиая …

RA4CTB

В эти выходные не удалось посидеть с паяльником, зато много времени провёл на природе )))
Попробую на недели время найти.

Gapey:

ссылка бтиая …

У меня на всех устройствах картинка присутствует. Может у Вас что-то с браузером не так?

alexeykozin

у меня пока такие результаты.
игрался с модулем бн-880 от беитайн.
в модуле есть spi flash но дурная 0x00c2-0x2013 mx25l4005 128X4 4mbit.
попробовал туда влить прошивку 2.01 т.к. 3.01 взломанная не лезет.
вроде прошилось и показало зеленый экран что все успешно но модуль окирпичился.
выпаял флешь, модуль завелся из внутреннего ром.
попробовал прошить микруху через программатор и обнаружил что шьется она нестабильно - одно пишу другое читаю.
Дмитрий Чернов любезно предоставил мне для опытов несколько штук w25q16 в sop8 корпусах микруха чуть шире чем посадка - пришлось повесить на проводки,
шьется на ура.
прошил в нее прошивку от M8P прошивка завелась но как водится пожаловавшись на несовместимое железо отказалась что либо ловить или выводить
попробовал “взломанную” 3.01 но ненашел что либо похожего на raw rawx сообщений, возможно надо как то хитро их инициализировать, штатными средствами юцентра не получилось.

alexeykozin

долго думал что значит фраза, что “скоро юблоксы с прошивой 2.01 будут цениться как первые Маки” сказанная одним из авторитетов опенстрит.
опыты показали следующее при загрузке мы получаем ряд сообщений
ROM BASE 2.01 - значит в постоянную одноразово программируемую память чипа М8030 залито программное обеспечение 2.01
EXT CORE 3.01 - значит кто то залил во внешнюю микросхему флешь памяти версию прошивки 3.01
причем запускается всегда старшая версия!
тоесть если чип с ром 3.01 то даунгрейдить его до 2.01 не получится, запустится старшая версия из ром.
мне попался beitain bn550 с ром базой 2.01
сначала я не мог понять почему в ю-центре в окне месаджес вью не видно raw rawx даже если я активирую 3-15 3-16 1-32 типы собщений на одном из форумов был ответ что это неофициальные для этих модулей сообщения и юцентр умышленно их фильтрует и не отображает.
в результате программа rtknavi увидела необходимые сообщения
в якобы ломаной 3.01 ничего не нашлось

Tuner

Добрый день. Приехал вот такой модуль ublox8030 Когда открыл увидел модуль GN-801 фирмы Stoton
ru.aliexpress.com/item/…/32813625434.html

Подключил как обычно питание и RX > TX, TX > RX. Предыдущий Neo7 работает. Этот же передаёт что то но Ucenter не видит его. Autobaud скачет как ненормальный и мигает соединение красным. Скорость порта 9600. Думал сперва что TX и RX перепутан но нет.
Что может быть. Подключаю другой сразу всё работает.
Зелёный иногда проскакивает. Думал длинна кабеля огромная и мусор летит, укоротил до метра, тож самое. В даташите написано что работает от 3.3 вольт… А китае инструкцию даёт что от 5 вольт. Значит там на плате стоит стабилизатор с 5 на 3.3 а как тогда уровни конвертируются?
В общем кто пользовался пожалуйста скажите в чём дело. А то придётся спор открыть и денег вернуть если он просто не рабочий.Только проблема как доказать…

karabasus
Tuner:

Подключил как обычно питание и RX > TX, TX > RX. Предыдущий Neo7 работает. Этот же передаёт что то но Ucenter не видит его. Autobaud скачет как ненормальный и мигает соединение красным. Скорость порта 9600. Думал сперва что TX и RX перепутан но нет.

К чему подключили? “RS232 протокол связи” по ссылке написано. Микросхема преобразователя стоит где? (на плате GPS модуля распаяна или в сером разъёме?)

Если подключите в “железный” com порт компьютера (родным разъемом модуля), наверняка увидится в U-center. ( хотя …где они сейчас сом порты 😃 )

k_sasha

Привет, если кому интересно собрал прошивку для APM ArduCopter, на базе 3.2.1. Собирал для поддержки компаса m883. Я так понял что у кого-то еще остались модули GPS с этим компасам. Видео с инструкцией и под ним готовый hex .

-
Единственное пока частота обновления 1.5Гц, пока не допер как получают дефолтные значения для частоты 75 Гц. Считаются по этой формуле 0.64 Ga * 1024 counts/Ga для xy, -604 для z для 1.5Гц. Если кто знает как их пересчитать для 75Гц, подскажите.

RA4CTB

Tuner, Вы забыли между RS-232 адаптером UART-USB поставить MAX232. Уровни как-бы отличаются…

k_sasha
Tuner:

Значит там на плате стоит стабилизатор с 5 на 3.3 а как тогда уровни конвертируются?

Уровни не конвертируются, просто стоят ограничительные резисторы (ну или нам хотелось бы). Стоит только стабилизатор на 3.3В - питание. Вообще, актуальный вопрос через что подключаешь? Был опыт пере прошивки FLYSKY FS-I6, так вот через китайский uart (что стоит на arduino uno) не завелся, а через FT232 (самодельная arduino uno) завелся и прошился.

RA4CTB:

Вы забыли между RS-232 адаптером UART-USB поставить MAX232. Уровни как-бы отличаются…

Не обязательно, хотя желательно конечно. Причем если это реальный RS-232 то там уровни гораздо выше 5В и тут да только MAX232. А если уже воткнули, возможно уже ничего не поможет. На современных материках вроде как реальных не ставят все uart. Хотя могу и ошибаться.