Что такое Blackbox и зачем он нужен

Blackbox — встроенный регистратор полётных данных в Betaflight. Он записывает показания гироскопа, команды моторов, значения PID-контроллера, уровень сигнала приёмника и десятки других параметров с частотой до 8 кГц. Это «чёрный ящик» вашего дрона: после полёта можно воспроизвести всё, что происходило с электроникой, и найти причину вибраций, осцилляций или сбоев.

Без Blackbox настройка PID и фильтров превращается в угадывание. С ним — это работа с конкретными данными.

Куда пишется лог (флеш, SD, OpenLager)

Данные записываются на один из трёх носителей. Встроенная флеш-память полётного контроллера (2–16 МБ) — самый простой вариант, но места хватает на 3–10 минут в зависимости от частоты логирования. SD-карта на борту контроллера даёт практически неограниченный объём. OpenLager — внешний модуль записи, подключаемый по UART и пишущий на отдельную microSD; вариант для тех, чей FC не имеет слота.

Что можно диагностировать по логам

Перечень типичных проблем, видимых по логам: вибрации от пропеллеров или подшипников, осцилляции из-за завышенных PID, перегрев моторов из-за недостаточной фильтрации, пропуски сигнала приёмника (RX), просадки напряжения батареи под нагрузкой, насыщение моторов на максимальном газе.

Как включить и настроить запись Blackbox

Debug mode (GYRO_SCALED, RPM и т. д.)

Во вкладке Blackbox > Debug Mode выбирается, какие дополнительные данные попадут в лог. По умолчанию стоит NONE — тогда пишутся только базовые каналы. Для диагностики вибраций установите GYRO_SCALED — он запишет «сырые» данные гироскопа до и после фильтрации. Для анализа RPM-фильтра — режим RPM_FILTER. Для диагностики приёмника — RX_FRSKY_SPI или соответствующий протокол.

Если вы только начинаете разбираться, GYRO_SCALED — универсальный выбор. Он даёт достаточно информации для 90 % случаев.

Частота логирования и объём памяти

Частота логирования задаётся как делитель от частоты PID-лупа. При PID-лупе 8 кГц и делителе 1 (то есть 8 кГц записи) флеш 16 МБ заполняется за ~3 минуты. Делитель 4 (2 кГц) растягивает запись до ~12 минут и сохраняет достаточную детализацию для большинства задач. Для SD-карты ограничений фактически нет — ставьте делитель 1–2.

Перед каждой записью очищайте флеш через Betaflight Configurator (кнопка Erase Flash), иначе новый лог допишется к старому и усложнит анализ.

Чем открывать логи

Blackbox Explorer

Blackbox Explorer — официальный инструмент от команды Betaflight. Открывает файлы .bbl и .bfl, показывает временные графики всех каналов, имеет встроенный анализатор спектра. Скачивается с GitHub, работает на Windows, macOS и Linux. Для базовой диагностики этого достаточно.

Интерфейс простой: слева — список каналов (gyro, motor, PID P/I/D, RC command), посередине — графики во времени, внизу — ползунок навигации по полёту. Спектрограмму включают через меню Graph Setup → Spectrum.

PIDtoolbox (для глубокого анализа)

PIDtoolbox — сторонний инструмент на базе MATLAB/Octave, созданный пилотом UAV Tech. Он автоматически строит спектрограммы, step response, noise plots и сравнивает логи между собой. Если вы тюнингуете PID профессионально или хотите сравнить «до и после» — PIDtoolbox сэкономит часы работы.

Базовые графики, которые нужно понимать

Gyro (raw vs filtered)

График гироскопа показывает угловую скорость вращения дрона вокруг осей Roll, Pitch, Yaw. Raw — «сырой» сигнал с датчика, Filtered — после прохождения фильтров. Разница между ними — это шум, который фильтры убирают. Если raw выглядит как «мех» с амплитудой больше 50–100 единиц, а filtered — чистая линия, фильтры работают нормально. Если и filtered зашумлён — фильтры нужно усилить или проверить настройки Betaflight.

Motor output и насыщение моторов

Motor output — это команды, которые контроллер отправляет регуляторам (0–100 %). Если один или несколько моторов регулярно «бьются в потолок» (100 %) во время манёвров — это насыщение. Дрон теряет запас управляемости, и следующий шаг — десинхрон или флайтэвей. Причины: слишком агрессивные PID, изношенные моторы или тяжёлая сборка.

