Создание собственной системы стабилизации

DVE
mahowik:

кто первый вынесет вердикт на F3? 😉

У меня есть F4, если есть какие-то тесты, могу запустить. Но плата здоровая все же, может F3 поменьше, не знаю.
Честно говоря, думаю датчики там самые дешевые и примитивные, иначе цена платы была бы выше.

Можно было бы хоть Naze32 за основу взять… Интересно, выведены ли там пины для отладки?

Drinker:

Рекомендую mbed кортекс м3 96мгц прошивается элементарно - бросаем бинарник как на флешку ресет и все.

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

mahowik

OpenPilot уже походу пoртанули на STM32F3DISCOVERY github.com/…/Discovery-F3-what-this-is-about

И MultiWii на STM32F4 (UAVXArm32F4)
www.multiwii.com/forum/viewtopic.php?f=23&t=2831
www.quadroufo.com/index.php?cPath=28&osCsid=rjh2ms…
code.google.com/p/uavp-mods/

кстати UAVXArm32F4 платка уже на полном фарше за 100 енотов… к лету будет 50 ))

upd: так что дело движется! учим stm32! 😃

upd2: хе! под STM32F4DISCOVERY тоже порт OpenPilot есть 😉 github.com/lilvinz/…/How-to-build-the-discovery

igor_v_t
SergDoc:

матрица у меня есть, но понятия не имею, что за она ( может маркировка и есть но снизу, а выпаивать пока не решался) и DCMI уже никак, но она вроде как по spi мало дорожек, проц на котором она висит без маркировки (похоже какая-то ПЛИС)

5611 по i2c оставил ибо ну никак не выкручу дорожки, в нынешней интерпретации компас на основной плате (на мелкоплате танцевал с бубном пока не поменял шнурок программатора на экранированый и с компасом более проблем не имел) gps отдельно на верхней плате с батарейкой, там же пищалка и MicroSD…

Я собственно что-то такое имел ввиду pixhawk.ethz.ch/px4/modules/px4flow

SergDoc

Немного отчитаюсь, нормально развести плату с датчиками на борту не выходит 😦 в частности проблемы с нормальной разводкой питания, возвращаюсь к предыдущему варианту - ИМУ - мелкая платка крепится между основной и платой GPS 😦 , блин застрял с какой-то ерундой…

mahowik:

кстати UAVXArm32F4 платка уже на полном фарше за 100 енотов… к лету будет 50 ))

для F4 думаю MPU6050 по i2c как-то не актуально? хотя сделать дёшево и сердито можно, меньше проводников на плате - легче разрулить…

DVE:

Можно было бы хоть Naze32 за основу взять… Интересно, выведены ли там пины для отладки?

пины отладки выведены, но в f103 в отличии от F3 F4 нет FPU…

Alexey_1811

Готов принять участие в разработке/тестировании мозгов на STM32F.

SergDoc

гы-гы - банда собирается 😃

igor_v_t:

Я собственно что-то такое имел ввиду pixhawk.ethz.ch/px4/modules/px4flow

там по всей видимости, f407 и с DCMI, так что легче купить готовую штуку и подцеплять её к полётному контроллеру…

igor_v_t
SergDoc:

там по всей видимости, f407 и с DCMI, так что легче купить готовую штуку и подцеплять её к полётному контроллеру…

В 2010 игрался с флайментором И в нем был мышинный датчик. На контрастной поверхности держал аппарат на месте, а на слабоконтрастной сходил с ума. ИМХО если возится с этим, то датчик должен быть хорошим иначе будет бессмысленно.
ИМХО в качестве датчиков можно использовать hobbyking.com/…/__31138__Multiwii_and_Megapirate_A… а далее через SPI подключить к основному процессору . Дешевле вряд ли будет.
А изначально может быть интереснее обсудить алгоритмы . То что мне удалось придумать на AIO PRO FC реализовывается и STM32 не особо нужен.

Sir_Alex

ArduCopter сейчас адаптируется сразу под две 32бит платформы: PX4 и какая то SMACCM. Я думаю, что без проблем можно будет и под нашу самодельную платку адаптировать. 😃

SergDoc

В таком случае, есть полная определённость с датчиками, настораживает другое в PX4 проц с 1м памяти, в отличии от моего и F3 где по 256кБ…

