• ВНИМАНИЕ! ПРОСЬБА ВОЗДЕРЖАТЬСЯ ОТ ОБСУЖДЕНИЯ НА ФОРУМЕ ЛЮБЫХ ПОЛИТИЧЕСКИХ СОБЫТИЙ! СПАСИБО!

Самодельный указатель курса (компас) для NMEA2000 (Просматривают: 3)

С нами с
02.09.2022
Сообщения
59
Репутация
24
Откуда
Minsk
Самодельный указатель курса (компас) для NMEA2000
Если склероз не изменяет, софтина работает только через свой шилд.
Все верно - вопрос в том насколько доступна инфа по переводу BNO055 в режим загрузки прошивки - тут я не копался, есть вероятность что без родного шилда этого будет не узнать :(
Возможно достаточно просто перевести в bootloader mode и софт увидит BNO если конектиться через UART
1715594873945.png
Ну, может и так. Зато не дрейфует :) А эти флуктуации убираются в скетче - можно в настройках переключиться на вывод filteredHeading как я выше писал и проблем не будет :)
Пока для наблюдений и анализа предпочитаю смотреть на более низкоуровневые показания.
А в чем смысл такого теста при таком колличестве помех вокруг? местами показания дрейфуют на 7 градусов - и в таких условиях невозможно сказать из за чего.
 

Вложения

  • 1715595010682.png
    38.6 КБ · Просмотры: 3
    1715595010682.png
С нами с
02.09.2022
Сообщения
59
Репутация
24
Откуда
Minsk
Самодельный указатель курса (компас) для NMEA2000
И для того чтобы расставить некоторые точки над и, в свежей версии даташита на бно 1.8 добавились некоторые пояснения касательно как работает fusion mode.
Более не считаю целесообразным продолжать убеждать кого то как оно работает внутри

1715595674116.png
 
С нами с
15.06.2013
Сообщения
3 217
Репутация
3 558
Откуда
Железнодорожный
Самодельный указатель курса (компас) для NMEA2000
Все верно - вопрос в том насколько доступна инфа по переводу BNO055 в режим загрузки прошивки - тут я не копался, есть вероятность что без родного шилда этого будет не узнать :(
Возможно достаточно просто перевести в bootloader mode и софт увидит BNO если конектиться через UART
Посмотреть вложение 12256272

А в чем смысл такого теста при таком колличестве помех вокруг? местами показания дрейфуют на 7 градусов - и в таких условиях невозможно сказать из за чего.
По поводу обновления мне из приведенной цитаты ясно, что:
- При начальной загрузке чипа по питанию или ресету сначала управление получает загрузчик прошивки.
- Если в момент активизации загрузчика на пин еBOOT_LOAD_PIN присутствует уровень нуля, то загрузчик останавливает дальнейшую загрузку чипа, активизируется и начинает ожидать коммуникации с софтиной на компе для дальнейших инструкций.

Традиционно загрузка прошек происходит в режиме UART и файл с прошивкой отправляется по протоколу X-Modem, думаю тут не исключение. То есть прошиваться должно примерно так:
- Чип переводится в режим работы UART (конфигурированием перемычек на ногах PS0 и PS1 если правильно помню)
- Замыкается пин BOOT_LOAD_PIN на землю и на чип подается питание. Тем самым чип переходит в режим загрузчика.
- Далее софтина коммуницирует с загрузчиком в чипе, договаривается и пихает файлик прошивки в компорт и там все такое, свойственное этому процессу.

Как предположение.
 
С нами с
02.09.2022
Сообщения
59
Репутация
24
Откуда
Minsk
Самодельный указатель курса (компас) для NMEA2000
По поводу обновления мне из приведенной цитаты ясно, что:
- При начальной загрузке чипа по питанию или ресету сначала управление получает загрузчик прошивки.
- Если в момент активизации загрузчика на пин еBOOT_LOAD_PIN присутствует уровень нуля, то загрузчик останавливает дальнейшую загрузку чипа, активизируется и начинает ожидать коммуникации с софтиной на компе для дальнейших инструкций.

Традиционно загрузка прошек происходит в режиме UART и файл с прошивкой отправляется по протоколу X-Modem, думаю тут не исключение. То есть прошиваться должно примерно так:
- Чип переводится в режим работы UART (конфигурированием перемычек на ногах PS0 и PS1 если правильно помню)
- Замыкается пин BOOT_LOAD_PIN на землю и на чип подается питание. Тем самым чип переходит в режим загрузчика.
- Далее софтина коммуницирует с загрузчиком в чипе, договаривается и пихает файлик прошивки в компорт и там все такое, свойственное этому процессу.

Как предположение.
У меня примерно такие же представления, но без теста это остается лишь представлением.
Так же я скачал последнюю версию софтины бошевской - если кто то захочет с ней поэксперементировать и не сможет сам скачать с боша то могу залить на какой обменник
 
С нами с
15.06.2013
Сообщения
3 217
Репутация
3 558
Откуда
Железнодорожный
Самодельный указатель курса (компас) для NMEA2000
А в чем смысл такого теста при таком колличестве помех вокруг? местами показания дрейфуют на 7 градусов - и в таких условиях невозможно сказать из за чего.
Вы понимаете разницу в терминах "дрейф показаний" и "флуктуация показаний"? :) Не думал, что это надо было уточнять :)

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

