Создание собственной системы стабилизации
со своим “врожденным” VB я в шоке от некотрых сишных форм записи ))
Да, верно.
со своим “врожденным” VB я в шоке от некотрых сишных форм
Эх, найти бы кого, кто мог бы рассказать как GUI под винду делать… Прошивка почти готова, но набралась куча переменных (ПИДы, триммеры, реверсы, и прочее) которые надо как то оперативно менять, желательно прям в поле. Была мысль на флеш *.txt файл писать, но тоже темный лес…
Эх, найти бы кого, кто мог бы рассказать как GUI под винду делать…
есть стандартные гуи под леталки
работают по протоколу mavlink
для ардуино (а это практически с++) есть библиотеки и примеры использования
одна из популярных программ mission planner но есть еще масса всяких втч под винду под андроид и линукс
по мавлинку можно менять параметры настроек и получать телеметрийные данные системы - горизонт,ускорения, мишенпланнер позволяет смотреть как в цифрах так и визуально в HUD , строить диаграммы и многое другое.
вобщем штука неплохая рекомендую обратить внимание
qgroundcontrol.org
Классная станция - баловался с родным ПО PX4 - думаю для самостоятельного проекта возьму…
вобщем штука неплохая рекомендую обратить внимание
Понятно - вещь вкусная, но как то сразу пугает его сложность (зато универсальность)…
Эт надо, как говорится, “под настроение” попробовать вкурить… мне в принципе не нужны всякие “красотульки” и прочее оформление (делаю то для себя), достаточно было бы просто текстового формата типа “название параметра-> значение”, в идеале просто файл на SD карте с конфигурацией которая при запуске инициализирует плату… - очень удобно считаю… даже шнуры никакие не нужны и опять же можно иногда и без ноутбука в поле поехать…
(жаль что на переменных резисторах такое не получится, а то б я сделал 😃)
Можно написать в 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, но это всё на килогерце если не ошибаюсь…
мож ненадо, а мож и пригодится - как будет свобдное время планирую поиграться с ними обоими