Как установить betaflight на ubuntu

Обновлено: 06.07.2024

Логотип BetaFlight

Betaflight Configurator - конфигуратор, мультиплатформенное программное обеспечение для настройки различных ЛА (квадракоптеров, гексакоптеров, октокоптеров и разного рода самолётов) под управлением полётных контроллеров, работающих на прошивке BetaFlight.

Можно сказать, что Betaflight Configurator - это новый этап в жизни прошивки BetaFlight. Дело в том, что по мере своего развития BetaFlight всё больше отдалялся от CleanFlight и интерфейс его конфигуратора становился всё более бесполезным, так как всё больше настроек делалось через консоль CLI.

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

  • Приложение Betaflight Configurator в браузере Chrome обновляется автоматически.
  • При обновлении прошивки сохранённые в полётном контроллере ваши настройки могут нарушиться.

Поэтому настоятельно рекомендуется сохранять резервную копию настроек.

  1. Запустить браузер Google Chrome (предварительно установив, если не установлен) или Chromium
  2. Перейти на страницу приложения Betaflight Configurator
  3. Нажать кнопку «+ Установить»
  1. Сохранить репозиторий в локальной папке (например, D:\betaflight-configurator) или скачать его в виде ZIP-файла.
  2. В Chromium или Google Chrome выбрать в меню Дополнительные инструменты -> Расширения (Tools -> Extension)
  3. Включить чекбокс «Режим разработчика» ("Developer mode").
  4. Нажать кнопку «Загрузить распакованное расширение. » ("Load unpacked extension. ") и указать папку, где лежит конфигуратор (например, D:\betaflight-configurator).

После завершения установки пиктограмма Betaflight Configurator появится в Chrome в списке приложений на странице «Сервисы» ("Apps") по адресу chrome://apps/

  • Включите WebGL. Для лучшей производительности приложения включите в браузере Chrome в меню «Настройки -> Показать дополнительные настройки -> Система» чекбокс «Использовать аппаратное ускорение (при наличии)» (Use hardware acceleration when available).
Те настройки, которые обязательно нужно сделать, а также советы и рекомендации.

Необходимо проверить минимальные, средние и максимальные значения сигналов всех 4-x стиков пульта в конфигураторе. Делается это во вкладке Receiver. Идеальные значения составляют 1000 - 1500 - 2000. Отклонения, даже самые минимальные (+/- несколько единиц), от этих значений крайне нежелательны, особенно от центрального положения (1500), которое полётный контроллер будет воспринимать как лёгкое подруливание, которое он будет обрабатывать и квадрокоптер постоянно будет сносить в какую-то сторону. Поэтому крайне желательно уделить время и при помощи доступных настроек пульта добиться идеальных значений.

  • Видео по настройке крайних и средних значений стиков пульта FrSky TARANIS
  • Turnigy 9XR PRO - настраивается в пункте меню Limits. Также можно выполнить настройку через программу eePskye (вкладка Limits), но это неудобно, так как результат сразу не видно в Betaflight Configurator. Сделать это необходимо для каждого из четырёх каналов управления.

Общую информацию по настройке пультов см. в отдельно статье: Принципы настройки пультов Turnigy и Taranis

Далее, по вкладкам Betaflight Configurator:

Тут нужно откалибровать акселерометр.

  • При использовании OSD следует включить MSP для порта UART2.
  • Ни в коем случае нельзя отключать MSP для порта UART1.

Sprf3-betaflight ports.jpg

Тут выбрать (а в большинстве случаев - оставить по умолчанию) конфигурацию коптера, заодно ещё раз проверив расположение и направление вращения моторов/пропеллеров.

Sprf3-betaflight conf-mixer.jpg

Если полётный контроллер, уже установленный на раму коптера, «смотрит» не в ту сторону, как указано на схеме в Mixer (направление стрелки на плате/корпусе полётного контроллера не совпадает с направлением стрелки на схеме), то тут можно указать куда и насколько он оказался повёрнут.

Sprf3-betaflight conf-alignment.jpg

Корректность этих настроек можно будет потом проверить во вкладке Setup.

Выбор типа (сигнала) используемого приёмника.

  • RX_PPM - композитный PPM-сигнал, самый популярный тип многоканального управляющего сигнала, передаваемого по одному сигнальному проводу.
  • RX_SERIAL - последовательный управляющий канал (SBus, SumD или сателлит Spektrum).
  • RX_PARALLEL_PWM - «обычный», параллельный способ подключения: каждый канал по отдельному проводу с PWM-сигналом.
  • RX_MSP - управление через MSP-порт.

