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 次谐波比基波还大。这就是死区效应没处理好。

频域分析告诉我们两件事:

  1. 死区效应的主要谐波集中在 6k ± 1 次(k=1,2,3...),也就是 5、7、11、13 等。
  2. 补偿策略必须针对这些特定频率。单纯的 PI 调节器对 5、7 次谐波的抑制能力很弱,需要引入谐振控制器或重复控制器。

我个人习惯在频域里做补偿。先通过 FFT 分析电流谐波,找到 5、7 次分量的幅值和相位,然后在 dq 轴下注入对应的 6 次谐波电压。这个方法比单纯的时间补偿更精准,尤其在高频段。

2.4 知识体系总览

下面这张图,是我自己总结的死区效应建模的完整逻辑链。你顺着这个思路走,就不会乱。

死区效应数学建模知识体系 死区时间 Td 上下管同时关断 电流极性 sign(i) 决定电压偏差方向 误差电压矢量 ΔV 六边形轨迹 时域分析:脉冲宽度偏差 = Td × sign(i) 频域分析:主要谐波为 6k ± 1 次(5、7、11、13...) 补偿策略:时间补偿法 / 电压补偿法 / 谐振控制器

这张图把整个逻辑串起来了。从死区时间出发,经过电流极性调制,得到误差电压矢量,然后分别从时域和频域两个角度分析,最后落到补偿策略上。你每次做死区补偿时,都可以拿这张图对照一下,看看自己卡在哪一步。

一个小建议:如果你刚开始做死区补偿,先别急着上复杂算法。先把误差电压矢量的六边形轨迹在示波器上抓出来,看看幅值和相位对不对。这一步做扎实了,后面的补偿才有意义。

好了,死区效应的数学建模就讲到这里。记住,建模不是目的,目的是让你知道该补偿什么、怎么补偿。下一节我们会基于这个模型,讲具体的补偿实现方法。


公众号:蓝海资料掘金营,微信deep3321