2. 死区效应数学建模:死区时间对电压矢量的影响、误差电压矢量的推导、死区效应的频域分析
好,咱们直接进入正题。死区补偿这事儿,很多人一上来就调参数、试波形,结果调了半天效果还是不行。为什么?说白了,你没搞懂死区到底是怎么影响电压矢量的。数学建模这一步,我建议你别跳过。
我在项目中遇到过好几次,明明电流波形看着还行,但一跑高速就出问题,谐波大得离谱。后来一查,死区补偿的参数根本没对准误差电压的相位。嗯,这就是建模没做透的典型后果。
2.1 死区时间对电压矢量的影响
先看一个最简单的三相逆变器桥臂。上下管交替导通,为了防止直通,我们插入了一段死区时间 Td。在这段时间里,上下管都是关断的。电流往哪流?靠续流二极管。
你想想看,这时候输出电压就不是你想要的 PWM 波形了。它被电流方向“绑架”了。具体来说:
- 电流为正(流出桥臂):下管关断后,电流通过下管续流二极管续流,输出被拉到负母线。
- 电流为负(流入桥臂):上管关断后,电流通过上管续流二极管续流,输出被拉到正母线。
这就导致了一个问题:实际输出电压的脉冲宽度,跟理想 PWM 指令之间,差了一个死区时间 Td。而且这个偏差的方向,完全取决于电流极性。
核心结论:死区效应本质上是一个与电流极性相关的非线性扰动。它让实际电压矢量偏离了指令值,偏差量就是 Td × Vdc × sign(i)。
我个人习惯把这个偏差画成一个矢量图。在 αβ 坐标系下,理想电压矢量是 V_ref,实际电压矢量是 V_actual,两者之间的差就是误差电压矢量 ΔV。这个 ΔV 的大小固定,但方向每 60° 电角度跳变一次——因为三相电流极性组合每 60° 变化一次。
2.2 误差电压矢量的推导
好,我们来推导一下这个误差电压矢量。别怕,其实很简单。
先定义理想输出电压:
V_ideal = Vdc × (2Sa - Sb - Sc) / 3 (a相为例)
其中 Sa, Sb, Sc 是开关函数(0或1)。考虑死区后,实际开关函数会偏移。对于 a 相:
Sa_actual = Sa - sign(ia) × (Td / Ts)
这里 Ts 是 PWM 周期,sign(ia) 是电流极性(+1 或 -1)。
那么 a 相的实际输出电压:
Va_actual = Vdc × (2Sa_actual - Sb_actual - Sc_actual) / 3
误差电压就是两者相减。经过整理,你会得到一个非常简洁的形式:
ΔV = - (4 × Vdc × Td) / (3 × Ts) × [sign(ia) + sign(ib) × e^(j120°) + sign(ic) × e^(j240°)]
看到了吗?误差电压矢量是三个电流极性矢量的合成。它在 αβ 坐标系下是一个六边形的轨迹,幅值恒定,方向每 60° 跳变一次。
我的经验:这个六边形轨迹,你最好用仿真跑一下。我当年第一次看到这个波形时,才真正理解了为什么死区补偿要分扇区做。不同扇区下,误差电压的方向不同,补偿量自然也要跟着变。
2.3 死区效应的频域分析
时域看完了,咱们转到频域。为什么要做频域分析?因为死区效应产生的谐波,是电机发热和转矩脉动的罪魁祸首。
误差电压矢量 ΔV 在时域上是周期性的方波(每 60° 跳变一次)。它的基波频率是 6 倍电频率。傅里叶展开后,主要谐波成分是:
| 谐波次数 | 幅值(相对基波) | 对电流的影响 |
|---|---|---|
| 6 次 | 1.0 | 产生 5、7 次电流谐波 |
| 12 次 | 0.5 | 产生 11、13 次电流谐波 |
| 18 次 | 0.33 | 产生 17、19 次电流谐波 |
| ... | ... | ... |
为什么会这样?因为 ΔV 的 6 次谐波,在电机反电动势的调制下,会在电流中产生 5 次和 7 次谐波。5 次谐波是负序的,7 次是正序的。这两个谐波叠加,就会产生 6 倍频的转矩脉动。
注意:这个 6 倍频转矩脉动,在低速时尤其明显。因为低速时反电动势小,电流环带宽有限,抑制不掉这个扰动。我见过一个项目,低速运行时电机嗡嗡响,一测电流频谱,5、7 次谐波比基波还大。这就是死区效应没处理好。
频域分析告诉我们两件事:
- 死区效应的主要谐波集中在 6k ± 1 次(k=1,2,3...),也就是 5、7、11、13 等。
- 补偿策略必须针对这些特定频率。单纯的 PI 调节器对 5、7 次谐波的抑制能力很弱,需要引入谐振控制器或重复控制器。
我个人习惯在频域里做补偿。先通过 FFT 分析电流谐波,找到 5、7 次分量的幅值和相位,然后在 dq 轴下注入对应的 6 次谐波电压。这个方法比单纯的时间补偿更精准,尤其在高频段。
2.4 知识体系总览
下面这张图,是我自己总结的死区效应建模的完整逻辑链。你顺着这个思路走,就不会乱。
这张图把整个逻辑串起来了。从死区时间出发,经过电流极性调制,得到误差电压矢量,然后分别从时域和频域两个角度分析,最后落到补偿策略上。你每次做死区补偿时,都可以拿这张图对照一下,看看自己卡在哪一步。
一个小建议:如果你刚开始做死区补偿,先别急着上复杂算法。先把误差电压矢量的六边形轨迹在示波器上抓出来,看看幅值和相位对不对。这一步做扎实了,后面的补偿才有意义。
好了,死区效应的数学建模就讲到这里。记住,建模不是目的,目的是让你知道该补偿什么、怎么补偿。下一节我们会基于这个模型,讲具体的补偿实现方法。
公众号:蓝海资料掘金营,微信deep3321