Создание собственной системы стабилизации
YS-X4 удивили - никак, все алгоритмы запихнули в ПЛИС
Почему все в ПЛИС, там же на плате еще и ARM стоит…
Кому интересно: калибровка датчиков - линеаризация, нормирование www.varesano.net/blog/fabio/f...ice-3d-spheres www.varesano.net/blog/fabio/f...ha-version-out
это походу его последняя статья за неделю до смерти 😦
EOS уже включил это в вий, но преобразование эллипсоида в сферу выкинул, а в моей локации эллипсоид наверное более “вытянутый” и новая калибровка пидалит, а старая коравая работала лучше 😃
www.multiwii.com/forum/viewtopic.php?f=8&t=649&p=2…
SMACCM
где посмотреть про этот контроллер и сами планы, анонсы от арду?
Честно говоря надоело “извращаться” с 8 битной архитектурой…
Посоветуйте среду разработки, программатор (?), ну и с чего начать то…
+1
уже заказал дискавери Ф4 пару дней назад + дискавери Ф3 вчера с digikey… ооо! быстрые ребята там… пишут в понедельник будет на месте 😃
Вот как то такую платку купил F2 www.ebay.com/itm/…/170874320152 есть там такая же на F4 www.ebay.com/itm/…/180923405960
STMF3Discovery не такая уж и большая
Для коптера обычного размера вполне нормальная
OpenPilot уже походу пoртанули на STM32F3DISCOVERY
Вот блин, опередили ))) Еслиб проэлектроника неделю не протянула взлетел бы до НГ…
для F4 думаю MPU6050 по i2c как-то не актуально?
Тут надо посчитать передаваемые битики, если 30%-ный запас будет, то вполне нормально.
Кста, отчитаюсь.
Сделал полную ИНС на Ф3, всё как люблю, т.е.:
-передача данных в ПДП (SPI) и перывании для И2Ц;
-получение данных по запросу самих датчиков через линии готовности данных;
-частоты получения данных 380 Гц-ДУС, 50 Гц - аксель и компас;
-время отработки одного отсчета: ДУС -1200\1400 мкСек, Аксель - 2100\2500 мкСек.
И2Ц интерфейс Ф3 произвёл на меня огромное впечатление. Почти весь конечный автомат протокола перефирия выполняяет САМА!!!
Я уже готов пересмотреть своё отношение к и2ц на борту.))) Если у Ф4 такой же, то смело можно делать на и2ц.
Я уже готов пересмотреть своё отношение к и2ц на борту.))) Если у Ф4 такой же, то смело можно делать на и2ц.
Да вун Мегапират работает со всеми датчиками по I2C и ничо, справляется…
где посмотреть про этот контроллер и сами планы, анонсы от арду?
Понятия не имею, сам в исходниках свежих нашел драйвера HAL под эту плату…
Тут надо посчитать передаваемые битики, если 30%-ный запас будет, то вполне нормально.
Кста, отчитаюсь.
Сделал полную ИНС на Ф3, всё как люблю, т.е.:
-передача данных в ПДП (SPI) и перывании для И2Ц;
-получение данных по запросу самих датчиков через линии готовности данных;
-частоты получения данных 380 Гц-ДУС, 50 Гц - аксель и компас;
-время отработки одного отсчета: ДУС -1200\1400 мкСек, Аксель - 2100\2500 мкСек.
И2Ц интерфейс Ф3 произвёл на меня огромное впечатление. Почти весь конечный автомат протокола перефирия выполняяет САМА!!!
Я уже готов пересмотреть своё отношение к и2ц на борту.))) Если у Ф4 такой же, то смело можно делать на и2ц.
Вот что-то интересное. Мегапират обновляет данные с частотой 100 Гц. На своей прошивке я получил почти 200 Гц но без сеовиса. Один цикл из 30 до 6,5 милисек. При этом чтение MS5611 (100 Гц) и HMC5883 (10 Гц) занимает около 2 милисек , чтение MPU6000 по SPI полный обсчет DCM-матрицы около 3 милисек на 2560. Чтение приемника тоже времени требует до 2 милисек. Остальное практически времени не занимает.
Переходя на более мощный процессор хотелось бы читать датчики чаще, но учитывая скорость И2С если все датчики повесить на нее это достигнуть не удастся. Зачем тогда переходить? Ну только для того чтобы познакомиться с ним?
Была у меня идея двинуться в сторону обработки видео для целей стабилизации, но необходимость зарабатывать что-то на жизнь не позволила. (Времени не хватило на все)
Пару лет назад задавал эти вопросы в том числе при обсуждении Оупенпилота. Но все закончилось как обычно - повздорили и разбежались.
Оупенпилот потихоньку загнулся, Ardu & MultiWii продолжают активно жить. Поэтому выбрав для себя эти два проекта вижу, что не ошибся.
Летая на коптере убедился, что в при управлении человеком результаты получше и была идея с ПИД регулятора перейти на нелинейное управление, но тоже времени не хватило.
За прошедшее время в алгоритмы, использованные в Ardu & MultiWii вник дотошно. Датчики исследовал тоже подробно. В принципе для меня нетрудно реализовать любой алгоритм обработки и вставить его в тот же Арду. Но нужны идеи.
Переходя на более мощный процессор хотелось бы читать датчики чаще, но учитывая скорость И2С если все датчики повесить на нее это достигнуть не удастся. Зачем тогда переходить? Ну только для того чтобы познакомиться с ним?
А есть ли смысл читать датчики быстрее? Все наверное видели как летают последние версии Арду, а ведь частоту опроса они не поднимали, все дело в управляющих алгоритмах. А вон Александр(mahowik) вообще всех порвал своей реализацией АльтХолда по акселю… и то же дело не в датчиках 😃
А есть ли смысл читать датчики быстрее? Все наверное видели как летают последние версии Арду, а ведь частоту опроса они не поднимали, все дело в управляющих алгоритмах. А вон Александр(mahowik) вообще всех порвал своей реализацией АльтХолда по акселю… и то же дело не в датчиках 😃
Да есть . Читая MS5611 с частотой 100 Гц получил результат практически тот же что и с сонаром. (Не в обиду Александру, проделавшему большую работу с ВМР085)
обижаться не буду, т.к. все не так 😉
получилось как раз таки со связкой mpu6050 + ms5611, а потом уже коэф. подобрал и для bmp085, но все равно для bmp085 точность ограничена точностью по паспорту +/-1метр
далее сколько я просидел в графиках барометра (как ms5611 так и bmp085), там реальная задержка/лаги самих показаний сенсора, и частота опроса тут не поможет, а спасает только скорость сенсора (только аксель!)… и если на одном баро, то пиды будут как сопли еле-еле, а если выше, то дерготня… и демо с толкалками и резким остановом на одном баро ну ни как!
с сонаром таже фигня, без акселя толком ничего не держит, т.к. теже задержки/лаги…
п.с. сегодня хорошо так подрюкался с предсказанием высоты по акселю и получил результат практически как у арду 2.9RC1 на видива ниже…
в код арду пока не подсматривал 😃
но блин тут уже двойное интегрирование и коррекция через кф… иногда интегратор выходил из стабилизации…
Сделал полную ИНС на Ф3, всё как люблю
а сорсы и гуи можете выложить?
и тут же повторю вопрос… посоветуйте среду разработки под stm32… полезные тулы там всякие и т.д.
обижаться не буду, т.к. все не так 😉
получилось как раз таки со связкой mpu6050 + ms5611, а потом уже коэф. подобрал и для bmp085, но все равно для bmp085 точность ограничена точностью по паспорту +/-1метрдалее сколько я просидел в графиках барометра (как ms5611 так и bmp085), там реальная задержка/лаги самих показаний сенсора, и частота опроса тут не поможет, а спасает только скорость сенсора (только аксель!)… и если на одном баро, то пиды будут как сопли еле-еле, а если выше, то дерготня… и демо с толкалками и резким остановом на одном баро ну ни как!
с сонаром таже фигня, без акселя толком ничего не держит, т.к. теже задержки/лаги…п.с. сегодня хорошо так подрюкался с предсказанием высоты по акселю и получил результат практически как у арду 2.9RC1 на видива ниже…
но блин тут уже двойное интегрирование и коррекция через кф… иногда интегратор выходил из стабилизации…
а сорсы и гуи можете выложить?
и тут же повторю вопрос… посоветуйте среду разработки под stm32… полезные тулы там всякие и т.д.
Читая ms5611 с частотой 100 Гц и усредняя по 10 измерениям я получаю маленький шум и актуальные данные и поэтому никто не дергается, то же с сонаром , но использую дорогой сонар МВ1200 на котором пропусков нет. Конечно использование акселя это правильно, но для хорошего результата сначала лучше хорошие датчики. То же самое я писал год тому. Мимоходом посмотрел последнюю версию Арду - так акселерометр там используют. (z-damping !)
По STM изначально выберите среду разработки. Как по мне IAR предпочтительнее, но может быть и Keil и бесплатные.
а сорсы и гуи можете выложить?
Сорсы полного ПО выкладывать не планирую, если смогу аккуратно подрезать уже привязанную свою “специфику”, то чистый ИНС выложу.
гуи как такового нет, в “большом” ПО есть лазейка в Вийский гуи, а так обычная терминалка putty + демо-отображалка (красный/синний “самолётики”).
и тут же повторю вопрос… посоветуйте среду разработки под stm32… полезные тулы там всякие и т.д.
пишу в кейле 460, или Эклипс+ГЦЦ. Под последнее проект пока не собирал, не знаю как там с отладкой Ф3 ( наверное никак), а про кейл уже писал, что перифирию F3 отлаживать нет возможности…
и тут же повторю вопрос… посоветуйте среду разработки под stm32… полезные тулы там всякие и т.д.
Я все это шаманство командной строки так и не осилил - поставил CooCox IDE, она бесплатная, все что надо есть (сделано на базе Eclipse), и работает “из коробки”.
поставил CooCox IDE, она бесплатная, все что надо есть (сделано на базе Eclipse), и работает “из коробки”.
У меня один вопрос: перифирию Ф3 отлаживает?
Встроенный отладчик на плате discovery есть, можно ли ставить точки останова в обработчиках прерываний, пока не разбирался.
coocox рулит. А есть тут любители maple? В программировании та же ардуина, только на стм32
ребята сейчас maple II делают на ф4 точно бомба будет.
Была у меня идея двинуться в сторону обработки видео для целей стабилизации, но необходимость зарабатывать что-то на жизнь не позволила. (Времени не хватило на все)
.
А не поделитесь соображениями насчет принципа стабилизации по видеокартинке, я тоже хочу попробовать поработать в этом направлении.
У меня есть кое какие мысли по отслеживанию перемещения пикселов, но интересует Ваше мнение (если не секрет).
Как бы Вы реализовали сей алгоритм…?
А есть тут любители maple?
Там бутлоадер заменять надо, если не ошибаюсь…
А не поделитесь соображениями насчет принципа стабилизации по видеокартинке, я тоже хочу попробовать поработать в этом направлении.
У меня есть кое какие мысли по отслеживанию перемещения пикселов, но интересует Ваше мнение (если не секрет).
Как бы Вы реализовали сей алгоритм…?
Супер конечно…
Но я бы всеж начал с чего то попроще типа отслеживания перемещений по картинке (как в оптической “мыши”)
Там бутлоадер заменять надо, если не ошибаюсь…
Пардон, а зачем?
они свой собственный бутлоадер используют, да даже посмотреть - инициализация USB идёт через порт PD4 а не через PA9 как в родном бутлоадере, хотя он скорей всего вторичный, ещё не пробовал…