3. PWM 信号校准:标准流程与手动/自动之争
PWM 校准,说白了就是让飞控和电调「对上话」。飞控说「这是最大油门」,电调得知道「哦,这个脉宽就是 100%」。飞控说「这是最小油门」,电调得明白「这个脉宽是 0%」。如果这一步没对齐,后面所有航点任务都是空中楼阁。
我见过太多飞手,调参时跳过校准,结果飞机一解锁就蹿出去,或者在空中突然掉高。嗯,咱们今天就把这事彻底讲透。
3.1 标准 PWM 校准流程
标准流程分三步,顺序不能乱。我习惯把它叫做「高-上-低」三步法。
- 飞控输出最大值:飞控先发出 2000μs 的脉宽信号,告诉电调「准备接收最大油门」。
- 电调上电:电调检测到 2000μs 信号,进入校准模式,记录这个值为「最大油门」。
- 飞控输出最小值:飞控立即切换到 1000μs,电调记录为「最小油门」。校准完成。
为什么顺序这么重要?
因为电调上电瞬间会检测 PWM 信号。如果先上电再给信号,电调会认为当前信号是「正常油门」,直接进入待机状态,根本不会进校准模式。我在项目中遇到过好几次,新手拿着遥控器对频,电调一直「哔哔」叫,就是进不了校准——其实就是顺序反了。
核心要点:校准的本质是让电调记住两个边界值——1000μs 和 2000μs。中间值(如 1500μs)由飞控线性映射。
3.2 手动校准 vs 自动校准
手动校准和自动校准,区别在于「谁来触发这个流程」。我做个表格,你一看就明白。
| 对比项 | 手动校准 | 自动校准 |
|---|---|---|
| 触发方式 | 遥控器油门杆推到最高 → 电调上电 → 油门杆拉最低 | 飞控通过 I²C/CAN 总线发送校准指令 |
| 适用场景 | 传统 PWM 电调、无通信协议的电调 | 支持 DShot/OneShot 等数字协议的电调 |
| 操作复杂度 | 需要手动操作遥控器,步骤繁琐 | 一键触发,飞控自动完成 |
| 可靠性 | 受遥控器中立点、摇杆精度影响 | 由飞控直接输出精确脉宽,误差小 |
| 调试效率 | 每台电机需单独校准,耗时 | 批量校准,几秒完成 |
手动校准有个坑:遥控器油门通道的行程可能不是标准的 1000-2000μs。有些遥控器默认是 1100-1900μs,你校准出来的边界就偏了。我曾经用一台老款天地飞,校准完发现电机在最低油门还在转——就是因为遥控器行程没设对。
自动校准就没这问题。飞控直接输出精确的 1000μs 和 2000μs,不受遥控器影响。但前提是电调得支持数字协议,比如 DShot600 或 OneShot125。如果你还在用传统 PWM 电调,那只能老老实实手动校准。
我的建议:能用自动校准就用自动校准。如果必须手动,记得先检查遥控器油门行程,把 EPA(End Point Adjustment)设到 1000-2000μs。
3.3 校准失败排查指南
校准失败时,电调通常会发出「哔哔」声或 LED 闪烁。我总结了几种常见情况:
- 电调一直「哔——哔——」长响:没检测到油门信号。检查飞控与电调的信号线是否接好,或者飞控是否已解锁。
- 电调「哔哔哔」快速短响:检测到信号但超出范围。检查飞控输出的 PWM 频率是否匹配(常见 50Hz-500Hz)。
- 校准后电机最低油门还在转:最小油门值设高了。手动校准的话,检查遥控器油门微调是否归零。
- 校准后电机最高油门无力:最大油门值设低了。检查飞控输出是否真的到了 2000μs。
注意:校准前务必拆掉螺旋桨!我见过有人嫌麻烦没拆,校准过程中电机突然全速旋转,手指被割伤。安全第一,别偷懒。
3.4 校准流程可视化
下面这张图把整个校准流程串起来了。你对照着看,思路会更清晰。
3.5 手动校准实操步骤
如果你用的是传统 PWM 电调,手动校准是绕不开的。我习惯按这个顺序来:
- 拆桨:再次强调,拆掉所有螺旋桨。
- 飞控上电:让飞控正常工作,确保油门输出通道已映射。
- 遥控器油门推到最高:保持不动。
- 电调上电:听到「哔哔」两声,表示进入校准模式。
- 遥控器油门拉到最低:听到「哔——」长响,校准完成。
- 断电重启:让电调退出校准模式,进入正常工作状态。
这里有个细节:有些电调需要先上电再推油门,有些则相反。你最好翻一下电调说明书,确认具体顺序。我遇到过一款好盈电调,它的校准顺序就跟标准流程反着来——先上电再推油门。所以别死记硬背,看文档。
小技巧:校准完成后,用 Mission Planner 或 QGroundControl 的电机测试功能,逐个检查每个电机的响应是否一致。如果某个电机在最低油门时还在转,说明它的最小油门值偏高了,需要重新校准。
3.6 自动校准实操步骤
自动校准就简单多了。以 DShot 协议为例:
- 确认电调支持 DShot:在飞控参数里设置 MOT_PWM_TYPE 为 DShot600 或 DShot300。
- 飞控上电:电调会自动检测协议。
- 发送校准指令:在 Mission Planner 里点击「校准电调」按钮,或者通过命令行发送 esc_calibrate 指令。
- 等待完成:飞控会自动输出 2000μs → 等待 2 秒 → 输出 1000μs。电调会发出「哔哔」声确认。
- 断电重启:完成。
自动校准的好处是快,而且精准。我一般装新机时,4 个电调同时校准,10 秒搞定。手动校准的话,每个电调单独来,至少得 5 分钟。
但自动校准也有坑:如果电调不支持数字协议,或者飞控和电调的协议版本不匹配,校准会失败。我遇到过 DShot300 的电调接在只支持 DShot600 的飞控上,校准完电机完全没反应。后来换成 DShot150 才正常。
注意:自动校准虽然方便,但前提是飞控和电调之间的通信链路必须可靠。如果信号线接触不良,或者有电磁干扰,校准结果可能不准确。建议校准完成后,用示波器或逻辑分析仪抓一下 PWM 波形,确认脉宽是否正确。
3.7 校准后的验证
校准完别急着飞。我习惯做三步验证:
- 油门响应测试:在飞控地面站里,缓慢推油门,观察电机转速是否线性增加。如果某个电机在某个点突然加速,说明校准有问题。
- 最低油门确认:油门拉到最低,电机应该完全停止。如果还在转,检查 MOT_SPIN_ARM 参数是否设得太高。
- 最高油门确认:油门推到最高,电机应该达到最大转速。如果感觉无力,检查电池电压和电调功率设置。
嗯,校准这事,看着简单,但细节决定成败。你想想看,如果校准偏差了 50μs,在航点任务中可能就导致几米的定位误差。所以别嫌麻烦,每一步都做到位。