3、遥控器校准与信号检测:检查RC信号是否进入仿真,校准摇杆通道,确保油门最低、解锁开关正确映射
电机解锁失败,十次里有七八次是遥控器信号没进仿真。这不是夸张,我刚开始搞SITL时,花了一整个下午查代码、看日志,最后发现——遥控器根本没开。嗯,这种低级错误,犯过一次就记住了。
这一节,我们聚焦一个核心问题:仿真环境到底有没有收到正确的遥控器信号?油门是不是最低?解锁开关映射对了没有?摇杆通道有没有校准?一个一个来排查。
核心原则:仿真里的遥控器信号,本质是物理遥控器 → 接收机 → 地面站 → MAVLink → SITL 的一条链路。任何一个环节断了,电机都不会解锁。
3.1 检查RC信号是否进入仿真
我个人习惯,第一步不是看代码,而是看数据。打开地面站(Mission Planner 或 QGroundControl),找到 RC 信号显示界面。
- Mission Planner: 主界面 → 飞行数据 → 状态栏 → RC 通道值实时显示。
- QGroundControl: 设置 → 遥控器校准 → 通道监视器。
如果你看到所有通道值都是 0 或 65535,说明信号根本没进来。这时候别急着调参数,先检查物理连接:
- 遥控器电池有电吗?(别笑,我见过有人忘开遥控器电源)
- 接收机与地面站之间是用 USB 还是数传?连接是否正常?
- 地面站是否选择了正确的 COM 口和波特率?
如果通道值在跳动,但数值范围不对(比如油门通道只有 800-1200,正常应该是 1000-2000),那就是校准问题了。
小技巧:在终端输入 param show RC_MIN 和 param show RC_MAX,可以快速查看当前飞控记录的通道范围。如果这些参数是默认值(1000/2000),但实际信号范围偏差很大,飞控会认为信号异常,拒绝解锁。
3.2 校准摇杆通道
校准这件事,说白了就是让飞控知道:你遥控器摇杆打到最左边时,对应数值是多少;打到最右边时,又是多少。
我建议用地面站自带的校准向导:
- 进入遥控器校准页面。
- 按照提示,依次将每个摇杆打到极限位置。
- 点击完成,飞控会自动更新
RC_MIN和RC_MAX参数。
但有时候校准向导会抽风。我曾经在 QGC 上校准完,发现油门通道最小值变成了 1100,最大值只有 1900。飞控默认的 RC_MIN 是 1000,RC_MAX 是 2000,这一偏差直接导致飞控认为油门信号异常。
手动修正方法:
# 在 MAVLink 控制台或终端输入
param set RC3_MIN 1000
param set RC3_MAX 2000
param save
注意:RC3 是油门通道(Channel 3),其他通道同理。校准完成后,重新检查通道值,确保范围在 1000-2000 之间。
警告:不要跳过校准步骤直接手动改参数。每个遥控器的输出范围不同,强行设置可能导致飞控误判摇杆位置。校准是让飞控「学习」你的遥控器,而不是让遥控器去适配飞控的默认值。
3.3 确保油门最低
解锁的硬性条件之一:油门通道值必须低于 RC_MIN + 某个阈值(通常是 50-100)。说白了,飞控要确认你确实把油门拉到底了。
检查方法:
- 在地面站 RC 监视器里,油门拉到底时,通道值是否接近
RC3_MIN? - 如果油门拉到底还有 1200,而
RC3_MIN是 1000,飞控会认为油门没归零。
常见原因:
- 遥控器油门微调旋钮被拧到了中间位置。
- 遥控器油门行程设置不正确(部分遥控器有油门行程调节功能)。
- 校准过程中,油门最低点没有被正确记录。
我记得有一次,一个学员的遥控器油门拉到底显示 1150,折腾了半天,最后发现是遥控器上的油门微调旋钮被碰到了。复位后,数值回到 1000,解锁成功。
3.4 解锁开关正确映射
解锁开关通常映射到 RC7 或 RC8(辅助通道)。飞控通过读取这个通道的值来判断是否允许解锁。
检查步骤:
- 确认解锁开关映射到了哪个通道。在 Mission Planner 的「初始设置」→「遥控器校准」里,拨动解锁开关,看哪个通道的数值在变化。
- 确认该通道的
RCx_MIN和RCx_MAX正确。开关拨到「解锁」位置时,通道值应接近RCx_MAX(或RCx_MIN,取决于开关逻辑)。 - 检查
RC_MAP_ARM_SWITCH参数,确保它指向正确的通道号。
| 参数名 | 默认值 | 说明 |
|---|---|---|
RC_MAP_ARM_SWITCH |
0(禁用) | 解锁开关对应的通道号,设为 7 或 8 |
ARMING_CHECK |
1(启用) | 解锁前是否执行全面检查,建议保持开启 |
RC7_MIN / RC7_MAX |
1000 / 2000 | 辅助通道 7 的数值范围 |
经验之谈:我习惯把解锁开关映射到 RC8,因为 RC7 经常被其他功能占用(比如飞行模式切换)。另外,解锁开关建议用两段式开关(不是三段式),逻辑更清晰:拨上去解锁,拨下来锁定。
3.5 知识体系:RC信号链路全景图
下面这张图,把遥控器信号从物理设备到飞控的完整路径画了出来。你排查问题时,可以对照这张图,逐级检查。
3.6 常见问题与避坑指南
- 问题:地面站显示RC通道值,但飞控收不到。
原因:MAVLink 转发未开启。检查地面站设置,确保「RC Override」或「RC Channel Forwarding」已启用。 - 问题:校准后通道范围仍然不对。
原因:遥控器端有行程限制(EPA/ATV)设置。我遇到过有人把油门行程限制在 80%,校准后范围只有 1100-1900。解决方法:在遥控器上将油门行程设为 100%。 - 问题:解锁开关拨到解锁位置,飞控不响应。
原因:RC_MAP_ARM_SWITCH参数未设置,或通道号错误。我曾经犯过把开关映射到RC7,但参数写的是RC8的蠢事。
避坑指南:我曾经在排查时,发现所有通道值都正常,但就是不解锁。最后用 param show ARMING_CHECK 一看,发现这个参数被设成了 0(禁用检查)。飞控跳过了所有安全检查,包括RC信号检查,但同时也跳过了解锁逻辑中的某些前置条件。所以,ARMING_CHECK 建议保持默认值 1,不要为了省事关掉它。