Перейти к содержимому

Failsafe в Betaflight (обзор)

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» или не получил никаких сигналов от приемника?

Происходит следующее:

    1. Проверка сигнала (Signal Validation) — короткий период (100 мс), в течение которого отсутствие данных фиксируется контроллером и их последние значения удерживаются сохраняются рабочими.
    2. Stage 1 (Guard Period) — на протяжении времени заданном в параметре failsafe_delay применяются значения указанные в настройках Channel Fallback Settings / Значения каналов при отсутствии сигналов вкладки Failsafe (по умолчанию \(1.5с\) в версии 4.5, \(1.0с\) в 4.4). Если сигнал за это время восстанавливается - процесс Failsafe прекращается.
    3. 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

Доступные режимы:

  1. Drop — немедленное отключение двигателей.
  2. Landing Mode — снижение до земли с фиксированной тягой.
  3. GPS Rescue — возврат домой с помощью GPS.
  4. 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.

 fallout line

 

 

 

  • длительность 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
148
Failsafe в Betaflight (обзор)