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

Пилот72

Приветствую Всех!
А может ли кто нибудь дать дельный совет как побороть нч осциляцию?
Суть проблеммы…сетап: рама карбон от Диатона, двигатели T-Motor MN 1806-14 2300kv, регуляторы T-Motor S12A 600Hz прошивка Simonk, контроллер полета SP RACING F3 MINI, батареи 3S 1600 и 2200, полетный вес с легкой батарейкой 470 грамм.
Двигатели отбалансированы, пропеллеры тоже. Во всех режимах полета наблюдаются небольшие колебания, заметно и визуально и по камере (в акро режиме колебания поменьше). ПИДы настраивал и перестраивал много раз, и по видео и по советам с форума. I составляющая на эти колебания по моим ощущениям вообще не влияет. Виброразвязку контроллера делал и на резиновых демпферах (очень мягких) и на самоклейке, сейчас установлен жестко на пластиковых стоечках (чем мягче виброразвязка, тем сильнее колебания)
Пару файлов лога полета в Англе и Акро
yadi.sk/i/b8ONyBm7qoW5w
yadi.sk/i/-tGZDwYsqoW6a

Такое ощущение что очень чуствительность большая у гиро, можно ли ее как то ограничить через КлинФлайт?
Да, еще забыл сказать, луптайм тоже менял, не влияет на эти колебания.

Пилот72

Пробовал летать на контроллере “из коробки” не меняя прошивки, потом перепрошил в Клинфлайт версия 1.12.0. Изменений никаких.

korvin8
korvin8:

а вот если это будет обрабатывать ПК то можно например реализовать так: кратковременная потеря связи (0,5-1с) - ничего не происходит, выполняется последняя команда, связь не восстановилась - стабилизация и подача моторам газа висения и ожидание пару секунд, если связь не появилась - дизарм и падение

frozenboy:

А как на практике реализовать подобный алгоритм?

вся информация есть здесь github.com/cleanflight/cleanflight/…/Failsafe.md
реализуется примерно так:


feature FAILSAFE #включение функциональности ФС
set failsafe_procedure = Land #режим в котором во время работы ФС включается стабилизация
set failsafe_delay = 10 #1 сек ожидания после потери сигнала перед включением ФС
set failsafe_off_delay = 20 #2 сек работает ФС, коптер стабилизируется и удерживает газ failsafe_throttle, после этого дизармится
set failsafe_throttle = 1200 #газ который поддерживается во время работы ФС
Пилот72

Отвечаю на свой собственный вопрос заданный выше. Речь шла о низкочастотной осциляции которую настройкой ПИДов не удавалось побороть.

Итак, находим в CLI вот эту переменную: gyro_lpf (она отвечает за фильтрацию НЧ помех на гироскопе)
В документации на КлинФлай указано что она по дефолту 42HZ, и диапазон ее настройки от 10HZ до 256HZ. На самом деле в моей прошивке 1.12.0 она была 188HZ. Понизив данную константу до 98HZ полностью избавился от НЧ осциляции!
В КлинФлай так же есть предупреждение что если для устранения НЧ осциляции нужно выставлять значение менее 42HZ то это значит что на раме очень большая вибрация и надо с ней бороться балансировкой вращающихся деталей.

Команда для изменения данной константы:
set gyro_lpf = 98HZ
save

Надеюсь кому нибудь пригодится данная информация

Bogdanov

а есть видео с этими вибрациями? я так понимаю они давали желе?

DuDlik

А расскажите тогда, что дает gyro_lpf?
Откуда эти помехи берутся которые оно фильтрует?
У меня он gyro_lpf = off как советует Борис для loop time меньше 1000 на F1.
Или оно не используется в Акро режиме?

Пилот72
Bogdanov:

а есть видео с этими вибрациями? я так понимаю они давали желе?

Видео нет, квадрик только построен, еще не летал с камерой. А вибрации которые я упомянул медленные неравномерные подергивания, вот в соседней теме на видео Виталия Окулова обратите внимание на линию горизонта и здания в ровном полете, заметно небольшое покачивание, вот про него я и писАл. Ссылочка на видео: rcopen.com/forum/f136/topic445692

DuDlik:

А расскажите тогда, что дает gyro_lpf?
Откуда эти помехи берутся которые оно фильтрует?
У меня он gyro_lpf = off как советует Борис для loop time меньше 1000 на F1.
Или оно не используется в Акро режиме?

Вот на этой страничке, найдите параметр gyro_lpf: github.com/cleanflight/cleanflight/blob/…/Cli.md
в таблице нет никакого упоминания про то что он может быть установлен в “off”. Я перевел описания и дословно “gyro_lpf - фильтр низких частот гиросенсора”. Что конкретно он делает я не знаю, но на своей новой модели поэксперементировал, чем выше задаю значение gyro_lpf тем больше НЧ осциляция, чем меньше значение тем более вялый по управлению становится квадр. Во всех режимах полета этот параметр неизменен. Так что у меня сейчас опытным путем подобрано значение gyro_lpf = 98HZ.
Луптайм установлен на 1500.

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

А расскажите тогда, что дает gyro_lpf?

Хардварный фильтр низких частот в гире. Дает защиту от вибраций )

Кроме него есть еще и софтварный фильтр низких частот насколько я помню

DuDlik
Пилот72:

Вот на этой страничке, найдите параметр gyro_lpf: github.com/cleanflight/cleanflight/blob/…/Cli.md
в таблице нет никакого упоминания про то что он может быть установлен в “off”.

Вот Борис сам пишет про выключение.

Boris says yes F1 boards can run 2Khz mode, but I think it would be unreliable.
You need the latest betaflight to get the 2khz option, You must turn off ACC and Baro, and set gyro_lpf = OFF

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