Sprf3-betaflight conf-receiver.jpg

  • Unsynced PWM output - рекомендуется отключить, если не используется MULTISHOT.
  • MOTOR_STOP - отключить, если нужно, чтобы моторы всегда вращались в заармленном состоянии.
  • Minimum Throttle - регулирует обороты на «холостом ходу» (при стике газа в нуле), подбирается опытным путём. Все моторы должны уверенно держать минимальные обороты.

Sprf3-betaflight conf-esc.jpg

VBAT - активация индикатора заряда батареи

Остальные параметры - показания заряда аккумулятора «на банку» для различных уровней индикации. Если в них есть погрешность, её можно убрать настройкой Voltage Scale.

Sprf3-betaflight conf-battery.jpg

Sprf3-betaflight conf-other.jpg

Это следствие и причина - одна и та же проблема. Для её решения в BetaFlight (и CleanFlight тоже) есть специальная команда, настраивающая фильтрацию подобной проблемы.

Значение может быть от 0 до 32 и с его повышением чувствительность управления снижается. Управление становится более мягким. Надо понимать, что после определённого порога мягкость превратится в «ватность», поэтому следует выбирать минимальное значение, при котором дёрганья исчезнут.

Как и где скачать Betaflight Configurator и BLHeli

Betaflight Configurator и BLHeli созданы для прошивки компонентов квадрокоптера, Betaflight прошивает полетные контроллеры, а BLHeli прошивает регуляторы оборотов. Программы просто незаменимые для каждого пилота дрона. И вот недавно появилась не очень хорошая новость от Google, что они закрывают поддержку приложений в своем браузере, а эти прошивальщики были сделаны именно для хрома и все пользовались в основном этими приложениями. Google ничего не убрал из своего магазина приложений для Хрома и там по прежнему можно скачать нужный нам конфигуратор.

Была еще и вот такая новость, что в 2018 совсем закроют магазин гугла:

В августе 2016 года Google объявил о намерении прекратить поддержку Chrome Apps на всех платформах, кроме Chrome OS. План состоит в том, чтобы начать прекращение работы приложений в середине 2017 года, а в начале 2018 не будут работать почти все приложения для браузера Google Chrome. Новость эта печальная, но Google заявили, что приложениями пользовались менее 1% пользователей.

:)

Но сегодня 2021 год и все на месте, так что пользуемся

Вполне возможно, что в этот 1% как раз мы и входили, пилоты квадрокоптеров, ведь мы используем как минимум 2 из этих 3 приложений:

  • конфигуратор Betaflight,
  • конфигуратор BLHeli
  • проводник Blackbox

Конфигуратор Betaflight и Blackbox Explorer теперь доступны как автономные и независимые приложения.

Подробнее как настроить и использовать конфигуратор на русском языке написано в этой статье: Betaflight configurator, настройка на русском

Скачайте архив и разархивируйте его где-нибудь у себя на компьютере, после чего запустите исполняемый файл.

На Github можно скачать установщик BLHeli Configurator на компьютер отдельной программой, а не приложением для хрома.

В первой части я рассказал, как собрать квадрокоптер для FPV-полётов. Теперь настало время его настроить. Если интересно, вэлкам под кат.



Сразу оговорюсь, что я совершенно не претендую на роль эксперта, это всего лишь третий собранный мною квадрокоптер. Вдобавок, настройка — вещь весьма субъективная. Тем не менее, я надеюсь, что кому-то статья будет полезна и поможет сэкономить время.
Перейдём непосредственно к настройке. Сначала более простые вещи, а потом — его величество полётный контроллер.

Прошивка и настройка MinimOSD

Наиболее популярной (но не единственной) прошивкой для MinimOSD является MWOSD. Сначала нужно прошить ей плату, а потом ещё и настроить. Если настроить OSD можно через ПК (подробнее об этом в разделе, посвящённом настройке ПК), то для прошивки необходим FTDI-адаптер или Ардуинка. Как это сделать через FTDI-программатор, а главное где взять для него старые драйвера, показано в этом видео. Главное, не забыть перед прошивкой раскомментировать в Config.h следующие строки:

