4. PWM 与采样同步:PWM 中心对齐与边沿对齐模式、采样点选择策略、PWM 载波与采样时钟的关系

做弱磁控制,采样同步是个绕不开的坎。我见过不少工程师,算法写得漂亮,结果一上电机,电流波形全是毛刺,速度稍微一高就炸。问题出在哪?十有八九是采样点没选对,或者 PWM 模式跟采样时钟没配合好。

这一章,咱们就把 PWM 的两种对齐模式、采样点怎么选、载波和时钟的关系彻底讲透。你想想看,采样要是不同步,你拿到的电流值根本就不是你想要的瞬时值,那后面的弱磁查表、电压补偿全是白搭。

4.1 PWM 中心对齐与边沿对齐模式

先说说两种最基本的 PWM 模式。大部分电机控制芯片都支持这两种,但用起来差别很大。

4.1.1 边沿对齐模式

边沿对齐,说白了就是计数器从 0 往上数到周期值,然后立刻跳回 0。波形的一边是齐的,另一边是斜的。这种模式实现简单,占空比更新也快。

但问题来了——采样点在哪?

在边沿对齐模式下,PWM 的开关动作集中在计数器的顶端和底端。如果你在计数器的顶端采样,正好赶上开关动作,电流纹波最大,采样误差也最大。我个人习惯是尽量避开这个点,但有时候硬件限制让你躲不开。

注意: 边沿对齐模式下,不建议在 PWM 周期的起始或结束时刻采样。开关噪声和电流尖峰几乎同时出现,采样结果基本不能用。

4.1.2 中心对齐模式

中心对齐模式就友好多了。计数器先往上数到周期值,再往下数回 0。波形关于中心对称,开关动作发生在计数器的顶端和底端,而中间点(计数值为周期值的一半)是开关动作最少的时刻。

为什么中心对齐更适合弱磁控制?

  • 采样窗口宽:在计数器的中间点,上下桥臂都处于导通或关断的稳定状态,电流纹波最小。
  • 谐波含量低:对称波形产生的低次谐波更少,对电流环的干扰小。
  • 适合多相采样:三相电流可以在同一个采样点同时采集,相位误差几乎为零。

我记得有一次做高速电机项目,转速跑到 15000rpm,用边沿对齐模式,电流环一直抖。换成中心对齐,采样点放在计数器中间,问题立刻解决。嗯,从那以后,我所有弱磁项目都默认用中心对齐。

对比项 边沿对齐 中心对齐
开关动作时刻 集中在顶端/底端 顶端/底端,中间点稳定
采样点推荐 避开顶端/底端 计数器中间点
谐波特性 低次谐波较多 谐波含量低
电流纹波 较大 较小
弱磁适用性 一般 推荐

4.2 采样点选择策略

采样点选对了,电流环就成功了一半。我见过不少工程师随便选个点就开始调参,结果调了半天发现是采样位置的问题。

4.2.1 单次采样 vs 多次采样

单次采样最简单:每个 PWM 周期只采一次电流。中心对齐模式下,就在计数器中间点采。边沿对齐模式下,我建议在计数器底端(0 值)之后延迟一小段时间再采,避开开关噪声。

多次采样呢?每个 PWM 周期采两次甚至更多。好处是可以做平均滤波,减少噪声。但代价是计算量翻倍,而且采样时刻必须精确控制。

我个人习惯是:低速用单次采样,高速用多次采样。低速时电流变化慢,单次采样足够;高速时电流纹波大,多次采样加平均能明显改善信噪比。

实战技巧: 如果你用中心对齐模式做多次采样,建议在计数器的上升段和下降段各采一次,然后取平均。这样能抵消一部分由死区引起的电流畸变。

4.2.2 采样点与占空比的关系

这里有个坑,我踩过。当占空比接近 0% 或 100% 时,PWM 的导通时间极短或极长,采样窗口会被压缩。比如占空比 5%,导通时间只有整个周期的 5%,如果你在中间点采样,可能正好落在导通区间之外,采到的电流值完全不对。