Хардварный фильтр низких частот в гире. Дает защиту от вибраций )
Кроме него есть еще и софтварный фильтр низких частот насколько я помню

Ну это буквы, я их прочитал и сам ) а что в реале он делает и почему у меня с выключенным им все прекрасно летает.
При этом FC закреплен жестко. Причем интересно, что частота с которой он фильтрует колебания задается жестко, хотя как я понимаю колебания от моторов-винтов-кривой рамы могут быть не 98HZ четко а 83 скажем.

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

Ну это буквы, я их прочитал и сам ) а что в реале он делает и почему у меня с выключенным им все прекрасно летает.
При этом FC закреплен жестко. Причем интересно, что частота с которой он фильтрует колебания задается жестко, хотя как я понимаю колебания от моторов-винтов-кривой рамы могут быть не 98HZ четко а 83 скажем

Сорри, постоянно забываю что на авиамодельном форуме могут быть гуманитарии ) Летает потому что вибраций мало. Были б у тебя убитые подши в движках например и gyro_lpf тебе бы пригодился. Могут быть и 83, но и ты можешь поставить gyro_lpf равным 42 или 20 например и все что выше будет фильтроваться.

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

Сорри, постоянно забываю что на авиамодельном форуме могут быть гуманитарии ) Летает потому что вибраций мало. Были б у тебя убитые подши в движках например и gyro_lpf тебе бы пригодился. Могут быть и 83, но и ты можешь поставить gyro_lpf равным 42 или 20 например и все что выше будет фильтроваться.

Да в том и дело, что зимний коптер убит был до состояния адского.
Ладно соберём на F3 с включённой фильтрацией посмотрим, как полетит

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

Да в том и дело, что зимний коптер убит был до состояния адского

Ненене, адское состояние это когда лучи при небольшом усилии ходят вверх-вниз. Или когда даешь средний газ на коптере без пропов и он бодро ползет куда то по столу )) Те когда пиды настроить становится не реально приходится пользоваться хардварными и софтварными фильтрами данных гироскопа.

Сергей_Уж

Нашел совет как правильно калибровать мультишот. Описываю процесс чтобы сразу было понятно видео. Смысл в том что после обычной калибровки нужно подправить Maximum Trottle У меня как на видео он был установлен на 2000. После калибровки ставим двигатель ( без пропеллера) на максимум 2000 и плавно убираем на компе газ, действительно двигатель не реагирует и обороты не меняются до определенной границы, как только обороты начинают меняться , нужно запомнить это значение и выставить его на странице конфига У меня это значение получилось 1967. Нужно сделать это, потому что после калибровки замечено что даже если вы руками в программе BLHeli установите 2000 происходит непонятный сброс значений на порядка 40 едениц и возникает несоответствие которое возможно приводит к непонятным выбрыкам в полете. Борис сам еще не разобрался, но как будто бы происходит достижение макс значения оборотов раньше, а пид контроллер думает что есть еще запас, отсюда броски. Одно и тоже видео в двух ракурсах

rlazarev
Сергей_Уж:

Нашел совет как правильно калибровать мультишот

Если и проделывать это, то только на разряженной 3S батарейке, что собственно автор multishot и рекомендует. А можно/нужно не делать … дабы не мучать моторы, а просто откалибровать до 2000 или сколько вам нужно и потом просто убрать 50 единиц и это значение вбить в maxthrotle.
10-15 единиц никакой существенной роли и +5 к скорости не дадут. Калибровал и так и так - разницы не заметил.

korvin8

релиз Betaflight 2.6.1 github.com/borisbstyle/betaflight/…/v2.6.1

  • Very long waited VCP passthrough thanks to 4712!
  • 4 way interface passthrough, which also works for simonk bootloader through blhelisuite
  • Remove old simonk passthrough
  • Cli bugfix for configuring Yaw lpf
  • Fix low throttle arming for 3D mode on switch.
  • Fix for re-arming when calibration set to be prior arming (only for switch armers due to safety reasons)
  • Fix IBUS to have 10 channels
  • Add frsky average voltage on A4
  • Fix for transponder for SPRACINGF3MINI target
  • Luxfloat has no exact same rate and PID scaling like rewrite. The defaults are now same. Makes switching between these 2 easier. Luxfloat users need to readjust rates and perhaps slightly their PID’s. See wiki for more info
  • Added new targets SPRACINGF3EVO and DOGE
  • Fix for uninitialized averageSum
  • New Horizon default sensitivity (Level D is now horizon sensitivity for luxfloat and rewrite)
DuDlik

А в чем смысл дефолтных значений BLHeli
PPM Min Throtle - 1148
PPM Max Throtle - 1832

Если в BetaFlight мы ставим 1000 и 2000?
Надо менять их или нет?

crown
DuDlik:

А в чем смысл дефолтных значений BLHeli
PPM Min Throtle - 1148
PPM Max Throtle - 1832

Обычно ставят 1020 и 1980 после прошивки регулей в blheli

DuDlik
crown:

Обычно ставят 1020 и 1980 после прошивки регулей в blheli

Ну вот на скринах разное реально бывает.
А есть объяснение логическое? На новых пчелках стоят дефолтные значения.
Да и даже 1020 - 1980 не бьются с Betaflight.

Такс провел эксперимент )
Поставил в BlHeli
PPM Min Throtle - 1148
PPM Max Throtle - 2000

Зашел в BetaFlight и отколибравал там ESC’s

Зашел в BlHeli и вижу
PPM Min Throtle - 1032
PPM Max Throtle - 1944

Ну ОК выставил в BetaFlight 1030 - 1944
Посмотрим, как полетит.

Но ±50 единиц правда теряются по пути )))