3、遥控器与接收机:PWM/PPM/SBUS协议区别、遥控器校准、失控保护设置

遥控器,说白了就是你跟飞机之间的「神经」。信号传得稳不稳,延迟高不高,直接决定了你的飞机是听话还是抽风。我见过太多新手,飞控调得再好,结果遥控器链路没搞对,一上天就炸。嗯,这一章咱们就把遥控器这块彻底吃透。

3.1 PWM / PPM / SBUS 协议区别

这三种协议,本质上是把「摇杆位置」这个信息,从遥控器接收机传到飞控的方式。区别在于:怎么传、传多快、能传几个通道。

协议 信号方式 通道数 接线方式 延迟 适用场景
PWM 每个通道一根独立信号线 最多 8 通道(通常 6) 接收机 → 飞控,每通道一根杜邦线 较高(约 20ms) 老式接收机、简单飞控、测试台
PPM 所有通道串在一根信号线上,按时间顺序排列 最多 8 通道 接收机 → 飞控,单根信号线 中等(约 20-25ms) 入门级飞控、Pixhawk 早期版本
SBUS 数字串行协议,双向通信 最多 16 通道 接收机 → 飞控,单根信号线(需反相器或专用端口) 低(约 7-14ms) 主流飞控(Pixhawk/Cube)、竞速机、高端航拍机

我的建议: 2024 年以后的 ArduPilot 项目,除非你手头只有老设备,否则直接上 SBUS。省线、低延迟、通道多,后期扩展也方便。PPM 属于过渡产物,PWM 只适合调试台或极简配置。

我在项目里遇到过一位用户,死活连不上接收机,折腾了两天。最后发现他用的 PWM 接收机,但飞控固件里配的是 SBUS 协议。嗯,这种低级错误其实很常见。协议不匹配,飞控根本读不到摇杆值。

3.2 遥控器校准

遥控器校准,说白了就是告诉飞控:「我摇杆推到最左边,对应数值是 1000;推到最右边,对应数值是 2000。」这个映射如果不准,飞控就会把中立点当成偏航,或者把半油门当成全油门。

校准步骤(以 Mission Planner 为例)

  1. 打开 Mission Planner,连接飞控。
  2. 进入 初始设置 → 必要硬件 → 遥控器校准。
  3. 点击「开始校准」,此时不要动摇杆。
  4. 听到提示音后,将每个通道的摇杆推到极限位置(上下左右),并保持 2-3 秒。
  5. 所有通道都推完后,点击「完成校准」。
  6. 检查每个通道的数值范围:油门最低应在 1000-1100,最高在 1900-2000。中立点应在 1500 左右。

注意: 校准前务必取下螺旋桨!我曾经见过有人在校准时误触油门,飞机直接在地上跳了一下,幸好没伤到人。安全第一,别偷懒。

校准完成后,记得在 Mission Planner 的 飞行数据 → 状态 页面,观察每个通道的实时数值。如果某个通道数值跳动超过 ±5,说明接收机信号有干扰,需要检查天线位置或更换接收机。

3.3 失控保护设置

失控保护,是最后一道防线。信号丢了,飞机不能乱飞,必须按照预设逻辑执行:悬停、返航、还是降落。

ArduPilot 的失控保护分三层:

  • 接收机端(硬件):接收机检测到信号丢失后,输出预设的 PWM 值(通常是油门最低,其他通道保持中立)。
  • 飞控端(软件):飞控检测到接收机信号异常(如油门低于 975 或高于 2025),触发 FS_THR_ENABLE 动作。
  • 地面站端:地面站与飞控的通信断开后,触发 FS_GCS_ENABLE 动作。

标准设置流程

  1. 设置接收机失控保护:在遥控器上找到「F/S」或「Fail Safe」菜单,将油门通道设为最低值(通常 -100% 或 0%),其他通道保持中立。
  2. 设置飞控参数:
    • FS_THR_ENABLE:设为 1(启用油门失控保护)或 2(启用并始终使用 RTL)。
    • FS_THR_VALUE:设为 975(低于此值触发保护)。
    • RTL_ALT:返航高度,建议设为 15-30 米。
    • RTL_LOIT_TIME:返航后悬停时间,建议 15 秒。
  3. 测试失控保护:在地面站上,关闭遥控器电源,观察飞控是否立即切换到 RTL 模式。如果飞控进入「HOLD」或「LAND」,说明参数没配对。

避坑指南: 我曾经遇到过一种情况:遥控器关了,飞控没反应。查了半天,发现是接收机的失控保护没设置,接收机在信号丢失后依然输出中立值,飞控以为一切正常。所以,接收机端的 F/S 设置和飞控端的参数设置,缺一不可。

3.4 知识体系图:遥控器链路全貌

下面这张图,把遥控器、接收机、飞控之间的信号流向和关键节点画清楚了。你可以把它当成排查故障的路线图。

遥控器链路知识体系图 遥控器链路知识体系图 遥控器 接收机 飞控 2.4G/915M 射频 PWM/PPM/SBUS 三种协议对比 PWM:每通道一根线,最多 8 通道,延迟高 PPM:单线串行,最多 8 通道,延迟中等 SBUS:单线数字,最多 16 通道,延迟低 失控保护触发流程 ① 遥控器信号丢失 → 接收机输出预设 F/S 值 ② 飞控检测到油门低于 FS_THR_VALUE → 触发 FS_THR_ENABLE ③ 飞控执行 RTL / LAND / HOLD(取决于参数配置)

这张图把三个核心环节串起来了:遥控器发射 → 接收机解码 → 飞控执行。中间任何一个环节出问题,飞机都飞不稳。我建议你把这张图打印出来,贴在调试台旁边,排查问题时对着看,效率高很多。

3.5 常见问题与排查

  • 问题:遥控器校准后,某个通道数值不在 1000-2000 范围内。
    原因:摇杆行程没推到底,或者遥控器端有微调(Trim)没归零。解决:重新校准,确保摇杆推到机械极限。
  • 问题:失控保护测试时,飞控不切换模式。
    原因:接收机 F/S 没设置,或者 FS_THR_VALUE 设得太低。解决:检查接收机说明书,确保 F/S 输出值低于 975。
  • 问题:SBUS 接收机连上飞控后,通道值乱跳。
    原因:SBUS 信号线需要反相器,或者飞控的 SBUS 端口没选对。解决:Pixhawk 系列通常有专用 SBUS 端口,不要插到 RC 输入口。

我的习惯: 每次飞新飞机前,我都会做一次完整的遥控器链路测试:校准 → 检查数值 → 关遥控器看失控保护。整个过程不超过 5 分钟,但能避免 90% 的遥控器相关炸机。别嫌麻烦,这 5 分钟值回票价。