Как использовать Blackbox в дронах Betaflight FPV
В данном руководстве я объясню, как записывать логи Blackbox, особенности работы с Blackbox Explorer и покажу примеры интерпретации графиков для базовой настройки и диагностики дронов Betaflight FPV.
Что такое Betaflight Blackbox?
Blackbox — это функция записи полетных данных в Betaflight. Лог Blackbox содержит данные, включая входные сигналы стиков, показания гироскопа, отклик PID, выходы моторов и многое другое. Это чрезвычайно мощный инструмент для настройки и диагностики FPV дронов.
Хотя Blackbox отлично подходит для настройки квадрокоптера, это не единственный способ — существует множество простых шагов для настройки квадрокоптера без Blackbox.
Требования к оборудованию
Для записи логов Blackbox ваш полетный контроллер должен иметь либо чип флеш-памяти (более распространенный вариант), либо устройство записи на SD-карту.
На большинстве современных полетных контроллеров есть встроенный чип флеш-памяти, и дополнительной настройки не требуется. Обычно 16МБ флеш-памяти достаточно в большинстве случаев и хватает на 5-10 минут полета в зависимости от частоты записи.
Использование SD-карты обычно избыточно для Blackbox — карты на 4ГБ вероятно хватит на целый год без необходимости очистки. Однако потребуется карта с достаточно высокой скоростью записи, отформатированная в FAT32.
В качестве альтернативы к свободному UART можно подключить внешнее устройство записи (например, Openlog), но рекомендуется приобрести полетный контроллер с флеш-памятью или слотом для SD-карты.
Как записывать Blackbox
Перейдите во вкладку Blackbox в Betaflight Configurator и выберите подходящее устройство записи Blackbox. Для чипа флеш-памяти выберите "Onboard Flash", в противном случае выберите "SD card".
Важные настройки:
Частота записи (Logging Rate):
- Установите частоту записи на 2КГц для настройки PID, анализа шумов и настройки фильтров
- Для гироскопа BMI270 выберите 1.6КГц
- 1КГц достаточно для обычной настройки PID
Режим отладки (Debug Mode):
- Установите режим отладки на "GYRO_SCALED"
Если хотите сэкономить место для более длительной записи, можете отменить выбор некоторых данных в выпадающем списке "Data included" — такие параметры как высота, GPS, магнитометр не нужны для настройки фильтров/PID.
Нажмите Save и перезагрузите контроллер.
Blackbox начнет запись сразу после арма и остановится при дизарме или заполнении памяти. Можно также запускать/останавливать Blackbox по желанию, используя тумблер на аппаратуре. Это можно сделать во вкладке Modes, назначив AUX канал для Blackbox.
Сохранение логов Blackbox
Во вкладке Blackbox нажмите "Activate Mass Storage Device Mode" — на вашем компьютере появится внешний диск. Просто скопируйте файлы blackbox на ваш компьютер. Этот способ намного быстрее и надежнее, чем использование кнопки "Save flash to file...".
Полетные контроллеры с встроенной памятью создают отдельные файлы логов только после перезагрузки, иначе все логи сохраняются в одном файле. Использование SD-карты, однако, сохраняет логи в отдельных файлах каждый раз при активации Blackbox без перезагрузки квадрокоптера.
Blackbox Explorer
Blackbox Explorer — это программное обеспечение для открытия и просмотра логов Blackbox. Оно доступно онлайн по адресу: https://blackbox.betaflight.com/. Если хотите использовать его офлайн, можете скачать и установить отсюда: https://github.com/betaflight/blackbox-log-viewer/releases/latest.
Интерфейс Blackbox Explorer
- Иконка Info ("View Log Header") в верхнем левом углу отображает полную конфигурацию Betaflight FC для текущего лога
- Вверху слева — представление дрона, показывающее текущее положение и выходы моторов
- Вверху справа — текущие входные сигналы стиков
- Правая колонка — выбор трасс и графиков для просмотра
- Внизу — временная шкала с уровнями газа
Полезные горячие клавиши:
- "I" и "O" — анализ части лога (полезно для исключения взлета и посадки)
- "M" — установка маркера и измерение времени (полезно для определения задержки между setpoint и гироскопом)
- Alt + ← или → — перемещение на один образец данных
- Shift + ← или → — изменение масштаба вида с шагом 10%
Синхронизация видео с логом Blackbox
Если у вас есть видео полета, его можно отобразить в фоне в Blackbox Explorer под графиками. Синхронизация полетного видео не обязательна, но облегчает понимание того, что реально делает дрон. Предпочтительно "сырое" видео, поскольку стабилизированное может скрыть недостатки полета дрона.
Видеофайл должен быть в формате MP4.
Лучший способ синхронизации — найти момент, когда вы впервые делаете ролл или флип. В журнале (логе) нажмите клавишу M (маркер) в том месте, где ваш стик начинает двигаться для выполнения ролла/флипа. Затем прокрутите ваше видео до того момента, когда вы начинаете делать флип/ролл, и нажмите ALT + M — это синхронизирует лог и видео.
Какие маневры выполнять для записи логов Blackbox
Для диагностики:
Выполняйте любые маневры, которые могут сопровождаться проблеммами.
Для настройки:
- Зависание на несколько секунд, затем плавный полет вперед еще несколько секунд
- 2-3 резких ускорения — важно наращивать газ медленно и постепенно для проверки колебаний на разных уровнях газа
- Быстрые роллы, флипы и развороты по рысканию в обоих направлениях
- Быстрые движения газом для выявления "клевков"
- Split-S и резкие повороты на 180° для тестирования обработки турбулентности от винтов
Рабочие пространства (workspace)
В Blackbox Explorer вводится понятие «Workspace» (рабочее пространство) — это предустановленный набор графиков и трассировок, чтобы не настраивать их каждый раз заново. Просто скачайте файл рабочего пространства и загрузите его в Blackbox Explorer перед открытием ваших логов. Для удобного переключения между рабочими пространствами (если доступно несколько шаблонов) используйте цифровые клавиши (1–9) или выпадающее меню.
Вы можете скачать пример рабочего пространства пространство здесь (17 КБ).: ССЫЛКА
Вы также можете скачать пример журнала blackbox - это 4S 5-дюймовый FPV-дрон для фристайла (5,5 МБ).: ССЫЛКА
Чтобы сфокусироваться на определенной группе трассировок, щелкните по названию группы. Все остальные группы на графике будут удалены. Чтобы вернуться к исходному виду, просто нажмите 0 на клавиатуре (вернуться в исходное рабочее пространство).
Например, если вы нажмете на [-] Roll, вы перейдете к следующему представлению:
Как читать и понимать трассировки
Вот как выглядят трассировки при перевороте (roll). Курсор находится в центре Рола, и в бозначениях (Legend) вы можете видеть, что гироскоп показывает 703 градуса в секунду, что соответствует максимальной скорости вращения, установленной в параметрах Rates.
И вы можете видеть, как P, I, D и Feedforward выполняют свою работу во время этого маневра.
И вот что еще интересно: вы можете видеть, что мощность мотора (очень размытые линии) увеличивается с увеличением газа (красная линия).
Обратите внимание, что Мотор 1 (светло-зеленый) достигает насыщения (достигает 100% мощности) раньше всех остальных двигателей, даже до того, как параметр Газа достигнет 100%. Это может быть признаком неравномерного распределения массы беспилотника, возможно, у него тяжелая задняя часть, (Мотор 1 - задний левый). Или, возможно, этот Мотор создает меньшую тягу, чем другие Моторы и требует дальнейшего изучения.
Анализ шума
Вы можете проверить уровень шума любых трасс — нас особенно интересуют gyro и D_term. Нажмите кнопку "View Analyser Display" в строке меню, затем выберите трассировку для анализа и нажмите Zoom Analyser Window.
Для просмотра точной частоты нажмите SHIFT и перемещайте курсор; левый клик создаст маркер.
В выпадающем меню вверху слева можно переключиться на другой тип графика — частота против газа.
Примеры
Отслеживание Setpoint гироскопом
Setpoint — это то, что мы хотим, чтобы дрон делал (входные сигналы стиков после RC сглаживания), а Gyro — это то, что дрон реально делает. Проверка того, насколько близко Gyro следует за Setpoint, помогает оценить, насколько хорошо ваш квадрокоптер отслеживает управляющие команды.
Идеально мы хотим, чтобы трассировка Gyro располагалась поверх setpoint, но в реальности это невозможно, поскольку моторам нужно время для раскрутки. Чем ближе эти две трассы, тем более отзывчивым и точным будет ощущаться дрон.
Если показания гироскопа отстают от заданного значения, рассмотрите возможность увеличения коэффициентов Feedforward и/или P. Если есть превышение, то для его уменьшения предусмотрен коэффициент усиления по шкале D. Если коэффициент усиления слишком высок, это может усилить любую существующую проблему с шумом и ухудшить работу вашего квадра или даже привести к перегреву двигателей. Соблюдайте баланс. Eсли увеличение Feedforward или коэффициента P не приближает гироскоп к заданному значению, проверьте трассировки двигателя и посмотрите, есть ли у какого то из них загрузка на 100% по мощности. Если это так, это означает, что ваш дрон достиг своего физического предела, и вы просто не можете увеличить производительность.
ИЗМЕРЕНИЕ ЗАДЕРЖКИ ФИЛЬТРА ГИРОСКОПА
Gyro_Scaled - это необработанные, шумные данные гироскопа. Gyro - отфильтрованные данные гироскопа (более плавные, но с задержкой). Вы можете измерить разницу во времени между этими двумя линиями. Это даст вам представление о задержке, вызванной фильтрацией сигналов гироскопа. Нажмите клавишу “M”, чтобы создать маркер. Увеличьте масштаб для повышения точности.
КОЭФФИЦИЕНТ P СЛИШКОМ ВЫСОК / КОЭФФИЦИЕНТ D СЛИШКОМ НИЗОК
Для достижения лучших показателей P и D должны находиться в хорошем соотношении.
Если значение P слишком велико (или D слишком низкое), при перемещении стика регулятор P будет вызывать перерегулирование или даже вызывать колебание дрона. Чтобы исправить это, необходимо увеличить коэффициент D, или уменьшить P.
высокое значение коэффициента I вызовет перерегулирование
Не только чрезмерно высокое усиление P может вызвать перерегулирование, но и значение регулятора I. Хотя это будет выглядет значительно медленнее, но на это необходимо обращать внимание.
СЛИШКОМ ВЫСОКий Feedforward [ПРЯМАЯ СВЯЗЬ]
Feedforward помогает гироскопу (gyro) лучше следовать за уставкой (setpoint), уменьшая задержку между движением стика и реакцией дрона. Однако если Feedforward слишком высок, это приводит к переразгону (overshoot): линия гироскопа начинает двигаться раньше уставки, и в итоге гироскоп выходит за пределы требуемого значения.
В такой ситуации видно, что линия гироскопа опережает уставку, а P и D начинают работать в противоположном направлении относительно движения стика, чтобы замедлить гироскоп и вернуть его к уставленному значению setpoint. Это классический признак избыточного Feedforward — дрон становится слишком резким и начинает "перелетать" нужную точку, после чего стабилизация вынуждена компенсировать этот переразгон.
Чтобы избежать этого, рекомендуется уменьшить значение Feedforward, пока линия гироскопа не будет точно следовать за уставкой, не опережая её и не вызывая переразгон.
PROP WASH (пропвош)
Вот как выглядит пропвош. Когда некоторые моторы достигают насыщения (работают на 100%) в течение нескольких миллисекунд дрон максимально старается справиться с эффектом пропвоша — и это хорошо!
Пропвош — это турбулентность воздуха, создаваемая вращающимися пропеллерами, которая может вызывать нестабильность и вибрации. Когда моторы работают на пределе, дрон активно компенсирует эти возмущения, чтобы сохранить стабильность полёта.
Измерение частоты пакетов RC-связи
Команды RC передаются шагами, каждый шаг — это один пакет данных. Измеряя время между этими шагами, можно определить частоту пакетов вашей RC-связи (в Гц) .
Для этого в программе нажмите клавишу «M», чтобы создать маркер в нужном месте. Для более точного измерения рекомендуется увеличить масштаб на графике (зумировать).
Частоту пакетов можно определить и на графике анализа шума. Частота шагов будет отображаться в виде пика в шуме команд RC. Иногда этот метод может давать погрешность в несколько герц.
Осцилляции PID и Feedforward, вызванные стиком
Когда вы отпускаете стик, находящийся в крайнем положении, он может "отскакивать" вокруг центральной точки, вызывая так называемые "звонящие" осцилляции в Feedforward и PID. Это происходит из-за быстрого и непредсказуемого движения стика, которое система управления пытается компенсировать.
Поэтому рекомендуется всегда держать пальцы на стиках во время полёта, чтобы избежать таких колебаний и обеспечить более плавное и стабильное управление дроном.
Anti Gravity в работе
При резком изменении газа (throttle) у дрона может происходить "клевок носом", особенно если коэффициент I (интегральной составляющей PID) низкий. Функция Anti Gravity увеличивает I-компоненту во время таких резких движений, что помогает лучше стабилизировать дрон и избежать нежелательных наклонов.
Если при зависании один мотор работает сильнее остальных, это обычно указывает на проблему с ESC или самим мотором. Чтобы определить источник проблемы, попробуйте поменять моторы местами. Например, если мотор 1 явно имеет проблему, после перестановки, если та же проблема остаётся на том же моторе, значит виноват ESC. Если же проблема переместилась вместе с мотором, значит неисправен сам мотор.
ESC Desync (рассинхронизация ESC)
ESC Desync происходит, когда один из моторов залипает (останавливается и перестаёт вращаться, соответственно не создаёт тягу). В ответ на это дрон пытается заставить мотор вращаться сильнее, из-за чего сигнал на мотор достигает максимума — 100%. Это приводит к резкому падению стабильности и часто к падению дрона.
Как определить ESC Desync:
-
В полёте дрон может резко крутиться или падать, потому что один мотор перестал работать.
-
В Blackbox логах видно, что сигнал на мотор резко растёт до 100%, а гироскоп не реагирует ожидаемым образом.
-
Иногда слышны характерные прерывистые звуки мотора перед падением.
Причины ESC Desync:
-
Слишком высокие обороты мотора (KV), которые ESC не успевает корректно обрабатывать.
-
Электрические помехи, мешающие ESC определить момент переключения (zero crossing).
-
Перегрузка ESC.
-
Неправильные настройки прошивки ESC или Betaflight.
Как проверить плавность RC-связи (RC smoothing):
-
Трассировка RC Command должна показывать равномерные, мелкие шаги при движении стиков.
-
Setpoints (фильтрованные команды) должны быть плавными без резких скачков.
-
Feedforward тоже должен быть плавным; пики могут указывать на недостаточную фильтрацию RC команд.
-
При использовании протоколов с динамической частотой пакетов (например, Crossfire) возможны нестабильные шаги — в этом случае стоит установить фиксированную частоту пакетов или увеличить фильтрацию RC в Betaflight.
Как исправить ESC Desync:
-
Используйте протокол DShot, если ещё не используете.
-
Настройте параметры BLHeli (пока не доступен):
-
Уменьшите Rampup Power (Startup Power) до низких значений (например, 0.125 в BLHeli_S или 12% в BLHeli_32).
-
При необходимости постепенно увеличивайте Rampup Power, чтобы моторы запускались плавно без залипания.
-
Увеличьте Demag Compensation для улучшения восстановления после рассинхронизации.
-
-
В Betaflight:
-
Повышайте значение Motor Idle Throttle (например, с 5.5 до 6.5–7), особенно для маленьких квадрокоптеров.
-
Ограничьте выходную мощность моторов, если используются слишком высокооборотистые моторы.
-
-
Убедитесь, что на ESC припаян ESR конденсатор для снижения помех.
-
При подозрении на неисправность попробуйте заменить ESC или мотор, чтобы выявить проблемный компонент.