Failsafe в Betaflight (обзор)

Failsafe
Если радиосвязь потеряна, приёмник вышел из строя или отсоединён, пилот не сможет управлять своим дроном. Betaflight предоставляет систему Failsafe для минимизации рисков связанных с этой проблемой. Микроконтроллер можно запрограммировать на:
- отключение и падение,
- применение фиксированного значения тяги и других параметров с целью контролируемого снижения,
- активацию GPS Rescue и автономный возврат домой (требуется работающий модуль GPS).
Важно
Перед полетом Всегда проверяйте, что Failsafe работает правильно!
Существует два типа Failsafe:
1. Failsafe на основе настроек приёмника
Receiver-based failsafe
При потере сигнала Приёмник настраивается на отправку определённых значений цифровых сигналов на каналы микроконтроллера. Обычно это команды либо на отключение двигателей, либо на контролируемое снижение. Эти данные кажутся "нормальными", и микроконтроллер не обнаруживает потерю связи. При этом Failsafe не активируется на уровне прошивки (Betaflight).
Подробнее см. в документации вашего приёмника.
2. Failsafe на основе настроек микроконтроллера (в Betaflight)
Flight Controller-based failsafe
При потере сигнала управления от передатчика Приёмник настраивается на отправку полетному контроллеру сигнала «нет данных» или недопустимых значений PPM (ШИМ) сигналов. Микроконтроллер при этом мониторит отсутствие входящих данных или ошибки формата. При обнаружении потери сигнала активируется Failsafe в соответствии с настройками в Betaflight Configurator.
Важно
Не рекомендуется использовать Failsafe на основе настроек приёмника! Убедитесь, что при потере сигнала приёмник настроен на отправку сигналов "нет данных / no data"!
подробный Обзор Failsafe на основе настроек микроконтроллера
- Очень важно, чтобы при потере связи приёмник был настроен на отправку FC сигнала «нет данных / no data».
- При этом контроллер постоянно следит за наличием сигнала от приемника и его форматом.
- Failsafe сработает также при обрыве проводов между FC и приёмником, а также при зависании приёмника.
Если контроллер получил сигнал «нет данных / no data» или не получил никаких сигналов от приемника?
Происходит следующее:
-
- Проверка сигнала (Signal Validation) — короткий период (100 мс), в течение которого отсутствие данных фиксируется контроллером и их последние значения удерживаются сохраняются рабочими.
- Stage 1 (Guard Period) — на протяжении времени заданном в параметре failsafe_delay применяются значения указанные в настройках Channel Fallback Settings / Значения каналов при отсутствии сигналов вкладки Failsafe (по умолчанию \(1.5с\) в версии 4.5, \(1.0с\) в 4.4). Если сигнал за это время восстанавливается - процесс Failsafe прекращается.
- Stage 2 — активируется, если время Stage 1 истекает. Пользователь может выбрать сценарий дальнейшего развития событий: Drop (падение), Landing Mode (посадка) или GPS Rescue.
Восстановление сигнала после этапа "Stage 2"
После начала этапа Stage 2 сигнал управление дроном можно вернуть. При этом сигналы управления должны быть стабильными не менее периода времени указанного в параметре failsafe_recovery_delay (по умолчанию \(500мс\) в 4.5, \(1.0с\) в 4.4). Сообщение RXLOSS исчезнет, и управление вернётся пилоту.
ОЧЕНЬ ВАЖНО
- Если использовался сценарий GPS Rescue, квадрокоптер начнёт проверять наличие движения стиков (активность в каналах управления) для возврата контроля.
- В остальных режимах - если квадрокоптер отключился, пилот должен выполнить сначала disarm и, затем, снова произвести Arm дрона. Если дрон находится на приличной высоте, то это возможно сделать и в воздухе. Важно учесть, что при этом, для арма необходимо, чтобы флаги, отменяющие арм, были погашены [флаги отменяющие арм]. Этот сценарий нужно продумать и подготовить к нему дрон.
Активация Failsafe через тумблер на пульте
Необходимо назначить тумблер на пульте управления для немедленной активации Failsafe. Это необходимо для тестирования системы и как эксренная "аварийная кнопка".
Проверка сигнала
Под потерей сигнала понимается:
- Отсутствие входящих пакетов более 100 мс.
- Недопустимые значения импульсов PPM (более 300 мс).
При обнаружении потери сигнала появляется предупреждение RXLOSS в OSD. Сообщение остаётся минимум 500 мс (или 100 мс в сборках RACE_PRO), даже если сигнал быстро восстановился.
"Stage 1" Failsafe ( по умолчанию 1,5с )
Что происходит:
- Применяются фиксированные значения после подтверждённой потери сигнала.
- По умолчанию в каналах Roll, Pitch и Yaw устанавливаются средние значения (1500), тяга (Throttle) = 0 (т.е, в настройках по умолчанию дрон начинает падать).
- Настройки можно изменить в разделе Channel fallback settings / Значения каналов при отсутствии сигналов (см. ниже) в Configurator или командой rxfail в CLI.
- PID-регулирование остается активным.
- Если сигнал восстанавливается, управление возвращается немедленно.
# rxfail
rxfail 0 a
rxfail 1 a
rxfail 2 a
rxfail 3 s 1275
Важно
По умолчанию Stage 1 отключает тягу, квадрокоптер начинает падать. Рекомендуется задать значение тяги, при котором квадрокоптер будет медленно снижаться.
"Stage 2" Failsafe
Активируется, если потеря сигнала продолжается дольше, чем период failsafe_delay.
# get failsafe_delay
failsafe_delay = 15
Allowed range: 1 - 200
Доступные режимы:
- Drop — немедленное отключение двигателей.
- Landing Mode — снижение до земли с фиксированной тягой.
- GPS Rescue — возврат домой с помощью GPS.
- Just Disarm — принудительное отключение, если тяга была низкой более 10 секунд.
Drop Mode (режим падения)
- Стандартное поведение при потере сигнала: удержание последних значений (300 мс), затем 1.2 секунды с нулевой тягой, после чего отключение двигателей.
- Восстановление сигнала в Stage 1 происходит немедленно.
- После Stage 2 необходимо дождаться истечения failsafe_recovery_delay, прежде чем можно снова армировать.
# get failsafe_recovery_delay
failsafe_recovery_delay = 5
Allowed range: 1 - 200
Landing Mode (режим посадки)
- Используется для снижения до земли с фиксированной тягой.
- Может быть опасным, так как квадрокоптер может дрейфовать с ветром, двигатели могут быть разрушены при ударе о землю.
- Не рекомендуется использовать без необходимости.
GPS Rescue Mode
- Квадрокоптер возвращается "домой" с помощью GPS.
- Управление возвращается только после восстановления сигнала и отклонения пилотом стиков более чем на 30° от центрального положения.
Важно
Не забывайте двигать стики при восстановлении сигнала после GPS Rescue.
Just Drop Mode
- Внутренний режим, который активирует отключение, если тяга была низкой более 10 секунд.
- Защищает от случайного включения двигателей при посадке и выключенном пульте.
Общие рекомендации по безопасности
- Держите пульт включенным и стики в положении disarm до завершения полёта.
- При восстановлении сигнала в Landing Mode текущие значения будут применены к квадрокоптеру -> Избегайте крайних положений стиков.
- Если включён MOTOR_STOP, лопасти не будут вращаться при отключении, но при активации Landing Mode они могут включиться.
Настройки Failsafe
Параметр | Описание |
---|---|
failsafe_delay | Время Stage 1 («время защиты»), по умолчанию 1.5 с в 4.5, 1.0 с в 4.4 |
failsafe_off_delay | Время, в течение которого квадрокоптер находится в Landing Mode до отключения |
failsafe_throttle | Значение тяги в Landing Mode (по умолчанию 1000 — отключение) |
failsafe_switch_mode | Режим реакции на тумблер: STAGE1, STAGE2, KILL |
failsafe_procedure | Выбор действия при Stage 2: DROP, AUTO-LAND, GPS_RESCUE |
failsafe_recovery_delay | Время, необходимое для восстановления сигнала перед повторным армированием |
rx_min_usec / rx_max_usec | Минимальное и максимальное допустимое значение импульса PWM/PPM |
Тестирование Failsafe
Тестирование можно провести следующими способами:
- Отключение пульта.
- Отключение модуля передачи сигнала (Tx).
- Прерывание питания приёмника.
Важно
Перед тестом обязательно снимите пропеллеры.
История изменений (версии Betaflight)
Betaflight 4.5
- Разрешено армирование только после истечения failsafe_recovery_delay.
- По умолчанию failsafe_recovery_delay = 500 мс.
- Сборка с опцией RACE_PRO: failsafe_recovery_delay = 100 мс.
- Сообщение BAD_RX заменено на NOT_DISARMED.
- Улучшена производительность GPS Rescue.
- Добавлен DEBUG_FAILSAFE.
Betaflight 4.4
- Отдельная задача для GPS Rescue.
- Автоматическое включение Level Mode.
- Улучшена точность таймеров Failsafe.
- Реже отображается RXLOSS.
- Быстрый ответ на стики, вызывающие Failsafe.
- длительность Stage 1 («время защиты») — это период времени, в течение которого дрон будет использовать заранее заданные значения каналов (fallback values), например, центральные стики и нулевую тягу, после обнаружения потери сигнала , но до активации Stage 2 (например, GPS Rescue или Drop).
set failsafe_delay = <значение_в_десятых_секунды>
save - лимит длительности низкого уровня газа. Параметр определяет минимальное время , в течение которого уровень тяги (газа) должен быть ниже порога min_throttle, чтобы Failsafe не сработал ложно при первоначальном запуске дрона или при восстановлении сигнала.
set failsafe_throttle_low_delay = <значение_в_десятых_секунды>
save -
длительность приземления, время, после которого отключаются моторы - параметр, который определяет сколько времени дрон будет снижаться в режиме Landing Mode перед тем, как отключить двигатели
set failsafe_off_delay = <значение_в_десятых_секунды>
save
- Первоначальный подъем (метры) / "Initial climb (metres)" — определяет на какую высоту (в метрах) дрон должен набрать высоту перед началом возврата домой , если он находится не в воздухе или не достиг безопасной высоты.
set gps_rescue_initial_climb = <значение>
save - Максимальный угол по тангажу / "Initial climb pitch angle" — определяет на какой угол по тангажу дрон наклонится вперёд при наборе высоты перед началом возврата домой.
set gps_rescue_pitch_angle = <значение>
save -
Скорость понижения / Descent Speed — это значение, которое определяет с какой скоростью дрон будет снижаться после завершения фазы набора высоты и начала возврата к точке взлёта.
set gps_rescue_descend_speed = <значение>
save