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

mataor

насчет белиберды - согласен… но ее чистить - та еще морока…
я после пытался 3 раза собрать все в пару файлов, в итоге 3 дня убил а норм результата не вышло… оставил сейчас как сейчас есть и отлично работает.

rual
SergDoc:

если брать усреднённые данные с гир на 42- герцах, выше частоту уже не имеет смысла брать

Это если усреднение правильное, а не тупой пропуск отсчётов датчика.

VitaliyRU:

Можно увеличить частоту гир, и такие данные брать только для интегрирования, а на P и особенно D самим дополнительно фильтровать.

А вот это правильно.

oleg70
VitaliyRU:

Наверно ничего не понятно

Как раз теперь понятно. Вы хотите мерить обороты двигателей и брать эти показания для управления. Но тут (чисто мое мнение) будет скорее всего “маленькая” бяка, дело в том что: обороты и тяговое воздействие не связаны между собой линейно из за аэродинамических свойств винта (побочные потоки, срыв потока и т.д.), так что дав (допустим) 50% на сторону Вы не получите “нейтрали” в действительности, а получите непредсказуемое положение…

Razek

А если сделать калибровочную таблицу тяги от оборотов и уже на нее опираться, хотя будет достаточно дискретные значения.

VitaliyRU
Razek:

А если сделать калибровочную таблицу тяги от оборотов и уже на нее опираться, хотя будет достаточно дискретные значения.

Покурю сплайн интерполяции тады 😃)

oleg70:

Но тут (чисто мое мнение) будет скорее всего “маленькая” бяка, дело в том что: обороты и тяговое воздействие не связаны между собой линейно

Да никакая это не бяка. PID вообще про обороты и тягу ничего не знает, все равно должно быть лучше. Мерить истинные обороты, построить кривую зависимости и считать интегрируя, а не через формулу площади просто следующий этап. ДА и 90% регулирования происходит на 10% разнотяга, что в первом приближении можно считать линейной зависимостью. Да и переругуирование добро и у меня там это настраевается, зато расколбаса быть не может, только вздрогнет.

oleg70

Все готово к пробному полету, не знаю только как управление по Yaw сделать… (крен и тангаж +/- 45 гр. от ручек управления). Его (Yaw) вообще наверно не надо “привязывать” к оси Z ??

SergDoc
oleg70:

крен и тангаж +/- 45 гр. от ручек управления

это что наклон коптера? - жутко получится - 20гр. больше ненадо, ну разве что с сильным ветром бадаться…

ну что? арду третий зохвачен:

бросать всё и подымать эклипс? - компилятор кривой блин 😦 даже родную прошиву скомпилить не получается…
или плюнуть на УСБ пока и маховий себе вкодячить?
короче на распутье я 😃
чёт смотрю а газ то товарищ не отпускает (моде1 походу)…

gcc arm-none-eabi 4.5.2 творит чудеса 😃 один раз 😦
интересно - то скомпилируется то нет, может уже просто ресурсов моей старенькой железки нехватает?

SergDoc

ради эксперимента залил в плату ACopter32-STM32F4 - да усб завелось как com10…

rual
SergDoc:

это что наклон коптера? - жутко получится - 20гр. больше ненадо, ну разве что с сильным ветром бадаться…

45 норма, у меня 60. Если получится что задумал, то углы будут вообще распущены, ибо для достижения цели все средства хороши, даже если нужно вниз винтами перевернутся.

SergDoc:

бросать всё и подымать эклипс? - компилятор кривой блин даже родную прошиву скомпилить не получается…
или плюнуть на УСБ пока и маховий себе вкодячить?
короче на распутье я

Что мешает уйти на кейл? Одним кликом на переменой можно найти её объявление в другом файле, очень удобно складывать мозаику из разных проектов.
В своих проектах я обычно иду снизу вверх, т.е. сначала делается запуск проца, настройка портов и чтение датчиков, УСБКОМ, и только когда всё это начинает работать сверху сажу свою ИНС. Основой проекта выбираю родной СТМовский УСБ-демопроект, ибо работать с железом разных семейств можно через одни и те же вызовы библиотеки (с небольшими изменениями).

