☰
ELRS与ArduPilot配置指南:从接线到遥测的完整流程
2026/9/28 8:58:05 网站建设 项目流程

1. 为什么ELRS加ArduPilot是当前穿越机与固定翼玩家的热门组合

如果你最近一年逛过航模论坛或者刷过FPV相关的视频,大概率会频繁看到两个词:ELRS和ArduPilot。前者是ExpressLRS的缩写,一套开源遥控链路方案;后者是飞控固件里功能最全、生态最庞大的存在。把这俩凑一块儿,基本就是“信号稳、距离远、功能多”的代名词。

我自己从最早的PPM接收机一路用到SBUS,再到后来换装ELRS,中间踩过的坑不算少。最开始用ELRS配Betaflight很顺,插上就能用,但换到ArduPilot之后发现事情没那么简单——CRSF协议虽然通用,可ArduPilot的参数体系跟Betaflight完全不是一个量级,遥测回传的配置也有一堆细节要注意。这篇文章就是把我从零配置到高级遥测显示的完整过程整理出来,包括参数怎么设、线怎么接、常见故障怎么排查,以及怎么把飞控数据回传到遥控器上显示。

适合谁看?如果你手上有刷了ArduPilot的飞控,遥控器是OpenTX或者EdgeTX系统,想用ELRS接收机做控制链路,同时希望把飞行数据实时回传到遥控器屏幕上,那这篇内容基本能覆盖你90%的需求。不需要你有多深的电子基础,但至少要会拆装机、会刷固件、能看懂基本的接线图。

核心关键词先摆出来:ELRS负责射频链路,ArduPilot负责飞行控制,CRSF是两者之间的通信协议,OpenTX和EdgeTX是遥控器端的操作系统。这四个东西串起来,就是一套完整的遥控遥测方案。

2. 硬件选型与接线:别让一根线毁掉整个链路

2.1 接收机与飞控的匹配逻辑

ELRS接收机的种类很多,按频段分有2.4GHz和915MHz(国内常用868MHz),按接口分有单线CRSF、双线CRSF加遥测、还有带PWM输出的版本。配ArduPilot的话,我强烈建议用支持CRSF协议的串口接收机,比如常见的EP1、EP2、RP1、RP3这几款。原因很简单:CRSF是双向协议,一根线就能同时传输遥控指令和遥测数据,接线少、故障点少。

飞控这边,ArduPilot支持的串口数量取决于具体硬件。以Pixhawk系列为例,通常有5个以上的UART,其中TELEM1、TELEM2、GPS口都可以配置成遥控输入。我一般习惯把ELRS接收机接在TELEM2上,因为TELEM1通常留给数传电台,GPS口留给GPS模块,这样分工明确,后期排查问题也方便。

这里有个细节要注意:ELRS接收机的供电电压。大部分接收机支持5V输入,但有些飞控的串口供电是3.3V或者电压不稳。我实测过,如果供电不足,接收机会间歇性重启,表现就是遥控信号时断时续。所以接线前先用万用表量一下飞控串口口的供电电压,确认在4.5V到5.5V之间再插接收机。

2.2 接线方式与端口映射

CRSF接收机通常有四根线:5V、GND、TX、RX。但实际用的时候,你只需要接三根——5V、GND、TX。因为CRSF是半双工协议,一根TX线就能完成双向通信。接收机的TX接到飞控串口的RX上,飞控的TX不用接。这个逻辑跟SBUS类似,但CRSF的波特率是420000,比SBUS的100000高不少。

具体到ArduPilot的参数配置,假设你把接收机接在TELEM2口上,对应的参数是:

  • SERIAL2_PROTOCOL设为 23(RCIN)
  • SERIAL2_BAUD设为 420(对应420000波特率)
  • RC_PROTOCOLS设为 1(只启用CRSF)

这里解释一下为什么SERIAL2_PROTOCOL要设成23。ArduPilot的串口协议编号里,23代表RC输入,也就是把该串口当作遥控信号输入口。如果你设成别的值,比如1(MAVLink),飞控就收不到遥控指令了。RC_PROTOCOLS这个参数是位掩码,1代表CRSF,2代表SBUS,4代表PPM。设成1就是只认CRSF,避免飞控误判信号类型。

注意:改完参数必须重启飞控,否则串口协议不会重新初始化。我见过有人改完参数直接试,结果遥控没反应,以为接收机坏了,其实就是没重启。

2.3 遥控器端的硬件准备

遥控器这边,OpenTX和EdgeTX系统的遥控器都支持ELRS外置高频头。常见的有Jumper T-Lite、Radiomaster TX12、TX16S这些。如果你用的是内置ELRS的遥控器,比如Radiomaster Zorro ELRS版,那就省事了,直接在遥控器里设置就行。

外置高频头的安装很简单,插到遥控器背面的JR仓或者Nano仓里,然后在遥控器系统里把外置射频模式设成CRSF。具体路径是:模型设置 -> 外部射频 -> 协议选CRSF -> 波特率选400000(有些遥控器是420000,选最接近的就行)。这里有个坑:如果波特率选错了,高频头和遥控器之间通信不上,表现就是高频头灯不亮或者闪烁异常。

3. ArduPilot参数配置:从串口到遥控校准的完整流程

3.1 串口参数与协议选择

前面提到了SERIAL2_PROTOCOL和SERIAL2_BAUD,这里再展开说一下其他相关参数。ArduPilot的串口参数命名规则是SERIALx_PROTOCOL和SERIALx_BAUD,x代表串口编号。不同飞控的串口编号对应关系不一样,比如Pixhawk 4的TELEM2对应SERIAL2,而有些飞控的TELEM2对应SERIAL3。这个一定要查飞控的硬件定义文档,别凭感觉猜。

我一般会先把所有串口的当前配置读出来,确认哪个串口是空闲的。方法很简单:在Mission Planner或者QGroundControl里连上飞控,打开参数列表,搜索SERIAL,把SERIALx_PROTOCOL不是-1的都记下来。通常GPS占一个、数传占一个,剩下的就可以给接收机用。

RC_PROTOCOLS这个参数值得单独说一下。它的默认值通常是7,也就是CRSF、SBUS、PPM都启用。但实际用的时候,我建议只启用你正在用的协议。原因有两个:一是减少飞控的解析负担,二是避免信号干扰导致的误判。比如你只用CRSF,就设成1;如果以后要换SBUS接收机,再改成2。

还有一个参数叫RC_OPTIONS,这个跟遥测有关。默认值是0,但如果你要用CRSF的遥测功能,需要把第5位(值32)打开,也就是设成32。这个参数控制的是是否通过CRSF回传遥测数据。我一开始没设这个,结果遥控器上什么数据都看不到,折腾了半天才发现是这里的问题。

3.2 遥控校准与通道映射

参数设好之后,下一步是遥控校准。在Mission Planner里,进入初始设置 -> 必要硬件 -> 遥控器校准,按照提示拨动摇杆和开关。校准过程中要注意几点:

第一,确保接收机已经跟遥控器对频成功。ELRS的对频方式通常是上电后接收机灯快闪,然后在遥控器高频头菜单里选Bind。对频成功后接收机灯常亮。

第二,校准前把遥控器的通道映射确认好。ArduPilot默认的通道顺序是:1副翼、2升降、3油门、4方向、5飞行模式、6预留、7预留、8预留。如果你在遥控器里改了通道顺序,比如把油门放到通道3以外的位置,那校准的时候飞控会识别错。

第三,校准过程中如果某个通道的行程不够,飞控会提示。这时候要回到遥控器里调整该通道的行程范围,通常是调到±100%。ELRS的默认行程就是±100%,一般不需要额外调整。

校准完成后,检查一下飞行模式开关是否对应正确的模式。ArduPilot的飞行模式是通过通道5的PWM值来切换的,不同PWM区间对应不同模式。比如固定翼的Manual、Stabilize、Loiter、RTL,每个模式对应一个PWM范围。这个在Mission Planner的飞行模式设置里可以直观地看到。

3.3 失控保护与故障安全设置

失控保护是很多人容易忽略的一环。ELRS接收机本身支持失控保护,但ArduPilot也有自己的失控保护逻辑。两者要配合好,否则可能出现接收机认为信号丢了、飞控却还在等指令的情况。

ELRS的失控保护设置在高频头菜单里,可以设置每个通道在失控时的输出值。我一般把油门通道设为最低,其他通道设为中位,飞行模式通道设为RTL对应的值。这样一旦失控,飞控会自动进入返航模式。

ArduPilot这边的失控保护参数是FS_THR_ENABLE和FS_THR_VALUE。FS_THR_ENABLE设为1表示启用油门失控保护,FS_THR_VALUE设为950左右,比正常油门最低值略低。当飞控检测到油门通道值低于这个阈值超过一定时间,就会触发失控保护。

提示:测试失控保护的时候,不要把桨装上。我见过有人在地面测试时电机突然转起来,幸好没装桨,不然后果不堪设想。

4. 遥测回传与遥控器显示:把飞行数据搬到屏幕上

4.1 CRSF遥测协议的数据类型

CRSF协议支持的遥测数据类型很多,包括GPS坐标、高度、速度、电池电压、电流、姿态角、飞行模式等。但不是所有数据都会自动回传,需要在ArduPilot里配置。具体来说,RC_OPTIONS设成32之后,飞控会通过CRSF回传一组标准遥测数据。但如果你想回传更多数据,比如具体的GPS卫星数、HDOP值,就需要额外配置。

ArduPilot的遥测回传是通过MAVLink协议实现的,CRSF只是传输层。飞控把MAVLink数据打包成CRSF帧,通过接收机的TX线回传到遥控器。遥控器端的OpenTX或EdgeTX系统再解析这些数据,显示在屏幕上。

这里有个概念要理清:CRSF遥测和MAVLink遥测是两回事。CRSF遥测是接收机直接回传的,数据量有限;MAVLink遥测是通过数传电台回传的,数据量大但需要额外硬件。ELRS的优势在于它把两者结合了——通过CRSF链路回传部分MAVLink数据,不需要额外的数传电台。

4.2 OpenTX/EdgeTX遥测屏幕配置

遥控器端的遥测显示配置,OpenTX和EdgeTX的操作逻辑基本一致。以EdgeTX为例,进入模型设置 -> 遥测 -> 发现新传感器,系统会自动搜索接收机回传的传感器数据。搜到之后,你会看到一堆传感器名称,比如RSSI、1RSS、2RSS、RQly、TQly、GPS、Alt、Spd、Vbat等。

这些传感器的含义分别是:

  • RSSI:信号强度指示
  • 1RSS/2RSS:双天线各自的信号强度
  • RQly:上行链路质量
  • TQly:下行链路质量
  • GPS:GPS坐标
  • Alt:高度
  • Spd:速度
  • Vbat:电池电压

搜到传感器之后,下一步是配置显示屏幕。EdgeTX支持多个遥测屏幕,每个屏幕可以显示不同数据。我一般配三个屏幕:第一个显示信号质量和链路质量,第二个显示GPS和高度速度,第三个显示电池电压和电流。

配置方法:进入显示 -> 遥测屏幕,选择屏幕编号,然后添加要显示的传感器。每个传感器可以设置名称、单位和精度。比如电池电压可以设成显示两位小数,高度设成整数。

4.3 高级遥测:自定义传感器与逻辑开关

如果你想让遥测显示更智能,比如电池电压低于某个值时触发震动提醒,那就需要用到逻辑开关和特殊功能。EdgeTX的逻辑开关功能很强大,可以基于遥测数据做条件判断。

举个例子:我想在电池电压低于3.5V每片时触发遥控器震动。假设是4S电池,总电压低于14V时触发。配置步骤是:

  1. 在逻辑开关里新建一个,功能选“小于”,第一个参数选Vbat传感器,第二个参数设14,然后开启这个逻辑开关。
  2. 在特殊功能里新建一个,触发条件选刚才的逻辑开关,动作选“震动”,然后设置震动模式。

这样当电压低于14V时,遥控器就会震动提醒。类似地,你还可以做高度提醒、速度提醒、信号弱提醒等。

还有一个高级玩法是把遥测数据记录到遥控器的SD卡里。EdgeTX支持日志记录功能,可以把选定的传感器数据以CSV格式保存。飞行结束后把SD卡插到电脑上,用Excel或者专门的分析软件打开,就能看到整个飞行过程的电压、高度、速度曲线。这个对于调试飞行性能特别有用。

5. 常见问题与排查技巧实录

5.1 接收机灯不亮或闪烁异常

这是最常见的问题,通常有三个原因:供电不足、对频失败、固件不匹配。

供电不足的判断方法很简单,用万用表量接收机供电引脚电压。如果低于4.5V,就要检查飞控串口供电是否正常,或者考虑从其他5V源取电。我遇到过一种情况:飞控的TELEM2口供电只有4.2V,接收机勉强能工作但距离一远就失控。后来改从飞控的5V输出排针取电,问题就解决了。

对频失败的话,先确认遥控器高频头和接收机的固件版本是否匹配。ELRS的固件版本号必须一致,比如都是3.x版本。如果一个是2.x一个是3.x,对频会失败。查看版本号的方法:遥控器高频头菜单里看版本,接收机连上飞控后看Mission Planner的CRSF遥测数据里的版本号。

固件不匹配的情况比较少见,但如果你买的是二手接收机,有可能被刷过其他固件。这时候需要用ELRS配置器重新刷固件。刷固件的方法这里不展开,官方文档写得很清楚。

5.2 遥控信号时断时续

信号断续的原因比较多,按概率排序:天线安装不当、接收机供电不稳、遥控器高频头功率设置过低、环境干扰。

天线安装是最容易被忽视的。ELRS接收机的天线要尽量远离碳纤维板和金属部件,因为碳纤维会屏蔽射频信号。我一般把天线用扎带固定在机臂的塑料部分,让天线振子尽量垂直。如果是双天线接收机,两根天线最好呈90度夹角,这样能覆盖不同的极化方向。

供电不稳前面说过了,这里补充一点:如果接收机跟飞控共用5V,而飞控的5V是由电调BEC提供的,那电调负载变化时电压会波动。解决办法是给接收机单独加一个5V BEC,或者加一个电容滤波。

遥控器高频头功率设置:ELRS支持10mW到1000mW的功率调节。功率越高信号越强,但功耗和发热也越大。我一般设成100mW,这个功率在开阔环境下能拉到几公里,足够用了。如果设成1000mW,高频头会烫得厉害,而且可能干扰其他设备。

5.3 遥测数据不显示或显示错误

遥测不显示的原因通常是RC_OPTIONS没设对,或者遥控器端没有发现传感器。先检查RC_OPTIONS是否设成了32,然后重启飞控和遥控器,重新发现传感器。

如果传感器发现了但数据不对,比如高度一直是0,那可能是飞控没有获取到GPS定位。ArduPilot的高度数据来自气压计和GPS,如果GPS没定位,高度数据可能不准确。检查GPS模块是否正常工作,卫星数是否足够。

还有一种情况是数据更新频率太低。CRSF遥测的更新频率取决于链路质量,链路好的时候更新快,链路差的时候更新慢。如果发现数据卡顿,先检查信号质量,RQly和TQly应该在80%以上才算正常。

5.4 常见问题速查表

