Проект Фаргус 2: БПЛА с Betaflight

- -
- 100%
- +
Вопрос 4. Что делает опция Full Chip Erase и когда её стоит использовать?
Ответ. Full Chip Erase полностью стирает память микроконтроллера, удаляя старую прошивку и настройки. Её используют при первом старте или при переходе на другую цель, чтобы избежать конфликтов.
Вопрос 5. Как понять, что Configurator корректно определил плату?
Ответ. В верхней части окна вкладки Firmware Flasher отображается название цели (Target), версия прошивки и статус подключения. Если поле пустое или написано «No device», значит, плата не обнаружена.
Вопрос 6. Почему важно выбирать точное название цели (Target)?
Ответ. Каждая цель соответствует конкретной схеме платы: распиновке, датчикам, портам. Неверная цель приведёт к неправильной прошивке и неработоспособности устройства.
Вопрос 7. Что делать, если плата не появляется в списке портов?
Ответ. Проверьте драйверы, кабель и порт. Попробуйте другой USB-кабель, переустановите драйверы, проверьте, не блокирует ли устройство служба ModemManager (в Linux).
Вопрос 8. Зачем выполнять проверку датчиков на вкладке Setup?
Ответ. Это позволяет убедиться, что акселерометр и гироскоп работают корректно и правильно ориентированы относительно корпуса. Ошибки здесь приводят к нестабильному полёту.
Вопрос 9. Можно ли сразу после прошивки лететь на дроне?
Ответ. Нет. После прошивки требуется базовая настройка: проверка каналов, моторов, ориентации платы и включение безопасных функций. Полёт без этого опасен.
Вопрос 10. Что означает статус «DFU — STM32 BOOTLOADER» и зачем он нужен?
Ответ. Это режим загрузчика, в который плата переходит для приёма новой прошивки. В этом режиме микроконтроллер готов к записи кода, но не выполняет обычную логику Betaflight.
3 задачи с решением
Задача 1. Вы подключили полётный контроллер к ПК, запустили Configurator, но кнопка Connect неактивна, а поле Target пустое. Опишите пошаговый план диагностики.
Решение:
Проверьте кабель: он должен поддерживать передачу данных.
Убедитесь, что плата подключена только по USB (без аккумулятора).
Проверьте наличие драйверов (STM VCP или CP210x).
Откройте диспетчер устройств (Windows) или lsusb/dmesg (Linux) и проверьте, определяется ли плата.
Если плата видна, но Configurator её не видит, попробуйте другой порт или кабель.
При необходимости переустановите драйверы или используйте Zadig для замены драйвера на libusb.
Задача 2. Вам нужно прошить плату MATEKF722 на последнюю стабильную версию Betaflight. Опишите процесс в Configurator.
Решение:
Откройте вкладку Firmware Flasher.
В поле Target выберите MATEKF722.
Убедитесь, что выбрана опция Online Firmware.
При необходимости отметьте Full Chip Erase.
Нажмите Flash Firmware и дождитесь завершения.
После прошивки переподключитесь и проверьте версию на вкладке Info.
Задача 3. После прошивки моторы начали вращаться без команды. Что могло пойти не так и как это исправить?
Решение:
Отключите питание и снимите пропеллеры.
Проверьте, не активирован ли режим тестирования моторов на вкладке Motors.
Убедитесь, что приёмник не подаёт сигнал (аппаратура выключена).
На вкладке Configuration проверьте, не включена ли функция автоматического включения моторов.
При необходимости сбросьте конфигурацию до заводских настроек через CLI командой defaults и заново настройте базовые параметры.
ЧАСТЬ II. BETAFLIGHT ИЗНУТРИ
Глава 9. Вкладка Ports: UART, софтсериал, VTX-таблицы — настройка коммуникаций
В мире FPV-дронов «коммуникации» — это не про разговоры, а про то, как компоненты понимают друг друга. Полётный контроллер (FC) — мозг системы, но без грамотной настройки портов он останется «немым»: видеопередатчик не включится, телеметрия не полетит, GPS не найдёт спутники. Именно вкладка Ports в Betaflight Configurator собирает все эти связи в единую управляемую сеть.
Что такое Ports и зачем они нужны
Порты (UART) — это физические последовательные интерфейсы на полётном контроллере, через которые FC обменивается данными с внешними устройствами: видеопередатчиками (VTX), приёмниками, GPS, телеметрией, LED-контроллерами и т. д. Каждый UART имеет два основных контакта: TX (передача) и RX (приём). Важно не перепутать: TX контроллера соединяется с RX устройства, и наоборот.
Софтсериал (Soft Serial) — программная эмуляция UART на любых свободных пинах. Это «спасательный круг», когда аппаратных UART не хватает, но за удобство приходится платить: софтовый порт менее стабилен, чувствителен к нагрузке процессора и помехам. Его используют для малонагруженных устройств: простых светодиодов, датчиков температуры, резервных каналов телеметрии.
VTX-таблицы: язык общения с видеопередатчиком
Современные видеопередатчики (VTX) умеют менять мощность и частоту прямо с пульта. Для этого в Betaflight используют VTX-таблицу — список частот и мощностей, который «объясняет» FC, какие команды понимает конкретный VTX. Без корректной таблицы команды с пульта либо не сработают, либо вызовут ошибку.
VTX-таблица задаётся в CLI или через вкладку Features (в новых версиях Betaflight). В неё входят:
Список каналов (A, B, E, F, R и т. п.)
Частоты для каждого канала (в МГц)
Уровни мощности (PIT, 25 мВт, 200 мВт, 600 мВт и т. д.)
Соответствие команд (band/channel/power) для конкретного протокола (IRC Tramp, SmartAudio, BST).
Разные VTX используют разные протоколы управления. Betaflight должен «говорить» на том же языке: IRC Tramp — самый популярный, SmartAudio — проще, но менее гибкий, BST (TBS) — для кроссфайра.
Настройка вкладки Ports: пошаговый алгоритм
Определите, какие устройства подключены к каким UART. Запишите: UART1 — приёмник, UART2 — VTX, UART3 — GPS.
Откройте вкладку Ports в Betaflight Configurator. В колонке «Feature» выберите нужную функцию для порта: Serial RX (для приёмника), VTX (для видеопередатчика), GPS и т. д.
Активируйте протокол. Например, для VTX выберите IRC Tramp или SmartAudio в настройках Features.
Настройте скорость (Baud Rate). Для большинства современных устройств достаточно автоопределения, но иногда требуется ручная установка (например, 115200 для GPS).
Проверьте работоспособность. Вкладка Receiver покажет движение стиков, OSD — данные телеметрии, видео — переключение каналов с пульта.
Важно: не включайте одну и ту же функцию на нескольких портах одновременно — это вызовет конфликт и ошибки.
Типичные ошибки и как их избежать
Перепутаны TX/RX. Дрон не видит устройство, нет телеметрии или видео. Решение: проверьте схему подключения.
Конфликт функций. Два устройства используют один и тот же протокол на разных портах. Решение: оставьте функцию только на одном порту.
Неверная VTX-таблица. Команды с пульта не работают, VTX выдаёт ошибку. Решение: загрузите правильную таблицу для вашего VTX.
Софтсериал на нагруженном пине. Возможны сбои при высокой нагрузке FC. Решение: используйте аппаратные UART для критичных устройств (приёмник, VTX).
Практический пример: настройка VTX на UART2
Допустим, у вас видеопередатчик с протоколом IRC Tramp на UART2. Порядок действий:
В Ports выберите для UART2 функцию VTX.
В Features активируйте IRC Tramp.
Загрузите VTX-таблицу (через CLI или готовый JSON).
Проверьте переключение каналов и мощности с пульта.
Убедитесь, что в OSD отображаются текущие параметры VTX.
Такая настройка даёт пилоту полный контроль над видеоканалом прямо в полёте — без необходимости лезть в дрон и переключать перемычки.
10 вопросов с ответами
Вопрос: Что такое UART в контексте полётного контроллера?
Ответ: UART — это последовательный интерфейс для обмена данными между полётным контроллером и внешними устройствами (VTX, приёмник, GPS и др.).
Вопрос: Зачем нужен софтсериал, если есть аппаратные UART?
Ответ: Софтсериал позволяет использовать любые свободные пины как UART, когда аппаратных портов не хватает. Это удобно, но менее надёжно.
Вопрос: В чём разница между TX и RX на UART?
Ответ: TX (Transmit) — передача данных, RX (Receive) — приём. TX одного устройства подключается к RX другого.
Вопрос: Что такое VTX-таблица и зачем она нужна?
Ответ: VTX-таблица — это список частот, каналов и мощностей, который позволяет Betaflight корректно управлять видеопередатчиком с пульта.
Вопрос: Какие протоколы управления VTX поддерживает Betaflight?
Ответ: Betaflight поддерживает IRC Tramp, SmartAudio и BST (TBS), выбор зависит от модели VTX.
Вопрос: Можно ли использовать один UART для двух устройств?
Ответ: Нет, это вызовет конфликт. Каждый критический модуль должен иметь свой отдельный порт.
Вопрос: Где задаётся VTX-таблица в Betaflight?
Ответ: В CLI через команду vtxtable или в интерфейсе Configurator (в зависимости от версии прошивки).
Вопрос: Почему софтсериал может работать нестабильно?
Ответ: Потому что он эмулируется программно и зависит от загрузки процессора, помех и качества пайки.
Вопрос: Как проверить, что VTX правильно настроен?
Ответ: Переключите канал и мощность с пульта и убедитесь, что изменения отображаются в OSD и реально применяются VTX.
Вопрос: Что делать, если команды VTX с пульта не срабатывают?
Ответ: Проверьте правильность VTX-таблицы, активацию протокола в Features, подключение TX/RX и отсутствие конфликтов портов.
3 задачи с решением
Задача 1
Условие: У вас есть приёмник (SBUS) на UART1, VTX (IRC Tramp) на UART2 и GPS на UART3. Напишите, какие функции нужно активировать в вкладке Ports и что проверить после настройки.
Решение:
Для UART1 выберите функцию Serial RX.
Для UART2 выберите VTX и в Features активируйте IRC Tramp.
Для UART3 выберите GPS.
После настройки проверьте: движение стиков в Receiver, переключение каналов VTX с пульта, появление спутников в OSD.
Задача 2
Условие: Вы подключили VTX к UART4, но команды с пульта не работают. Перечислите 3 возможные причины и шаги диагностики.
Решение:
Не активирована функция VTX в Ports для UART4 — проверьте вкладку Ports.
Не включён нужный протокол (IRC Tramp/SmartAudio) в Features — включите и сохраните.
Не загружена правильная VTX-таблица — загрузите таблицу под ваш VTX через CLI или Configurator.
После каждого шага проверяйте реакцию VTX.
Задача 3
Условие: Аппаратных UART не хватает: нужно подключить приёмник, VTX, GPS и LED-контроллер. Как оптимально распределить устройства и где использовать софтсериал?
Решение:
Приёмник — аппаратный UART (критичен для безопасности).
VTX — аппаратный UART (частое управление мощностью/каналами).
GPS — аппаратный UART (стабильность данных).
LED-контроллер — софтсериал на свободных пинах (низкая нагрузка, допустима нестабильность).
Такой порядок сохраняет надёжность основных систем и использует софтсериал там, где сбои менее критичны.
ЧАСТЬ II. BETAFLIGHT ИЗНУТРИ
Глава 10. Приёмники и привязка: BIND, Lua‑скрипты, отказоустойчивость канала управления
Введение: почему привязка и отказоустойчивость — это не «мелочи»
Когда пилот поднимает дрон в воздух, он доверяет системе самое дорогое — аппарат, оборудование и безопасность окружающих. Приёмник — это «уши» коптера: именно через него приходят команды от пульта. Если связь теряется, а FailSafe не настроен, дрон может улететь в неизвестном направлении или резко упасть.
В этой главе мы разберём, как правильно выполнить привязку (BIND) приёмника к передатчику, как использовать Lua‑скрипты для контроля и диагностики канала, и как выстроить отказоустойчивую систему управления, чтобы даже при потере сигнала дрон действовал предсказуемо.
Привязка (BIND): суть и варианты
BIND — это процесс установления уникальной пары «передатчик — приёмник», чтобы дрон принимал команды только от вашего пульта. В современных системах (ExpressLRS, Crossfire, FrSky) привязка реализуется по-разному, но логика одна: приёмник должен «узнать» идентификатор передатчика.
Основные способы привязки
Кнопка Bind на приёмнике. Самый простой вариант: подаём питание на приёмник, удерживаем кнопку Bind, на пульте запускаем BIND-режим. Приёмник мигает, затем переходит в рабочий режим.
BIND-фраза (Binding Phrase). Применяется в ExpressLRS: фраза хешируется в уникальный UID (6 байт), который вводится в Betaflight CLI командой set expresslrs_uid = ... и сохраняется. Это удобно, если нет кнопки Bind.
Автоматический Bind по UID. В некоторых прошивках приёмник автоматически привязывается к передатчику с нужным UID при первом включении.
Важно: версии прошивок приёмника и передатчика должны быть совместимы. Несовпадение версий — частая причина «невидимости» приёмника.
Lua‑скрипты: контроль канала из пульта
Lua‑скрипты на пульте (RadioMaster, Jumper и др.) позволяют выводить на экран телеметрию, менять режимы и даже диагностировать качество канала в реальном времени.
Для ExpressLRS стандартный скрипт даёт:
текущую мощность передатчика;
пакетную скорость (F1000, F500 и т. п.);
RSSI и LQ (уровень сигнала и качество пакетов);
статус Wi‑Fi режима приёмника (если поддерживается).
Практический смысл: если LQ падает ниже 80–90%, это сигнал снизить скорость пакетов или увеличить мощность, либо скорректировать полётную зону.
Отказоустойчивость и FailSafe: что дрон делает, когда «тишина»
FailSafe — это поведение дрона при потере связи. В Betaflight есть несколько стратегий:
Hold: дрон удерживает текущие значения стиков. Подходит для спокойных полётов, но опасен при резкой потере связи — может улететь по инерции.
Drop: моторы отключаются, дрон падает. Крайне рискованно, используется редко.
Land: дрон начинает плавное снижение. Наиболее безопасный вариант для большинства сценариев.
RTH (Return to Home): дрон возвращается на точку взлёта. Требует GPS и правильной настройки.
Настроить FailSafe можно во вкладке Receiver в Betaflight Configurator. Также важно задать минимальное значение канала AUX, при котором дрон будет считать связь потерянной.
Практические советы и частые ошибки
Не путайте режимы Bind и Wi‑Fi. В ExpressLRS приёмник может иметь два режима: Bind и Wi‑Fi. Если вы случайно включили Wi‑Fi, привязка не сработает.
Проверяйте UART и протокол. Если приёмник подключён к UART, в вкладке Ports нужно включить Serial RX и выбрать правильный протокол (CRSF для Crossfire/ExpressLRS, SBUS и т. д.).
Тестируйте FailSafe на земле. Перед первым полётом обязательно проверьте, как дрон реагирует на потерю сигнала: отключите пульт и посмотрите, срабатывает ли FailSafe корректно.
10 вопросов с ответами
Что такое BIND и зачем он нужен?
Ответ: BIND — это процедура установления уникальной связи между приёмником и передатчиком. Он нужен, чтобы дрон реагировал только на ваш пульт и не принимал чужие команды.
Какие способы привязки существуют для ExpressLRS?
Ответ: Кнопка Bind на приёмнике, BIND‑фраза (преобразуется в UID), автоматический Bind по UID.
Как ввести UID в Betaflight?
Ответ: Через CLI: set expresslrs_uid = [6 байт в шестнадцатеричном виде], затем save.
Зачем нужны Lua‑скрипты на пульте?
Ответ: Они отображают телеметрию (RSSI, LQ, мощность, скорость пакетов), позволяют менять настройки и диагностировать канал без подключения к ПК.
Что означает падение LQ до 70%?
Ответ: Это признак ухудшения качества связи: возможны потери пакетов. Рекомендуется снизить скорость передачи (например, с F1000 на F500) или увеличить мощность.
Какой FailSafe лучше выбрать для новичка?
Ответ: Land (плавное снижение) — самый безопасный вариант, если нет GPS для RTH.
Можно ли настроить FailSafe отдельно для разных режимов полёта?
Ответ: Да, через AUX‑каналы и условия в Betaflight: например, в режиме Acro — Hold, в режиме Angle — Land.
Почему после привязки дрон не видит каналы?
Ответ: Частые причины: несовпадение прошивок, неверный протокол в Ports, отключён Serial RX, перепутаны TX/RX пины UART.
Как проверить, что FailSafe работает?
Ответ: На земле, с включёнными моторами (или без, если не хотите запускать), отключите пульт и наблюдайте за реакцией дрона: должен сработать выбранный режим FailSafe.
Что делать, если привязка не срабатывает?
Ответ: Проверить версии прошивок, убедиться, что приёмник в режиме Bind, проверить питание и подключение, попробовать другой способ привязки (кнопка или UID).
3 задачи с решением
Задача 1
Условие: У вас приёмник ExpressLRS с прошивкой 3.0.0, передатчик — 2.5.3. При попытке привязки приёмник не реагирует. В чём проблема и как её решить?
Решение:
Проблема — несовместимость версий прошивок. ExpressLRS требует совпадения версий TX и RX.
Шаги:
Обновите прошивку передатчика до 3.0.0 (или приёмника до 2.5.3, если это возможно).
Проверьте, что выбран правильный Regulatory Domain (ISM 2.4GHz или 868/915MHz).
Повторите привязку любым удобным способом (кнопка Bind или UID).
Проверьте в Lua‑скрипте на пульте, что отображается корректный UID и статус связи.
Задача 2
Условие: Вы хотите, чтобы при потере связи дрон плавно снижался, но в Betaflight в FailSafe выбран Hold. Как изменить поведение и какие параметры проверить?
Решение:
Откройте вкладку Receiver в Betaflight Configurator.
В разделе FailSafe выберите режим Land.
Убедитесь, что в настройках моторов включена функция «Motor stop» при потере сигнала (если требуется).
Задайте минимальное значение AUX‑канала, при котором система считает связь потерянной (обычно 988–1000 мкс).
Сохраните настройки и протестируйте на земле: отключите пульт, дрон должен начать снижение.
Задача 3
Условие: На пульте установлен Lua‑скрипт ExpressLRS, но он не показывает LQ и RSSI. Что проверить и как исправить?
Решение:
Убедитесь, что приёмник поддерживает телеметрию и она включена в прошивке (в ExpressLRS это параметр «Telemetry Ratio»).
Проверьте подключение приёмника к полётному контроллеру: должен быть задействован UART с включённым Serial RX и протоколом CRSF.
В Betaflight во вкладке Ports убедитесь, что порт настроен корректно и не занят другими устройствами.
Перезагрузите пульт и приёмник, чтобы скрипт заново «увидел» телеметрию.
Если проблема сохраняется, проверьте версию Lua‑скрипта: она должна соответствовать версии прошивки ExpressLRS.
ЧАСТЬ II. BETAFLIGHT ИЗНУТРИ
Глава 11. Датчики: гироскоп, акселерометр, барометр, компас — калибровка и фильтрация
Датчики — это «органы чувств» дрона: без них полётный контроллер не поймёт, где верх, куда дрон поворачивает и на какой высоте он находится. В Betaflight именно данные с датчиков становятся основой для расчёта управляющих воздействий на моторы. От качества этих данных напрямую зависят стабильность полёта, отзывчивость стиков и безопасность дрона.
Гироскоп: чувство вращения
Гироскоп измеряет угловую скорость — насколько быстро дрон вращается вокруг каждой из осей (крен, тангаж, рыскание). В Betaflight гироскоп — главный источник данных для стабилизации в режиме Acro и для сглаживания движений в Angle/Horizon.
Современные полётные контроллеры используют микросхемы типа BMI270, MPU6000, ICM42688. Они передают данные по интерфейсам SPI или I²C. SPI даёт более высокую частоту опроса и меньшую задержку, поэтому в качественных FC гироскоп подключён именно через SPI.
Почему важна частота и фильтрация. Чем выше частота опроса гироскопа, тем раньше контроллер «увидит» отклонение и успеет скорректировать его. Но вместе с полезными данными приходят и шумы — вибрации от моторов, удары, турбулентность. Если не фильтровать шум, PID-регулятор начнёт «дёргать» моторы, и дрон будет вибрировать или даже терять устойчивость.
В Betaflight фильтрация гироскопа настраивается через вкладки Filters и PID Tuning. Здесь можно включать и настраивать Lowpass-фильтры, Biquad, а также использовать проактивные фильтры (RPM filtering), которые подавляют гармоники от оборотов моторов, если есть телеметрия ESC.
Акселерометр: чувство гравитации
Акселерометр измеряет ускорение, но в контексте стабилизации его главная задача — определять направление силы тяжести. Это позволяет Betaflight понимать, где «низ», и удерживать горизонт в режимах Angle и Horizon.
Калибровка акселерометра — обязательная процедура при первом запуске и после жёсткой посадки. В Betaflight Configurator она запускается на вкладке Setup кнопкой Calibrate Accelerometer. Дрон нужно поставить на ровную горизонтальную поверхность и не трогать во время процедуры.
Важно: акселерометр не используется в режиме Acro — там пилот полностью контролирует ориентацию. Но если в настройках включён режим Horizon, акселерометр будет «подтягивать» дрон к горизонту даже при отпускании стиков.
Барометр: измерение высоты
Барометр измеряет атмосферное давление и по его изменению рассчитывает высоту. Это полезно для удержания высоты в простых режимах и для логирования данных. Однако барометр чувствителен к перепадам температуры и потокам воздуха, поэтому в чистом виде для стабилизации высоты он почти не используется.
Чаще всего данные барометра применяются как вспомогательный источник в комбинированных оценках положения. В Betaflight барометр включается через вкладку Configuration (Feature → Baro). Его показания можно проверить на вкладке Sensors.
Компас (магнитометр): определение курса
Компас нужен для определения направления носа дрона относительно магнитного севера. В Betaflight он особенно важен при использовании GPS-модуля и функций типа GPS Rescue или Return to Home.
Компас легко подвержен помехам: металлические винты, силовые провода, аккумуляторы создают локальные магнитные поля, искажающие показания. Поэтому калибровку компаса всегда проводят в чистом месте, вдали от металлических предметов и ЛЭП. Процедура запускается на вкладке Setup: Calibrate Magnetometer. Во время калибровки дрон плавно вращают по всем трём осям.