怎么办?

  • 限制最小/最大占空比:在软件里设置占空比上下限,比如 5%~95%,留出足够的采样窗口。
  • 动态调整采样点:根据当前占空比,把采样点往导通区间的中心偏移。这个实现起来稍微复杂,但效果最好。
  • 使用双采样:在导通区间和非导通区间各采一次,然后根据占空比加权平均。

我曾经在一个项目里,占空比跑到 98%,采样点没调,电流环直接发散。后来加了占空比限制,才稳住。所以,别小看这个细节。

4.3 PWM 载波与采样时钟的关系

PWM 载波频率和采样时钟频率,这两个东西必须配合好。否则,你采到的电流值要么是滞后的,要么是混叠的。

4.3.1 载波频率的选择

载波频率越高,电流纹波越小,但开关损耗也越大。弱磁控制通常运行在高速区,载波频率不能太低,否则电流环带宽不够。

我一般遵循这个原则:

  • 基频 < 100Hz:载波频率 4kHz~8kHz
  • 基频 100Hz~500Hz:载波频率 8kHz~12kHz
  • 基频 > 500Hz:载波频率 12kHz~20kHz

当然,具体还要看功率管的开关速度。IGBT 一般不超过 10kHz,SiC MOSFET 可以跑到 20kHz 以上。

4.3.2 采样时钟与 PWM 时钟的同步

这是最容易出问题的地方。如果采样时钟和 PWM 时钟不同源,或者分频比不是整数倍,采样点就会在 PWM 周期里来回漂移。你今天调好的参数,明天可能就不灵了。

为什么会这样?

假设 PWM 时钟是 100MHz,采样时钟是 80MHz,两者没有整数倍关系。每个 PWM 周期,采样点相对于 PWM 起始点的位置都在变化。你今天采样点在中间点,明天可能就跑到边沿上去了。

解决办法:

  • 使用同一时钟源:PWM 和 ADC 的时钟来自同一个 PLL,分频比设为整数。
  • 硬件触发采样:用 PWM 的计数器比较事件直接触发 ADC 采样,这样采样点绝对同步。
  • 软件校准:如果硬件不支持,可以在每个 PWM 周期开始前,用软件调整采样定时器的计数值。
核心原则: 采样点必须与 PWM 载波保持固定的相位关系。任何漂移都会导致电流环性能下降,严重时会引起系统振荡。

4.4 知识体系总览

下面这张图把本章的核心逻辑串起来了。你可以看到,从 PWM 模式选择,到采样点确定,再到时钟同步,每一步都环环相扣。

PWM与采样同步知识体系 PWM 与采样同步知识体系 PWM 对齐模式 边沿对齐 vs 中心对齐 采样点选择 单次采样 vs 多次采样 关键因素 开关噪声 · 电流纹波 · 占空比范围 死区影响 · 多相采样一致性 关键因素 采样窗口 · 时钟同步 · 触发方式 载波频率 · 分频比整数倍 核心目标:采样点与 PWM 载波相位固定 消除采样误差 · 提升电流环带宽 💡 说明: 中心对齐模式 + 计数器中间点采样 + 硬件触发 = 弱磁控制的最佳实践。 边沿对齐模式适用于低成本方案,但需要额外处理采样窗口问题。

4.5 避坑指南

最后,把我这些年踩过的坑总结一下,你遇到了可以直接拿来用。

  • 采样点漂移:检查 PWM 时钟和 ADC 时钟是否同源。不同源的话,加一个硬件同步信号。
  • 占空比极限:软件里加占空比限幅,别让 PWM 跑到 0% 或 100%,否则采样点失效。
  • 多相采样不同步:三相电流必须在同一个 PWM 周期内采完,最好用硬件同时采样(simultaneous sampling)。
  • 载波频率过高:不是越高越好。载波频率超过 20kHz 后,开关损耗和采样噪声都会急剧增加。

我曾经在一个项目里,载波频率设到 25kHz,结果 ADC 采样跟不上,电流环带宽反而下降了。后来降到 16kHz,一切正常。所以,别盲目追求高频。