У уважаемого @vladvolk наблюдался именно дрейф, то есть изменение медианы. В моем случае это флуктуации, вызванные наводками, флуктуациями окружающего локального магнитного поля или флуктуациями геомагнитного поля. Но медиана в моем случае не менялась.

Моя задача была именно в выявлении дрейфа. И она выполнена успешна - дрейфа не выявлено :)
 
С нами с
02.09.2022
Сообщения
59
Репутация
24
Откуда
Minsk
Самодельный указатель курса (компас) для NMEA2000
В моем случае это флуктуации, вызванные наводками, флуктуациями окружающего локального магнитного поля или флуктуациями геомагнитного поля. Но медиана в моем случае не менялась.
Ага, ну давайте еще про soft и hard iron поговорим и для чего калибровка делается. Если хочется поумничать то где тест без мониторов и блоков питания? Но я уже понял на основании вашего способа чтения документации что вам не особо интересно что то, что может бросить тень на вашу версию.
 
С нами с
02.09.2022
Сообщения
59
Репутация
24
Откуда
Minsk
Самодельный указатель курса (компас) для NMEA2000
  • Cпасибо
Реакции: XPOH
С нами с
15.06.2013
Сообщения
3 217
Репутация
3 558
Откуда
Железнодорожный
Самодельный указатель курса (компас) для NMEA2000
добавились некоторые пояснения касательно как работает fusion mode
Описана вполне логичная работа механизма коррекции дрейфа показаний гири по показаниям акселя. Не более того. Это не калибровка, это именно коррекция и логично что это все время должно работать. Но по прежнему не раскрыты подробности механизма FMC. И по прежнему неясно, работает ли коррекция показаний магнитометра по показаниям гири и акселя в режиме FMC_OFF. А именно магнитометр используется как основной канал для определения хидинга, а аксель и гиря используются для его коррекции. Опять же работает это в режиме FMC_OFF ил нет - неясно, но судя по вот этой цитате такой коррекции в режиме FMC_OFF не происходит:
1715599374341.png

Предположу, что, действительно, в любом из фьюжн-режимов происходит перепроверка гири по акселю и корректировка гири если аксел адекватен. Однако в режиме FMC_OFF корректировки показаний магнитометра по показаниям гири (и опосредовано по показаниям акселя) не происходит, а именно он используется за основу хидинга в данном компасе.

Итого алгоритм предположительно следующий:
- Показания магнитометра используются для вычислений хидинга. Хиддинг вычисляется только в фьюжн-режимах
- Показания гири могут корректировать показания магнитометра (и соответственно хидинга) в режиме NDOF. В режиме NDOF_FMC_OFF этой корректировки не происходит
- Показания гири (дрейф) пытаемся скорректировать по показаниям акселя, если конечно аксель позволяет (нет предельных ускорений, сравнимых с ускорением гравитации и нет состояния покоя или равномерного движения, когда аксель бесполезен)

Собственно, фюжн режимы используются только для разгрузки устройства-потребителя и освобождения его от самостоятельных аналогичных вычислений. Если не доверям фюжн-алгоритму, мы можем использовать нонфюжн режим выдачи показаний только магнитометра, использовать его как хидинг и забыть о страшной и мешающей автокалибровке. Ну или получать все три датчика также в нонфюжн режиме (без какой-либо взаимной их коррекции) и выполнять всю математику корректировок самостоятельно по своим собственным алгоритмам. Тем, у кого дрейф гири существенно мешает точности, можно пойти одним из этих путей и переложить всю работу на скетч, чип BNO при этом будет использоваться исключительно как высокоточный поставщик показаний датчиков в исходном виде, никаких проблем :)
 
Последнее редактирование:
С нами с
15.06.2013
Сообщения
3 217
Репутация
3 558
Откуда
Железнодорожный
Самодельный указатель курса (компас) для NMEA2000
Ага, ну давайте еще про soft и hard iron поговорим и для чего калибровка делается. Если хочется поумничать то где тест без мониторов и блоков питания? Но я уже понял на основании вашего способа чтения документации что вам не особо интересно что то, что может бросить тень на вашу версию.
Извиняюсь, если случайно дал вам повод так думать. Не было такой цели.

Мне неинтересно если это никак не влияет на мою конечную цель. А моя конечная цель тут как и у всех прочих участников данной ветки (я на это надеюсь) - получить устройство с адекватными, достоверными и не меняющимися со временем характеристиками.
 
С нами с
21.09.2010
Сообщения
576
Репутация
469
Откуда
Люберцы
Самодельный указатель курса (компас) для NMEA2000
С нами с
15.06.2013
Сообщения
3 217
Репутация
3 558
Откуда
Железнодорожный
Самодельный указатель курса (компас) для NMEA2000
С нами с
02.09.2022
Сообщения
59
Репутация
24
Откуда
Minsk
Самодельный указатель курса (компас) для NMEA2000
В режиме NDOF_FMC_OFF этой корректировки не происходит
Часть ваших предположений не предположения, а то что черным по белому прописано в документации надо лишь прочитать его от начала до конца несколько раз. Даташит кстати не единственный источник данных от бош по данному чипу.
А по поводу используются данные только магнетометра при FMC_OFF - с этим невозможно согласиться во фьюжен моде, так как в нем есть компенсация тильта. Просто задайте себе вопрос чем тогда FMC_OFF отличаетс от режима компас в not fusion mode и вероятно Вы сами сможете себе ответить на вопрос.

Надеюсь повторюсь в последний раз - отличие между этими двумя режимами только в алгоритмах как используются данные со всех 3ех датчиков, в одном при полной калибровке для ее достижения надо восьмерку описывать второй режим справляется без правильной восьмерки. А далее хоть и черный ящик в плане реализации, но сенсор фьюжн постоянно пытается найти значения офсетов для сенсоров - и иногда может решить что нашел лучшие значения и обновить регистры.
 
С нами с
02.09.2022
Сообщения
59
Репутация
24
Откуда
Minsk
Самодельный указатель курса (компас) для NMEA2000
это было бы гораздо интересней и полезней...
А что тут обсуждать - для hard iron BNO сам делает калибровку и реализовывать ее самому на esp32 не имеющего на борту FPU идея так себе, для soft BNO ничего не делает, и это уже в зоне ответственности разработчика устройства матрицу для коррекции получить. Бош вообще не считает что soft iron оказывает сильное влияние для сценариев использования BNO.
Ну а что такое soft и hard iron вообще - это скорее в интернет, там все это есть
 
С нами с
15.10.2022
Сообщения
19
Репутация
12
Возраст
38
Откуда
Владимир
Самодельный указатель курса (компас) для NMEA2000
Всем доброго дня! Детальки пришли ещё в том году и вот только дошли руки с паяльником))) Собрал! Перезагруз! Не работает! Потом вспомнил что перемычки на BNO должны быть запаяны! Запаял - заработало! Тему почти всю дочитал))) Всем спасибо!!! Вечером буду коннектить с эхолотом Simrad!
 

Сейчас смотрят

Вверх