Электроника продвинутого кораблика рыбака.

Sevas
Панкратов_Сергей:

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

Сергей, добрый день/вечер.

Давно с интересом читаю тему о разработке автопилота.
Я делаю в качестве хобби/работы тоже самое, много что уже реализовал в программной части. Могу поделиться.
Сделано у меня довольно много, но тестов в режиме автопилота пока нет, погода нелетная, море у нас штормит

Я завел в контроллер sbus от своего пульта, имею доступ к любому каналу.
Завел показания GPS и распарсил их.
Завел данные от акселерометра, гироскопа и магнетометра по сложной схеме, не распространённый простой фильтр для ардуинки, а через кватернионы.
Делаю всё на ардуиновской меге, но код пишу на чистом Си. Арудиновское IDE очень не нравится в некоторых деталях и глюках. Пока Мега справляется со всем этим, глюков не замечено. Три сервы у меня висят всего на одном таймере, спасибо easyelectronics.ru
Завел всё эти данные в телеметрию и отправляю их по 3drовской антеннке 915 МГц.
И под всё это дело сделал свой софт для визуализации, по факту это тоже самое что и мишн планнер от пиксхока, но тут я всё контролирую как мне удобно.
Перепрограммировать мишн планнер я не осилил. Оказалось проще свой велосипед изобрести. Карта работает, маршрут подгружается. коэффициенты пишутся в еепром контроллера. всё что нужно для базовых вещей автопилота сделал.

У меня к Вам вопрос по эхолоту.
Насколько я понял из темы вы смогли из него вытащить данные? Это так?
Если да, по посоветуйте какую нибудь модель. Я хочу данные эхолота завести в свой контроллер, на котором у меня автопилот корабля работает и данные отсылать в реальном времени. Китайские эхолоты насколько я понял в плане формата посылки особо не отличаются?

спасибо.

пару роликов с моим пароходом

Панкратов_Сергей

Приветствую единомышленников!

Я вижу свою задачу несколько по другому:
Контроллер кораблика должен быть помощником рыбаку, не отвлекающиго от рыбалки, не требующего усилий для пользования им.
То что есть контроллер, который выполняет функции но который ( я не знаю таких примеров) так и не пользуется никем - это Арду, меня еще более убеждает в моих мыслях.

Потому я когда то сформулировал что хочу-

Панкратов_Сергей:

Немного забегу вперед, что планирую на ближайшее время:
Для первого этапа выбрана бюджетная аппаратура Flysky FS-i6, у многих кораблестроителей именно она. Функционал у нее накрывает все хотелки от аппаратуры, имеем напряжение на борту, качество приема.
То есть знаем и состояние заряженности аккумулятора и насколько далее можно плыть без потери управления и это все сразу из коробки. Подключив небольшую плату имеем:
1.Управление огнями, фарой, если есть- соленоидами, электромагнитами.
2. Подключив поплавок эхолота за 20$ ru.aliexpress.com/item/Lucky...311.0.0.FS05LT
по обратному каналу на пульте Flysky FS-i6 имеем глубину и оценку дна ( илистое-твердое).
Целиком покупать эхолот и держать при себе приемный блок в этом случае не нужно ( в том числе и думать о его батареях и прочем…

На втором этапе : запоминание позиций точек, выбор точек, указание на пульту расстояний от кораблика до заданной точки ( или точки “дом”) и курса ( или необходимой коррекции курса), все это опять же на пульту.
Есть и мысли про третий ( полный автопилот) и четвертый ( свой, лишенный всего лишнего пульт) этап, но уже есть ощущение что этого функционала ( от второго этапа) будет достаточно.
Посмотрим, насколько увлечет.

Два пункта я выполнил:

На рыбалке нужен только кораблик и пульт ( никаких смартфонов, планшетов, эхолотов).
Что имеем сейчас:

а) Для пытливых умом

  1. Напряжение батареи на борту
  2. Ток от батареи
    3 СКОРОСТЬ кораблика

б) Для рыбаков:

  1. ЗАПОМИНАНИЕ и выбор контроллером точек лова ( прикорма) Сейчас 12 точек, думаю достаточно
  2. Индикация номера точки, расстояния до точки, погрешности курса при ходе на заданную точку. Позволяет хоть ночью хоть днем выйти на точку.
    Управляя корабликом вручную стиками и наблюдая за показаниями.
  3. Непрерывное значение глубины под корабликом ( не испытано на реальной воде).

Для этих функций кроме стандартного ( стик на руль с газом) нужна “крутилка” для выбора номера точки, тумблер для запоминания точки…
ВСЕ!!! Очень просто…

