Блок Smart Compass для АОН

avm

Обожаю самолеты !
Приветствую коллеги...

Выкладываю на обзор свои эксперименты с модулем Smart Compass...

Сразу говорю - более подробную информацию читайте в описании под видео.. Тут пока дам только самую выжимку -что, для чего и как работает)

Для тех у кого не работает YouTube видео так же выкладываю на своем RuTube канале... ссылка Александр Макаров — полная коллекция видео на RUTUBE

Видео 1 - Первое испытание где мелькнул модуль Smart Compass в составе модуля Smart Pito....


На видео демонстрируется работа прототипа Навигационного дисплея с отображением маршрута, городов (населенных пунктов) и аэропортов с имитацией отказов по каналу GPS и Компаса. Маршрут "полета" был составлен на fpln.ru и выгружен как есть на SD карту - при первом запуске все базы были прочитаны и их отображение корректное, дисплейный модуль понимает все типы файлов с данного сайта. Рывки картинки на экране обусловлены большим объемом вычислений ESP32-S3 и нехваткой ресурсов для полноценного отображения графики.

В данном видео было выявлено "загрязнение" магнитного поля... Для этого планируется вынос модуля за пределы ЛА (максимально дальше от помех от двигателя и радиоэлектронного оборудования) - на штангу ПВД в районе законцовки крыла.

В новой редакции модулю компаса добавлен гироскоп.

Видео 2. Компас GY-26 … Испытания в «полевых» условиях

Испытания компаса GY-26 в «полевых» условиях. Меня бывает спрашивают, что за компас, как работает… Вместо долгих рассуждений публикую это видео… Стабильность показаний обеспечивается применением фильтра Калмана… смысл этого видео показать что без гироскопа тоже можно обеспечить стабильность показаний этого недорогого модуля…. Из особенностей - не смотря на калибровку ориентирование по сторонам света без коррекции затруднительно, плюс надо учитывать магнитное склонение местности и наличие вокруг создающих электромагнитные помехи предметов.


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

Продолжение следует...
 
Видео 3. Стабильность показаний модуля компаса GY-26.


На видео две колонки - сырые данные и после фильтра Калмана (масляная ванна) … Как говорится лучше один раз увидеть чем сто раз услышать. Про точность показаний будет отдельный ролик… так как сейчас я его испытываю в загрязненном электромагнитными полями месте… Как откалибрую в «поле» выложу результат.
 
Ура! Вот вы где все, мои маленькие любители самодельной авионики! Я тоже компас ваяю.
 
Ну так презентуйте ваш девайс пжлст … можно тут, я не расстроюсь )))
Блин. Думал, что всё готово, но упёрся в нехватку знаний по работе библиотеки tft_espi. Что-то со спрайтами у меня затык. Ресурсов мало, надо оптимизировать код. Поставил себе задачу, чтобы это всё крутилось на esp8266. И было красиво.
 
Блин. Думал, что всё готово, но упёрся в нехватку знаний по работе библиотеки tft_espi. Что-то со спрайтами у меня затык. Ресурсов мало, надо оптимизировать код. Поставил себе задачу, чтобы это всё крутилось на esp8266. И было красиво.
могу поделиться скетчем для ESP32-S3 для работы со спрайтами тут.. Пробуйте...

Видос что в коде ниже... (он же есть на ветке про Авиагоризонт для АОН).... Ну и не поленитесь описание почитать к ролику...


если YouTube не работает - вот ссылка на RuTube... тыц...
 
Последнее редактирование:

что именно ? этот скетч для ESP32-S3 не ниже.. попробуйте уменьшить размер спрайтов... Чтоб не засорять эту ветку вопросами программирования - пишите в личку.. Удачи!
 
IMG_3645.jpg

Разобрался в итоге с этими спрайтами. Получается вот такой VerticalCardCompass. Ценой в "три копейки".
 
Блин. Думал, что всё готово, но упёрся в нехватку знаний по работе библиотеки tft_espi. Что-то со спрайтами у меня затык. Ресурсов мало, надо оптимизировать код. Поставил себе задачу, чтобы это всё крутилось на esp8266. И было красиво.
 
Посмотреть вложение 570872
Разобрался в итоге с этими спрайтами. Получается вот такой VerticalCardCompass. Ценой в "три копейки".
Снимите пожалуйста видео работы… положите рядом настоящий компас (можно в сотовом телефоне) и покрутитесь в разные стороны … очень интересно какой fps и на сколько будут совпадать показания … цена вашего устройства с хорошим магнитометром никак не ниже пары кило рублей… (и это еще без акселерометров, что в таком приборе обязательно) … так что там далеко не «3 копейки»…
 
цена вашего устройства
для моего устройства арифметика простая:
wemos d1 mini - пусть 200 руб
gy-273 - пусть 100 руб
tft - пусть 200 руб
в первом приближении - 500 рублей. добавим dc-dc 24v рублей за 50. ну и напечатаем корпус - хз за сколько. рублей 600 получится, наверное.
 