Из параметров выводить на экран я стал только напряжение батареи, время полёта и выбранный полётный режим.


Прошивка и настройка регуляторов

Для прошивки регуляторов у меня тоже есть специальный USB-адаптер, но можно обойтись и без него, подключившись через ПК. Долго думал, ставить Multishot или уже проверенный Oneshot125? С одной стороны, на устаревшем чипе F330 в скорости особой разницы не заметно, с другой — мелодия из «Звёздных войн» при включении и, как пишут на форумах, «более чистый сигнал». Решили всё неединичные жалобы на то, что моторы стихийно начинают вращаться на максимальных оборотах при подключении к CLI. В итоге поставил BLHeli последней версии (на момент сборки 14.5), включил Damped Light и выставил Motor Timing на «Medium». Позднее откалибровал регуляторы по этой инструкции.

Прошивка полётного контроллера

Пожалуй, самой популярной прошивкой на сегодняшний день, вполне заслуженно, является Cleanflight. После её установки достоточно только настроить протокол приёмника и квадрокоптер уже может вполне сносно лететь. Для настройки используется удобная графическая оболочка Cleanflight Configurator.
Благодаря открытому коду прошивки, у неё есть несколько ответвлений (форков). Самым интересным из них является Betaflight от человека под ником Boris B. Прошивка очень динамично развивается и некоторые её «фичи» потом переходят в «родительский» Cleanflight (например, полётный режим Airmode). Минусом Betaflight является то, что релизы выходят достаточно часто, а стабильность их не всегда высока. Кстати, эта причина на несколько недель задержала написание данной статьи. На момент завершения сборки квадрокоптера как раз вышла версия 2.8.0, которая имела пару ошибок и отличалась недружелюбными дефолтными настройками. Очень быстро появилась исправленная версия 2.8.1 RC1, но опыт работы программистом подсказал мне, что лучше подождать релиза. Я не прогадал, так как одновременно с релизом версии 2.8.1, появился и Betaflight Configurator. Можно сказать, что это новый этап в истории данной прошивки. Дело в том, что по мере своего развития Betaflight всё больше и больше отдалялся от Cleanflight и конфигуратор последнего становился всё более и более бесполезным, так как основная часть настроек всё равно делалась через консоль CLI. Кстати, на момент подготовки этой статьи, уже вышла версия Betaflight под номером 2.9.0, но из-за негативных отзывов я не стал обновляться до неё.
Ниже я подробно опишу, как я настроил свой квадрокоптер через Betaflight Configurator.

Настройка ПК через Betaflight Configurator

Вкладка Setup

Сделал калибровку акселерометра.

Вкладка Ports
  • Для того, чтобы работала OSD, включил MSP для порта UART2.
  • Ни в коем случае не отключайте MSP для порта UART1. Он запараллелен с USB и отключив передачу данных, вы уже не подключитель к ПК по USB-разъёму.


Вкладка Configuration

Собственно тут и производятся почти все настройки.

  • В разделе «Board and Sensor Alignment» указал, что мой ПК повёрнут на 90 градусов по оси yaw. Корректность этого параметра потом можно проверить во вкладке Setup.
  • В «Reciever Mode» выбрал RX_PPM.
  • Выбрал ONESHOT125 в качестве протокола регуляторов (почему не MULTISHOT, я писал выше).
  • Отключил «Unsynced PWM output», опять же, потому что не использую MULTISHOT.
  • Чтобы моторы всегда вращались в заармленном состоянии, отключил MOTOR_STOP.
  • Включил опцию «Disarm motors regardless of throttle value», так как буду делать арм моторов на отдельном канале.
  • Уменьшил значение «Minimum Throttle» до 1030. Это обороты холостого хода, подбирал субъективно.
  • Включил опцию «VBAT» для активации индикатора заряда батареи. Остальные параметры в разделе «Battery Voltage» я не менял, так как показания заряда соответствуют действительности. Если же в них есть погрешность, её можно убрать настройкой «Voltage Scale».
  • В «Other Features» активизировал BLACKBOX, SUPEREXPO_RATES, а также LED_STRIP и выключил AIRMODE. О неё я расскажу чуть ниже.


