Прошивки CleanFlight/BetaFlight для полетников

cnyx
mouserider:

к слову я пиды ни разу за год не крутил, может мне будет просто проще откатиться на какойнибудь 2.1.6 ? или не поможет?

Ну у тебя в противофазе по роллу работает PIDsum. Уменьшай P. По D

Значение D следует подбирать на основе того, как ведет себя квадр по окончании поворота. Сделайте флип, или просто резкий поворот и смотрите на окончание маневра. Если коптер “пролетает” нужную точку а потом возвращается в нее, следует добавить D, пока не получится идеальной реакции. Если коптер слишком вялый и медленно завершает маневры - следует снизить. После повышения D можно попробовать уточнить значение P.

По 2.1.6, там вроде нет AIR MODE, а в чуть более новых есть “бомба”. Я бы поставил 2.4.0, попробовал настроить и забил бы. Только если прям очень интересные фичи или исправление серьезных багов было в новых версиях.

mouserider

Да уменьши ты D по всем осям раза в два, p по ролу и пинчу что то типа 0.9 и 1 соответственно. И полетит он у тебя. Если не летал с настроенными разницы не заметишь с другими своими коптерами.
PS: Если все равно осциллирует D еще в два раза, Р по 0.1 пока дрожать не перестанет.

да D уменьшал до 2
P уменьшал до 0.2

при таком сетапе прпопали осцилляции, но при ролле в бок в стабе стабилизировался с дикими осцилляциями

Player_2
mouserider:

при таком сетапе прпопали осцилляции, но при ролле в бок в стабе стабилизировался с дикими осцилляциями

в настройках графика можно не только сумму пидов поставить, но и отдельно по каждой букве осцилирующей оси. Будет видно какая буква осцилирует. Овершотить вроде и I может…

cnyx

Вообще можно I и D обнулить, а P уменьшить в 2-3 раза от исходного. Только аккуратнее с управлением. А далее как полный курс настройки: поднимаем P до осцилляций, уменьшаем на ~30% и так далее.

mouserider
Player_2:

в настройках графика можно не только сумму пидов поставить, но и отдельно по каждой букве осцилирующей оси. Будет видно какая буква осцилирует. Овершотить вроде и I может…

Я поттом разобрался, сделал отдельный график по роллу/питчу/yaw в каждом отдлеьно p i d

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

исходные были п по 2, и по 0,040 и д по 20

А далее как полный курс настройки: поднимаем P до осцилляций, уменьшаем на ~30% и так далее.

это по роллу только или подходит для всего?

просто дома я глазом могу наблюдать только осцилляции по роллу, как разобрать питч и yaw осцелляции не знаю

Player_2
mouserider:

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

Низкий P - коптер вялым будет вплоть до неуправляемости, I - будет плавать (перестанет угол держать). D вроде как обратный к P, можно попробовать увеличить если осцилирует, но в общем на него пофиг.

Осциляции по графику ХОРОШО видно если не задирать делитель лога, видно как моторы в противофазе работать начинают. Если передние с задними - питч осцилирует, правые с левыми - ролл, противоположные - яв. Собственно и пид график оси, пидсум и собственно буква в отдельном графике становятся синусоидальными.

cnyx
mouserider:

это по роллу только или подходит для всего?

Вообще это общая теория. Она математическая. Но для оси yaw коэффициенты обычно сильно отличаются. Да и вообще yaw сложновато настраивать.

mouserider:

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

Хороший вопрос. Надо тогда пытаться проанализировать, что происходит. Я сейчас подумал, что может показания гиро и PIDsum и должны быть в разные стороны? На rcgroups была тема, где чувак анализировал это все. Можно там посмотреть примеры и анализ показаний.

Player_2

Кстати да, в документации прямо в первых строках оказывается написено что G-Tune настраивает только P. Настраивать I вручную всё равно надо. Как-то…

cnyx:

Я сейчас подумал, что может показания гиро и PIDsum и должны быть в разные стороны?

гиро - физический мир, пид - матмодель. Они зависят жеж друг от друга, правда через аппу и пилота… 😃 Как мне кажется если они циклично в разные стороны - то это овершот или вибрации.

cnyx
Player_2:

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

Это понятно. Я про что, эти графики при нормальной работе должны идти в противофазе - отклоняться в разные стороны, или в одной фазе - отклоняться в одну сторону. Ведь I и D могут вносить задержку и появится осцилляция, а осцилляция это как раз то, слишком много компенсационного воздействия. На графике выше плохо видно ось pitch, но по ней вроде графики в одной фазе находятся.

mouserider