очень интересно какой fps
fps - это,типа, скорость и плавность графики? да, пока мне не очень нравится, надо поработать со спрайтами. в идеале, конечно, написать специализированную библиотеку, но я пока далековат от этого.
 
fps - это,типа, скорость и плавность графики? да, пока мне не очень нравится, надо поработать со спрайтами. в идеале, конечно, написать специализированную библиотеку, но я пока далековат от этого.
Поэтому увы, чудес за 3 копейки не бывает… По этой причине (надоело терять время) я недавно и перешел для графических систем на Raspberry Pi 2 и 3 поколения (где 4х ядерный процессор и 1,5 гигагерца частоты)… и то тянут впритык… а то что вы сделали ESP проглотит… библиотеки все уже написаны… там код в десяток строк… просто компас что вы используете откровенное гуано… отсюда и результат… По поводу спрайтовой графики дам совет - переведите картинку в цифровой массив (можно сделать тут), работать будет в разы быстрее… и смените ваш датчик холла на более менее нормальный компас…
 
я недавно и перешел для графических систем на Raspberry Pi 2 и 3 поколения (где 4х ядерный процессор и 1,5 гигагерца частоты)… и то тянут впритык…
это понятно. все так делают. я в детстве играл в "Принца Персии" на IBM PC 8088 c 8MHz 640 Кб ОЗУ и дискетой на 360 Кб. И все крутилось/вертелось. В ESP8266 всего дохрена. Сраный компас и на ней будет вертеться как волчок. Просто надо подумать.
просто компас что вы используете откровенное гуано…
У меня есть и Bosch BO095. Разницы нет. С чего Вы решили, что GY-273 - гуано? Не хуже, чем подобный модуль в гармине.
переведите картинку в цифровой массив
Хоть это я и сделал с самого начала - вопрос не в массиве. Спрайт формируется задолго до цикла. Там без разницы: векторами всё вычерчивается, или растр из массива изображается. Проблема в выводе спрайта с необходимым углом, и следующий вывод пустого растра. Плавно, но медленно. Можно, чтобы крутилось не по 1 градусу, а по минимальному расстоянию между шкалами (5 градусов). станет в 5 раз быстрее. Но исчезнет очарование аналогового прибора. Пока помучаюсь с оптимизацией.
 
Не хуже, чем подобный модуль в гармине.
G3X - подобный да стоит, а вот гарминовская колба там немного другой принцип, там аналоговый компас на подвесе с цифровым приемником положения "стрелки" магнитного курса - короче шарик в жидкости, который оцифровывает сенсор.
 
Просто надо подумать.
Надо регистровую библиотеку переписывать на свою, чтобы ничего лишнего за такт, а не ардуиновскую и DMA задействовать, если она там есть на SPI1

Пример с DMA
 
Последнее редактирование:
это понятно. все так делают. я в детстве играл в "Принца Персии" на IBM PC 8088 c 8MHz 640 Кб ОЗУ и дискетой на 360 Кб. И все крутилось/вертелось. В ESP8266 всего дохрена. Сраный компас и на ней будет вертеться как волчок. Просто надо подумать.

У меня есть и Bosch BO095. Разницы нет. С чего Вы решили, что GY-273 - гуано? Не хуже, чем подобный модуль в гармине.

Хоть это я и сделал с самого начала - вопрос не в массиве. Спрайт формируется задолго до цикла. Там без разницы: векторами всё вычерчивается, или растр из массива изображается. Проблема в выводе спрайта с необходимым углом, и следующий вывод пустого растра. Плавно, но медленно. Можно, чтобы крутилось не по 1 градусу, а по минимальному расстоянию между шкалами (5 градусов). станет в 5 раз быстрее. Но исчезнет очарование аналогового прибора. Пока помучаюсь с оптимизацией.
Вот я и говорю, померяйте fps (frame per second) количество кадров в секунду… прям на экран компаса выводите, потом уберете… для плавности добейтесь хотя бы минимум 12, а лучше 24… Что касается нет разницы вектор или спрайт - с вектором у вас картинка волнами будет идти а со спрайтами нет… проверено… рывковая графика это потому что показания компаса скачут как на лошади вот он мгновенное положение и показывает (должен вернее, не понятно только почему он у вас отрабатывает с шагом 1 градус… зачем !?) … чтоб было плавнее либо фильтр калмана ставьте либо промежуточные значения вычисляйте и выводите… но опять же с этим безобразным 100 рублевым магнитометром нормальных значений вы не получите никогда , ибо это игрушка а не точный прибор… вывод спрайта с нужным углом поворота как раз не проблема… как и вывод пустого реестра (очистка экрана)… яж вам пример своего кода по ссылке приводил… там набор простых команд… все разжевано по полочкам…
 
Все сделал. Работает. Скажите, как видеоролик положить сюда. Ютуб не предлагать. ;-)
 
Назад
Вверх