Кроме того, что решается обычно покупкой модулей- реализовано на этом же контроллере:

  1. Два дискретных канала ( задействуются 11-12 канал пульта) для управления, к примеру, светом и эхолотом. Приемник при этом обычный 6-ти канальный.
  2. Управление бункерами одним стиком ( я использую сейчас 4-й канал) по такому алгоритму- отклоняем вправо- выгружается правый бункер, влево- левый.
Sevas:

У меня к Вам вопрос по эхолоту.
Насколько я понял из темы вы смогли из него вытащить данные? Это так?
Если да, по посоветуйте какую нибудь модель. Я хочу данные эхолота завести в свой контроллер,

Я использую обычный “утенок”-
ru.aliexpress.com/…/2188011_32672576606.html
Тут первая версия-
fotki.yandex.ru/next/users/serpanrc/…/2546163
Сигнал снимаю тот что идет на RF модуль, сигнал состоит из синхроимпульса, импульсов отражения и в конце- импульсов, несущих инфу о температуре.
Если нужно более досконально- то лучше в личку.

Генадич

Поясни по значению глубины - постоянное и включение/ выключение эхолота - речь об одном датчике?
зы Можно я буду называть это круиз-контроль)))?

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

Панкратов_Сергей
Генадич:

Можно я буду называть это круиз-контроль)))?

ОК.

Генадич:

Поясни по значению глубины - постоянное и включение/ выключение эхолота - речь об одном датчике?

Контроллер всегда ждет данных с “утенка” - если данные есть- то на экране значение глубины, если нет- то нули…
Делать питание постоянное или отключаемое- каждый решает сам. Потребление у него очень небольшой.
Просто имеем на сейчас два дискретных канала, используем как хотим… Можем и не использовать…

Генадич:

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

В общем так:
Для “круиз контроля” на пульту нужна одна свободная крутилка и один тумблер ( выбор точки и команда запоминания точки)… Эстеты могут потенциометр крутилки поменять на галетник с напаянными резисторами ( думал поначалу так - оказалось нет необходимости, просто чуть-чуть удобнее). Можно поменять тумблер на кнопку ( чтоб снизить вероятность записи случайно места точки).

Если задействовать остальные функции- то нужно еще два тумблера и стик на 4 канал. Можно и не задействовать ничего или задействовать часть функций- а использовать все остальное по своему усмотрению на выводах приемника.
У меня лично сейчас так:
Один стик, подпружиненный, - газ, руль. Трехпозиционный тумблер- микс на газ, чтоб стик газа не давить. То есть пара заданных скоростей при разном положении тумблера…
Второй стик , лево-право- левый и правый бункер.
Стик на Вверх-низ- свободный.
Тумблера A, D-- дискретные команды
Тумблер B- запоминание позиции ( координаты точки)
Тумблер С- трехпозиционный- на газ, круизконтроль, выше писал…

Генадич

Про “утёнка”: вопрос не в потреблении… существует мнение, и я его поддерживаю (из личного опыта), что сигнал эхолота пугает крупную рыбу. Поэтому лучше пользоваться им только при необходимости.
И ещё про утенка. Показания глубины врут при работающем моторе. Причина этого явления так и не раскрыта. Причем, это происходит не увсех. Слышал отзыв, что даже буксируемый утёнок брешит.

Панкратов_Сергей

Вот потому и нужны испытания. Если будут проблемы- надеюсь что найду причину и устраню.
Ваши соображения-
Два экрана на пульту, изменяются нажатием кнопки.
По первому все понятно, напряжение, ток, скорость. Только скорость после правки кода для пульта будет в ХХ.ХХ км/ч.
В красном овале- номер точки ( сейчас 8-я точка)
В синем- ошибка курса.
Представьте что кораблик идет всегда на верх часового циферблата ( на 12 часов или о минут)
Так вот сейчас на экране цифра 11, то есть цель ( точка 8) в направлении стрелки на 11-ть минут на циферблате. То есть нужно подать чуть вправо, чтоб цифра стала около 60-ти или около нуля. Думаю что к этому можно быстро привыкнуть. В начале думал что буду использовать 0-12 часов, но сейчас сделал 0-60 минут, чтоб точнее было .
Если у кого есть какие соображения по этому- пишите… Более логичного варианта отображения не придумал.
Далее в розовом овале- расстояние до точки ХХХ.ХХ метров
В желтом овале - глубина от эхолота ХХ.ХХ метров.

По надписям- сейчас те что есть в прошивке пульта. Не хотел, но пришлось вникать и в код пульта. Вроде понял в той степени что могу поменять надписи.
Сейчас не изменяю- потому как есть шанс “окирпичить” пульт, отложил это на потом, как закончу полностью с бортовым “круиз-контролем”.
После этого пульт нужно будет перешивать моей прошивкой ( правленной из той что шили до этого).

SAZ118
Панкратов_Сергей:

Так вот сейчас на экране цифра 11, то есть цель ( точка 8) в направлении стрелки на 11-ть минут на циферблате. То есть нужно подать чуть вправо, чтоб цифра стала около 60-ти или около нуля.

Мне кажется, что в этом случае надо доворачивать влево, чтобы выйти на 0. Это если бы был часовой циферблат, тогда надо правее. Но это в первом же заплыве устаканится.

Попутно вопрос: какие железяки надо прикупить, чтобы перепрошивать пульт?

Панкратов_Сергей
SAZ118:

Мне кажется, что в этом случае надо доворачивать влево, чтобы выйти на 0. Это если бы был часовой циферблат, тогда надо правее. Но это в первом же заплыве устаканится

Почему? Именно на 11 минут по часовому циферблату, то есть несколько меньше чем 90 градусов по часовой стрелке ( вправо)…

SAZ118:

Попутно вопрос: какие железяки надо прикупить, чтобы перепрошивать пульт?

FTDI или другой конвертор.
ru.aliexpress.com/item/…/32481520135.html?algo_exp…
ru.aliexpress.com/item/…/32717057832.html

SAZ118
Панкратов_Сергей:

Почему? Именно на 11 минут по часовому циферблату, то есть несколько меньше чем 90 градусов по часовой стрелке ( вправо)…

Здесь все зависит от принятой Вами системы. Если система постоянно направлена нулем на точку, а нос кораблика показывает отклонение, то надо довернуть влево ( левый рисунок). Если нос корабля привязан к нулю системы, то надо довернуть вправо (правый рисунок).

Генадич
Панкратов_Сергей:

Вот потому и нужны испытания.