Вкладка Failsafe
  • передать на ПК сигнал, имитирующий предустановленные положения стиков и переключателей (режим Pre-set Positions, именно он и описан в мануале)
  • продолжать передавать на ПК последние данные, полученные от передатчика (режим Hold Last Position)
  • прекратить передавать сигнал на ПК (режим No Pulse)
  • В разделе «Channel Fallback Settings» установил значения переключателей передатчика, которые нужно будет сымитировать. В моём случае только включил пищалку на AUX3.
  • Активизировал Failsafe Stage 2.
  • Установил задержку активации режима failsafe 1 сек (значение 10 в пункте «Guard time for stage 2 activation. »)
  • Установил время работы моторов после активации failsafe 1 сек (значение 10 в пункте Failsafe Throttle Low delay).
  • В Failsafe Procedure выбрал сценарий с падением (Drop), а не с попыткой плавного приземления (Land).


Вкладка PID Tuning
  • Выбрал Float в разделе «PID Math». Это приемник режима LuxFloat из Cleanflight и устанавливать его рекомендуется только для ПК с процессорами F3 или F4.
  • Выбрал MEASUREMENT в разделе «Derivative method». Если коротко, то MEASUREMENT предпочтительнее для фристайла, а ERROR — для гонок.
Вкладка Modes

Повесил на переключатели арминг моторов и Blackbox (AUX1), активацию полётного режима Horizon (AUX2) и включение пищалки (AUX3).
Отдельно хочется сказать про AIRMODE. Изначально он был уникальной «фишкой» Betaflight, но в какой-то момент стал так популярен, что Boris B поделился им с авторами Cleanflight и сейчас данный режим доступен и там тоже.
Несмотря на то, что AIRMODE отображается как отдельный режим полёта — это скорее дополнительная опция, а не полноценный режим. Он позволяет квадрокоптеру удерживать заданный угол даже при минимальном газе. Именно поэтому не рекомендуется использовать AIRMODE вместе с режимами со стабилизацией. Кроме того, приземление с AIRMODE тоже процесс непростой: квадрокоптер начинает прыгать, как лягушка. Опытные пилоты предпочитают просто «ронять» квадрокоптер, выключая моторы в паре десятков сантиметров над землёй. Кстати, если у вас включена остановка моторов при нулевом газе (опция MOTOR_STOP во вкладке Configuration) и одновременно с этим работает AIRMODE, то остановки моторов не будет, так как AIRMODE имеет более высокий приоритет.
В Betaflight версии 2.8.1 появилась новая возможность: можно включить AIRMODE в фоновом режиме (что-то вроде пассивного перка в играх) и тогда он активен всегда и не будет отображаться во вкладке Modes, либо, как и ранее, повесить его включение на какой-либо канал. Делается это в «Other Features» вкладки Configuration.
У себя я не стал включать AIRMODE в фоновом режиме, так как использую ещё режим со стабилизацией HORIZON. Таким образом, у меня на AUX1 два полётных режима: HORIZON (для полётов со стабилизацией и посадки) и ACRO + AIRMODE.


Вкладка LED Strip

Настроил свою подсветку на отображение предупреждений, индикацию поворотов/торможения и свечение синим цветом, когда ничего из этого нет.


Вкладка Blackbox

Blackbox — это «чёрный ящик» квадрокоптера. Нужен для диагностики, более точной настройки PID, а также чтобы можно было наложить инфографику на полётное видео (как тут). Данные пишутся на внешний логгер или, если того позволяет объём памяти, на внутреннюю память ПК. Например, у Naze32 Acro её недостаточно, а у Naze32 Deluxe и SPRacingF3 Acro — хватает, хотя и не намного. При настройках по умолчанию, на 2Мб памяти можно записать данные полёта продолжительностью 3-4 минуты, что весьма мало. Усугубляет ситуацию то, что реализовать запись «по кругу», как в автомобильных регистраторах, здесь невозможно из-за низкой скорости чтения/записи памяти. Единственный вариант — уменьшить в несколько раз скорость записи. Для диагностики такие данные уже будут малопригодны, а для видео — самое то. В этой вкладке я сделал следующее:

  • Выбрал запись на внутреннюю память (опция «On-board dataflash chip») в разделе «Blackbox logging device».
  • В разделе «Portion of flight loop iterations to log» выбрал 50%, что по сути уменьшает скорость записи вдвое.


  • Статья Setup Blackbox in Cleanflight
  • Перевод статьи «Накладываем данные Blackbox на видео»
  • Перевод статьи «Основы настройки ПИД контроллера с помощью логов Blackbox „ по настройке и использованию Blackbox
  • Приложение Blackbox Explorer для просмотра логов
  • Приложение Blackbox tools для работы с данными. Например, можно рендерить в png
