Открыть сервис

Betaflight: прошивка для полётных контроллеров

Betaflight — это открытая прошивка (firmware) для полётных контроллеров (flight controllers) мультикоптеров, преимущественно FPV-дронов класса мини и микро. Разрабатывается сообществом энтузиастов на базе проекта Cleanflight, от которого отделилась в 2016 году. Betaflight ориентирована на максимальную производительность, гибкость настройки и поддержку современных протоколов управления и телеметрии, что сделало её де-факто стандартом в гоночных и фристайл-дронах.

История

Проект Betaflight был основан разработчиком под псевдонимом Boris B. в апреле 2016 года как форк (ответвление) прошивки Cleanflight. Основной мотивацией стало желание внедрять экспериментальные алгоритмы стабилизации и фильтрации быстрее, чем это делалось в родительском проекте. Название происходит от английского словосочетания beta flight (бета-полёт), подчёркивая статус постоянного тестирования новых функций.

В 2017 году проект пережил раскол: часть разработчиков ушла в проект iNav, сосредоточенный на навигационных полётах и автопилотировании, в то время как Betaflight осталась сфокусированной на ручном управлении и акробатических режимах. К 2020-м годам Betaflight стала самой распространённой прошивкой для FPV-дронов, поддерживая подавляющее большинство полётных контроллеров на рынке.

Архитектура и совместимость

Прошивка работает на микроконтроллерах серий STM32F3, F4, F7 и H7 (архитектура ARM Cortex-M). Основной код написан на языке C, а конфигурация и обновление выполняются через графическую утилиту Betaflight Configurator, работающую в браузере или как отдельное приложение.

Ключевая особенность — модульная система: ядро прошивки отвечает за PID-регулятор, фильтрацию сигналов гироскопа и управление моторами, а периферийные функции (GPS, барометр, компас, светодиодные ленты, дальномеры) подключаются по необходимости через систему конфигурационных дефиниций.

Основные функции

PID-регулятор и фильтрация

Betaflight использует каскадный PID-регулятор (пропорционально-интегрально-дифференциальный) с расширенными настройками: возможность раздельной настройки по осям, динамический баланс P и D, а также фильтры низких частот (биквадратные и FIR-фильтры) для подавления вибраций и шумов гироскопа. Режим dynamic idle позволяет стабилизировать обороты моторов при нулевом газе.

Режимы полёта

Поддерживаются режимы:

  • Acro (ручной/акробатический) — базовый для фристайла и гонок.
  • Angle и Horizon — стабилизированные режимы с ограничением угла наклона.
  • Air Mode — улучшенный ручной режим с сохранением управления при нулевом газе.
  • GPS Rescue — аварийный возврат домой при потере сигнала (требует GPS-модуля).

Протоколы и периферия

Прошивка поддерживает все основные протоколы приёмников (SBUS, CRSF, Spektrum, Flysky, IBUS), ESC-регуляторов (PWM, Oneshot, Multishot, DShot150-1200), а также телеметрию SmartAudio и Tramp для управления видеопередатчиком. Встроенная поддержка OSD (on-screen display) позволяет выводить параметры полёта прямо в видео-кадр.

Настройка и конфигурация

Настройка Betaflight производится через веб-интерфейс Configurator. Основные разделы:

  • Ports — назначение портов UART для периферии.
  • Configuration — выбор режимов, типов ESC, протоколов и калибровка.
  • PID Tuning — настройка коэффициентов PID и фильтров.
  • Modes — назначение переключателей на радиоаппаратуре для активации режимов.
  • Motors — проверка и калибровка моторов.

С 2021 года введена система Presets — готовых наборов настроек от сообщества, которые можно установить одной кнопкой.

Версии и развитие

Актуальной стабильной веткой на 2024 год является серия 4.5.x. Версии 4.4 и 4.5 принесли значительные улучшения в фильтрации (динамические фильтры на основе FFT), поддержку 32-битных ESC по протоколу Bidirectional DShot и улучшенный алгоритм PID. Разработка ведётся непрерывно: новые релизы выходят несколько раз в год, а бета-версии доступны для тестирования сообществом.

Критика и ограничения

Betaflight критикуется за сложность настройки для новичков: избыточное количество параметров может запутать неопытного пилота. Также прошивка не предназначена для автономных полётов — для задач навигации и выполнения миссий используется упомянутый выше iNav или ArduPilot. Некоторые пользователи отмечают, что постоянное добавление функций увеличивает размер прошивки и требования к ресурсам микроконтроллера.

Источники

  • Официальная документация проекта Betaflight (github.com/betaflight/betaflight/wiki)
  • Материалы сообщества FPV-пилотов (форумы rcgroups.com, fpv.community)
  • Статьи о развитии open-source прошивок для дронов в профильных изданиях (DroneDJ, FPVKnowItAll)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →