4. RC输入与遥控器设置:RC输入类型、通道映射、失控保护设置、R/C校准与参数调优
好,咱们进入第四章。这一章聊的是飞控和遥控器之间的“对话”问题。说白了,就是你怎么告诉飞控你想干嘛,以及万一信号断了,飞控该干嘛。
很多新手炸机,不是PID没调好,而是遥控器设置出了问题。我见过最离谱的一次,是有人把失控保护设成了“继续执行任务”,结果飞机飞丢了还在天上画圈……嗯,咱们今天就把这些坑一个个填上。
核心要点:RC输入是飞控的“耳朵”,通道映射是“翻译官”,失控保护是“最后一道保险”。这三样搞不定,后面调参再漂亮也没用。
4.1 RC输入类型:飞控怎么“听”到你的操作
ArduPilot支持好几种接收机协议。你选哪种,取决于你的遥控器和接收机。
| 协议类型 | 信号特点 | 典型硬件 | 我个人的建议 |
|---|---|---|---|
| PPM (CPPM) | 单线串行,一帧传所有通道 | 老款接收机、PPM编码器 | 能用,但延迟稍高,通道数有限 |
| PWM | 每个通道一根线,简单粗暴 | 入门级接收机 | 线太多,容易插错,不推荐 |
| SBUS | 反向串行,速度快,通道多 | Futaba、FrSky | 我目前的主力方案,稳定可靠 |
| DSM/DSMX | Spektrum专用协议 | Spektrum接收机 | 注意卫星接收机要绑定对 |
| CRSF | 双向高速,带遥测 | ELRS、TBS Crossfire | 穿越机首选,延迟极低 |
怎么选?看你的飞控硬件。比如Pixhawk系列,SBUS和DSM是默认支持的。如果你用CRSF,记得在Mission Planner里把 SERIALx_PROTOCOL 改成对应的协议号。
小技巧:我习惯在飞控上电后,先看Mission Planner的“RC Transmitter”页面。如果摇杆没反应,八成是协议没选对,或者线接反了。SBUS信号线通常接在RC IN口,别插到Telemetry口上。
4.2 通道映射:让飞控听懂你的摇杆
遥控器摇杆动了,飞控收到了信号,但它怎么知道哪个通道是油门、哪个是方向?这就需要通道映射。
ArduPilot默认的映射是:
- 通道1 (Roll): 副翼/横滚
- 通道2 (Pitch): 俯仰
- 通道3 (Throttle): 油门
- 通道4 (Yaw): 方向
- 通道5-8: 飞行模式、辅助开关等
但你的遥控器不一定按这个顺序输出。比如有些遥控器把油门放在通道1。这时候你需要在Mission Planner里调整 RC1_REVERSED、RC2_REVERSED 这些参数,或者直接改遥控器的输出顺序。
注意:千万别搞反了!我曾经遇到过一位用户,他把油门和方向映射反了。解锁后一推油门,飞机原地转圈……还好在地面测试时发现了。所以,每次改完映射,一定要在安全环境下测试。
具体操作步骤:
- 打开Mission Planner,连接飞控。
- 进入“Initial Setup” -> “Mandatory Hardware” -> “Radio Calibration”。
- 拨动摇杆,观察每个通道的数值变化。
- 如果通道顺序不对,在遥控器上调整输出映射,或者在参数列表里改
RCx_FUNCTION。
// 举个例子:如果你想把通道6映射为飞行模式切换
// 在参数列表里找到 RC6_FUNCTION,把它设为 5(即 Flight Mode)
// 这样通道6的PWM值变化就会触发飞行模式切换
4.3 失控保护设置:最后的保险
失控保护,英文叫Failsafe。这是飞控在失去遥控信号后的“遗言”。
ArduPilot的失控保护分几个层级:
- RC Failsafe: 遥控信号丢失
- Battery Failsafe: 电量过低
- GCS Failsafe: 地面站连接断开
- EKF Failsafe: 姿态估计异常
咱们今天重点讲RC Failsafe。它的核心参数是 FS_THR_ENABLE 和 FS_THR_VALUE。
| 参数 | 作用 | 推荐值 |
|---|---|---|
| FS_THR_ENABLE | 启用/禁用油门失控保护 | 1(启用) |
| FS_THR_VALUE | 触发失控保护的油门PWM阈值 | 低于正常油门最小值(如900) |
| FS_ACTION | 失控后飞控的行为 | 1(RTL返航)或 0(保持最后指令) |
怎么设置?我一般这么做:
- 先把遥控器油门拉到最低,记下Mission Planner里显示的PWM值(比如1100)。
- 然后关掉遥控器,看PWM值掉到多少(通常是低于1000)。
- 把
FS_THR_VALUE设为这个掉落后的值,比如950。 - 把
FS_ACTION设为1(RTL返航)。
避坑指南:我曾经遇到过一种情况——遥控器关掉后,接收机输出的是“保持最后一帧信号”,而不是掉到低值。结果飞控以为遥控器还在,根本不触发失控保护。所以,一定要实测!关掉遥控器,看Mission Planner里的RC值是不是真的掉下去了。
4.4 R/C校准与参数调优
校准,就是让飞控知道你的摇杆“最左”、“最右”、“最上”、“最下”分别对应多少PWM值。
ArduPilot的校准过程很简单:
- 在Mission Planner里点“Calibrate Radio”。
- 按提示把每个摇杆都推到极限位置。
- 点“Click when Done”。
校准完成后,飞控会自动算出每个通道的 RCx_MIN、RCx_MAX 和 RCx_TRIM(中位值)。
但有时候,校准结果不一定完美。比如油门中位值偏了,或者某个通道的行程不够。这时候就需要手动微调参数。
| 参数 | 说明 | 调优建议 |
|---|---|---|
| RCx_MIN | 通道x的最小PWM值 | 通常1000-1100 |
| RCx_MAX | 通道x的最大PWM值 | 通常1900-2000 |
| RCx_TRIM | 通道x的中位值(摇杆居中时) | 通常1500 |
| RCx_DZ | 死区(避免摇杆抖动误触发) | 建议30-50 |
个人经验:我习惯把油门通道的死区设大一点(比如50),因为油门摇杆在最低点时,手指稍微一抖就可能触发解锁。而方向通道的死区可以设小一点(比如20),让转向更灵敏。
还有一个容易被忽略的参数——RC_SPEED。它控制飞控读取RC信号的频率。默认是10Hz,也就是每秒读10次。如果你用高速接收机(比如CRSF),可以把它提高到20Hz甚至50Hz,让飞控响应更快。
// 提高RC读取频率
// 在参数列表里找到 RC_SPEED
// 默认值:10 Hz
// 推荐值:20 Hz(普通接收机)或 50 Hz(高速接收机)
// 注意:频率太高可能增加CPU负载,老飞控慎用
4.5 知识体系:RC输入与遥控器设置全景图
下面这张图,帮你理清这一章的核心逻辑。从遥控器到飞控,再到失控保护,每一步都环环相扣。
嗯,这一章的内容就到这里。RC设置看似基础,但它是飞控稳定工作的前提。你想想看,如果飞控连你的指令都听不清,后面调再好的PID又有什么用?