Вкладка CLI

CLI — это консоль, через которую можно менять уже более продвинутые настройки, а также делать резервную копию всех настроек. Я сделал следующее:

Также в Betaflight есть очень полезная возможность подключения к OSD через ПК. Теперь можно запрятать эту платку подальше, не беспокоясь, что к ней может понадобиться подключиться. Для подключения к плате OSD через ПК необходимо подключить батарею к квадрокоптеру, затем набрать в CLI команду serialpassthrough с необходимыми параметрами, затем отключить (Disconnect) Betaflight от ПК и запустить MWOSD. У меня получилось с первого раза. По поводу параметров, то для Micro MinimOSD, подключенной к UART2 (мой случай) они таковы:

serialpassthrough 1 115200

На этом настройка полётного контроллера закончена.

Настройка передатчика

Передатчик (он же “пульт») каждый пилот настраивает индивидуально: таймеры, миксы, голосовые уведомления и прочее. Единственная вещь, сделать которую крайне желательно, это проверить минимальные, средние и максимальные значения стиков управления в конфигураторе. Делается это во вкладке Reciever. Идеальные значения составляют 1000 — 1500 — 2000. В моём случае они составляли 996 — 1508 — 2020, что не очень хорошо. Во-первых, «выпадения» за пределы диапазона (значения менее 1000 и более 2000) плохи сами по себе. Во-вторых, центральное положение, отличное от 1500, будет восприниматься ПК, как лёгкое подруливание, которое он будет отрабатывать и квадрокоптер постоянно будет сносить в какую-то сторону. Словом, имеет смысл повозиться и настроить «как надо».
Как настроить эти значения на передатчике Taranis, показано здесь. У меня Turnigy 9XR PRO, там это делается в пункте Limits. Также можно выполнить настройку через программу eePskye (вкладка Limits), но это неудобно, так как результат сразу не видно в Betaflight Configurator. Сделать это необходимо для каждого из четырёх каналов управления.
После настройки центральные значения максимально приблизились к 1500, но у меня они начали «прыгать» примерно на 5 единиц в одну или другую сторону. Не знаю, с чем это связано, вероятно, значения пульта являются пограничными для ПК и после их округления получается такой эффект. Для решения этой проблемы в Betaflight (и CleanFlight тоже) есть специальная команда, настраивающая фильтрацию подобных вещей.

set deadband = 6

Значение может быть от 0 до 32 и с его повышением чувствительность управления снижается. Управление становится более мягким. Надо понимать, что после определённого порога мягкость превратится в ватность, поэтому для себя я выбирал минимальное значение, при котором дёрганья исчезли.
На этом всё, удачных полётов!

BetaFlight - это очень динамично развивающаяся прошивка для квадрокоптеров, наследник CleanFlight.

Для изменения настроек используется Betaflight Configurator. Он же позволяет скачать и залить свежую прошивку в ваш полетный контроллер.


Betaflight Configurator выполнен в виде приложения для Google Chrome.

Далее в статье идет подборка видеоинструкций по работе и настройке Betaflight

Обзор Btaflight, полетные режимы и настройки

Посмотрите видео Betaflight Прошивка и Настройка Квадрокоптера.

В Betaflight много настроек и полетных режимов, как их настраивать вы можете посмотреть в видео ниже.

Заливка Betaflight в Omnibus, настройка и калибровка датчиков.

Настройка полетных режимов в Betaflight.

Видео выше во многом пересекаются, но я включил сюда все те, которыми пользовался для настройки.

Внимание! Betaflight обновляется автоматически! После обновления требует новую прошивку. При этом ваши данные могут слететь, так что не зебываем сохранять их!

Как сохранить настройки Betaflight

При использовании только одного профиля, достаточно в терминале ПО (вкладка CLI) выполнить команду:

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

При использовании нескольких профилей - используется следующая последовательность команд.

profile 0
dump
profile 1
dump profile
dump rates
profile 2
dump profile
dump rates
profile 0

Для восстановления настроек - достаточно скопировать их из текстового файла и вставить в окно терминала.

Ну и напоследок, как установить Betaflight и какие пиды выставить для Eachine Racer 130.

Читайте также: