Коротко: для обычного 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-данных
1. Подключение UART
Для обычного ELRS CRSF используйте полный duplex UART: RX TX → FC RX, RX RX → FC TX, общий GND и питание по документации receiver.
На соответствующем ArduPilot serial-порту:
SERIALx_PROTOCOL = 23RSSI_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. |
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; не делайте вывод только по голосовому предупреждению аппаратуры.
Практический чек-лист
- Проверьте exact band и совместимость TX/RX.
- Подтвердите full-duplex UART wiring.
- Установите
SERIALx_PROTOCOL=23. - Проверьте
RSSI_TYPE=3. - При необходимости добавьте RC_OPTIONS bits 9/11/13, не стирая существующие bits.
- Запишите LQ/RSSI/RF mode в момент проблемы.
- Отдельно проверьте power/brownout и FC failsafe.