问题现象可能原因排查方法解决方案
接收机灯不亮供电不足万用表量电压换5V源或加BEC
接收机灯闪烁对频失败检查固件版本统一固件版本后重新对频
信号时断时续天线安装不当检查天线位置远离碳纤维,垂直安装
遥控无反应串口协议错误检查SERIALx_PROTOCOL设为23并重启
遥测不显示RC_OPTIONS未设检查参数值设为32并重启
高度数据为0GPS未定位检查卫星数等待GPS定位或检查GPS模块
数据更新慢链路质量差检查RQly/TQly调整天线或提高功率

6. 进阶玩法:把ELRS遥测接入地面站

6.1 通过WiFi或蓝牙回传遥测

ELRS的遥测数据不仅能在遥控器上显示,还能通过遥控器的WiFi或蓝牙模块回传到手机或平板上的地面站软件。这个功能对于需要大屏幕显示飞行数据的场景特别有用,比如测绘或者长距离飞行。

具体实现方式:遥控器(比如TX16S)内置WiFi模块,可以开启WiFi热点,然后手机连上这个热点,在地面站软件里设置UDP连接,端口通常是14550。这样地面站就能收到飞控的MAVLink数据了。

但要注意,通过CRSF回传的MAVLink数据量有限,不是所有地面站功能都能用。比如航点上传、参数修改这些需要双向通信的功能,通过CRSF遥测可能不稳定。如果需要完整的地面站功能,还是建议加一个数传电台。

6.2 遥测数据记录与分析

前面提到了EdgeTX的日志记录功能,这里再补充一下数据分析的方法。EdgeTX记录的CSV文件可以用Excel打开,也可以用专门的分析工具比如FlightPlot或者MAVExplorer。我一般用Excel做快速查看,用MAVExplorer做深度分析。

分析的重点通常是:电压曲线是否平滑、高度变化是否符合预期、速度是否有异常波动、信号质量在哪些位置变差。通过这些分析,可以优化天线布局、调整飞行路线、改进电池配置。

举个例子:我有一次飞固定翼,发现飞到某个位置时信号质量骤降。后来把日志导出来一看,那个位置正好是遥控器天线指向飞机的方向,说明天线极化方向不匹配。后来把遥控器天线角度调整了一下,问题就解决了。

6.3 多机切换与模型配置管理

如果你有多架飞机,每架都装了ELRS接收机,那模型配置管理就很重要。EdgeTX支持多个模型配置,每个模型可以独立设置高频头参数、遥测传感器、逻辑开关等。切换飞机时只需要在遥控器里选择对应的模型就行。

但要注意,ELRS接收机的对频信息是存在接收机里的,不是存在遥控器里的。所以如果你用同一个高频头控制多架飞机,每架飞机的接收机都需要单独对频。对频一次之后,接收机会记住高频头的ID,下次上电自动连接。

如果你想让一个接收机对应多个模型配置,比如同一架飞机在不同飞行场地用不同的参数,那可以在遥控器里复制模型配置,然后修改参数。接收机不需要重新对频,因为它只认高频头ID,不认模型配置。

7. 我个人在实际操作中的几点体会

从最早用PPM到现在用ELRS加ArduPilot,我最大的感受是:这套组合的灵活性很高,但前提是你得把基础参数搞对。很多人觉得ArduPilot参数太多太复杂,其实常用的就那么十几个,搞懂了之后剩下的都是微调。

另外,ELRS的固件更新比较频繁,每次更新可能会引入新功能或者改变默认参数。我建议每次更新固件后,都重新检查一遍关键参数,特别是RC_OPTIONS和SERIALx_BAUD这两个,有时候更新后会被重置。

最后分享一个小技巧:如果你在调试过程中遇到莫名其妙的问题,先别急着改参数,把飞控和遥控器都重启一遍,很多时候问题就消失了。电子设备嘛,有时候就是需要重启一下。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询