DVE

YS-X4 удивили - никак, все алгоритмы запихнули в ПЛИС 😃

oleg70

Кто поможет советом?
Хочу попробовать перейти с avr на arm.
Честно говоря надоело “извращаться” с 8 битной архитектурой…

Посоветуйте среду разработки, программатор (?), ну и с чего начать то…

Наверно лучше уж начать с последних моделей на ядре М4 ?

Кто чем реально пользуется ? (кто с чего начинал?).
Заранее благодарен.

Gapey
DVE:

YS-X4 удивили - никак, все алгоритмы запихнули в ПЛИС 😃

а почто циклон только первый ??? народ уже пятый вовсю юзает … и процик ненужен будет (наборту пара ядер ARM Cortex-A9) , DSP переменной точности , защита от копирования …

Sir_Alex
DVE:

YS-X4 удивили - никак, все алгоритмы запихнули в ПЛИС

Почему все в ПЛИС, там же на плате еще и ARM стоит…

mahowik
Musgravehill:

Кому интересно: калибровка датчиков - линеаризация, нормирование 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…

Sir_Alex:

SMACCM

где посмотреть про этот контроллер и сами планы, анонсы от арду?

oleg70:

Честно говоря надоело “извращаться” с 8 битной архитектурой…

Посоветуйте среду разработки, программатор (?), ну и с чего начать то…

+1

уже заказал дискавери Ф4 пару дней назад + дискавери Ф3 вчера с digikey… ооо! быстрые ребята там… пишут в понедельник будет на месте 😃

rual
mahowik:

STMF3Discovery не такая уж и большая

Для коптера обычного размера вполне нормальная

mahowik:

OpenPilot уже походу пoртанули на STM32F3DISCOVERY

Вот блин, опередили ))) Еслиб проэлектроника неделю не протянула взлетел бы до НГ…

SergDoc:

для F4 думаю MPU6050 по i2c как-то не актуально?

Тут надо посчитать передаваемые битики, если 30%-ный запас будет, то вполне нормально.
Кста, отчитаюсь.
Сделал полную ИНС на Ф3, всё как люблю, т.е.:
-передача данных в ПДП (SPI) и перывании для И2Ц;
-получение данных по запросу самих датчиков через линии готовности данных;
-частоты получения данных 380 Гц-ДУС, 50 Гц - аксель и компас;
-время отработки одного отсчета: ДУС -1200\1400 мкСек, Аксель - 2100\2500 мкСек.
И2Ц интерфейс Ф3 произвёл на меня огромное впечатление. Почти весь конечный автомат протокола перефирия выполняяет САМА!!!
Я уже готов пересмотреть своё отношение к и2ц на борту.))) Если у Ф4 такой же, то смело можно делать на и2ц.

RusINS10F3.rar

Sir_Alex
rual:

Я уже готов пересмотреть своё отношение к и2ц на борту.))) Если у Ф4 такой же, то смело можно делать на и2ц.

Да вун Мегапират работает со всеми датчиками по I2C и ничо, справляется…

mahowik:

где посмотреть про этот контроллер и сами планы, анонсы от арду?

Понятия не имею, сам в исходниках свежих нашел драйвера HAL под эту плату…

igor_v_t
rual:

Тут надо посчитать передаваемые битики, если 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 вник дотошно. Датчики исследовал тоже подробно. В принципе для меня нетрудно реализовать любой алгоритм обработки и вставить его в тот же Арду. Но нужны идеи.

Sir_Alex
igor_v_t:

Переходя на более мощный процессор хотелось бы читать датчики чаще, но учитывая скорость И2С если все датчики повесить на нее это достигнуть не удастся. Зачем тогда переходить? Ну только для того чтобы познакомиться с ним?

А есть ли смысл читать датчики быстрее? Все наверное видели как летают последние версии Арду, а ведь частоту опроса они не поднимали, все дело в управляющих алгоритмах. А вон Александр(mahowik) вообще всех порвал своей реализацией АльтХолда по акселю… и то же дело не в датчиках 😃

igor_v_t
Sir_Alex:

А есть ли смысл читать датчики быстрее? Все наверное видели как летают последние версии Арду, а ведь частоту опроса они не поднимали, все дело в управляющих алгоритмах. А вон Александр(mahowik) вообще всех порвал своей реализацией АльтХолда по акселю… и то же дело не в датчиках 😃

Да есть . Читая MS5611 с частотой 100 Гц получил результат практически тот же что и с сонаром. (Не в обиду Александру, проделавшему большую работу с ВМР085)

mahowik

обижаться не буду, т.к. все не так 😉
получилось как раз таки со связкой mpu6050 + ms5611, а потом уже коэф. подобрал и для bmp085, но все равно для bmp085 точность ограничена точностью по паспорту +/-1метр

далее сколько я просидел в графиках барометра (как ms5611 так и bmp085), там реальная задержка/лаги самих показаний сенсора, и частота опроса тут не поможет, а спасает только скорость сенсора (только аксель!)… и если на одном баро, то пиды будут как сопли еле-еле, а если выше, то дерготня… и демо с толкалками и резким остановом на одном баро ну ни как!
с сонаром таже фигня, без акселя толком ничего не держит, т.к. теже задержки/лаги…

п.с. сегодня хорошо так подрюкался с предсказанием высоты по акселю и получил результат практически как у арду 2.9RC1 на видива ниже…

в код арду пока не подсматривал 😃

но блин тут уже двойное интегрирование и коррекция через кф… иногда интегратор выходил из стабилизации…

rual:

Сделал полную ИНС на Ф3, всё как люблю

а сорсы и гуи можете выложить?

и тут же повторю вопрос… посоветуйте среду разработки под stm32… полезные тулы там всякие и т.д.

igor_v_t
mahowik:

обижаться не буду, т.к. все не так 😉
получилось как раз таки со связкой mpu6050 + ms5611, а потом уже коэф. подобрал и для bmp085, но все равно для bmp085 точность ограничена точностью по паспорту +/-1метр

далее сколько я просидел в графиках барометра (как ms5611 так и bmp085), там реальная задержка/лаги самих показаний сенсора, и частота опроса тут не поможет, а спасает только скорость сенсора (только аксель!)… и если на одном баро, то пиды будут как сопли еле-еле, а если выше, то дерготня… и демо с толкалками и резким остановом на одном баро ну ни как!
с сонаром таже фигня, без акселя толком ничего не держит, т.к. теже задержки/лаги…

п.с. сегодня хорошо так подрюкался с предсказанием высоты по акселю и получил результат практически как у арду 2.9RC1 на видива ниже…

но блин тут уже двойное интегрирование и коррекция через кф… иногда интегратор выходил из стабилизации…

а сорсы и гуи можете выложить?

и тут же повторю вопрос… посоветуйте среду разработки под stm32… полезные тулы там всякие и т.д.

Читая ms5611 с частотой 100 Гц и усредняя по 10 измерениям я получаю маленький шум и актуальные данные и поэтому никто не дергается, то же с сонаром , но использую дорогой сонар МВ1200 на котором пропусков нет. Конечно использование акселя это правильно, но для хорошего результата сначала лучше хорошие датчики. То же самое я писал год тому. Мимоходом посмотрел последнюю версию Арду - так акселерометр там используют. (z-damping !)

По STM изначально выберите среду разработки. Как по мне IAR предпочтительнее, но может быть и Keil и бесплатные.

rual
mahowik:

а сорсы и гуи можете выложить?

Сорсы полного ПО выкладывать не планирую, если смогу аккуратно подрезать уже привязанную свою “специфику”, то чистый ИНС выложу.
гуи как такового нет, в “большом” ПО есть лазейка в Вийский гуи, а так обычная терминалка putty + демо-отображалка (красный/синний “самолётики”).

mahowik:

и тут же повторю вопрос… посоветуйте среду разработки под stm32… полезные тулы там всякие и т.д.

пишу в кейле 460, или Эклипс+ГЦЦ. Под последнее проект пока не собирал, не знаю как там с отладкой Ф3 ( наверное никак), а про кейл уже писал, что перифирию F3 отлаживать нет возможности…

MinIMU-9-test.rar

DVE
mahowik:

и тут же повторю вопрос… посоветуйте среду разработки под stm32… полезные тулы там всякие и т.д.

Я все это шаманство командной строки так и не осилил - поставил CooCox IDE, она бесплатная, все что надо есть (сделано на базе Eclipse), и работает “из коробки”.