Настройка прошивки Betaflight для FPV дронов
Настройка прошивки Betaflight для FPV дронов
!!!! Далее FC - пилотный контроллер.
В этом руководстве я покажу, как настроить Betaflight и сконфигурировать полетный контроллер для первого полета после сборки FPV дрона. В программе множество опций, которые можно включать или изменять, и объяснение всех из них заняло бы часы. Поэтому в этом гайде я сосредоточусь только на основных настройках, необходимых для первого взлета.
Betaflight - это отличное открытое программное обеспечение для полетных контроллеров, разработанное специально для FPV дронов (и мультикоптеров в целом). Если вы новичок, ознакомьтесь с моим [обзором прошивок для полетных контроллеров](https://oscarliang.com/fc-firmware/#Betaflight).
Начало работы
Это руководство основано на Betaflight. Оно применимо, если ваш дрон соответствует следующим критериям:
- Это квадрокоптер (4 мотора)
- Ваш полетный контроллер совместим с Betaflight
- Вы используете цифровой приемник (например Crossfire, ExpressLRS, Tracer, Ghost и т.д.)
- Ваш ESC поддерживает BLHeli_S или BLHeli_32
Перед началом обязательно снимите все пропеллеры в целях безопасности и убедитесь, что к VTX подключена антенна (работа VTX без антенны может привести к перегреву и повреждению).
Установка Betaflight Configurator
Betaflight Configurator - это программа, которую мы будем использовать для прошивки полетного контроллера и настройки Betaflight.
Скачайте последнюю версию Betaflight Configurator:
https://github.com/betaflight/betaflight-configurator/releases
Файлы установки доступны для следующих ОС:
Операционная система | Имя файла |
Windows (8, 10, 11) | betaflight-configurator-[версия]_win64-installer.exe |
Mac OS X | betaflight-configurator_[версия]_macOS.dmg |
Ubuntu, Debian | betaflight-configurator_[версия]_amd64.deb |
Red Hat, Fedora, CentOS | betaflight-configurator-[версия].x86_64.rpm |
Другие Linux | betaflight-configurator_[версия]_linux64-portable.zip |
Android | betaflight-configurator-debug-[версия]_android.apk |
Перейдите в Options в левой панели и включите эти опции:
Обновление прошивки
Если вы приобрели полетный контроллер по [рекомендациям](https://oscarliang.com/flight-controller/), Betaflight уже должен быть предустановлен. Однако версия может быть устаревшей, поэтому всегда полезно обновляться до последней версии Betaflight для исправления ошибок и получения новых функций, хотя это и не обязательно. Это руководство проведет вас через [процесс прошивки Betaflight шаг за шагом](https://oscarliang.com/flash-update-betaflight/).
Перед прошивкой полетного контроллера обязательно сделайте резервную копию текущей конфигурации - это позволит вернуться к исходному состоянию, если что-то пойдет не так (хотя такое случается крайне редко, лучше перестраховаться). Вот руководство по [резервному копированию настроек Betaflight](https://oscarliang.com/backup-restore-betaflight-config/).
Совет: Перед обновлением прошивки FC регулярно проверяйте и обновляйте Betaflight Configurator для получения новых функций и исправлений ошибок. Устаревший конфигуратор может быть несовместим с новой прошивкой.
Первичная настройка Betaflight
Для простоты мы настроим только основные параметры, необходимые для первого взлета. Вы сможете изучить другие настройки позже, если захотите.
Важно! Убедитесь, что все пропеллеры сняты перед настройкой дрона на стенде, чтобы избежать несчастных случаев.
Подключение FC к компьютеру
При подключении кабеля USB к FC он также обеспечит питание, подключать LiPo аккумулятор не нужно.
При подключении FC к компьютеру в Configurator должен появиться новый COM-порт. Выберите этот новый COM-порт и нажмите "Connect". Обратите внимание, что в примере у меня COM8, но в вашем случае он, скорее всего, будет другим. И часто COM-порт меняется при использовании другого полетного контроллера/компьютера.
Подключение COM-порта
Если вы не можете найти COM-порт или возникли проблемы с подключением, это может быть связано с проблемой драйверов компьютера. Следуйте [этому руководству для устранения проблем с драйверами полетного контроллера](https://oscarliang.com/fc-driver-issues-flash-firmware/). Или, возможно, ваш FC "кирпич" (крайне редко), что можно [исправить, как объяснено в этой статье](https://oscarliang.com/cannot-connect-to-naze32-brick-fix/).
Совет: Убедитесь, что вы используете USB-кабель для передачи данных. Существует два типа USB-кабелей: только для зарядки и для передачи данных. Для связи с Betaflight Configurator вам нужен кабель для передачи данных.
Настройка
После успешного подключения к Betaflight вы увидите вкладку Setup с 3D-моделью квадрокоптера. Здесь вы получите общий обзор состояния полетного контроллера и доступ к нескольким базовым функциям.
Здесь нужно сделать несколько вещей:
1. Поместите квадрокоптер/FC на ровную поверхность, затем нажмите "Calibrate Accelerometer" - это нужно делать только один раз после каждой прошивки.
2. Теперь двигайте квадрокоптер руками (наклоняйте вперед-назад, влево-вправо, вращайте и т.д.), 3D-модель должна повторять движения.
Если 3D-модель не двигается так же, как ваш квадрокоптер, это может означать несколько вещей: возможно, ваш FC перевернут или установлен не в том направлении (например, стрелка на FC не направлена вперед). Попробуйте повернуть плату, пока она не будет правильно ориентирована. Если физически невозможно повернуть пилотный контроллер относительно рамы коптера чтобы обеспечить правильность его ориентации в пространстве, вы можете попробовать установить положение магнитометра во вкладке Configuration / Конфигурация, чтобы исправить эту ошибку (обычно 90/180/270 градусов).
Пресеты
Перед внесением любых изменений всегда полезно сначала создать резервную копию текущих настроек. Вы можете сделать это во вкладке Presets. Подробнее о [резервном копировании и восстановлении настроек](https://oscarliang.com/backup-restore-betaflight-config/).
[Пресеты - также очень полезная функция в Betaflight, о них можно узнать здесь](https://oscarliang.com/betaflight-presets/).
Калибровка напряжения
Возьмите аккумулятор, проверьте его напряжение с помощью тестера аккумуляторов или мультиметра.
Затем подключите его к дрону (предварительно снимите пропеллеры!). Если отображаемое напряжение в конфигураторе (обведено красным на изображении ниже) не совпадает с измеренным вами напряжением, следует откалибровать датчик напряжения в Betaflight.
Для этого перейдите на вкладку "Power & Battery" в левой панели.
Нажмите кнопку Calibration / Калибровка в правом нижнем углу.
Введите измеренное напряжение во всплывающем окне, затем нажмите Calibrate, и вам будет предложено применить новый масштаб напряжения. Вот и все.
Порты
Во вкладке Ports можно настроить все периферийные устройства (внешние устройства), подключенные к полетному контроллеру через UART (контакты TX и RX) или программный последовательный порт. Здесь мы хотим настроить подключения нашего приемника и VTX.
Здесь нужно сделать всего две вещи:
- Если вы используете аналоговый VTX и подключили провод SmartAudio или IRC Tramp для [управления VTX](https://oscarliang.com/vtx-control/), выберите "VTX (TBS SmartAudio)" или "VTX (IRC Tramp)" в разделе Peripherals для того UART, к которому подключен VTX. Если вы используете HD VTX, такой как DJI / Avatar / HDZero, выберите VTX (MSP + Displayport), это также автоматически включит MSP.
- Если вы используете последовательный приемник, такой как ExpressLRS и Crossfire, вам нужно включить "Serial RX" на том UART, к которому он подключен.
- Если вы используете HD FPV систему, такую как DJI / Avatar / HDZero, есть дополнительный шаг. Вернитесь на вкладку пресетов и примените пресет "OSD for Fpv.wtf, DJI O3, Avatar HD" (просто найдите "OSD for DJI").
Этот пресет эквивалентен вводу следующих команд в CLI:
set osd_displayport_device = MSP
set vcd_video_system = HD
save
Конфигурация
Вкладка Configuration / Конфигурация содержит основные системные настройки. Большинство настроек можно оставить по умолчанию, изменить нужно лишь несколько параметров.
1. Системные настройки
Частота обновления гироскопа - это частота, с которой берутся показания гироскопа. Это значение зависит от того, какой у вас гироскоп, и обычно оно фиксировано, так что не беспокойтесь об этом.
Частота PID-цикла - также известная как время цикла (looptime), определяет, как быстро выполняются PID-вычисления. Максимальное значение зависит от мощности процессора вашего FC: как правило, F4 может работать до 4 кГц, а F7/H7 - до 8 кГц. Это также зависит от частоты обновления гироскопа: если у вас гироскоп BMI270, то максимальная поддерживаемая частота PID-цикла составит 3,2 кГц, даже для более быстрого FC F7.
Общее правило:
- F4: 4 кГц
- F7/H7: 4 кГц или 8 кГц
- Если у вас гироскоп BMI270: 3,2 кГц независимо от процессора
При изменении времени цикла и включении функций обращайте внимание на "загрузку ЦП" в нижней части окна - старайтесь держать ее ниже 75%, используя более медленное время цикла или отключая ненужные функции. Высокая загрузка ЦП может вызвать нестабильность работы полетного контроллера. 75% - это безопасный предел, рекомендуемый разработчиками Betaflight.
Я рекомендую оставить акселерометр включенным. Вы можете отключить его, это освободит некоторую вычислительную мощность, но вы не сможете использовать некоторые функции Betaflight, такие как Angle mode и Horizon mode, а также 3D-модель на вкладке Setup перестанет двигаться.
Вы также можете отключить барометр и магнитометр, если не используете их.
2. Конфигурация DShot Beacon / DShot писк
Обычно я включаю DShot Beacon - это позволяет использовать моторы в качестве звукового сигнала, когда дрон не взведен. Это полезно, если на вашем дроне нет зуммера - это поможет найти дрон после падения. Вам также нужно будет назначить переключатель на пульте для звукового сигнала на вкладке Modes, что я покажу позже.
3. Угол активации / Arming (Arming Angle)
Установка угла активации на 180 фактически отключает эту функцию, позволяя "заармить" квадрокоптер в любом положении (даже вверх ногами). Это полезно, если дрон застрял в дереве - вы все равно можете заармить квадрокоптер, запустить моторы и вытащить его из веток. Если этот параметр установлен слишком низко, вы можете не запустить дрон. Отключение акселерометра также отключит эту функцию.
Приемник
Во вкладке Receiver можно настроить и проверить, правильно ли работает ваш приемник.
Если вы используете приемники Crossfire и ExpressLRS необходимо выбрать "Serial (via UART)" в Receiver Mode / Режимы приемника.
В Serial Receiver Provider выберите соответствующий протокол приемника:
- TBS Crossfire - CRSF
- ExpressLRS - CRSF
- Tracer - CRSF
- Ghost - IRC GHOST
- Spektrum DSM2 - SPEKTRUM1024
- Spektrum DSMX - SPEKTRUM2048
- FrSky RX - SBUS
- Futaba RX - SBUS
- FlySky RX - IBUS
- Turnigy RX - IBUS
Если вы подключаете приемник к FC через PPM, используйте "PPM RX Input" в Receiver Mode.
Если вы используете телеметрию, обязательно включите Telemetry Output.
Включите пульт (TX) и приемник (RX) - если они уже связаны, при движении стиков значения каналов также должны изменяться. Если реагируют не те каналы, возможно, вам нужно изменить "Channel Map" - обычно это должно быть либо AETR1234, либо TEAR1234.
Дополнительная информация: [Что такое Channel Map и как правильно его настроить?](https://oscarliang.com/channel-map/)
Если каналы не реагируют на движения стиков, вот как это исправить:
- связан ли приемник с передатчиком? (горит ли на приемнике постоянный зеленый свет?)
- правильно ли приемник припаян к FC?
- включили ли вы последовательный приемник на правильном UART?
- выбрали ли вы правильный протокол приемника?
Убедившись, что каналы работают правильно, проверьте средние точки и конечные точки первых 4 каналов (Pitch, Roll, Yaw, Throttle). Когда вы убираете руки со стиков, каналы Pitch, Roll и Yaw должны быть на 1500. Некоторые приемники могут иметь небольшие колебания, например, около 1498-1502, что нормально, и вы можете исправить это, установив мертвую зону для этой оси. У вас должны быть конечные точки 1000 и 2000 (допустима небольшая погрешность, например, 8-12 за пределами лимитов, например, 988 и 2012 - нормально).
Если ваши средние и конечные точки сильно отклоняются, вы можете следовать моему руководству, чтобы исправить это: [https://oscarliang.com/adjust-tx-channel-mid-end-point/](https://oscarliang.com/adjust-tx-channel-mid-end-point/).
Прежде чем перейти к следующей вкладке, убедитесь, что переключатели взведения и режимов работают правильно, переключая их - вы должны видеть изменение значений каналов AUX1, AUX2 или AUX3. Если вы еще не настроили переключатели на пульте, [следуйте этому руководству](https://oscarliang.com/setup-switch-mixes/).
Что такое пороги Stick Low/High?
Stick Low Threshold: Дроссель должен быть ниже этого значения, чтобы FC распознал, что стик дросселя полностью опущен. Это полезно по нескольким причинам, например, когда вы поднимаете стик дросселя, ваш квадрокоптер не взводится. Такие настройки, как PID_Min_Throttle, также используют значение Stick Low Threshold.
Stick Center: Это значение всегда должно быть установлено на 1500.
Stick High Threshold: Это значение используется для определения, полностью ли поднят стик дросселя. Оно полезно для таких функций, как активация меню OSD.
Важно отметить, что пороги Stick Low/High Threshold - это не то же самое, что конечные точки стиков, и они не влияют на диапазон стика дросселя.
Не устанавливайте Stick Low Threshold на самое нижнее значение 1000, так как это может помешать взведению вашего квадрокоптера. Рекомендуется оставить запас, даже если ваш дроссель может опускаться ниже 1000, например, установить его на 1010. Однако оставить его по умолчанию на 1050 обычно нормально. Для Stick High Threshold оставьте его по умолчанию на 1900 - это приемлемо, так как это не влияет на ваш полет.
Режимы / Modes
Во вкладке "Modes / Режимы" вы можете назначить переключатели для различных функций.
Обычно мы используем следующие режимы:
- Арминг (Arming)
- Режим Angle (когда режим Angle не активирован, мы находимся в режиме Rate, он же ручной режим. Если вы не видите режим Angle, вероятно, ваш акселерометр отключен)
- Звуковой сигнал (Beeper)
- Переворот после падения (режим Turtle)
Я объясняю [различные режимы в Betaflight в этой статье](https://oscarliang.com/betaflight-modes/).
Вот как назначить переключатель на режим:
- Нажмите "Add Range" для нужного режима
- Выберите переключатель, который вы хотите использовать для управления этим режимом, в выпадающем меню. Если вы не знаете, какой AUX соответствует вашему переключателю, просто перейдите на вкладку Receiver и посмотрите, какие каналы AUX реагируют при переключении. AUX1 - это канал 5, AUX2 - канал 6 и так далее
- Перетащите ползунок на желаемый диапазон активации
- Переключите переключатель, и маленький желтый маркер также должен перемещаться - убедитесь, что он попадает в диапазон активации режима, когда переключатель включен
- Нажмите "Save"
Моторы
Вкладка Моторы / Motors используется для настройки ESC и тестирования моторов. В целях безопасности убедитесь, что все пропеллеры сняты перед использованием вкладки Моторы / Motors.
Единственное, что нужно изменить здесь - это протокол ESC/Motor. Если вы используете ESC BLHeli_S или BLHeli_32, рекомендуется DShot. Как правило, выбирайте:
- DShot600 для времени цикла 8 кГц
- DShot300 для 3,2 кГц / 4 кГц
- DShot150 для 1,6 кГц / 2 кГц
> Дополнительная информация: [Обзор протоколов и прошивок ESC](https://oscarliang.com/esc-firmware-protocols/)
Я рекомендую оставить опцию "MOTOR_STOP" отключенной, иначе вы не сможете определить, заармлен ли ваш квадрокоптер. Остальные параметры можно оставить по умолчанию.
Нажмите Save and Reboot, затем снова вернитесь на вкладку Моторы / Motors.
Есть несколько вещей, которые нужно проверить:
- Могут ли моторы вращаться?
- Правильный ли порядок моторов, как показано на схеме в верхнем левом углу?
- Правильное ли направление вращения, как показано на схеме в верхнем левом углу?
Вот правильный порядок моторов и направление вращения:
- мотор 1 - задний правый
- мотор 2 - передний правый
- мотор 3 - задний левый
- мотор 4 - передний левый
Если порядок неправильный, вы можете исправить его, нажав "Reorder Моторы / Motors".
Теперь проверьте направление вращения моторов - если оно неправильное, вы можете изменить направление вращения, нажав "Motor direction".
OSD
Теперь перейдите на вкладку OSD в левой панели.
Если вы используете системы DJI / Avatar / HDZero FPV, обязательно переключитесь на формат HD video - это правильно масштабирует шрифт и экран, и изображение будет выглядеть намного лучше.
Для аналоговых систем просто выберите Auto (или PAL/NTSC, если вы знаете, какой тип камеры у вас установлен).
Вот как выглядит OSD в ваших очках.
Настроив OSD, вы можете отображать важные данные полета на экране, такие как напряжение и таймер. Подробнее см. в моем [руководстве по настройке OSD в Betaflight](https://oscarliang.com/betaflight-osd/), но если вы следовали этому руководству, вам не нужно делать ничего дополнительного.
Вместо того чтобы размещать одни и те же элементы OSD для каждого своего квадрокоптера, я обычно просто копирую и вставляю следующий фрагмент кода в CLI - это намного быстрее. Вот что я обычно использую на своем фристайл-квадрокоптере (без GPS):
set osd_vbat_pos = 2467
set osd_link_quality_pos = 2114
set osd_rssi_dbm_pos = 2082
set osd_tim_2_pos = 2486
set osd_throttle_pos = 2104
set osd_current_pos = 2135
set osd_mah_drawn_pos = 2403
set osd_warnings_pos = 14633
set osd_avg_cell_voltage_pos = 2435
save
Настройка PID
Вкладка PID Tuning позволяет настроить летные характеристики вашего квадрокоптера так, как вам нужно.
Это может показаться сложным, но на самом деле здесь не нужно ничего менять, так как настройки Betaflight по умолчанию хорошо работают на широком спектре FPV дронов. Когда вы станете более опытным, ознакомьтесь с моим [руководством по настройке PID](https://oscarliang.com/fpv-drone-tuning/).
Однако вы можете поэкспериментировать с rates и expo, чтобы сделать управление квадрокоптером более удобным. Rate, Super Rate и Expo влияют на чувствительность стиков - насколько сильно квадрокоптер реагирует на движение стиков. Ознакомьтесь с [этим руководством о том, что такое rates и expo и как их настроить](https://oscarliang.com/rates/).
Видеопередатчик
Если вы используете аналоговый видеопередатчик и хотите изменять канал и мощность в меню OSD, вам следует настроить таблицу VTX. Это не относится к цифровым FPV системам (DJI/HDZero/Avatar).
Есть 3 способа загрузить таблицы VTX:
1. выбрать пресет таблицы VTX во вкладке Presets
2. загрузить JSON-файл во вкладке Video Transmitter
3. вставить фрагмент кода в CLI (мой предпочтительный способ)
Обычно вы можете найти JSON-файл таблицы VTX или фрагмент CLI для вашего конкретного VTX на странице продукта, [если нет, вы можете проверить здесь](https://oscarliang.com/smartaudio-tramp-vtx-control-vtxtables/) или просто поискать в Google.
Экспертный режим
Включив Expert Mode в верхней части окна, вы получите доступ к дополнительным вкладкам на левой панели и расширенным настройкам. Однако для первого полета обычно не нужно изменять какие-либо из этих настроек.
Отключение звукового сигнала на стенде
Если ваш дрон продолжает пищать при подключении USB-кабеля (когда пульт выключен), простое решение - отключить опцию "USB" в разделе Beeper Configuration во вкладке Configuration.
Это все, что касается базовой настройки в Betaflight.
Проверки безопасности перед первым полетом
Перед первым полетом обязательно протестируйте failsafe. При потере радиосвязи моторы должны просто остановиться, а дрон упасть на землю. Вы же не хотите, чтобы пропеллеры вращались бесконтрольно, что может привести к еще большему ущербу.
Вот как протестировать failsafe.
Прежде всего, снимите все пропеллеры в целях безопасности. Подключите аккумулятор, включите пульт и произведите арминг квадрокоптера - моторы должны вращаться на низкой скорости.
Чтобы имитировать failsafe, можно просто выключить пульт, пока квадрокоптер еще активирован. В идеале ваш квадрокоптер должен деактивироваться в течение секунды, и моторы должны остановиться. Если этого не происходит, [вам нужно пересмотреть настройки failsafe](https://oscarliang.com/setup-failsafe/) и сбросить их на значения по умолчанию, если есть сомнения.
Также проверьте процент загрузки ЦП в нижней части Betaflight Configurator - относительно низкая загрузка ЦП обеспечивает стабильность. Согласно wiki Betaflight, вам не стоит беспокоиться, пока загрузка ЦП не достигнет примерно 75%. Чтобы снизить загрузку ЦП, вы можете попробовать отключить ненужные функции или установить более низкую частоту PID-цикла.
## Другие руководства по Betaflight
После завершения этого руководства ознакомьтесь со следующими руководствами, чтобы узнать больше о расширенных функциях Betaflight:
- [Объяснение CLI](https://oscarliang.com/betaflight-cli-explained/)
- [Настройка RGB LED ленты](https://oscarliang.com/setup-led-betaflight/)
- [Переназначение ресурсов](https://oscarliang.com/betaflight-resource-remapping/)
- [Настройка Failsafe](https://oscarliang.com/setup-failsafe/)
- [OSD в Betaflight](https://oscarliang.com/betaflight-osd/)
- [Управление VTX](https://oscarliang.com/vtx-control/)
- [Программный последовательный порт](https://oscarliang.com/betaflight-soft-serial/)
- [Скрипт LUA](https://oscarliang.com/betaflight-change-pid-vtx-settings-taranis/)
- [Телеметрия ESC](https://oscarliang.com/esc-telemetry-betaflight/)
- [Управление камерой](https://oscarliang.com/fpv-camera-control-uart-fc/)
- [Режим GPS Rescue](https://oscarliang.com/setup-gps-rescue-mode-betaflight/)
- [Фильтры](https://oscarliang.com/betaflight-filtering/)
- [Порог Moron](https://oscarliang.com/moron-threshold-betaflight/)
- [Режим Airmode в Betaflight](https://oscarliang.com/betaflight-airmode/)
- [Как использовать Blackbox](https://oscarliang.com/blackbox/)
-
50