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

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

С нами с
23.10.2009
Сообщения
180
Репутация
55
Возраст
54
Откуда
Торжок, Тверская обл.
Самодельный указатель курса (компас) для NMEA2000
С нами с
18.01.2012
Сообщения
2 103
Репутация
2 336
Возраст
44
Откуда
СССР, эсесеровский
Самодельный указатель курса (компас) для NMEA2000
С нами с
15.08.2021
Сообщения
488
Репутация
343
Возраст
33
Откуда
челябинск
Самодельный указатель курса (компас) для NMEA2000
Приветствую. Кто-нибудь изготавливает компасы?
 
С нами с
02.01.2011
Сообщения
16 367
Репутация
15 009
Откуда
Москва
Самодельный указатель курса (компас) для NMEA2000
С нами с
23.10.2009
Сообщения
180
Репутация
55
Возраст
54
Откуда
Торжок, Тверская обл.
Самодельный указатель курса (компас) для NMEA2000
#define DEBUG 1 включить. И будет все видно. что он принимает и отдает. И тогда может можно будет понять где собака зарыта. да и с собакой тоже неплохо было бы разобраться. // Watchdog reset !
С собакой разобрался.
Идея собаки такова: ее ставят сторожить зависшие процессы. Пользователь сам определяет какой процесс сторожить и сколько секунд
зависания считать нормой.
Компас построен на базе ардуино. поэтому все в нем работает по бесконечному циклу.
Поэтому таймер собаки нужно регулярно обнулять.

В коде этого компаса, есть менюха, которая вызывается после ввода в терминал чего нибудь известного, help например, в ней есть не мгновенные процедуры,
они могут длиться гораздо дольше, чем обычный цикл работы компаса. Если использовать стандартную обработку собаки,
то компас может уйти в резет посредине калибровки - просто истечет 40 секунд.

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

Единственное, что я в идею автора посчитал нужным добавить, это сброс таймера собаки не в каждом цикле,
а один раз в 10 секунд.

С "подвисаниями" тоже кажется разобрался. Почему то BNO055, иногда, на попытку считать с него данные отвечает "не шмогла я". Автор скетча после такого отправляет весь компас в резет.
На картплотере это у меня и выглядяло как пропадание данных от компаса, ну и пока компас резетится, данных нет, картинка судна "подвисает", на повороты компаса - не реагирует.
Может тоже подработаю код, чтобы после единственного такого фэйла BNO055, компас в резет не отправлялся, ну скажем если 3 подряд, или 5 подряд...тогда уж.
Учитывая что один цикл примерно 0,25 секунды, ничего с моей ПВХшкой за секунду не сделается.
 
Последнее редактирование:
С нами с
11.04.2009
Сообщения
328
Репутация
178
Возраст
60
Откуда
Реутов
Самодельный указатель курса (компас) для NMEA2000
Почему то BNO055, иногда, на попытку считать с него данные отвечает "не шмогла я". Автор скетча после такого отправляет весь компас в резет.
Я думаю это происходит по причине внутренней автокалибровки BNO, которая не отключается никак. И пока BNO не получит свою автокалибровку, он данные и не отдает. Статус этого можно запросить и сравнить с провалами в отдаче данных. Программа эта модификация от ESP32_Precision-9_compass_CMPS14 , а до этого ESP32_Precision-9_compass, так что многие непонятки могут ползти от туда.
BNO055_CALIB_STAT 0x35 --- статус
 
Последнее редактирование:
С нами с
11.04.2009
Сообщения
328
Репутация
178
Возраст
60
Откуда
Реутов
Самодельный указатель курса (компас) для NMEA2000
Я не прав, где то в другом месте затык. Крутил ,вертел, бросал. Данные отдает. проверка была без NMEA.
Calibration: Sys=0 Gyro=3 Accel=3 Mag=3
HeadingFiltered -- 170.52

Calibration: Sys=1 Gyro=3 Accel=3 Mag=3
HeadingFiltered -- 170.52
 
С нами с
23.10.2009
Сообщения
180
Репутация
55
Возраст
54
Откуда
Торжок, Тверская обл.
Самодельный указатель курса (компас) для NMEA2000
Я не прав, где то в другом месте затык. Крутил ,вертел, бросал. Данные отдает. проверка была без NMEA.
Calibration: Sys=0 Gyro=3 Accel=3 Mag=3
HeadingFiltered -- 170.52