Дааа, нужны… Мне вот давеча (в рождество) захотелось кое что в кораблике испытать. Поехал на сброс ТЭЦ - застрял((( 3 часа ковырялись с сыном, ладно господь послал на этот путь охотников на ниве… Испытания оказались другими.

Панкратов_Сергей:

FTDI или другой конвертор.

Оригинальный же FlySky кабель подойдет?

зы

Панкратов_Сергей:

По первому все понятно, напряжение, ток, скорость.

Можно напряжение борта вставить вместо напряжения БЭКа (над самолетом), и освободить ячейку для температуры. или еще чего.

Панкратов_Сергей

Для меня логичным кажется за ноль принимать вектор движения кораблика ( если нет сноса- то это направление от кормы к носу). От него и делать отсчет.
Так и произвожу расчеты навигации.
По другому- путанница для мозгов.

А изначально конечно есть направление-вектор от кораблика к цели относительно Севера и курс кораблика относительно Севера, а курс поправки считается из их величин.

Генадич
SAZ118:

Здесь все зависит от принятой Вами системы.

.

Панкратов_Сергей:

Представьте что кораблик идет всегда на верх часового циферблата ( на 12 часов или о минут)
Так вот сейчас на экране цифра 11, то есть цель ( точка 8) в направлении стрелки на 11-ть минут на циферблате.

.

Панкратов_Сергей
Генадич:

Оригинальный же FlySky кабель подойдет?

Да, конечно. Это все одно и то-же. Только в корпусе с проводом и разъемом.

Генадич:

Можно напряжение борта вставить вместо напряжения БЭКа (над самолетом), и освободить ячейку для температуры. или еще чего.

Если появится потребность. А вообще то место может без переделки будет занято если приемник с переделкой ( не внутренние 5 вольт- а бортовое) , тогда от моего контроллера и не нужно это значение ( просто дубляж).

yus12
Генадич:

Можно напряжение борта вставить вместо напряжения БЭКа (над самолетом), и освободить ячейку для температуры. или еще чего.

В настройках пульта просто выберите какой датчик использовать. Левое меню -> рх сетап, рх батери.

Генадич
Панкратов_Сергей:

А вообще то место может без переделки будет занято если приемник с переделкой

Чейто у меня не срослось… Хотел на первый кораблик сделать - попал на приемник((( Заказал новый и сенсор напряжения.

yus12:

В настройках пульта просто выберите какой датчик использовать. Левое меню -> рх сетап, рх батери.

Это понятно, про то и говорил. Только будет ли поддерживать “круиз контроль” внешние датчики, вот вопрос.

Панкратов_Сергей
yus12:

В настройках пульта просто выберите какой датчик использовать.

Да, действительно, и с моего контроллера туда ушло напряжение борта. Еще место для чего то свободно.

yus12
Панкратов_Сергей:

Да, действительно. Еще место для чего то свободно.

По направлению, нарисуйте стрелочку, людям будет понятней.
За идею с стрелкой спасибо, возможно у себя тоже нарисую стрелочку.

Панкратов_Сергей
Генадич:

Чейто у меня не срослось… Хотел на первый кораблик сделать - попал на приемник

Я когда прочел как в интете это рекомендуют делать то воздержался именно так. Нужно иметь твердую руку и зоркий глаз чтоб проделать те хирургические операции. Потому просто перерезал в одном месте печатный проводник и вывел мгтф проводник.
Ну это на пробу, сам не использую…

yus12:

За идею с стрелкой спасибо, возможно у себя тоже нарисую стрелочку.

Если найду время заняться серьезно прошивкой пульта…
А то планов разных громадье…

Панкратов_Сергей

Некоторые соображения по поводу автопилота:

В голове стучатся мысли… Ранее придерживался существующего в инете мнения что для квадрокоптера, лодки магнитный компас для более менее качественной навигации необходим, о чем на форуме несколько раз и писал.
Для квадрокоптера все так и без изменений…
Относительно лодки- если лодка стоит на месте неоткуда взять информацию о положении оси лодки относительно Севера.
С использованием магнитометра этой проблемы нет, но добавляется хлопот пользователю, необходима калибровка… На столе делал опыты- все работает, но на кораблик это переносить не захотел- усложняет эксплуатацию…
Наверно видели видео или сами калибровали магнитометр в смартфоне ( это когда крутишь смартфон (кораблик) вокруг трех осей)…

На днях попробовал новые типы акселерометров и гироскопов, дрейф нуля у них стал заметно меньше… А это дает то что минимально необходимое время меж коррекциями гироскопа существенно вырастает… Ну и плюс то что GPS стал много точнее чем был ранее…
Итогом то что магнитометр на кораблике рыбака можно не использовать, хоть это и делает автопилот хуже чем с участием магнитометра, но не так существенно.
То есть автопилот не будет знать курса при трогании, будет “забывать” его при более менее длительных остановках ( или малой скорости - менее 1.5…2.0 м/с)
Но в принципе с этим смириться можно.
Просто кораблик на цель будет поворачивать не с момента старта, а после того как пройдет пару метров прямо вперед, ну и скорости менее 1.5-2.0 метров в секунду стараться длительно не допускать…
Исходя из этого то что мной уже сделано совсем мало отличается от полного автопилота…
Разведу плату с учетом возможности подключения в дальнейшем акселя-гироскопа-магнитометра, а там война план покажет…
Насколько часто необходима будет в практике калибровка магнитометра, насколько ущербным будет автопилот без магнитометра…

Sevas

Сергей, если хотите избавиться от магнитометра, то тогда нужен только гироскоп. Получается инерциальная навигация.

Однако тут есть кое какие неприятности, которые я на личном опыте видел.

Это конечно дрейф нуля гироскопа. Да, в современных датчиках он уже очень мал, но как бы там ни было, избавиться полностью от него нельзя. И не было бы так страшно, если бы этот дрейф был бы постоянным. Но дрейф гироскопа очень сильно зависит от температуры, напряжения и много еще от чего.
У меня бывает так, что утром один дрейф, вечером другой.
Также я тестировал свой АП в пассажирском катере по пути на работу. Я по показаниями гироскопа считал курс. ПЕрвые пару минут вроде показывает правильно, но потом все уплывает.

Также для получения абсолютного курса можно использовать из GPS посылку $GPVTG,309.62,T,M,0.13,N,0.2,K*6E, но чтобы курс был более менее адекватный нужно пройти какое-то расстояние.

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

Панкратов_Сергей

Это все очевидно.
Курс я и сейчас получаю от GPS, причем без доп команд. Парсю мессагу VTG - в ней он присутствует. И гироскоп естественно должен периодически корректироваться по курсу от GPS, а корректировка будет приемлемой на скорости, выше я про это и писАл.
Применение магнитометра дает плюсы для более адекватной навигации, но добавляет некоторые проблемы при эксплуатации.
Я это все ( и отдельно магнитометр с акселем и гиро с акселем) на столе на ардуино пробовал и щупал.
Но что перевесит можно понять только от реальной эксплуатации.