3. PWM 信号校准:标准流程与手动/自动之争

PWM 校准,说白了就是让飞控和电调「对上话」。飞控说「这是最大油门」,电调得知道「哦,这个脉宽就是 100%」。飞控说「这是最小油门」,电调得明白「这个脉宽是 0%」。如果这一步没对齐,后面所有航点任务都是空中楼阁。

我见过太多飞手,调参时跳过校准,结果飞机一解锁就蹿出去,或者在空中突然掉高。嗯,咱们今天就把这事彻底讲透。

3.1 标准 PWM 校准流程

标准流程分三步,顺序不能乱。我习惯把它叫做「高-上-低」三步法。

  1. 飞控输出最大值:飞控先发出 2000μs 的脉宽信号,告诉电调「准备接收最大油门」。
  2. 电调上电:电调检测到 2000μs 信号,进入校准模式,记录这个值为「最大油门」。
  3. 飞控输出最小值:飞控立即切换到 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 校准流程可视化

下面这张图把整个校准流程串起来了。你对照着看,思路会更清晰。

PWM 校准流程 飞控输出 2000μs (最大油门信号) 步骤 1 电调上电 (检测到 2000μs 进入校准) 步骤 2 记录最大值 2000μs 飞控输出 1000μs (最小油门信号) 步骤 3 电调接收 1000μs (等待确认) 步骤 4 记录最小值 1000μs 校准完成 ✅ 电调已记住 1000μs ~ 2000μs 范围 ⚠️ 关键提醒 • 顺序不可颠倒:先输出最大值 → 电调上电 → 再输出最小值 • 手动校准需确保遥控器行程为 1000-2000μs

3.5 手动校准实操步骤

如果你用的是传统 PWM 电调,手动校准是绕不开的。我习惯按这个顺序来:

  1. 拆桨:再次强调,拆掉所有螺旋桨。
  2. 飞控上电:让飞控正常工作,确保油门输出通道已映射。
  3. 遥控器油门推到最高:保持不动。
  4. 电调上电:听到「哔哔」两声,表示进入校准模式。
  5. 遥控器油门拉到最低:听到「哔——」长响,校准完成。
  6. 断电重启:让电调退出校准模式,进入正常工作状态。

这里有个细节:有些电调需要先上电再推油门,有些则相反。你最好翻一下电调说明书,确认具体顺序。我遇到过一款好盈电调,它的校准顺序就跟标准流程反着来——先上电再推油门。所以别死记硬背,看文档。

小技巧:校准完成后,用 Mission Planner 或 QGroundControl 的电机测试功能,逐个检查每个电机的响应是否一致。如果某个电机在最低油门时还在转,说明它的最小油门值偏高了,需要重新校准。

3.6 自动校准实操步骤

自动校准就简单多了。以 DShot 协议为例:

  1. 确认电调支持 DShot:在飞控参数里设置 MOT_PWM_TYPE 为 DShot600 或 DShot300。
  2. 飞控上电:电调会自动检测协议。
  3. 发送校准指令:在 Mission Planner 里点击「校准电调」按钮,或者通过命令行发送 esc_calibrate 指令。
  4. 等待完成:飞控会自动输出 2000μs → 等待 2 秒 → 输出 1000μs。电调会发出「哔哔」声确认。
  5. 断电重启:完成。

自动校准的好处是快,而且精准。我一般装新机时,4 个电调同时校准,10 秒搞定。手动校准的话,每个电调单独来,至少得 5 分钟。

但自动校准也有坑:如果电调不支持数字协议,或者飞控和电调的协议版本不匹配,校准会失败。我遇到过 DShot300 的电调接在只支持 DShot600 的飞控上,校准完电机完全没反应。后来换成 DShot150 才正常。

注意:自动校准虽然方便,但前提是飞控和电调之间的通信链路必须可靠。如果信号线接触不良,或者有电磁干扰,校准结果可能不准确。建议校准完成后,用示波器或逻辑分析仪抓一下 PWM 波形,确认脉宽是否正确。

3.7 校准后的验证

校准完别急着飞。我习惯做三步验证:

  • 油门响应测试:在飞控地面站里,缓慢推油门,观察电机转速是否线性增加。如果某个电机在某个点突然加速,说明校准有问题。
  • 最低油门确认:油门拉到最低,电机应该完全停止。如果还在转,检查 MOT_SPIN_ARM 参数是否设得太高。
  • 最高油门确认:油门推到最高,电机应该达到最大转速。如果感觉无力,检查电池电压和电调功率设置。

嗯,校准这事,看着简单,但细节决定成败。你想想看,如果校准偏差了 50μs,在航点任务中可能就导致几米的定位误差。所以别嫌麻烦,每一步都做到位。