Calibration: Sys=1 Gyro=3 Accel=3 Mag=3
HeadingFiltered -- 170.52
Сегодня свой компас снова в корпус уберу и потестирую с головой в полевых условиях.
В меню блютуза я добавил строку, которая запускает\останавливает вывод в терминал полученных из BNO данных.
Вот кстати надо добавить в них и данные калибровки.
Ща добавлю. Если тут можно, могу весь скетч с комментариями на русском сюда выложить

Ошибся я по поводу того что автор отправляет компас в резет сразу после того как BNO отдает нули на акселерометре.
Не сразу. Условие стоит, что если прошло более 5 секунд. Увеличивать не стал, не стоит, это и так много.

У автора скетча стоит минимальный интервал опроса BNO055 - 50 милисекунд.
Это 20 раз в секунду. Попробую поставить побольше. 5 раз в секунду наверно чаще не нужно же.
 
С нами с
21.09.2010
Сообщения
570
Репутация
468
Откуда
Люберцы
Самодельный указатель курса (компас) для NMEA2000
У автора скетча стоит минимальный интервал опроса BNO055 - 50 милисекунд.
Это 20 раз в секунду. Попробую поставить побольше. 5 раз в секунду наверно чаще не нужно же.
Автор сырые данные обрабатывает, поэтому ему нужно, это даже мало. Если брать из BNO готовый азимут - тогда 5Гц норм, ИМХО.
 
С нами с
23.10.2009
Сообщения
180
Репутация
55
Возраст
54
Откуда
Торжок, Тверская обл.
Самодельный указатель курса (компас) для NMEA2000
Автор сырые данные обрабатывает, поэтому ему нужно, это даже мало. Если брать из BNO готовый азимут - тогда 5Гц норм, ИМХО.
Это верно(ИМХО), я когда всякие приблуды писал для технологии, вообще 10 показаний складывал и делил на 10,
оставлял такую возможность через настроечный файл задать. Чтобы наводки на объекте отключить, на время отладки.
В этом скетче тоже так сделать было бы полезно(если не снижать частоту опроса), никуда судно за полсекунды не денется. А плавать показания в итоге не будут.

Если честно, я в итоге половину авторского кода того, удалю. Из менюхи тоже все не нужное - удалю.
Будет код поменьше, попроще, таскать его ESP32 будет полегче.
У меня ПВХшка, маленькая, мне нафик не нужны таблицы поправок для 360 градусов, хранение 3хкопий этой таблицы в памяти, распечатка ее, задание вручную поправки для конкретного градуса и прочие...
Автор то скетча явно не на пвхшке ездит.
Вот закажут для танкера написать, ну тогда уж, датчиков этих натыкать, штук 10, в разные места корпуса, каждый опросить, сдохшие отключить,
и отдавать уже в NMEA точно нормальный курс.

Никого не призываю так сделать, это я делаю чисто для себя.
 
С нами с
23.10.2009
Сообщения
180
Репутация
55
Возраст
54
Откуда
Торжок, Тверская обл.
Самодельный указатель курса (компас) для NMEA2000
Прикол, пока меню чистил нашел в нем 2 ошибки. В командах.
Хрен бы запустились.

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

Удалил калибровку только магнитометра. Не вижу в этом смысла, калибруются датчики нормально, пусть все и калибруются.
 

Вложения

  • moy compas.jpg
    31.9 КБ · Просмотры: 71
    moy compas.jpg
С нами с
27.07.2023
Сообщения
7
Репутация
11
Возраст
48
Откуда
Московская обл, г. Подольск
Самодельный указатель курса (компас) для NMEA2000
Вот и я свой собрал благодаря этой теме, на коленках вроде работает нормально. Летом на воде посмотрим.
 

Вложения

  • WhatsApp Image 2024-03-07 at 09.32.55.jpeg
    55.9 КБ · Просмотры: 126
    WhatsApp Image 2024-03-07 at 09.32.55.jpeg
  • WhatsApp Image 2024-03-07 at 09.32.48.jpeg
    78.7 КБ · Просмотры: 120
    WhatsApp Image 2024-03-07 at 09.32.48.jpeg
  • WhatsApp Image 2024-03-07 at 09.34.35.jpeg
    78.7 КБ · Просмотры: 123
    WhatsApp Image 2024-03-07 at 09.34.35.jpeg
  • WhatsApp Image 2024-03-07 at 09.32.47.jpeg
    103.4 КБ · Просмотры: 123
    WhatsApp Image 2024-03-07 at 09.32.47.jpeg
С нами с
23.01.2017
Сообщения
5
Репутация
0
Возраст
38
Откуда
Минск
Самодельный указатель курса (компас) для NMEA2000
Подскажите пожалуйста плату по технологии ЛУТ делали, может файлом поделитесь, За ранее Спасибо!!!!
 

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

Вверх