4、模式切换的硬件基础:接收机类型、PPM与SBUS协议、Pixhawk硬件接口
好,咱们进入第四讲。前面几章我们把飞行模式的概念、切换逻辑讲清楚了。但有个问题——你遥控器上拨动开关,信号是怎么传到飞控的?中间经过了哪些硬件?
说白了,模式切换的起点,是你手里的遥控器,终点是飞控里的参数。中间那根看不见的线,就是接收机和飞控之间的通信协议。这一章,我就带你把这根线摸清楚。
4.1 接收机类型:你手里拿的是什么?
先看接收机。市面上的接收机五花八门,但从飞控的角度看,其实就分两大类:
| 类型 | 输出信号 | 典型代表 | 通道数 |
|---|---|---|---|
| PWM接收机 | 每个通道一根独立信号线 | Futaba S-FHSS 老款 | 4~8 通道 |
| PPM接收机 | 所有通道串在一根线上 | FrSky D8R-II Plus | 8~12 通道 |
| SBUS接收机 | 串行数字信号,单线双向 | FrSky X8R、R-XSR | 16~24 通道 |
| CRSF接收机 | 全双工串行,带遥测 | TBS Crossfire Nano | 16 通道+ |
我个人习惯,现在新装机一律用 SBUS 或 CRSF。为什么?因为 PWM 接收机那堆线,你理线的时候会想哭。我早期做项目时用过一次 8 通道 PWM 接收机,光焊线就焊了半小时,还经常虚焊导致通道丢失。后来换了 SBUS,一根线搞定,省心太多。
4.2 PPM 与 SBUS 协议:信号怎么走的?
这两个协议是当前最主流的。咱们一个一个说。
4.2.1 PPM 协议
PPM,全称 Pulse Position Modulation,脉冲位置调制。它把 8 个通道的脉宽信息,按顺序塞进一个 20ms 的帧里。
结构很简单:
- 一个同步脉冲(0.5ms 低电平)
- 8 个数据脉冲,每个脉冲宽度对应一个通道值(1ms~2ms)
- 脉冲之间用 0.3ms 的低电平隔开
- 总帧长 20ms,也就是 50Hz 刷新率
嗯,这里要注意。PPM 的刷新率只有 50Hz,说白了就是每秒只更新 50 次。对于模式切换来说够用了,但如果你飞穿越机或者做高速航模,50Hz 的延迟会让你感觉「肉」。我遇到过一位飞友,用 PPM 飞穿越机,总觉得舵机反应慢半拍,换了 SBUS 之后立刻好了。
4.2.2 SBUS 协议
SBUS 是 Futaba 搞的,后来成了事实标准。它用串口通信,波特率 100000bps,8 位数据位,2 位停止位,偶校验。
一个 SBUS 数据包长 25 字节:
- 起始字节:0x0F
- 16 个通道数据,每个通道占 11 位,共 22 字节
- 1 个标志字节(包含通道 17~20、数字通道、Failsafe 等状态)
- 1 个结束字节:0x00
你看,SBUS 一包就能传 16 个通道,而且刷新率可以到 150Hz 甚至更高。PPM 跟它比,就像绿皮火车和高铁的区别。
- PPM 是模拟信号,SBUS 是数字信号
- PPM 刷新率固定 50Hz,SBUS 可达 150Hz+
- PPM 最多 8 通道,SBUS 标准 16 通道
- SBUS 支持双向通信(部分接收机),PPM 只能单向
4.3 Pixhawk 硬件接口:信号怎么接?
好,现在你知道接收机输出什么信号了。那 Pixhawk 怎么接?
Pixhawk 的 RC 输入接口,在硬件上分两种:
| 接口 | 引脚定义 | 支持的协议 | 备注 |
|---|---|---|---|
| RC IN | 信号、5V、GND | PPM、SBUS | 主接收机接口,默认 |
| SBUS OUT | 信号、5V、GND | SBUS 输出 | 用于飞控输出 SBUS 信号给其他设备 |
| PWM IN | 8 路独立信号 | PWM | 备用或教练功能 |
我一般这样接:
- SBUS 接收机 → 直接插 RC IN,一根三线杜邦线搞定
- PPM 接收机 → 也插 RC IN,但需要在 Mission Planner 里设置
RSSI_TYPE为 1 - PWM 接收机 → 用转接板或者直接焊到 PWM IN 口,但我不推荐
4.4 知识体系总览
下面这张图,把接收机、协议、飞控接口的关系串起来了。你一看就明白。
4.5 实际接线与配置
最后,我直接给你一个实操清单。照着做就行。
- 确认接收机类型:看说明书或者接收机标签。如果是 SBUS,一般会标出来。
- 接线:SBUS 接收机用三线杜邦线,信号线接 RC IN 的中间引脚(信号),红黑接 5V 和 GND。
- 飞控设置:在 Mission Planner 的 Config/Tuning 页面,找到
RC_PROTOCOL参数:- 0 = 自动检测(推荐)
- 1 = PPM
- 2 = SBUS
- 验证:打开 Mission Planner 的 Radio Calibration 页面,拨动遥控器开关,看通道值有没有变化。