Коротко: для обычного RC-управления ArduPilot через ExpressLRS используйте CRSF, а не MAVLink mode. На выбранном UART ArduPilot должен видеть serial RC protocol; ключевые настройки отличаются от MAVLink.

Актуальность: ExpressLRS 4.1.0 и актуальная документация ArduPilot. Материал относится к CRSF integration и RF troubleshooting на sub-GHz ELRS.

Безопасность: снимите пропеллеры перед проверкой RC/failsafe и не тестируйте потерю управления рядом с людьми или объектами.

Путь RC-данных

TXExpressLRS normal/CRSF link
RF868/900 MHz ELRS
RXCRSF serial
ArduPilotПолный UART RX/TX

1. Подключение UART

Для обычного ELRS CRSF используйте полный duplex UART: RX TX → FC RX, RX RX → FC TX, общий GND и питание по документации receiver.

На соответствующем ArduPilot serial-порту:

SERIALx_PROTOCOL = 23
RSSI_TYPE = 3

Baud для serial RC protocol ArduPilot выбирает автоматически; вручную переносить MAVLink-настройку SERIALx_BAUD=460 сюда не нужно.

2. RC_OPTIONS для ExpressLRS

ArduPilot имеет дополнительные CRSF/ELRS options. Важны именно битовые флаги, а не «готовое число из статьи».

Bit Назначение Когда использовать
9 Suppress CRSF mode/rate messages Опционально для ELRS, если нужно убрать неподходящие CRSF mode/rate сообщения.
11 Use LQ instead of RSSI for receiver signal strength Когда хотите, чтобы ArduPilot опирался на LQ как signal-strength representation.
13 Use 420 kbaud for ELRS Рекомендуемый ELRS baud вместо Crossfire 416 kbaud.
Не заменяйте RC_OPTIONS целиком одним decimal-числом из инструкции. Если другие bits уже используются, добавьте нужный bit к существующей маске через bitwise OR/эквивалентный расчёт.

3. Не смешивайте CRSF и MAVLink mode

SERIALx_PROTOCOL=23 и RSSI_TYPE=3 относятся к обычному CRSF RC-link. В native MAVLink mode используются другие параметры, включая SERIALx_PROTOCOL=2 и RSSI_TYPE=5. Эти два сценария должны оставаться раздельными.

4. RF troubleshooting на 868/900 МГц

Не начинайте с максимальной мощности. Сначала записывайте RF mode, TX power, LQ и RSSI dBm. Сравнивайте RSSI с sensitivity limit текущего режима, а не с универсальным «опасным RSSI».

  • LQ падает и RSSI близок к sensitivity: канал приближается к пределу режима; проверяйте антенны, RF mode и запас.
  • LQ падает при заметном RSSI margin: ищите interference, multipath, экранирование и RF hardware.
  • RX перезапускается: это power/brownout branch, а не дальность.
  • RC стабилен, telemetry теряется: проверяйте reverse CRSF/UART path; Telemetry Lost само по себе не равно RC failsafe.

5. Packet Rate и мощность

Выбирайте RF mode под задачу и поддерживаемый hardware. У sub-GHz нет одного «лучшего» Packet Rate. Более чувствительные режимы обычно дают больший RF margin ценой latency/throughput, но дальность всё равно зависит от антенн, LOS, interference и установки.

Dynamic Power в ExpressLRS 4.x использует статистическую adaptive-модель и требует обратной телеметрии; не описывайте его как набор старых фиксированных SNR-порогов.

6. Failsafe: разделяйте RF и FC

Событие failsafe может быть вызвано RF loss, RX brownout, CRSF/UART failure или логикой FC. Сопоставляйте момент события с LQ/RSSI и ArduPilot logs; не делайте вывод только по голосовому предупреждению аппаратуры.

Практический чек-лист

  1. Проверьте exact band и совместимость TX/RX.
  2. Подтвердите full-duplex UART wiring.
  3. Установите SERIALx_PROTOCOL=23.
  4. Проверьте RSSI_TYPE=3.
  5. При необходимости добавьте RC_OPTIONS bits 9/11/13, не стирая существующие bits.
  6. Запишите LQ/RSSI/RF mode в момент проблемы.
  7. Отдельно проверьте power/brownout и FC failsafe.

Связанные материалы

Источники

Прокрутить вверх
На связи