SergDoc:

ради эксперимента залил в плату ACopter32-STM32F4 - да усб завелось как com10…

Как только появится время сделаю портируемый УСБКОМ под твою плату.

Диодные сборки на плате BAT54?

SergDoc

Диоды да можно и BAT54 - я не помню, у меня были на платах под рукой Шоттке - я их и влепил, т.к. после них идёт на стабы и я их параллелил, то можно любые…
пробовал DfuSeDemo - по усб шиться - плохо она не затирает всю флеш, а только тот участок куда шить собираешся, можно делать заплатки в коде, но не полностью перешивать 😦
под эклипсом поиск поинтересней чем в кеил - курсор на что-нибудь и ф3 - сразу идёт к объявлению, а потом(при повторных нажатиях) все места в коде, где встречается. Так же, да вчера глюк с ошибками был из-за недостатка ресурсов, закрыл всё кроме компилятора - всё собирает без проблем…

rual:

45 норма, у меня 60. Если получится что задумал, то углы будут вообще распущены, ибо для достижения цели все средства хороши, даже если нужно вниз винтами перевернутся.

под 45 - аппарат на тебя прыгнет - фиг увернёшся, для начала не мешало бы ограничить…

mataor
oleg70:

не знаю только как управление по Yaw сделать…

а в чем проблема то с управлением?

rual
oleg70:

Его (Yaw) вообще наверно не надо “привязывать” к оси Z ??

Надо привязывать к оси азимута.

oleg70
mataor:

а в чем проблема то с управлением

Это скорей не проблема, а размышления, думаю ПИД регулирование не использовать(?), а к оси Z привязывать только для “возврата домой”, а так с ручки задавать +/- скорость вращения (?)…

SergDoc

Выложил первый релиз без USB, прибрался немного в коде, UART2 - телеметрия для фриски (которой нет 😦 ) UART3 - GPS , запущен 8-й таймер (сервы) - теперь можно использовать трёху и подвес, или подвес на трёхе 😃 и даже на бикоптере 😃
устал бороться с кодятником - отдохну просто полетаю для удовольствия, приедет верхняя плата - начну ковырять дальше…

oleg70

Сделал первый запуск…
Нарисовался странный эффект: внезапный подхват по газу, такое ощущение что входит в резонанс диф.часть пида по всем моторам, и получается при плавном взлете внезапно (без колбасни) коптер подпрыгивает вверх, (с перепугу один раз сбросил газ и чуток приложил к земле, хорошо что плашмя)…
Alt hold делать надо , или с шумами датчиков бороться…(?)

SergDoc

И то и другое - скачки резкие признак вибраций… а может и аксель шумит, на мелкоплате у меня такое было (lsm) боролся фильтром по самое небалуйся зажатым, можно попробовать на одних гирах взлететь мягче будет, ну и экспоненту на газ на радио…

oleg70
SergDoc:

скачки резкие признак вибраций

МММда… (самое интересное началось, работы еще наверно много…)
Вот и получается что уперся в датчики… Время цикла снижать придется, усреднять и т.д. и т.п , вся надежда на “мощь” stm32…

SergDoc

Попробуйте на одних гирах, если скачков нет, то 100% вибрации, хотя я во тестировал LSM - 50 -60 попугаев при запущщеных движках из 512, MPU -5-7 (движки отбалансированы пропы сняты) - картина “приплыли” называется, у LSM резонанс на частотах ровно по середине газа был…
интересно - вот у проца моего времени вагон и маленькая тележка остаётся, может ему статистикой и предсказаниями заняться?

oleg70
SergDoc:

вот у проца моего времени вагон и маленькая тележка остаётся

Да, брошу все навороты (а то уже и GPS и OSD наваял в горячке, время потратил не туда…) и займусь именно изучением качества и надежности стабилизации… Люди, я так понял применяют, “медианный фильтр”, внутренние фильтры МЭМС (хотя они кажется не совсем “честные”), что еще есть на этот счет дельного ???

SergDoc

Картинку выложу с основными миксами, подвес S3 S4: