Методическая рекомендацияvoronfpv.ru

ПИДы и фильтры: от нуля до разбора блэкбокса

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

Здесь всё по порядку. Что творится в голове полётника за одну четверть миллисекунды. Надо ли тебе вообще трогать ПИДы. Как подготовить дрон, чтобы настройка имела смысл. Что такое P, I, D, ползунки и фильтры - простыми словами и руками в тренажёрах. Как записать чёрный ящик, открыть его в Blackbox Explorer и понять, что править. Разбор настоящего лога, тяжёлый аппарат с грузом, автотюн и нейросети по дампу.

Прочитал, прошёл тренажёры - подключаешь любой дрон к Betaflight, пишешь блэкбокс и понимаешь, что с ним не так и какую цифру трогать. Опытным сразу в разделы про фильтры, разбор лога, Лабораторию дампа и автотюн.

Твой инструмент навсегда - Лаборатория (раздел 12). Загружаешь свой diff all или лог блэкбокса - Лаборатория разбирает твои настройки и подсказывает, что поправить: «наблюдение → гипотеза → совет» и готовые команды CLI. Модель похожего аппарата с твоими цифрами можно погонять в 3D в ветер и с грузом - посмотреть, что станет лучше, а что хуже. Поменял пропы, моторы, прошивку, повесил груз - снова сюда. Работает без интернета, файл никуда не уходит. Закладку сделай сразу.

Тренажёры - главное в этой методичке. Слева в каждом копия окна Betaflight, справа бегущий график как в Blackbox Explorer, в углу маленький 3D-дрон. Меняешь цифру, жмёшь «Сохранить» - сразу видишь, что стало с дроном. При первом открытии тренажёр сам покажет по шагам, что где на экране: что за полосы на графике, какая линия что значит, куда они ползут. Потом это всегда можно открыть кнопкой «? Что на экране» над графиком. Печатная версия понятна и без них: всё, что показывают тренажёры, написано текстом.

Уровни в шапке разделов: Уровень 1: минимум - без этого не лезь в настройки. Уровень 2: базовый - сам читаешь блэкбокс и правишь. Уровень 3: проф - тяжёлые аппараты, свои фильтры, автотюн.

Версии: всё сверено с кодом Betaflight 2025.12.5 и 2026.6.2. Где в 2026.6 поменялось - сказано отдельно.

Раздел 1
Голова полётника
сколько всего приходит за секунду и что он с этим делает
Уровень 1: минимум

Полётник - не пульт с моторами. Это маленький компьютер. Тысячи раз в секунду он решает одно: как дрон крутится сейчас и насколько поддать каждым мотором, чтобы крутился так, как просит стик.

Мозги и главный датчик
F405168 МГц
F722216 МГц
H743до 480 МГц
Гироскоп BMI2703200 замеров в секунду

Словарь на одну минуту. Эти слова дальше будут везде:

Слово Что это простыми словами
Полётник, FC полётный контроллер, плата-мозг дрона
Гироскоп, Gyro датчик, который меряет, с какой скоростью дрон крутится по каждой оси, в градусах в секунду
Оси: Roll, Pitch, Yaw крен (наклон вбок), тангаж (нос вверх-вниз), рыскание (поворот на месте)
Setpoint сколько градусов в секунду просит стик прямо сейчас
Ошибка Setpoint минус Gyro: насколько дрон крутится не так, как просили
ПИД (PID) три слагаемых P, I, D, которые из ошибки считают, насколько поддать моторами
Фильтр кусок программы, который выкидывает из сигнала гироскопа мусор: гул моторов, дрожь рамы
DShot цифровой протокол, по которому полётник шлёт команды регуляторам моторов
Двухсторонний DShot, bidir DShot регулятор в ответ на каждую команду присылает обороты мотора
RPM-фильтр фильтр, который по оборотам моторов режет их гул точно по частоте
Блэкбокс, чёрный ящик запись всего этого на флешку, чтобы потом посмотреть на графиках
Blackbox Explorer программа, в которой смотрят записи блэкбокса
Гц, кГц раз в секунду. 8 кГц - восемь тысяч раз в секунду
Дамп, diff all текстовая выгрузка всех настроек полётника из вкладки CLI

Сколько всего проходит через полётник за секунду. Цифры для типичного F7: гироскоп 8 кГц, ПИД 4 кГц, фильтры по умолчанию, двухсторонний DShot включён. Так же считает тренажёр ниже.

Что За секунду Откуда цифра
Гироскоп 24 000 8000 замеров × 3 оси
Акселерометр 3 000 1000 раз × 3 оси: где верх, где низ
Фильтры 228 000 на каждый замер каждой оси: 12 вырезов RPM, 3 динамических, 2 НЧ и ещё 2 на D
Расчёт P, I, D, F 48 000 4000 раз × 3 оси × 4 слагаемых
Команды моторам (DShot) 16 000 4000 раз × 4 регулятора
Обороты с моторов 16 000 каждый регулятор отвечает на каждую команду
Пульт около 8 000 ELRS 500 Гц × 16 каналов
Аккумулятор около 100 напряжение и ток
Чёрный ящик около 49 000 по умолчанию каждый 4-й цикл × 49 значений (столько в настоящем логе)

Итого - под 400 тысяч операций в секунду. На H7 с ПИДом 8 кГц всё удваивается - около 750 тысяч. И всё это должно успеть в один цикл.

Один цикл - 250 микросекунд. Микросекунда - миллионная доля секунды. При ПИДе 4 кГц на цикл 250 мкс, при 8 кГц - 125 мкс. Моргнул глазом (0,15 с) - прошло 600 циклов. Процессор F7 на 216 МГц успевает за цикл около 54 тысяч тактов при 4 кГц и около 27 тысяч при 8 кГц. На всё сразу.

Что происходит за эти 250 мкс, по шагам:

  1. Замер. Гироскоп: с какой скоростью дрон крутится по каждой оси.
  2. RPM-фильтр. Вырезаем гул моторов: 4 мотора × 3 гармоники = 12 вырезов на ось.
  3. Остальные фильтры. Динамический notch и НЧ-фильтры добивают остатки шума.
  4. Сравнение. Что просит пульт (Setpoint) минус что есть на самом деле = ошибка.
  5. P · I · D. Сколько поправить: P - «сейчас», I - «накопилось», D - «тормоз».
  6. Миксер. Раскидать поправку на 4 мотора.
  7. DShot. Команды ушли на регуляторы моторов.
  8. Телеметрия. Регуляторы вернули обороты - по ним и работает RPM-фильтр.
  9. Пульт. Пакет с пульта приходит не в каждом цикле, а когда пришёл - новый Setpoint.
  10. Блэкбокс. Записать всё это на флешку (по умолчанию каждый 4-й цикл).

Главное, что надо понять. Почти всё, что прилетает с гироскопа, - мусор: гул моторов, дрожь рамы, удары воздуха. Настоящее движение дрона - единицы и десятки герц, гул моторов - сотни. Фильтры выкидывают мусор. ПИД решает, насколько сильно отвечать на то, что осталось. Все настройки в этой методичке - это инструкция полётнику: на что реагировать, на что плевать и с какой силой.

Где это увидеть на своём дроне.

  1. Подключи полётник по USB, открой Betaflight Configurator (Windows - русская версия из базы, Android - версия для телефона), нажми Подключиться (Connect).
  2. Внизу окна строка статуса: Время цикла (Cycle Time) - реальное время между расчётами ПИДа в микросекундах. Рядом загрузка процессора.
  3. Вкладка Конфигурация (Configuration) → Системные настройки (System configuration): Частота обновления гироскопа (Gyro update frequency) и Частота обновления цикла PID (PID loop frequency). Делитель между ними в CLI называется pid_process_denom.

Загрузка процессора до арма врёт. Пока дрон не заармлен, часть фильтров (например, RPM-фильтр без телеметрии) не считается. Настоящая полётная загрузка видна только в полёте.

Какой гироскоп стоит, тоже важно. BMI270 в Betaflight работает на 3200 замеров в секунду, выше прошивка его не гоняет, хотя в интернете пишут про 6,4 кГц - это предел самого чипа. ICM-42688-P прошивка настраивает на 8, 4, 2 или 1 кГц. MPU6000 по документации Betaflight - 8 кГц. У H743 ревизии «Y» потолок 400 МГц, полные 480 - только у ревизии «V» и новее.

Прогони один цикл сам. Включи ветер, поставь время «один цикл» и досмотри все 10 шагов, потом выключи фильтры и посмотри на моторы:

Рис. 1. Тренажёр 1, вкладка «Что приходит»: всё, что полётник принимает и считает за секунду - цифры пересчитываются от твоих настроек

Результат: ты знаешь, что полётник 4000-8000 раз в секунду меряет, фильтрует, сравнивает и поправляет, и что фильтры и ПИД - две разные работы: одни чистят сигнал, другой решает, как на него ответить.

Материалы базы: что такое Betaflight, прошивка Betaflight, Betaflight 2026.6.

Раздел 2
Лезть или нет
когда сток хорош, а когда без настройки никак
Уровень 1: минимум

Заводские ПИДы Betaflight подбирали под обычную пятидюймовую фристайл-сборку. Если у тебя такая - скорее всего, сток летает нормально, и проблемы не в цифрах.

Под что сток, а под что нет
Рама 5 дюймовсток обычно хорош
Рама 7 дюймовнужна настройка
Мотор 3115 для 7-10 дюймовсвои цифры и фильтры
Твой аппарат Сток подойдёт? Что делать
5" фристайл, моторы 2207, пропы 5", аккумулятор 4-6S да, в 90% случаев подготовка (раздел 3), запись блэкбокса, трогать только если лог показывает проблему
3" и меньше, синевупы часто нет мелкая рама дрожит от лишнего P и D - смотри FAQ, «мелко трясётся»
7" и больше, дальнолёты нет большие пропы медленнее, шум ниже по частоте, фильтры и ПИДы свои (раздел 10)
Тяжёлый аппарат, груз, сброс нет настройка под загрузку, I поменьше, отдельный профиль (раздел 10)
Нестандартная рама, смещённый центр тяжести, сервы нет сначала механика и центровка, потом ПИДы

Предустановки (Presets) - готовые настройки от производителей и пилотов. Вкладка Предустановки в Betaflight: ищешь свою раму или сборку, жмёшь Выбрать (Pick), потом Сохранить и перезагрузить. Это быстрый старт, а не твоя настройка: автор настраивал свой экземпляр, со своими пропами, весом и аккумулятором. Перед этим - diff all в файл. После - полёт с логом и моторы на ощупь, как со стоком.

Как понять, что с твоим дроном всё нормально - по шагам:

  1. Сделай подготовку из раздела 3. Без неё любая настройка - гадание.
  2. Слетай 1-2 минуты на стоке: висение, резкие движения по каждой оси, флип, газ в пол и сброс.
  3. Сядь и сразу потрогай моторы. Тёплые - нормально. Горячие, пальцами не удержать - проблема (шум или механика).
  4. Посмотри видео: нет ли мелкой дрожи на висении, «болтанки» на сбросе газа, отскока после флипа.
  5. Запиши блэкбокс (раздел 8) и глянь спектр гироскопа.

Результат: моторы тёплые, видео ровное, на спектре нет высоких пиков - не лезь в ПИДы, иди летать. Что-то из этого не так - читай дальше, но первым делом раздел 3: половина «проблем с ПИДами» - погнутый проп, болтающийся винт или не тот протокол моторов.

Сначала механика, потом цифры. Кривой проп фильтрами не вылечишь - только спрячешь, и дрон станет ватный нахуй.

Раздел 3
Подготовка
калибровки, моторы, пропы, двухсторонний DShot, RPM-фильтр, запись блэкбокса
Уровень 1: минимум

Если дрон кривой, трясётся от погнутого пропа или RPM-фильтр слепой, ты будешь настраивать не ПИД, а свою механику. Поэтому сначала всё это.

Что понадобится
Кабель USB-Cподключение к Betaflight
Регулятор 4-в-1прошивка BLHeli_32 / AM32 / Bluejay
Балансир проповмагнитный
Демпферы полётникарезиновые
Карта microSDпод блэкбокс
Стек на демпферахполётник над регулятором

Что нужно: Betaflight Configurator, кабель USB-C с передачей данных (не только зарядный), аккумулятор, винты сняты.

Шаг 1. Бэкап настроек

  1. Вкладка Командная строка (CLI), вписать diff all, Enter.
  2. Кнопка Сохранить в файл (Save to File) - сохрани файл с датой и названием дрона.

Это твоя точка возврата. Всё сломал - вставляешь файл обратно в CLI и пишешь save.

Шаг 2. Калибровка акселерометра

  1. Поставь дрон на строго горизонтальную поверхность.
  2. Вкладка Система (Setup) → кнопка Калибровать Акселерометр (Calibrate Accelerometer). Не трогай дрон, пока кнопка пишет «Calibrating…».
  3. Проверка: на той же вкладке 3D-модель дрона. Наклоняешь дрон рукой - модель наклоняется так же.

Нужна для Angle, Horizon и возврата по GPS, на Acro не влияет. Не откалибровал, а функции от акселерометра включены - Betaflight не даст заармиться (флаг NO_ACC_CALIBRATION) и напишет «The accelerometer is enabled but it is not calibrated».

Гироскоп калибруется сам при каждом включении питания. Твоя задача - не шевелить дрон, пока не пропищит сигнал калибровки.

Шаг 3. Выравнивание платы

Если полётник стоит в раме повёрнутым (на 45, 90, 180°), это надо сказать прошивке, иначе горизонт и Angle будут косить.

  1. Вкладка Конфигурация (Configuration) → блок Выравнивание платы (Board Alignment) → поля Roll° / Pitch° / Yaw°. В CLI: align_board_roll, align_board_pitch, align_board_yaw.
  2. В свежих версиях есть помощник Auto-detect board alignment: четыре движения (плоско → нос вниз → правый бок вниз → поворот по рысканию), углы подберёт сам. Перед ним нужен откалиброванный акселерометр. В линии 4.5 помощника нет, только поля руками.
  3. Сохранить и Перезагрузить.
  4. Проверка: вкладка Система, 3D-модель повторяет наклоны настоящего дрона, а не зеркалит их.

Шаг 4. Моторы: порядок, направление, пропы

  1. Вкладка Моторы (Motors). Винты сняты - это не шутка, конфигуратор прямо пишет «Serious risk of injury! Remove all propellers!».
  2. Поставь галочку Я понимаю всю опасность, пропеллеры сняты - включить управление моторами и арминг, и отключить «Режим Защиты От Неконтролируемого Полёта» (I understand the risks, the propellers are removed - enable motor control and arming, and disable Runaway Takeoff Prevention) - включатся ползунки.
  3. Подключи аккумулятор. Двигай ползунок каждого мотора по очереди на малый газ.
  4. Сверь с картинкой миксера: номер мотора и направление вращения. У квадрика X пары по диагонали крутятся в одну сторону.
  5. Номер не тот - кнопка Переназначить моторы (Reorder motors): моторы крутятся по одному, ты назначаешь номера, Сохранить (Save).
  6. Направление не то - меняй в настройке прошивки регулятора (BLHeli, AM32, Bluejay-конфигуратор), а не перепаиванием проводов. Галочка Обратное вращение моторов (Motor direction is reversed) на вкладке Конфигурация (Configuration) физику не меняет - она только говорит миксеру, как моторы крутятся.
  7. Пропы ставь под уже проверенное направление вращения.

Шаг 5. Механика - то, что не лечится цифрами

  1. Каждый мотор покрути пальцем без пропа. Хрустит, шуршит, есть люфт - подшипник под замену.
  2. Проверь винты крепления мотора: не должны доставать до обмотки (иначе мотор греется и коротит). Длинные - подложи шайбы или поставь короче.
  3. Протяни все винты рамы и моторов.
  4. Полётник - на резиновых демпферах, не зажат стяжкой и не касается рамы.
  5. Пропы - новые или без сколов и изгибов. Новый комплект проверь на балансире: тяжёлая лопасть уходит вниз.

Шаг 6. Двухсторонний DShot и RPM-фильтр

RPM-фильтр - самый сильный фильтр в Betaflight. Он знает обороты каждого мотора и режет гул точно по частоте. Но только если регуляторы присылают обороты.

Что нужно от регулятора: прошивка с поддержкой двухстороннего DShot:

Прошивка регулятора С какой версии
BLHeli_32 32.7 и новее
Bluejay (для регуляторов BLHeli_S) поддерживает, на форумах советуют 0.19 и новее
AM32 поддерживает

Про AM32 и Bluejay в базе: что такое Bluejay и AM32, настройка регуляторов AM32.

Как включить:

  1. Вкладка Конфигурация (Configuration) → Протокол ESC/мотора (ESC/Motor Protocol): DSHOT300 или DSHOT600.
  2. Там же включи Двухсторонний DShot (Bidirectional DShot, требуется поддерживаемая прошивка ESC) (в CLI set dshot_bidir = ON).
  3. Поле Полюса мотора (Motor poles) (motor_poles) - число магнитов в колоколе мотора. Считай магниты, а не обмотки. Обычно 14 у моторов для 5", 12 у 3" и меньше. Сомневаешься - посчитай глазами.
  4. Сохранить и Перезагрузить (Save and Reboot).
  5. RPM-фильтр Betaflight включает сам. Посмотреть его - вкладка PID настройки (PID Tuning) → Настройки фильтров (Filter Settings) → блок Gyro RPM фильтр (Gyro RPM Filter).

Проверка:

  1. Вкладка Моторы, аккумулятор подключён, винты сняты.
  2. Покрути каждый мотор ползунком. Под каждым мотором должны появиться R (обороты), E (ошибки телеметрии) и T (температура регулятора).
  3. У всех моторов R не ноль, E не больше примерно 1%.
  4. На вкладке Система нет флага арма RPMFILTER («RPM-based filtering is enabled but one or more ESC's are not supplying valid DSHOT telemetry»).

Неверное число полюсов = RPM-фильтр режет не там. Режет мимо - всё равно что нет его нахуй. Телеметрия есть, а дрон шумит - первым делом пересчитай магниты.

Шаг 7. Включить блэкбокс

  1. Вкладка Конфигурация (Configuration) → функция BLACKBOX включена.
  2. Вкладка Чёрный ящик (Blackbox) → Устройство для записи в Blackbox (Blackbox logging device): SD карта (SD Card), если есть слот; иначе Бортовой флэш (Onboard Flash).
  3. Частота записи в Blackbox (Blackbox logging rate): для настройки ПИДа хватит 1/4 (это и есть умолчание), для фильтров и шума - 1/1. Подробно - раздел 8.
  4. Сохранить и Перезагрузить.
  5. Запись идёт сама с каждым армом. Хочешь включать отдельным тумблером - вкладка Режимы (Modes), режим BLACKBOX на свободный AUX.

Результат: дрон стоит ровно на 3D-модели, моторы в правильном порядке и направлении, у всех видны обороты, RPM-фильтр работает, блэкбокс пишет. Вот теперь можно настраивать.

Материалы базы: полное руководство по скрытым настройкам Betaflight через CLI, краткое руководство по CLI, кривая газа в Betaflight.

Раздел 4
P, I, D на пальцах
пружина, упрямство, тормоз - и предсказатель F
Уровень 1: минимум

ПИД - это три «руки», которые каждый цикл решают, насколько поддать моторами. Все три смотрят на одно и то же: ошибку - разницу между тем, что просит стик (Setpoint), и тем, как дрон крутится на самом деле (Gyro).

Что делает Мало Много Сток 2025.12, Roll / Pitch / Yaw
P - пружина чем сильнее отклонился, тем сильнее тянет назад дрон «ватный», идёт за стиком с опозданием, от толчка болтается перелетает цель и сам дрожит быстро-быстро, моторы греются 45 / 47 / 45
I - упрямство копит ошибку, пока она есть, и дожимает тянет в сторону от груза, ветра, смещённого аккумулятора, всё время подруливаешь медленное раскачивание, «деревянное» управление 80 / 84 / 80
D - тормоз смотрит, как быстро дрон идёт к цели, и тормозит заранее отскок и качание после флипа, пропвош раздувает любой шум в десятки раз, моторы дёргаются и греются 30 / 34 / 0
F (Feedforward) - предсказатель видит, что стик резко пошёл, и поддаёт сразу, не дожидаясь ошибки отклик плавный, но с задержкой дрон обгоняет стик, перелёт в начале флипа 120 / 125 / 120

Диапазон P, I, D в Betaflight - 0-250, Feedforward - 0-1000.

Как это выглядит на графике блэкбокса:

Где это в Betaflight:

  1. Вкладка PID настройки (PID Tuning) → подвкладка Настройка профилей PID (PID Profile Settings).
  2. Таблица: строки ROLL / PITCH / YAW, столбцы Proportional / Integral / Derivative / D Max / Feedforward.
  3. Если вместо цифр только ползунки и цифры не редактируются - это упрощённый режим (раздел 6). Чтобы вбить цифры руками, включи режим эксперта (Expert Mode) в настройках конфигуратора.
  4. Поменял - Сохранить (Save). Без Save полётник ничего не узнает.
  5. Проверка: Командная строка (CLI) → get p_roll - там твоя цифра.

То же в CLI: set p_roll = 45, set i_roll = 80, set d_roll = 30, save. Имена: p_, i_, d_, f_ плюс roll, pitch, yaw.

Сделай руками, по шагам (в тренажёре дрон качается по крену - меняй строку ROLL):

  1. P = 0, сохрани, нажми «Толкнуть». Дрон болтается как мешок: I и D одни не справляются.
  2. Поднимай P (60, 80, 100…), пока дрон не задрожит сам, без ветра и толчков. На Gyros и моторах - мелкая частая пила.
  3. Верни P 45. Поставь D = 0 и D Max = 0, дай «Резкий крен». Gyro перелетает Setpoint и качается - тормоза нет.
  4. Верни D 30 и D Max 40. Поставь I = 0 и повесь груз сбоку - дрон висит с креном. Верни I 80 - выправился.
  5. Включи «Погнутый проп» и подними D до 60. Моторы греются выше 75° - D раздувает шум.
  6. Сделай свои цифры и «Резкий крен», потом «Сбросить этот профиль» и снова - сравни с серой линией.
Рис. 2. После «Резкого крена»: Setpoint (жёлтый) - ступенька стика, Gyro (красный) догоняет; ниже работают P, I, D и моторы

Тренажёр - учебная модель одной оси, а не прошивка. Цифры ведут себя как в Betaflight, но точная граница «дрожи» на твоём дроне будет своя.

Проверь на своём дроне: Лаборатория (раздел 12) - загрузи свой diff all или лог, там же эти цифры с твоими весом и пропами, в ветер и с грузом.

Результат: ты знаешь, что P - пружина, I - упрямство, D - тормоз, F - предсказатель, где они в Betaflight и как каждый выглядит на графике, когда его мало и когда много.

Раздел 5
Три оси
крен и тангаж похожи, рыскание живёт по своим законам
Уровень 1: минимум
Рис. 3. Три оси дрона. Красная камера - перёд. Крен и тангаж делает тяга моторов, рыскание - разница крутящего момента пропов

Roll и Pitch - дрон наклоняется, потому что одна пара моторов тянет сильнее другой. Это быстро и сильно: тяга пропа большая. В стоке у Pitch цифры чуть выше, чем у Roll: 47/84/34 против 45/80/30.

Yaw работает иначе. Дрон поворачивается не тягой, а тем, что пропы, крутящиеся в одну сторону, раскручивают раму в обратную. Моторы одной диагонали чуть быстрее, другой - чуть медленнее, разница крутящего момента поворачивает дрон. Это слабее и медленнее, чем крен.

Что из этого следует:

Roll / Pitch Yaw
Как поворачивает тягой, быстро разницей крутящего момента, медленнее
D по умолчанию 30 / 34 0 - на рыскании D выключен
Потолок суммы ПИДа pidsum_limit = 500 pidsum_limit_yaw = 400
Свой фильтр нет yaw_lowpass_hz = 100 - дополнительный НЧ-фильтр только на yaw
Привязка к земле акселерометр знает, где низ нет: без магнитометра курс медленно уплывает
Держит курс без стика - feedforward_yaw_hold_gain = 15: компенсирует разворот рамы на газу

Практика:

  1. Ось yaw в последнюю очередь. Сначала Roll и Pitch.
  2. D на yaw не включай «по аналогии» - по умолчанию он 0 не просто так.
  3. Дрон сам медленно разворачивается - сначала вкладка Приёмник (Receiver): канал Yaw в покое должен стоять ровно на 1500. Стоит 1497 - подтримируй на пульте.
  4. Полностью убрать медленный уход курса без магнитометра нельзя - это ограничение гироскопа, а не настройки.
  5. После смены пропов yaw крутит в другую сторону - направление моторов в Betaflight не совпадает с пропами (раздел 3, шаг 4).

Результат: ты не переносишь цифры с крена на рыскание, знаешь, почему там D = 0, и отличаешь уход курса от настоящей проблемы.

Раздел 6
Ползунки и что за ними
Feedforward, D Max, TPA, антигравити, ослабление I
Уровень 2: базовый

На вкладке PID настройки (PID Tuning) по умолчанию не цифры, а ползунки. Каждый ползунок - это множитель к заводским цифрам. Все стоят на 100% (то есть 1.0 - «как сток»), ход 0-200%, у ползунков фильтров минимум 10%.

Что считает каждый ползунок - формулы из кода Betaflight, 1:1:

Ползунок Что меняет Формула
Мастер-множитель (Master Multiplier) всё сразу умножает P, I, D, F
Трекинг (Tracking) P и I вместе P = сток × master × PI
Дрейф - Колебание (Drift - Wobble) только I I = сток × master × PI × I
Демпфирование (Damping) D и D Max D = сток × master × D
Отзывчивость стиков (Stick Response) F F = сток × master × FF
Трекинг по тангажу (Pitch Tracking) P и I по тангажу ещё × pitchPI только для Pitch
Демпфирование по тангажу (Pitch Damping) D по тангажу ещё × pitchD только для Pitch
Множитель фильтров гироскопа (Gyro Filter Multiplier) НЧ-фильтры гироскопа 250 / 500 Гц × множитель
Множитель фильтров D-Term (D Term Filter Multiplier) НЧ-фильтры D 75 / 150 Гц × множитель

Пример: Master 1.2 - P по крену 45 × 1,2 = 54, I 80 × 1,2 = 96, D 30 × 1,2 = 36. Ползунок Динамическое демпфирование (Dynamic Damping, D Max) считается хитрее: d_max = сток_Dmax × master × D × dMaxGain, где dMaxGain зависит от этого ползунка и отношения стоковых D и D Max.

Ползунки перезаписывают цифры. Вбил цифры с форума, тронул ползунок - и хуй там, а не твои цифры: Betaflight пересчитал всё по своей формуле. Нужны точные чужие цифры - включи режим эксперта (Expert Mode), выключи упрощённый режим и вбивай руками.

С чего начать новичку:

  1. Вкладка PID настройки, ползунки.
  2. Дрон мягкий, «ватный» - Мастер-множитель +0,1. Жёсткий, дрожит, моторы горячие - -0,1.
  3. Сохранить, слетал, записал блэкбокс, потрогал моторы.
  4. По одной оси проблема (например, только Pitch) - только тогда ползунки Pitch или цифры.

Что стоит за «дополнительными» настройками

Feedforward. Ответ на движение стика, пока ошибки ещё нет. Уменьшает задержку. Кроме самих F (120 / 125 / 120) у него есть:

Параметр Что делает По умолчанию
feedforward_averaging сколько точек стика усреднять против дребезга 2 точки
feedforward_smooth_factor сглаживание сигнала F 65
feedforward_jitter_factor мелкий дребезг стика не превращается в рывок 7
feedforward_boost усиление на резком движении стика 15
feedforward_max_rate_limit не даёт F «переехать» заданную скорость 90
feedforward_transition ослабить F у центра стика, 0 = везде одинаково 0

D Max. D может «подскакивать» от базового значения до D Max на резком манёвре, а на висении оставаться низким - меньше шума. Сток D Max: 40 / 46 / 0.

Параметр Что делает 2025.12 2026.6
d_max_gain насколько сильно D может вырасти; 0 = D Max выключен, D постоянный 37 0
d_max_advance насколько D Max «забегает» вперёд резкого движения стика 20 35

В 2026.6 D Max по умолчанию выключен. Обновился с 2025.12 на 2026.6 и вставил старый diff - эти две строки могут вести себя не так, как ты привык. Сверь get d_max_gain.

TPA - ослабление на газу. После порога газа TPA понемногу снимает часть D (или P и D), на полном газу - на tpa_rate процентов. Есть и отдельное ослабление на малом газу.

Параметр Что делает По умолчанию
tpa_mode что ослаблять: только D, P и D D
tpa_rate на сколько % ослабить на полном газу 65
tpa_breakpoint газ, с которого начинается ослабление 1350
tpa_low_rate ослабление на малом газу 20
tpa_low_breakpoint ниже какого газа действует tpa_low_rate 1050

Антигравити. На резком рывке газа дрон «клюёт» - I не успевает. Антигравити на время рывка усиливает I и P.

Параметр По умолчанию
anti_gravity_gain - усиление I на рывке газа 80
anti_gravity_p_gain - то же для P 100
anti_gravity_cutoff_hz - что считать «резким» 5

Ослабление I (I-term relax). Пока стик быстро двигается, I копит «ошибку», которой на самом деле нет, и после флипа отдаёт её отскоком. Relax не даёт I копиться во время движения стика.

Параметр Что делает По умолчанию
iterm_relax на каких осях RP (крен и тангаж)
iterm_relax_type по чему судить о движении: SETPOINT (стик) или GYRO SETPOINT
iterm_relax_cutoff насколько «строго», Гц 15
iterm_windup порог, после которого I перестаёт копиться, % 80

Ещё два, которые пригодятся: throttle_boost = 5 обостряет отклик газа на резкий стик; dyn_idle_min_rpm = 0 (выключено) держит моторы живыми на нулевом газу, работает только с двухсторонним DShot.

Двигай ползунки и смотри, как меняются цифры и дрон:

Рис. 4. Режим «Манёвр A/B»: пунктир - как было до «Сохранить», сплошная - после. Сразу видно, что дал ползунок

Проверь на своём дроне: Лаборатория (раздел 12) - загрузи свой diff all или лог, там же «Подобрать ПИД в модели» - отправная точка для твоего аппарата.

Результат: ты знаешь, что ползунок - множитель к стоку, как он пересчитывает цифры, и за что отвечают Feedforward, D Max, TPA, антигравити и I-relax.

Материалы базы: руководство по настройке Betaflight.

Раздел 7
Шум и фильтры
НЧ, notch, динамический, RPM - и почему каждый фильтр это задержка
Уровень 2: базовый
Откуда берётся мусор
Мотор 2207гудит на частоте оборотов и кратных
Подшипники мотораубитый - широкая «шуба» шума
Демпферыбез них гироскоп трясёт вместе с рамой

Откуда шум и как он выглядит на спектре. Спектр - график «сколько шума на какой частоте».

Источник Как выглядит на спектре Что делать
Моторы пики на частоте оборотов и кратных ей (×2, ×3) - гармоники. Добавил газ - пики поехали вправо RPM-фильтр
Погнутый или несбалансированный проп первая гармоника одного мотора вырастает в разы новый проп, балансир
Убитый подшипник не пик, а широкий горб на сотни герц менять подшипник или мотор, ни один вырез его не возьмёт
Резонанс рамы пик стоит на месте при любом газе механика, при остатке - статический notch
Стек без демпферов, болтается винт всё сразу выше демпферы, протянуть винты

Четыре вида фильтров на пальцах:

Что включено из коробки (Betaflight 2025.12, так же в 2026.6):

Фильтр CLI По умолчанию
НЧ-фильтр гироскопа 1, динамический gyro_lpf1_dyn_min_hz / _max_hz 250 / 500 Гц, PT1
НЧ-фильтр гироскопа 2 gyro_lpf2_static_hz 500 Гц, PT1
Статические notch гироскопа gyro_notch1_hz, gyro_notch2_hz 0 - выключены
Динамический notch dyn_notch_count, _min_hz, _max_hz, _q 3 шт., 100-600 Гц, Q 300
RPM-фильтр rpm_filter_harmonics, _min_hz, _q 3 гармоники, от 100 Гц, Q 500 - работает только с двухсторонним DShot
НЧ-фильтр D 1, динамический dterm_lpf1_dyn_min_hz / _max_hz 75 / 150 Гц, PT1
НЧ-фильтр D 2 dterm_lpf2_static_hz 150 Гц
Notch на D dterm_notch_hz 0 - выключен

Порядок фильтров - по коду Betaflight, а не «как логично»:

D считается уже из отфильтрованного гироскопа. Значит, его задержка = задержка гироскопа + своих фильтров.

Каждый фильтр - это задержка. Фильтр смотрит на несколько прошлых замеров, и всё, что вышло из него, опаздывает. Меньше фильтров - дрон отвечает быстрее, но шум идёт в моторы и греет их. Больше фильтров - моторы холодные, но дрон тупит, а если перегнуть - раскачивается сам: ПИД отвечает на то, что было, а не на то, что есть.

Фильтры работают на частоте цикла ПИДа, а не гироскопа: при гироскопе 8 кГц и ПИДе 4 кГц всё считается 4000 раз в секунду.

Правильный порядок действий:

  1. Механика. Новые пропы, покрути моторы рукой, протяни винты, стек на демпферах.
  2. Двухсторонний DShot + RPM-фильтр (раздел 3, шаг 6).
  3. Только потом фильтры. Смотришь блэкбокс: чисто и моторы холодные - сдвигаешь множители фильтров вправо (меньше фильтрации, быстрее отклик). Моторы горячие - влево.
  4. Остался пик, который стоит на месте при любом газе, - резонанс рамы. Ставь на него статический notch: вкладка PID настройки (PID Tuning) → Настройки фильтров (Filter Settings) → Режекторный фильтр гироскопа-1 «Notch» (Gyro Notch Filter 1), центр - частота пика, срез - ниже центра.

Как двигать фильтры, по шагам:

  1. Вкладка PID настройки (PID Tuning) → Настройки фильтров (Filter Settings).
  2. Ползунок Множитель фильтров гироскопа (Gyro Filter Multiplier) или Множитель фильтров D-Term (D Term Filter Multiplier) - шаг 0,1.
  3. Сохранить (Save).
  4. Короткий полёт, сразу потрогать моторы.
  5. Запись блэкбокса на 1/1, посмотреть спектр (раздел 8).
  6. Моторы стали горячее - откати на шаг.

Какую ручку фильтра куда крутить

Ползунки-множители двигают сразу все НЧ-фильтры. Когда по логу понятно, что именно шумит, можно крутить отдельные ручки: вкладка PID настройки → Настройки фильтров, выключи ползунок - поля станут редактируемыми. Умолчания и диапазоны - по коду Betaflight 2025.12.

Ручка (CLI) Что делает Когда двигать Как проверить
Gyro Lowpass 1, динамический (gyro_lpf1_dyn_min_hz / _max_hz, сток 250 / 500) НЧ-фильтр гироскопа, частота плавает от min на малом газу до max на полном моторы горячие на малом газу - опусти min; дрон ватный, а шума в логе нет - подними моторы на ощупь, Unfiltered Gyro против Gyro в анализаторе
Gyro Lowpass 2 (gyro_lpf2_static_hz, сток 500) второй НЧ-фильтр на входе трогать последним; ниже 300 - только если без него никак задержка в Лаборатории, отскок после флипа в логе
Тип фильтра PT1 / PT2 / PT3 / BIQUAD (gyro_lpf1_type, dterm_lpf1_type) PT1 - мягкий, с самой маленькой задержкой (сток). PT2, PT3, BIQUAD режут круче, но запаздывают сильнее почти никогда; менять тип - только если лог показывает шум, который PT1 не берёт тот же спектр и отскок
Динамический notch: количество (dyn_notch_count, сток 3, 0-7) сколько пиков он ищет и вырезает RPM-фильтр работает - пики моторов уже вырезаны, вырезов хватит 1-2 (меньше задержки). RPM-фильтра нет - оставь 3 спектр: остались ли пики
Динамический notch: Q (dyn_notch_q, сток 300) ширина выреза: больше Q - уже вырез и меньше задержки с RPM-фильтром - выше (500), вырезать остаток узко. Широкий гул без RPM - ниже пик ушёл, а соседние частоты не тронуты
Динамический notch: мин. / макс. частота (dyn_notch_min_hz / _max_hz, сток 100 / 600) где он ищет пики большие пропы, гул ниже 100 Гц - опусти min (например, до 60-80) в режиме отладки FFT_FREQ видно, куда он ставит вырезы
RPM-фильтр: гармоники (rpm_filter_harmonics, сток 3) сколько гармоник каждого мотора резать 3 - почти всегда. В логе нет пика на 2-й или 3-й гармонике - можно меньше, это чуть меньше задержки спектр Gyro
RPM-фильтр: мин. частота (rpm_filter_min_hz, сток 100) ниже этой частоты вырезы не ставятся, возле неё - ослабляются гул моторов на висении ниже или около границы (большие пропы, низкий KV) - опусти, но не ниже 30 Лаборатория сама посчитает частоту висения и сравнит
RPM-фильтр: Q (rpm_filter_q, сток 500) ширина вырезов почти никогда; шире (меньше Q) - если моторы на телеметрии «плавают» спектр Gyro
Статический notch 1 / 2 (gyro_notch1_hz / _cutoff) вырезает одну частоту всегда только на резонанс рамы: пик стоит на месте при любом газе. Центр - частота пика, срез - ниже центра пик пропал; нет пика - notch убрать
D Term Lowpass 1, динамический (dterm_lpf1_dyn_min_hz / _max_hz, сток 75 / 150) НЧ-фильтр на D пила на PID D и горячие моторы - опусти; D тормозит поздно, отскок - подними полоса PID D в логе, моторы на ощупь
D Term Lowpass 2 (dterm_lpf2_static_hz, сток 150) второй НЧ-фильтр на D вместе с первым, по той же логике то же
Yaw lowpass (yaw_lowpass_hz, сток 100) свой НЧ-фильтр только на рыскание почти никогда -

Рецепты по шагам: симптом → что крутить

Перед любым рецептом: diff all в файл, запись блэкбокса на 1/1, винты сняты, пока крутишь на столе. Все поля - вкладка PID настройки → Настройки фильтров. Если поля серые - выключи ползунок Множитель фильтров гироскопа или Множитель фильтров D-Term, тогда их можно менять руками.

Рецепт 1. Моторы горячие после полёта, дрон летает нормально.

  1. Сначала механика: пропы целые, подшипники без хруста, винты протянуты, полётник на демпферах (раздел 3, шаг 5). Горячие моторы от погнутого пропа фильтрами не лечатся ни хуя.
  2. Двухсторонний DShot включён, у всех моторов на вкладке Моторы есть обороты (раздел 3, шаг 6).
  3. Всё это в порядке, а моторы горячие - Множитель фильтров D-Term влево на 0,1, Сохранить.
  4. Полёт 1-2 минуты, сразу потрогать моторы.
  5. Не помогло - Множитель фильтров гироскопа влево на 0,1.
  6. Проверка: в анализаторе Blackbox Explorer на PID D меньше мелкой пилы, моторы тёплые.

Результат: моторы тёплые, задержка выросла чуть-чуть и только там, где нужно.

Рецепт 2. RPM-фильтр работает - убираем лишнюю фильтрацию.

  1. Проверь, что RPM-фильтр правда работает: вкладка Моторы, у всех R не ноль, E около 0.
  2. Динамический Режекторный Фильтр → Количество: 3 → 1 (или 2). Гул моторов уже вырезал RPM-фильтр, динамическому остаётся только остаток.
  3. Там же Q: 300 → 500 - вырез уже, задержки меньше.
  4. Сохранить, полёт с логом.
  5. Проверка: в анализаторе на Gyro нет новых пиков, моторы не горячее, чем были.
  6. Всё чисто - можно по шагу 0,1 сдвинуть Множитель фильтров гироскопа вправо (меньше фильтрации - быстрее отклик).

Результат: та же чистота при меньшей задержке - дрон острее, меньше пропвош.

Рецепт 3. Большие пропы (7" и больше), гул ниже 100 Гц.

  1. Узнай частоту висения: загрузи diff all в Лабораторию (раздел 12), впиши пропы, вес и KV во вкладке Аппарат - она посчитает «гул моторов в висении ≈ … Гц». Или найди пик на анализаторе своего лога.
  2. Gyro RPM фильтр → Мин. частота: ниже частоты висения, например 100 → 60 (не ниже 30). В CLI: set rpm_filter_min_hz = 60.
  3. Динамический Режекторный Фильтр → Мин. частота: 100 → 60-80. В CLI: set dyn_notch_min_hz = 70.
  4. Сохранить, полёт с логом.
  5. Проверка: пик гула на Gyro заметно ниже, чем на Unfiltered Gyro.

Результат: RPM-фильтр режет гул в полную силу, и его не надо душить НЧ-фильтрами.

Рецепт 4. Пик стоит на месте при любом газе - резонанс рамы.

  1. В Blackbox Explorer включи анализатор, режим «частота против газа». Пик моторов ползёт наискосок, пик рамы стоит столбом.
  2. Сначала механика: протяни винты рамы и стека, проверь крепление камеры и антенн - половина «резонансов» это болтающаяся деталь.
  3. Остался - включи Режекторный фильтр гироскопа - 1 «Notch».
  4. Центральная частота - частота пика (например, 160). Частота среза - ниже центра (например, 130).
  5. Сохранить, полёт с логом.
  6. Проверка: пика на Gyro нет. Нет пика и в Unfiltered Gyro - значит, notch вообще не нужен, выключи.

Результат: один узкий вырез на одну частоту вместо общего душения всех фильтров.

Рецепт 5. Дрон ватный, отскакивает после флипа, а шума в логе нет.

  1. Загрузи diff all в Лабораторию - вкладка Разбор покажет «Фильтры гироскопа запаздывают на … мс». Больше 2,5 мс - фильтров лишку.
  2. Проверь, что RPM-фильтр работает (рецепт 2, шаг 1). Без него ослаблять фильтры опасно.
  3. Множитель фильтров гироскопа вправо на 0,1, Сохранить.
  4. Полёт: флипы, резкий газ, моторы на ощупь.
  5. Моторы холодные, стало острее - ещё шаг 0,1. Моторы потеплели - шаг назад.
  6. Проверка: в логе после флипа Gyro останавливается без отскока, задержка в Лаборатории меньше.

Результат: фильтров ровно столько, сколько нужно твоему дрону: моторы холодные, дрон острый.

Рецепт 6. Мелкая частая пила на PID D, остальное нормально.

  1. D Term Lowpass 1 → Мин. частота ниже: 75 → 65. Или Множитель фильтров D-Term влево на 0,1.
  2. Сохранить, полёт с логом.
  3. Пила осталась - механика (рецепт 1, шаг 1). Если шум сильный, D его раздувает при любых фильтрах.
  4. Проверка: полоса PID D в Blackbox Explorer гладкая, всплески только на манёврах.

Результат: D тормозит манёвры, а не молотит моторы шумом.

Рис. 5. Так выглядит проверка в тренажёре и в Blackbox Explorer: сверху сигнал по времени, снизу анализатор - пики и метки фильтров

Правило одно для всех ручек: одна правка → короткий полёт → моторы на ощупь → лог. Меньше фильтрации - быстрее отклик, но горячее моторы. Больше - холоднее, но дрон тупит и после флипа отскакивает.

Не выключай фильтры «для отзывчивости». Отзывчивость получишь, а моторы сгорят к хуям. Конфигуратор сам предупреждает про flyaway и сгоревшие моторы. Шум без фильтров идёт прямо в моторы - они дёргаются и греются.

Покрути газ, включи поломки и посмотри, что происходит со спектром и задержкой:

Рис. 6. Анализатор: Unfiltered Gyro против Gyro, вертикальные метки - где стоят фильтры и вырезы

Проверь на своём дроне: Лаборатория (раздел 12) - загрузи свой diff all или лог, там же посчитано, на сколько миллисекунд запаздывают именно твои фильтры, а по логу - где у тебя гудит и совпадает ли это с оборотами моторов.

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

Раздел 8
Блэкбокс
запись, скачивание, Blackbox Explorer: полосы, анализатор, step response
Уровень 2: базовый
Куда пишется чёрный ящик
Карта microSDSD Card - лучший вариант
Полётникфлешка на плате или слот SD

Без блэкбокса настройка ПИДа - гадание по видео. С блэкбоксом ты видишь, что делал каждый мотор в каждый момент.

Настройки записи

  1. Вкладка Чёрный ящик (Blackbox) → Устройство для записи в Blackbox (Blackbox logging device) (blackbox_device): SD карта (SD Card), Бортовой флэш (Onboard Flash) или Последовательный порт (Serial Port). SD держит частую запись дольше, флешка на плате маленькая.
  2. Частота записи в Blackbox (Blackbox logging rate) (blackbox_sample_rate): 1/1, 1/2, 1/4, 1/8, 1/16 от частоты ПИДа. По умолчанию 1/4 - при ПИДе 8 кГц это 2 кГц.
Задача Частота записи
Настройка ПИДа: перелёт, отскок, D 1/4 хватает
Шум, вибрации, фильтры 1/1, иначе высокие частоты просто не попадут в лог
Длинные проверочные полёты 1/8, экономит место
  1. Режим отладки чёрного ящика (Debug mode) (debug_mode) - что писать в дополнительные поля:
Режим Когда
GYRO_SCALED сырой и отфильтрованный гироскоп, вибрации и работа фильтров
FFT_FREQ за какими частотами гоняется динамический notch
RPM_FILTER видит ли RPM-фильтр обороты моторов
D_MAX сколько «добавки» даёт D Max
CHIRP запись для автотюна (раздел 11), нет в 4.5
  1. Сохранить и Перезагрузить.

Какой полёт записывать

30-60 секунд активного полёта одним заходом:

  1. Висение 5-10 секунд - шум без нагрузки.
  2. Резкие движения по одной оси: только крен туда-обратно, потом только тангаж, потом только рыскание. Одна ось за раз, чтобы не смешивать.
  3. Флипы и роллы - поведение на пределе и D при резкой остановке.
  4. Газ в пол и сброс - просадка питания, пропвош, реакция RPM-фильтра.
  5. Потом то, что ты реально летаешь.

Как скачать лог

С флешки на плате: вкладка Чёрный ящик (Blackbox) → Активировать режим запоминающего устройства (Activate Mass Storage Device Mode). Полётник перезагрузится и появится в компьютере как флешка. Скопируй файлы .BFL, потом отключи и снова подключи питание - полётник выйдет из режима флешки. Кнопка Сохранено в файл… (Save flash to file…) тоже есть, но медленная и ненадёжная - конфигуратор сам советует режим флешки.

С SD-карты: то же самое через Mass Storage или вынь карту и вставь в компьютер.

Очистить: Стереть флэш (Erase flash) на той же вкладке. Перед новой сессией настройки - очищай, иначе запутаешься в файлах.

Как открыть и читать в Blackbox Explorer

  1. Открой blackbox.betaflight.com в браузере или поставь Blackbox Explorer для Windows из базы.
  2. Открой в нём файл .BFL / .BBL.
  3. Слева - список полос графиков, справа - бегущие графики. Пробел или ползунок внизу - прокрутка по времени.

Полосы, которые смотрят в первую очередь:

Полоса Что видно Что искать
Gyro + Setpoint по каждой оси как дрон крутился и что просил стик Gyro отстаёт от Setpoint - вялость; перелетает и качается - мало D или много P
Unfiltered Gyro гироскоп до фильтров «шерсть» - шум, чем толще, тем больше мусора приходит
PID P, I, D, F вклад каждого слагаемого D с мелкой шерстью - шум в D; I уехал в одну сторону и стоит - дрон что-то постоянно держит
Motors команды на каждый мотор моторы в пиле - шум в моторах, горячие моторы; одни моторы всё время выше других - смещённый центр тяжести или груз
eRPM обороты моторов с двухстороннего DShot ноль - телеметрии нет, RPM-фильтр слепой
Батарея напряжение и ток просадка на газу до 3,2-3,3 В на банку - слабая или уставшая батарея

Анализатор спектра (FFT):

  1. Нажми View Analyser Display.
  2. В легенде выбери полосу - например, Gyro по крену.
  3. Zoom Analyser Window - растянуть окно.
  4. Точная частота пика: зажми Shift и веди курсор, левый клик ставит метку.

Как читать спектр:

Step response - переходная характеристика. Как ось отвечает на резкий рывок стика: как быстро вышла на нужную скорость, перелетела ли, как быстро успокоилась. Резкий подъём со «звоном» - много P или мало D. Вялый затянутый подъём - мало P. Его строят вкладка Autotune в Betaflight 2026.6 (раздел 11) и бесплатный PID-Analyzer (Plasmatree) - он считает step response по обычному логу. Для step response нужны резкие движения стиком по одной оси, лог висения не годится.

Потренируйся читать графики на логе, где ты сам знаешь, что сломано:

Рис. 7. Настоящий лог в копии Blackbox Explorer: слева вкладка «Чёрный ящик» Betaflight, справа полосы Gyros, Motors, RC Commands, Battery

Проверь на своём дроне: Лаборатория (раздел 12) - загрузи свой diff all или лог, там же вкладка «Мой лог» разберёт полёт сама: спектр, упоры моторов, отскоки, батарея.

Результат: ты пишешь блэкбокс с нужной частотой, выгружаешь его, открываешь в Blackbox Explorer и по полосам, спектру и step response понимаешь, что не так: шум, вялость, перелёт или механика.

Материалы базы: как настроить фильтры и ПИДы с помощью Blackbox, Blackbox Explorer для Windows.

Раздел 9
Разбор настоящего лога
что видно, что это значит, что править
Уровень 2: базовый
Лог записан на полётнике F7 - как этот
Betaflight 2025.12.2прошивка
AXISFLYING F7 PROплата
6Sаккумулятор
23 сдлина записи

Настоящий лог Макса, дрон «MOISEI TECH». Разбираем так, как будешь разбирать свой: сначала что в настройках, потом что на графиках, потом выводы.

Шаг 1. Что в заголовке лога

В начале каждого лога Betaflight пишет все настройки. Их видно в Blackbox Explorer и в Лаборатории (раздел 12).

Что В логе Сток 2025.12 Вывод
Гироскоп / ПИД 8 кГц / 4 кГц (pid_process_denom 2) - цикл 250 мкс
Запись блэкбокса каждый цикл, около 4 кГц 1/4 для разбора шума - то, что надо
ПИД Roll 35 / 85 / 22 45 / 80 / 30 P и D ниже стока
ПИД Pitch 38 / 90 / 25 47 / 84 / 34 P и D ниже стока
ПИД Yaw 30 / 100 / 0 45 / 80 / 0
D Max 0 / 0 / 0 40 / 46 / 0 D постоянный
Feedforward 90 / 95 / 30 120 / 125 / 120
НЧ-фильтр гироскопа 1 25-150 Гц 250-500 Гц в 10 раз ниже стока
НЧ-фильтр гироскопа 2 50 Гц 500 Гц в 10 раз ниже
Notch гироскопа 1 50 Гц, срез 40 выключен
Динамический notch 3 шт., 60-250 Гц 3 шт., 100-600 Гц
RPM-фильтр включён, от 60 Гц, 14 полюсов от 100 Гц
НЧ-фильтры D 100-300 и 97 Гц 75-150 и 150 Гц
Ползунки выключены, цифры руками -
KV моторов в заголовке 1960 - это умолчание, проверь по мотору

Что это значит: фильтры гироскопа задушены в десять раз против стока. Так делают, когда борются с низким шумом. Цена - большая задержка: ПИД отвечает на то, что было, а не на то, что есть. Скорее всего, P и D опустили по той же причине.

Шаг 2. Что на графиках

Что Что видно Что это значит
Газ 1000 первые 5 с, дальше всего 1120-1300 из 2000 дрон почти не летел - газ как на земле
Моторы мотор 2 почти всё время прижат к минимуму, моторы 3 и 4 (левые) работают в 2-3 раза сильнее полётник упёрся: одному мотору уже некуда убавлять
PID I по крену растёт с 0 до 135-168 за 8 секунд I копит ошибку и не может её убрать
Gyro по крену почти ноль, дрон не вращается дрон стоит, а не держит крен в воздухе
Спектр Unfiltered Gyro, крен и тангаж главный пик около 65-69 Гц это гул моторов: по телеметрии они крутятся на 22-67 Гц (газ маленький - обороты низкие)
До и после фильтров шум выше 50 Гц фильтры срезают примерно в 10 раз фильтры работают, но ценой задержки
Батарея 25,1 В в начале, просадка до 19,2 В - 3,2 В на банку при 6S, ток до 141 А батарея на пределе или уставшая
Стики Setpoint по крену не выше 8 °/с стиками не двигали: по такому логу step response не построить

Главный вывод: это не полёт, а упор. Гадать по такому логу про ПИДы - хуйня. Похоже, дрон стоял на земле или на наклонной поверхности, зацепился или был привязан, а I копил ошибку (по-английски I-term windup) и упирал моторы. При смещённом центре тяжести перекос моторов ровный с первой секунды полёта, а тут он растёт вместе с I. Поэтому по этому логу нельзя судить ни о центре тяжести, ни о ПИДах. Зато его можно разобрать по настройкам и шуму.

Шаг 3. Что править - по порядку

  1. Сначала нормальный лог. Взлёт, висение 10-15 секунд, резкие движения по каждой оси, флипы, газ в пол и сброс (раздел 8). Проверка: газ в логе выше 1300, моторы не лежат на минимуме, Gyro повторяет Setpoint.
  2. Шум - сначала механика. Пропы, моторы руками, винты, демпферы (раздел 3, шаг 5).
  3. RPM-фильтр работает вполсилы. Нижняя граница rpm_filter_min_hz = 60, а rpm_filter_fade_range_hz = 50: вырезы между 60 и 110 Гц Betaflight ослабляет плавно, чем ближе к 60 - тем слабее. Гул на 65-69 Гц попадает как раз в эту зону. На больших пропах и низких оборотах опусти rpm_filter_min_hz (например, до 50) - тогда RPM-фильтр режет гул в полную силу. Проверка: в новом логе пик в анализаторе на Gyro заметно ниже, чем на Unfiltered Gyro.
  4. Фильтры гироскопа - назад к стоку, по шагу. Когда механика и RPM-фильтр в порядке, поднимай gyro_lpf2_static_hz и gyro_lpf1_dyn_min_hz / _max_hz небольшими шагами. После каждого шага - короткий полёт, потрогать моторы, лог на 1/1. Ручной notch на 50 Гц убери, если в анализаторе там нет пика.
  5. Потом ПИД. С меньшей задержкой можно вернуть P и D ближе к стоку.
  6. Батарея. 3,2 В на банку под нагрузкой - низко. Проверь батарею по банкам и не летай её до такой просадки.
Рис. 8. Лог MOISEI TECH в Лаборатории: пик 67 Гц попадает в полосу оборотов моторов (жёлтая), мотор 2 лежит на минимуме - упор

Этот же лог загружается в Лабораторию (раздел 12) кнопкой «Пример: лог «MOISEI TECH»» - увидишь дрон в 3D с его настройками.

Результат: ты видишь, как читать чужой лог по порядку: заголовок → графики → гипотезы → что проверить первым. И видишь две главные ловушки: делать выводы по логу, где дрон не летел, и лечить шум фильтрами вместо механики - за это платят задержкой.

Раздел 10
Груз и большие дроны
7-10 дюймов, тяжёлые, со сбросом - на примере дампа «Коршун»
Уровень 3: проф
Большие пропы - другие частоты
Рама 7 дюймовдальнолёт
Мотор 3115 1050KVдля 7-10 дюймов

Большой проп крутится медленнее и тяжелее разгоняется. Шум моторов уходит ниже по частоте, ближе к настоящим движениям дрона, и фильтровать его труднее. Груз меняет массу и центр тяжести. Цифры «пустой пятёрки» тут не работают.

Правила для тяжёлых и с грузом (с форумов PX4, ArduPilot, DroneVibes):

  1. Настраивай под ту загрузку, с которой летаешь. Пустой и полный - это два разных дрона.
  2. I держи минимальным для больших пропов и тяжёлых аппаратов. Лишний I на снижении с грузом раскачивает.
  3. Качается в движении - снижай P и D понемногу, пока не пропадёт, потом возвращай мелкими шагами.
  4. Отскок после манёвра у тяжёлых - на форумах советуют iterm_relax_type = GYRO и iterm_relax_cutoff около 5 Гц (для крепкой пятёрки 20, для 6" - 10).
  5. Снижайся плавно, без резкого сброса газа.
  6. Для груза, который сбрасываешь, - два ПИД-профиля: «с грузом» и «без».

Как сделать второй ПИД-профиль:

  1. Вкладка PID настройки (PID Tuning) → выпадающий список Профиль (Profile) → выбери профиль 1.
  2. Копировать профиль (Copy profile) - скопируй туда настройки из профиля 0.
  3. Поменяй цифры под пустой аппарат, Сохранить (Save).
  4. Проверка: Командная строка (CLI) → profile 1, diff - видны твои изменения.

Переключить профиль в поле без компьютера можно через меню OSD стиками (пункт Profile) или в CLI командой profile 1 и save.

Пример: дамп «Коршун»

Настоящий diff all с аппарата «Korshun». Читаем его так, как нейросеть или ты будете читать свой:

Строка Что значит
# Betaflight / STM32F405 (S405) 4.6.0 Dec 10 2024 прошивка 4.6.0, старше 2025.12. Умолчания могли быть другими - сравнивать со стоком 2025.12 с оговоркой
board_name SPEEDYBEEF405V3 полётник SpeedyBee F405 V3
feature SERVO_TILT, CHANNEL_FORWARDING, три servo на аппарате три сервы - механика, не голая гоночная рама
set bat_capacity = 8000 аккумулятор 8000 мАч - аппарат тяжёлый
set failsafe_procedure = AUTO-LAND, failsafe_throttle = 1700 при потере связи садится сам
set align_board_yaw = 270 полётник повёрнут на 270°
set motor_pwm_protocol = DSHOT300, dshot_bidir = ON двухсторонний DShot есть, RPM-фильтр работает
set motor_poles = 12 12 магнитов, не 14 - проверено руками или нет, неизвестно
set rpm_filter_min_hz = 80 RPM-фильтр режет от 80 Гц (сток 100) - под медленные моторы
set gyro_lpf1_static_hz = 0, gyro_lpf1_dyn_min_hz = 0 НЧ-фильтр гироскопа 1 выключен полностью
set gyro_lpf2_static_hz = 375 второй НЧ-фильтр 375 Гц (сток 500)
set dyn_notch_count = 2, _q = 500, _min_hz = 70 динамических вырезов два, уже, от 70 Гц
set blackbox_sample_rate = 1/2 блэкбокс каждый второй цикл
profile 0: d_roll = 25, d_pitch = 28 D ниже стока (30 / 34)
dterm_lpf1_dyn 60-120, dterm_lpf2 120, yaw_lowpass_hz 90 фильтры D плотнее стока
simplified_d_gain = 75, simplified_dterm_filter_multiplier = 80 следы ползунков: так к этим цифрам пришли
profile 1-3 пустые, в конце profile 0 летает на профиле 0

Чего в дампе нет и что надо узнать у хозяина: вес, размер и число лопастей пропов, KV моторов, число банок. Betaflight про массу ничего не знает. Без этого любые конкретные цифры - пальцем в небо.

Что проверить на «Коршуне» первым делом:

  1. Число магнитов мотора - 12 стоит по делу? Неверно - RPM-фильтр режет не там, а НЧ-фильтр 1 при этом выключен: шум пойдёт в моторы.
  2. Лог на 1/1 на висении с грузом: есть ли шум, который не взяли RPM-фильтр и два динамических выреза.
  3. Моторы после полёта на ощупь.
  4. Отдельный профиль «без груза», если груз сбрасывается.

Грузи дамп «Коршун» в Лабораторию (раздел 12), впиши вес и пропы во вкладке «Аппарат» и посмотри, как он ведёт себя с грузом сбоку.

Результат: ты знаешь, чем тяжёлый аппарат отличается от пятёрки, читаешь чужой дамп построчно и понимаешь, чего в нём не хватает для настройки.

Раздел 11
Автотюн и ИИ
чирп, вкладка Autotune, сторонние тюнеры, нейросеть по дампу
Уровень 3: проф
Рис. 9. Чирп: дрон сам качается по одной оси с растущей частотой, блэкбокс пишет, как он успевает ответить

Чирп и вкладка Autotune в Betaflight

Чирп - дрон сам качается по одной оси с плавно растущей частотой, от 0,2 до 600 Гц за 20 секунд, а блэкбокс пишет, как он отвечает на каждой частоте. По этому ответу считают настройку.

Версия Что есть
4.5 ничего
2025.12 чирп только в особой сборке прошивки (опция при сборке), штатно нет
2026.6 чирп штатно + вкладка Autotune в конфигураторе, спрятана за Expert Mode

Как записать чирп-лог (2026.6), по шагам:

  1. Прошивка 2026.6. В настройках конфигуратора включи режим эксперта (Expert Mode) - появится вкладка Autotune.
  2. Вкладка Чёрный ящик (Blackbox): Режим отладки чёрного ящика (Debug mode) = CHIRP, частота записи высокая (советуют 2 кГц).
  3. Вкладка Режимы (Modes): режим CHIRP на свободный тумблер. Не на кнопку, которая сама возвращается.
  4. Вкладка PID настройки (PID Tuning): главные ползунки на 1.0, Отзывчивость стиков (Stick Response) и Динамическое демпфирование (Dynamic Damping) на 0 - чтобы ничего не искажало чистый ответ рамы.
  5. Тихая погода, взлёт, устойчивое висение.
  6. Включи CHIRP. Дрон начнёт вибрировать с растущей частотой. Стики не трогай.
  7. Дождись конца, выключи CHIRP.
  8. Повтори для каждой оси: Roll → Pitch → Yaw по кругу. Betaflight помнит, какая ось следующая, даже после дизарма, но сбрасывает при отключении питания.
  9. Добавь пару рамп газа и одноосевых флипов, садись.
  10. Вкладка Autotune → загрузи лог.

Нет чирпа в логе - вкладка ответит «No chirp data found. Ensure the log was recorded with debug_mode = CHIRP and chirp mode was activated».

Что покажет вкладка:

График Что значит простыми словами
Спектрограмма на чистом логе яркая линия плавно уходит вверх по частоте. Рваная, тонет в шуме - тест испорчен ветром или стиками
Когерентность насколько можно верить измерению на каждой частоте. Цель - высокие 80-90%
Полоса пропускания до какой частоты ось успевает отвечать
Запас по фазе запас до самораскачки. Выше примерно 100° - спокойно и с запасом
Step response как ось отвечает на рывок: скорость, перелёт, затухание
Чувствительность около 6 дБ - граница, после которой риск раскачки растёт

В итоге вкладка предлагает значения ползунков Simplified Tuning, а не голые P, I, D. Кнопка Apply Gains при подключённом полётнике записывает их.

Не жми Apply вслепую. Разработчики сами пишут, что функция новая и применять советы слепо не надо. Известные проблемы:

Как применять безопасно:

  1. diff all в файл до всего.
  2. После расчёта не жми Apply - перепиши предложенные ползунки и сравни с текущими.
  3. Внеси руками, Сохранить.
  4. CLI → get p_pitch, get p_roll - не ноль, цифры разумные.
  5. Висение низко над мягким, потом короткий полёт, моторы на ощупь, новый лог.

Сторонние тюнеры по логу

Инструмент Что делает Цена
PID-Analyzer (Plasmatree) step response по обычному логу бесплатно, открытый
PIDtoolbox спектр и step response, долго был стандартом; по словам авторов FPVtune, разработка остановлена в мае 2024 бесплатно
FPVtune нейросеть по логу выдаёт P/I/D и фильтры анализ на сайте $9,90, код открыт
FPVPIDlab FFT, step response, фильтры и ПИД, применяет одним кликом открытый
Blackbox Log Lab смотреть и сравнивать логи рядом, цифр не выдаёт веб

Ни один из них не прошёл независимую проверку. Все, включая авторов, советуют считать ответ отправной точкой и проверять на висении. Автор FPVtune сам пишет: на шумных сборках иногда советует слишком агрессивные фильтры и не умеет настраивать RPM-фильтр.

Нейросеть по дампу

Люди кидают diff all в ChatGPT или Claude и спрашивают, что править. Это работает как второе мнение, если дать ей всё и проверить ответ.

Задокументированных аварий именно из-за совета чат-бота мы не нашли. Но механизм риска тот же, что у кнопки Apply: модель не видит физику твоей рамы и может уверенно выдать цифры, которые для твоего веса и пропов чрезмерные. Это наш вывод, а не найденный случай.

Что дать нейросети:

  1. Полный diff all, а не пару строк.
  2. Версию Betaflight - советы для 4.3 и 2026.6 разные.
  3. Вес со всем, раму, моторы с KV, пропы (размер, шаг, лопасти), число банок.
  4. Симптом конкретно: когда, на какой оси, на каком манёвре. Не «настрой идеально».
  5. Лог или хотя бы его разбор: спектр, step response. Без данных модель гадает.

Как проверить ответ:

  1. Проси объяснение, а не цифры: почему этот параметр и что будет, если он завышен или занижен.
  2. Проси один шаг, а не весь новый набор.
  3. Сверь с диапазонами и умолчаниями (разделы 4, 6, 7). Советует D 80 на пятёрку или выключить фильтры D - это не к тебе.
  4. Советы, которые урезают фильтрацию (D-фильтры, notch), без понимания не бери.

Чего не делать:

Безопасный порядок: бэкап diff all → лог с симптомом → всё в нейросеть → одна правка → висение низко над мягким → короткий полёт и новый лог → следующий шаг. Что-то пошло не так - вставляешь бэкап в CLI и save.

Есть и готовые навыки под это: betaflight-claude-skill разбирает diff all и логи. Сервер betaflight-mcp даёт нейросети читать и писать настройки прямо в подключённый полётник - с ним правило «одна правка и проверка» ещё важнее.

Результат: ты знаешь, где в какой версии автотюн, как записать чирп, что показывает вкладка Autotune и почему Apply нельзя жать вслепую, и как пользоваться нейросетью так, чтобы она не угробила дрон.

Раздел 12
Лаборатория дампа
разбор твоих настроек, подсказки и команды CLI
Уровень 2: базовый

Главный тренажёр. Загружаешь свой diff all или лог блэкбокса - Лаборатория читает твои настройки и разбирает их: что в норме, что подозрительно и что поправить. По весу, пропам и KV, которые ты впишешь, она собирает модель похожего аппарата с твоими цифрами - её можно гонять в 3D в ветер, с грузом, с погнутым пропом, крутить цифры и смотреть, стало лучше или хуже. В конце забираешь готовые команды для CLI. Файл никуда не уходит, всё считается у тебя в браузере.

Как достать дамп:

  1. Betaflight → вкладка Командная строка (CLI).
  2. Вписать diff all, Enter.
  3. Сохранить в файл (Save to File) - получишь .txt.

Как достать лог: вкладка Чёрный ящик (Blackbox) → Активировать режим запоминающего устройства (Activate Mass Storage Device Mode) → файл LOG00001.BFL с появившейся флешки (раздел 8). Настройки Лаборатория возьмёт из заголовка лога.

Как пользоваться, по шагам:

  1. Вкладка Загрузить: перетащи файл, нажми «Выбрать файл» или вставь текст из CLI и нажми «Разобрать вставленное». Попробовать без своего файла - кнопки «Пример: лог «MOISEI TECH»» и «Пример: дамп «Коршун»». Без файла загружен сток Betaflight 2025.12.
  2. Вкладка Аппарат - то, чего в дампе нет: - Пропеллеры, дюймы: 5 - фристайл, 7 - дальняк, 10+ - тяжёлые; - Взлётный вес, г - с аккумулятором; - KV моторов - в дампе часто стоит умолчание 1960, проверь по мотору; - Банок в аккумуляторе (S); - Груз, г - для кнопки «Груз сбоку».
  3. Вкладка Betaflight - копия PID Tuning и Filter Settings с цифрами из твоего файла. Жёлтым подсвечено то, что ты поменял. Сохранить - прошлый флип остаётся серой линией, сравнивай.
  4. Сверху погода (штиль, ветер, порывы, шторм), манёвр (Флип, Газ в пол, Груз сбоку), состояние пропов (новые, б/у, погнутый, убитый подшипник). Гоняй свой дрон в том, в чём реально летаешь.
  5. Вкладка Разбор - три колонки: наблюдение (прочитано из файла или посчитано), гипотеза (что это, скорее всего, значит), совет (что попробовать).
  6. Если загрузил лог .bbl, появится вкладка Мой лог - разбор самого полёта кодом настоящего Blackbox Explorer: спектр шума с полосами оборотов моторов, упираются ли моторы в минимум или максимум, отскок после флипов, просадка батареи, в какой оси сидит шум. Сверху над графиком переключатель Модель / Мой лог - в режиме лога график и 3D показывают твой настоящий полёт, ползунок сверху - прокрутка.
  7. Кнопка «Подобрать ПИД в модели» - отправная точка, не истина.
  8. Вкладка CLI - команды только для того, что ты поменял относительно файла. «Скопировать» или «Скачать .txt».

Как перенести на дрон:

  1. Сохрани свой diff all в файл - точка возврата.
  2. Вкладка CLI в Betaflight, вставь команды из Лаборатории.
  3. Впиши save, Enter - полётник перезагрузится.
  4. Проверка: diff - видны новые строки.
  5. Первый взлёт - короткий, в поле. Потом потрогай моторы: тёплые - нормально, горячие - откатывай D и фильтры.
Рис. 10. Вкладка «Разбор»: задержка фильтров, отскок после флипа, качка в порывах, нагрев моторов - и что с этим делать

Модель - упрощённая копия твоего дрона, а не прошивка. Любые новые цифры проверяй коротким полётом и блэкбоксом.

Результат: по твоему дампу или логу ты получаешь разбор «наблюдение → гипотеза → совет», пробуешь правки в модели и уносишь готовые команды для CLI.

Раздел 13
INAV и ArduPilot
таблица соответствия и почему цифры не переносятся
Уровень 3: проф
Одна плата - разные прошивки
F405Betaflight, INAV
H743INAV, ArduPilot, FFT в полёте

Смысл P, I, D одинаковый везде. Цифры - нет. Прошивки считают ПИД в разных единицах.

Понятие Betaflight INAV ArduPilot Copter
P крена p_roll, сток 45 mc_p_roll, 40 ATC_RAT_RLL_P, 0.135
I крена i_roll, 80 mc_i_roll, 30 ATC_RAT_RLL_I, 0.135
D крена d_roll, 30 mc_d_roll, 23 ATC_RAT_RLL_D, 0.0036
Feedforward крена f_roll, 120 mc_cd_roll, 60 (Control Derivative) ATC_RAT_RLL_FF, 0 - выключен
P рыскания p_yaw, 45 mc_p_yaw, 85 ATC_RAT_YAW_P, 0.180
D рыскания 0 0 0
Угловой контур (Angle) свои параметры уровня mc_p_level, 20 ATC_ANG_RLL_P, 4.5
НЧ-фильтр гироскопа gyro_lpf1_*, 250-500 Гц gyro_main_lpf_hz, 60 INS_GYRO_FILTER, 20 Гц
Динамический notch dyn_notch_*, 3 шт., 100-600 Гц dynamic_gyro_notch_*, от 50 Гц, Q 120 INS_HNTCH_*, по газу, частота 80, полоса 40
RPM-фильтр включается сам с bidir DShot rpm_gyro_filter_enabled = OFF INS_HNTCH_MODE = 3 (телеметрия регуляторов)
НЧ-фильтр D dterm_lpf1_*, 75-150 Гц dterm_lpf_hz, 110 ATC_RAT_*_FLTD
Автотюн вкладка Autotune в 2026.6 только для самолётов полноценный AUTOTUNE
Логи Blackbox Explorer тот же Blackbox Explorer .bin: Mission Planner, UAV Log Viewer

Почему цифры не переносятся:

  1. Betaflight → INAV. Диапазон похож (0-255), но INAV делит цифру на свои множители. Коэффициента пересчёта нет. Настраивай INAV с нуля в INAV.
  2. Betaflight / INAV → ArduPilot. Другая единица: ArduPilot считает выход долей от полного, поэтому P 0.135 - нормально, а не «слабый ПИД». Разница в 300 раз не потому, что ArduPilot мягче.
  3. Частоты фильтров в герцах сравнимы по смыслу, но умолчания подобраны под разные аппараты. Копировать число один в один - не гарантия.
  4. mc_cd_* в INAV называют Feed Forward, но формула не та, что у Betaflight.

INAV, где что:

  1. INAV Configurator (есть для macOS и Linux) → вкладка PID настройки: P, I, D, FF по осям, строка Level. Фильтры - на той же вкладке или на отдельной Filtering, зависит от версии.
  2. RPM-фильтр по умолчанию выключен: CLI → set rpm_gyro_filter_enabled = ON, save. Нужна телеметрия регуляторов.
  3. Автотюна для мультикоптера нет, есть упрощённый EZ-Tune. Блэкбокс - в том же Blackbox Explorer.

ArduPilot, где что:

  1. Mission Planner → Config → Extended Tuning: Rate Roll/Pitch/Yaw P, I, D, FF и Stabilize P. Упрощённо - Basic Tuning.
  2. Шум - гармонический notch: INS_HNTCH_ENABLE = 1, лучший источник частоты - телеметрия регуляторов, INS_HNTCH_MODE = 3. Режим 4 (FFT в полёте) - только на F7 и H7.
  3. AUTOTUNE, по шагам:
  4. Назначь функцию AutoTune на тумблер, летай в AltHold.
  5. Сними подвес и лишний груз. Винт 33 см и больше - сначала опусти фильтры Rate Roll/Pitch примерно до 10 Гц.
  6. Взлёт в AltHold, против ветра, тумблер AutoTune в HIGH. Коптер несколько минут дёргается по осям, снос можно слегка подправлять стиком.
  7. Садись с тумблером в HIGH - новые ПИДы сохранятся. В LOW - откатятся старые.
  8. Оси - AUTOTUNE_AXES (1 крен, 2 тангаж, 4 рыскание), агрессивность - AUTOTUNE_AGGR, 0,05-0,10.
  9. Логи .bin - в Mission Planner (просмотр DataFlash-логов) или UAV Log Viewer. Шум и notch - веб-инструмент Filter Review Tool. Вибрации - сообщения VIBE: ниже 30 м/с² приемлемо, выше 60 - почти всегда проблемы.

После автотюна ArduPilot пошла вибрация - на форуме ArduPilot советуют опустить полученные ПИДы примерно на 20% и настроить гармонический notch.

Результат: ты находишь P, I, D и фильтры в любой из трёх прошивок и не переносишь цифры между ними.

Материалы базы: что такое INAV, что такое ArduPilot, руководство по настройке ArduPilot, Mission Planner для Android, квадрокоптер на INAV переворачивается при взлёте.

Раздел 14
Порядок настройки
чеклист от подключения до готового дрона
Уровень 1: минимум
Два главных инструмента
Балансирпропы до настройки
Карта microSDлог после каждого шага

Одинаково для пятёрки, семёрки и тяжёлого аппарата. Не перепрыгивай.

Подготовка:

Первый полёт на стоке:

Если шумно:

ПИД:

После каждой правки:

Готово:

Результат: у тебя один порядок на любой дрон, и ты не крутишь ПИД на кривой механике.

Раздел 15
У меня не работает
реальные вопросы с форумов - и что делать по шагам
Уровень 1: минимум
Три частых виновника
Подшипникихрустит - менять
Балансирновые пропы тоже проверять
Демпферыполётник не должен касаться рамы

Вопросы, с которыми реально приходят на форумы: IntoFPV, GitHub Betaflight, INAV и ArduPilot, RCGroups, форумы ArduPilot и PX4. Найди свой симптом - дальше причина, как проверить и как исправить. Где единого ответа нет - так и написано.

Сначала общий маршрут. Что бы ни было, иди по порядку: механика → двухсторонний DShot и RPM-фильтр → лог → фильтры → ПИД. Первые два пункта снимают половину вопросов ниже.

Дрожь на висении

«Дрон мелко трясётся на висении, будто на ниточке». - Причина: лишний P или D для мелкой рамы (35-75 мм); или в Angle летает другой ПИД-профиль, не тот, что ты настраивал. - Проверить: вкладка PID Tuning - какой профиль активен. - Исправить: нужный профиль; P минус 5, при необходимости I плюс 5, по шагу. ND-фильтр на камере прячет дрожь, но не лечит - снимай блэкбокс. (IntoFPV)

«Медленное покачивание 1-3 раза в секунду, дрон "дышит"». - Причина: много I - гонится за ошибкой и перегоняет. - Исправить: I по крену и тангажу минус 5-10%, полёт, повторить. Если наоборот не держит позицию и сносит - I чуть поднять. (Betaflight PID Tuning Guide)

«Дрожит только в Angle, в Acro летает нормально». - Причина: акселерометр, а не ПИД - Acro работает только по гироскопу. - Исправить: откалибровать акселерометр на ровном. На IntoFPV помогло: set acc_lpf_hz = 20, set accxy_deadband = 40, set accz_deadband = 40, save. (IntoFPV)

Пропвош: болтанка на сбросе газа

«На резком сбросе газа дрон пару секунд колбасит». - Причина: дрон падает в собственный взбаламученный воздух, ПИД не успевает. - Исправить: 1. D по крену и тангажу плюс 5 за шаг. 2. Динамический холостой ход, чтобы моторы не падали в ноль (dyn_idle_min_rpm, нужен двухсторонний DShot). 3. Двухсторонний DShot и RPM-фильтр включены. 4. Feedforward ускоряет отклик, но пропвош им не лечится. - (betaflight#5814, Oscar Liang)

«После пропвоша горячие моторы и дёрганье к концу полёта». - Причина: пропвош задавили большим D, и D теперь гонит шум в моторы. - Проверить: лог - совпадает ли пик D с моментом сброса газа. - Исправить: не задирать D дальше, сначала RPM-фильтр и двухсторонний DShot. (betaflight#2982)

«Поднял D, пропвош остался». - Причина: механика: люфт моторов и рамы, подшипники, гнутые пропы. D тут не поможет. - Исправить: новые пропы, протянуть винты, проверить демпферы стека. Потом снова D и FF. (UAVMODEL)

Горячие моторы

«Моторы такие горячие, что пальцами не тронуть». - Причина: по частоте на форумах - лишний D, кривые фильтры, слишком большие пропы для KV мотора. - Исправить: 1. D минус 10-15%, полёт. 2. Фильтры: не выключены ли динамический notch и НЧ-фильтры «для чистоты» - частая ошибка новичков. 3. Проп по KV: «злой» проп на низком KV - постоянный большой ток. - (IntoFPV)

«Один мотор горячее остальных». - Причина: механика этого мотора: длинные винты упёрлись в обмотку или убит подшипник. - Исправить: выкрути винты, сравни длину, подложи шайбы; покрути вал рукой - люфт или хруст. (Oscar Liang)

Желе и дрожь на видео

«Видео с экшн-камеры идёт волнами, особенно на газу». - Причина: вибрация от пропов и моторов доходит до матрицы камеры. - Исправить: заменить погнутые и несбалансированные пропы; камера в TPU-креплении без люфта; ND-фильтр ослабляет эффект. (UAVMODEL)

«Желе появилось после смены пропов». - Причина: новый комплект из коробки не сбалансирован, или недокручена гайка. - Исправить: балансир, докрутить крепление пропа.

Отскок после флипа

«После флипа дрон секунду дожёвывает, колышется по крену». - Причина: мало D, после резкой остановки ось затухает с качанием. - Исправить: D плюс; если моторы стали греться - P чуть минус. (betaflight#1413)

«Отскок после резких флипов и роллов - что с I-relax». - Причина: тип I-relax влияет на отскок; на форуме пишут, что GYRO лечит лучше SETPOINT. - Исправить: set iterm_relax_type = GYRO; iterm_relax_cutoff около 20 для крепкой пятёрки, 10 для 6", 5 для тяжёлых. save. (betaflight#1413)

Тянет в сторону

«В Angle постоянно клонит вбок, в Acro летит прямо». - Причина: акселерометр. - Исправить: калибровка на строго ровном; при необходимости acc_lpf_hz и deadband, как в «Дрожит только в Angle». (Oscar Liang)

«Тянет вбок, калибровка не помогает». - Причина: варианты: триммеры пульта не в центре (искали днями); брак гироскопа на полётнике. - Исправить: вкладка Приёмник (Receiver) - стики в центре на 1500; не помогло - проверить полётник на другом дроне. (RCGroups)

«С грузом тянет вбок, моторы с одной стороны выше». - Причина: смещённый центр тяжести, I держит дрон. - Исправить: центровка груза и аккумулятора до одинаковых моторов на висении (раздел 9, шаг 3).

Рыскание уходит

«Дрон медленно разворачивается сам». - Причина: курс без магнитометра не привязан к земле и медленно уплывает; или стик рыскания не в центре. - Исправить: вкладка Receiver - Yaw в покое ровно 1500, иначе подтримировать. (IntoFPV)

«Уход курса не убирается никакими настройками». - Причина: ограничение гироскопа - без магнитометра на 100% не лечится. - Исправить: магнитометр, если прошивка и сборка позволяют; иначе снижать общий шум. (betaflight discussions#11876)

«После удара о ворота дрон крутится по рысканию и лезет вверх». - Причина: на ударе гироскоп зашкаливает, полётник теряет правильную оценку. - Исправить: не душить фильтры гироскопа ниже разумного, обновить Betaflight. (betaflight#3893)

Стало хуже после замены пропов или моторов

«Поставил новые пропы или моторы - летает рыхло». - Причина: тюн был под старую пару мотор + проп. - Исправить: первый полёт сразу с логом, потом Мастер-множитель ±0,1, дальше по осям. (UAVMODEL)

«После смены пропов yaw крутит в обратную сторону». - Причина: направление моторов в Betaflight не совпадает с пропами. - Исправить: вкладка Конфигурация (Configuration) - галочка Motor direction is reversed по факту установки пропов (раздел 3, шаг 4). (IntoFPV)

RPM-фильтр не работает

«Включил двухсторонний DShot, а обороты на вкладке «Моторы» 0 или Error». - Причина: старая прошивка регулятора, или протокол не DShot300/600. - Исправить: 1. Прошивка регулятора: BLHeli_32 от 32.7, AM32 или Bluejay от 0.19. 2. Configuration: DSHOT300 или DSHOT600, Bidirectional DShot включён. 3. Motors, аккумулятор подключён: мотор на малом газу - должны появиться обороты. Хоть один показывает 0 или Error - проблема в нём (прошивка или провод). - (Betaflight docs)

«Обороты есть, а фильтр работает криво». - Причина: неверное число магнитов motor_poles. - Исправить: посчитать магниты в колоколе и вписать точное число. (MultirotorGuide)

«Телеметрия грязная, обороты скачут». - Причина: наводки на сигнальный провод - команды и ответы идут по одной линии. - Исправить: укоротить сигнальные провода, развести их от силовых. (IntoFPV)

«Дрон не армится, флаг RPMFILTER». - Причина: RPM-фильтр включён, но хоть один регулятор не шлёт обороты. - Исправить: как в «обороты 0 или Error» выше.

Блэкбокс

«Лог пустой или обрывается, когда газ уходит с холостого». - Причина: частота записи выше, чем тянет карта или флешка, или карта отваливается от вибрации. - Исправить: частота записи 1/4 или 1/8 вместо 1/1; переформатировать карту в FAT32; другая карта. (SpeedyBee)

«Blackbox Explorer не открывает лог, пишет, что файл повреждён». - Исправить: флешка на плате - Erase flash и новый полёт; карта - переформатировать. (IntoFPV)

«INAV: запись вроде идёт, а данных полёта нет». - Причина: известная открытая проблема INAV, единого решения нет. - Исправить: снизить частоту записи и цикл, быстрая карта. Некоторые перешли на Betaflight, где блэкбокс сразу заработал. (inav#9540)

«Пишет "No dataflash chip found", хотя раньше работал». - Причина: полётник не находит свою флешку, частый случай на части H7-плат. - Исправить: свежая прошивка под плату; повторяется - искать баг своей платы в трекере прошивки. (inav#7885)

«INAV: блэкбокс работает один-два полёта, потом перестаёт». - Исправить: то же, что выше: частота записи, карта. Не помогает на нескольких версиях - это баг, смотри открытые issue. (inav#9540)

«Какую частоту записи ставить». - Исправить: для фильтров и шума - повыше (Betaflight docs советуют около 2 кГц, 1,6 кГц для BMI270), для проверочных полётов хватит около 1 кГц. Дропы кадров - понизь частоту. (Betaflight docs)

Спектр

«Открыл анализатор, там разноцветная простыня». - Что это: спектрограмма, частоты во времени. Вертикальная красная полоса - удар. Горизонтальная на одной частоте - постоянный резонанс. (Betaflight docs)

«Где анализатор частот, а не просто графики». - Исправить: кнопка View Analyser Display, выбрать полосу в легенде, Zoom Analyser Window; точная частота - Shift и курсор, клик ставит метку. (IntoFPV)

«Какой пик считать плохим». - Ориентир: устойчивый пик выше примерно 150 Гц на гироскопе - обычно механика. Сначала балансировка, подшипники, крепления, потом фильтры. (UAVMODEL)

Ползунки и фильтры

«Крутить ползунки или сразу цифры». - Исправить: новичку - ползунки, Мастер-множитель ±0,1. Цифры - когда проблема по одной оси или нужен чужой тюн один в один: тогда Expert Mode, иначе ползунок пересчитает всё по-своему. (Betaflight docs)

«Надо ли сразу лезть в фильтры на новом дроне». - Исправить: нет. Сначала сборка. Идти в фильтры - когда горячие моторы или шум на логе: проверить, не подняты ли частоты НЧ-фильтров выше стока и не выключен ли динамический notch. (Oscar Liang)

«Обновился на 2026.6, дрон стал по-другому вести себя на резких манёврах». - Причина: в 2026.6 поменялись умолчания: d_max_gain 37 → 0, d_max_advance 20 → 35. - Проверить: CLI → get d_max_gain. - Исправить: хочешь как было - set d_max_gain = 37, set d_max_advance = 20, save, проверить логом.

Тяжёлые и с грузом

«7-10" с грузом качается при переходе в горизонтальный полёт». - Причина: масса и центр тяжести не те, под которые настраивали. - Исправить: настроить под эту загрузку; I минимальный; качается - P и D понемногу вниз, потом мелкими шагами вверх. (PX4)

«Качается только на снижении с грузом». - Причина: на снижении меняется обтекание, перебор I виден сильнее. - Исправить: I поменьше, снижаться плавно по газу. (DroneVibes)

«Скинул груз - дрон дёрнулся и подскочил». - Причина: масса поменялась мгновенно, тюн был под полный. - Исправить: готового решения с форумов нет. Проверять тюн и пустым, и полным, брать компромисс; или второй ПИД-профиль (раздел 10).

Подвес и ArduPilot

«Подвес пишет "Gimbal Vibration Abnormal" или видно желе». - Исправить: варианты: снизить Tilt Total Gain подвеса (в одном разборе помогло 95 → 80), обновить прошивки, проверить пропы и подшипники. (MavicPilots)

«ArduPilot: какие вибрации нормальные». - Ориентир: VIBE ниже 30 м/с² приемлемо, выше 60 - почти всегда проблемы; свежий совет - держать ниже 15. (ArduPilot docs)

«После автотюна ArduPilot вибрация в Loiter». - Исправить: ПИДы автотюна минус 20%, настроить и включить гармонический notch, потом аккуратно донастроить. (ArduPilot Discourse)

«ArduPilot: это ПИД или железо?» - Исправить: сначала VIBE в логе. Вибрации высокие - это железо, выводы о ПИДе потом. (ArduPilot Discourse)

Автотюн

«Autotune пишет "No chirp data found"». - Причина: лог записан без debug_mode = CHIRP или режим CHIRP не включали в полёте. - Исправить: раздел 11, шаги 2-8.

«Нажал Apply в Autotune - дрон на арме кувыркается». - Причина: Apply мог обнулить ПИД по тангажу или урезать D-фильтрацию (issue #5258). - Проверить: CLI → get p_pitch, get d_pitch, фильтры D. - Исправить: вставить бэкап diff all, save. Дальше вносить ползунки руками (раздел 11).

Одна правка - один полёт - один лог. Летайте без суеты!