ребят, может кому не лень посмотрите файл, я скину?
я там уже такого на крутил, что он одновременно и вялый и осциллирует и уплывает аккурат в стену)

mouserider
Кариёзный_монстр:

А пиды какие в итоге получились? ))

примерно, точно не помню, (на работе пока)
P 0.5 , I 0.020 , D =2 рол
P 0.3, I o.015, d 5 питч
yaw не помню, но тоже накрутил

пробовал задирать, обнулять, гдето почти добивался нормального полета без осцилляций (стабилайз - висение) но коптер был почти не управляем

Сергей_Уж

Выложили
Betaflight 2.4.1-RC2
Release 2.4 patch 1 pre-release:
•Replaced many of float math by fixed point math. This will especially improve performance on F1 boards
•Improved Acro Plus
•Added acro_plus_offset cli parameter. Tells the percentage stick input where acro_plus will start working and will have a smooth transition from there on
•Added back PID3 (for experimental purposes watch out with defaulf pids on this one)
•Added more options for Dterm averaging (dterm_average_count range: 2-12)
•Improved filtering for accelerometer
•Configurable max AUX channels. (cli option: max_aux_channels)
•Some cleanups

RC2 - Fixed typo in cli for acro_plus_offset
github.com/borisbstyle/betaflight/releases

chukey

мне интересен этот пункт из 2.4.0 MOTOR_STOP is now overruled by AIRMODE! It acts as a Idle Up switch now. There is no point of using motor stop in airmode
я так понимаю теперь можно армиться стиками и включать motor_stop? а в аирмоде он сам будет выключаться и моторы не будут оставливаться?

Сергей_Уж:

Выложили
Betaflight 2.4.1-RC2

Сергей, за выходом релизов кто следит тот следит и на гитхабе, было удобно и полезно когда вы переводили)

там кстати можно подписаться на уведомления при выкатывании новых релизов, нужно зарегистрироваться и на странице репозитория нажать кнопку Watch и выбрать Watching

Сергей_Уж
chukey:

Сергей, за выходом релизов кто следит тот следит и на гитхабе, было удобно и полезно когда вы переводили)

Прошил, двигатели не заводятся, делают попытку раскрутиться и на стоп.
Поменяли математику расчета с плавающей точкой и это сделано специально для улучшения производительности плат на F1 ( типа Naze32 )
Улучшен режим Acro Plus
Добавлен параметр acro_plus_offset в cli Этот параметр отображает эффективность стиков в процентах при работе в режиме acro_plus он показывает плавность перехода в этот режим ( как то так )
Вернули обратно PID3 ( сделано в качестве эксперимента, повнимательней с PID по умолчанию в этом режиме )
Добавлено больше опций для усреднения Dterm ( теперь эти значения меняются от 2 до 12 )
Улучшены фильтры для акселерометра
Сделали конфигурируемый max AUX channels ( (в cli опция: max_aux_channels)
Что то подчистили
RC2 пофиксили опечатку в cli для acro_plus_offset

Но все равно двигатели не крутятся 😃

chukey
Сергей_Уж:

Прошил, двигатели не заводятся, делают попытку раскрутиться и на стоп.

Cергей, а 2.4.0 тестили? я еще на 2.3.4, хочу обновиться только из за этого параметра который позволяет не отключать Motor_stop

Сергей_Уж
chukey:

2.4.0 MOTOR_STOP is now overruled by AIRMODE! It acts as a Idle Up switch now. There is no point of using motor stop in airmode

MOTOR_STOP теперь превалирует ( отменяет ) над AIRMODE, выступает в качестве ( как ) тумблер Idle Up и поэтому нет смысла использовать motor stop с airmode

Нет не тестил, мало слежу теперь и захожу на форум редко, боюсь интерес как то пропадает , наверное сделаю перерыв 😃

chukey
Сергей_Уж:

боюсь интерес как то пропадает , наверное сделаю перерыв

интерес вернется вместе с весной)

Hopper

Прошил 2.4.1
Все крутится, летает, но при включении эирмода коптер дрифтует вперед.

MOTOR_STOP теперь превалирует ( отменяет ) над AIRMODE

не совсем верно перевели страдательный залог. Эирмод получил приоритет над моторстоп. Т.е. если включен моторстоп и эирмод, то моторстоп просто не будет работать.
___________________________
Боря подтвердил, это баг. ждем когда пофиксит.

yeah it is very likely a small mistake in iterm calculation for airmode during float to fixed point conversion on that part.
I did not experience that in my tests as I was hardcoding some stuff.

I will have a RC3 soon with the fix as I need also one more thing to fix.