Що таке 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» або «бракований мотор».