Создание собственной системы стабилизации
Можно написать в Builder c++, пишется просто и быстро из компонент , куча примеров в инете. Большую GUI на нем не очень удобно писать, а всякие мелкие проги для отладки самое то.
To oleg70 - почему на крутилках не получится? Это мегаудобно на самом деле в период экспериментов-отладки.
Builder c++
Давным давно пробовал эту штуку освоить, даже что то получалось, даже где то диск был, помню что тема достаточно обширная…
почему на крутилках не получится?
Это штук 20 минимум надо ставить, 3x3 ПИДы + автопилотные настройки для самоля по каждому каналу… страшно представить что выйдет 😃, да и тупо АЦП каналов не хватит…
Если только подумать об отдельном “блоке настройки” на разъеме со своим процем и ЖК экраном, типа “подкрутил-всунул-прошил” но как то все коряво это… нету пока мыслей…
Если только подумать об отдельном “блоке настройки” на разъеме со своим процем и ЖК экраном, типа “подкрутил-всунул-прошил” но как то все коряво это… нету пока мыслей…
в вие подключается i2c led и стиками настраивается…
В размышлениях (пока на улице дождь и ветер) склоняюсь всеж к варианту с SD, было бы удобно с нее загружать не только настройки параметров но и сам режим работы платы (самолет/коптер и т.д.), заодно при таком варианте сама flash контроллера не будет изнашиваться (предел то есть всеж…), надо видимо дождаться “музы” и освоить как положено какой нибудь FatFS, сделать загрузчик… по моему неплохо (?).
Не надо ничего изучать.www.sparkfun.com/products/9530
Можно написать в Builder c++, пишется просто и быстро из компонент , куча примеров в инете. Большую GUI на нем не очень удобно писать, а всякие мелкие проги для отладки самое то.
Я бы советовал или Qt или C#.
Во-первых, сама разработка быстрее, во-вторых, нет проблем с работой под новыми ОС.
Builder системы выше ХР не очень любит. Могут быть проблемы.
Тем более что C# и Java очень похожи, потом не будет больших проблем сделать GUI для Android.
Я бы советовал или Qt или C#
Это все, насколько я понимаю, “объектно ориентированное” (инкапсуляция, полиморфизм, наследование 😃) ?
Это все, насколько я понимаю, “объектно ориентированное” (инкапсуляция, полиморфизм, наследование 😃) ?
По желанию, как писать будете.
На С++ ведь можно писать как на простом С с некоторыми оговорками.
С C# конечно посложнее будет в этом плане, но простой и понятный код писать тоже можно вполне, если вас пугает “инкапсуляция, полиморфизм, наследование”
Вроде уже едут ко мне BMX055, в связи с этим попутно задумался: как сделать автокалибровку магнитометра непосредственно в поле ? по аналогии с Fantom - где достаточно его в руках покрутить и он как бы “калибруется на месте”.
Интересно в “народных” проектах есть подобные алгоритмы ?? там ведь матрицу коррекции надо находить, задача непростая…
берете кусок кода из мультивия и калибруете по 3 осям…
более расширенный вариант в FreeIMU
матрицу коррекции надо находить, задача непростая…
для Soft Iron калибровки достаточно найти минимаксы по осям и посчитать вектор коррекции как среднее.
а вот для Hard Iron без матана не обойтись. последняя открытая версия от CH Robotics пока еще доступна, в десктопном приложении собираются сырые данные с магнитометра, обрабатываются и выдается готовая матрица. ознакомится можно тут:
sourceforge.net/p/chrinterface/code/…/Form1.h , строка 2462 (ф-ия buttonComputeCalibration_Click).
для прямого портирования на С/C++ можно заюзать библиотеки TNT/JAMA. правда, хоть убей не помню где лежит PDF, в котором на пальцах расписан использованный алгоритм, там намного проще и понятнее, чем в коде. когда-то игрался с этим делом, практически любые специально испорченные “сфероиды” (сжатые, сдвинутые, рандомно зашумленные) приводит к почти идеальной сфере (то есть рассчитывает нужную матрицу).
но вот как это дело запихнуть в МК я хз, разве что если имеется много памяти и ресурсов. хотя эта процедура нужна однократно, можно ее и выгрузить после использования.
p.s.
вспомнилось только www.freescale.com/ecompass
после обязательной регистрации можно нажать на “ECOMPASS_SW: New eCompass Software Version 3” и получить исходники реализации от Freescale плюс тучу документов. сырые данные от компаса от фирмы-производителя датчика не зависят ;)
У меня всё-таки “не вынесла душа поэта…” заказал себе 2 mpu9250… ru.aliexpress.com/item/…/1867340864.html
тезка… можно немного поленюсь - можешь дать строчки инициализации для мпу6000 с конфигурированием выхода прерывания по готовности (сейчас на новой платке обе стоят - и 6050 по и2с и 6000 по СПИ)
порт как обычно - мультивий
У меня в гит лежит драйвер - но лапу прерывания я помоему вырезал из кода ибо не использовал посмотри тут github.com/SergDoc/…/drv_mpu6000.c
и ещё - я там чёт мучался с сигнатурой чёт не шла - прописал вручную…
для вия тебе прерывание всёравно ненадо - чтение датчиков в петле… а так как петля у тебя ~3000 то данные всегда с датчика будут новые…
впринципе - новые данные - прерывание - читаем mpu, но это всё на килогерце если не ошибаюсь…
мож ненадо, а мож и пригодится - как будет свобдное время планирую поиграться с ними обоими
строки 432-433…
ага, уже давно нашел… пасиб…
сча командировка в ХМАО на недельку (г.Нягань)… как раз время свободное будет по вечерам
сверху доп платка - мпу6000,под ней - баро, справа - мпу6050, снизу - компас, сверху справа - импульсник на 5в, РГБ светик WS2812b, лм1881 для ОСД
на нижней части - проц + ОСД на 328-й. ста на 3.3 и полевик на 2 силовых канала
мычка МГТФ-ом - чтобы шить 328-ю через основной проц
сча командировка в ХМАО на недельку (г.Нягань)… как раз время свободное будет по вечерам
к rual в гости заедь 😃
к сожалению такого не получится - времени мало
кстати вот текущий вариант:
Серьезная плата, моя давняя мечта: “все в одном”, только у меня + GPS но -OSD…
заказал себе 2 mpu9250…
Вот интересно будет потом сравнить с BMX055… Внутренности у них принципиально отличаются, будет ли какая разница на практике (?)