PID Error, Setpoint

Setpoint — это то, что вы «просите» от дрона стиками. PID Error — разница между желаемым и реальным положением. В идеале Error минимален и быстро возвращается к нулю после манёвра. Большой Error, медленно затухающий, — признак слабых P/D. Error, колеблющийся вокруг нуля, — признак перебора P или D.

Поиск вибраций по спектрограмме

Как выглядит нормальный спектр

В спектрограмме вибраций (FFT) по горизонтали — частота в герцах, по вертикали — амплитуда. Нормальный спектр — это пологий «горб» в зоне 100–300 Гц без резких пиков. Основная энергия сосредоточена на частотах вращения пропеллеров и их гармониках.

Пик от несбалансированных пропеллеров

Острый пик на частоте вращения мотора (обычно 150–400 Гц для 5") — классический признак дисбаланса пропеллера. Один изогнутый или обрезанный проп создаёт вибрацию, которая пробивается даже через фильтры. Решение — сбалансировать пропеллеры на магнитном балансире или заменить на новые.

Проблемы с подшипниками / погнутым валом

Вибрация от подшипников отличается от пропеллерной: пик шире, часто «размазан» по диапазону 200–600 Гц, и не исчезает после замены пропеллеров. Дополнительный признак — график Motor output одного конкретного мотора заметно «шумнее» остальных. Если вибрация локализована в одном моторе — пора заменить подшипники или проверить вал на кривизну.

Диагностика типичных проблем

Осцилляции (перекрученные P/D)

Осцилляции видны как ритмическое колебание на графике Gyro filtered с частотой 30–80 Гц. На видео это «желе» или тремор картинки. Причина — слишком высокий P-терм (низкочастотные осцилляции) или D-терм (высокочастотный «свист»). Решение: снизить соответствующий терм на 10–20 % и записать новый лог для сравнения.

Перегрев моторов из-за шума и фильтров

Если Motor output выглядит «грязным» — полным мелких колебаний даже в стабильном ховере — на моторы поступает нефильтрованный шум. Они пытаются отработать несуществующие вибрации, нагреваются и изнашиваются. Усильте LPF-фильтры или включите RPM filter, если ESC поддерживает телеметрию. Если моторы горячие после короткого полёта при нормальном стиле — это почти всегда проблема фильтров, а не моторов.

Пропущенные кадры RX / сбои приёма

На графике RC Command видны «ступеньки» или «замороженные» значения — это моменты, когда приёмник не передал данные контроллеру. Если пропуски редкие (раз в 10–20 секунд) — это норма. Если частые или длительные — проверьте антенну приёмника, её расположение относительно карбоновых деталей и уровень мощности передатчика.

Что делать после анализа: фильтры, RPM filter, балансировка

Алгоритм действий после чтения лога: сначала устраните механические причины вибраций (баланс пропеллеров, подшипники, затяжка винтов). Затем настройте фильтры: включите RPM filter, если ESC поддерживает DShot и телеметрию — он убирает вибрации на частоте вращения каждого мотора индивидуально. Далее подстройте LPF (Low Pass Filter) cutoff — по спектрограмме видно, где заканчивается полезный сигнал и начинается шум. И только после этого тюньте PID.

Каждое изменение фиксируйте отдельным логом. Сравнение «до и после» в PIDtoolbox покажет, помогла ли коррекция.

Частые ошибки новичков при чтении логов

Первая ошибка — анализировать лог без реального полёта. Запись на столе с включёнными моторами не воспроизводит нагрузку в воздухе. Вторая — игнорировать debug mode и писать лог с NONE, теряя критическую информацию. Третья — менять несколько параметров одновременно: если изменить PID, фильтры и rate-профиль между двумя логами, невозможно понять, что именно повлияло.

Четвёртая — паниковать из-за любого «шума» на графиках. Идеально чистых логов не бывает: моторы создают вибрации по физике процесса. Важно отличать норму (равномерный фоновый шум) от проблемы (острый пик на конкретной частоте, насыщение мотора, сбой приёмника).

Blackbox превращает догадки в данные. Даже если вы не тюнингуете PID профессионально, один записанный и проанализированный лог часто решает проблему, которую месяцами списывали на «плохой FC» или «бракованный мотор».