3. 死区补偿原理
死区补偿这个话题,说实话,我在刚入行那几年没少在这上面栽跟头。你想想看,明明SVPWM算得好好的,输出电压波形就是不对,谐波含量居高不下。后来才明白,死区时间这个“小东西”带来的影响,远比我们想象的要大。
今天我们就来聊聊死区补偿的原理。我会从死区时间对输出电压的影响讲起,然后介绍理想的补偿策略,最后说说实际工程中的那些坑。
核心观点:死区补偿的本质,就是消除死区时间引入的电压误差,让实际输出电压尽可能接近理想值。
3.1 死区时间对输出电压的影响
先说说死区时间是怎么来的。为了防止上下桥臂直通,我们在开关管切换时插入了一段“死区时间”——这段时间内上下管都关断。但问题来了,电流还在走,它只能通过续流二极管走。这就导致输出电压不再由开关状态决定,而是由电流方向决定。
我举个例子你就明白了。假设A相上管导通,下管关断,理想情况下输出应该是直流母线电压的一半(相对于中性点)。但死区时间内,如果电流是流出桥臂的,下管续流二极管会导通,把输出电压拉到负母线。如果电流是流入桥臂的,上管续流二极管导通,输出电压被拉到正母线。
说白了,死区时间让输出电压产生了一个“缺口”。这个缺口的大小和方向,取决于死区时间的长短和电流的方向。
我们用一个表格来总结一下:
| 电流方向 | 理想输出电压 | 死区期间实际电压 | 电压误差 |
|---|---|---|---|
| 流出桥臂(正) | +Vdc/2 | -Vdc/2(下管续流) | -Vdc |
| 流入桥臂(负) | +Vdc/2 | +Vdc/2(上管续流) | 0 |
| 流出桥臂(正) | -Vdc/2 | -Vdc/2(下管续流) | 0 |
| 流入桥臂(负) | -Vdc/2 | +Vdc/2(上管续流) | +Vdc |
看到没?电压误差只在某些电流方向下出现。这个误差脉冲的宽度就是死区时间,幅值等于直流母线电压。它在每个开关周期都会出现,累积起来就形成了低次谐波。
我记得有一次调试一个伺服驱动器,空载时电流波形看着还行,一带负载就出现明显的6次谐波。查了半天,最后发现就是死区补偿没做好。嗯,从那以后我再也不敢小看死区时间了。
3.2 理想补偿策略
理想的补偿策略其实很直观:既然死区时间造成了电压误差,那我们在调制波上反向叠加一个补偿量不就行了?
具体来说,补偿量的大小就是死区时间对应的电压-时间面积:
ΔV_comp = sign(i) × Vdc × T_dead / T_sw
其中:
- sign(i):电流方向,正为+1,负为-1
- Vdc:直流母线电压
- T_dead:死区时间
- T_sw:开关周期
补偿的时机也很关键。我习惯在PWM比较值上直接修正,而不是在调制波上做文章。这样更直接,延迟也更小。
理想补偿的流程大致是这样的:
- 采样三相电流,判断每相电流方向
- 根据电流方向计算每相需要的补偿量
- 在PWM比较值上叠加补偿量
- 更新PWM寄存器
你可能会问,为什么是“理想”补偿?因为这里面有个大前提——电流方向判断必须准确。但实际工程中,电流过零附近的方向判断,恰恰是最头疼的问题。
小技巧:我个人的习惯是在电流过零附近采用滞环判断,避免频繁切换补偿方向。滞环宽度一般取额定电流的1%~3%,具体要看电流传感器的精度。
3.3 实际补偿中的难点
理想很丰满,现实很骨感。实际工程中死区补偿的难点,主要集中在以下几个方面:
难点一:电流过零检测
这是最大的坑。电流过零附近,采样噪声、偏置误差都会导致方向误判。一旦方向判错,补偿方向就反了,反而会放大谐波。
我曾经在一个项目里遇到过这种情况:低速轻载时,电流很小,过零区域占比很大。死区补偿不仅没效果,还引入了额外的低频振荡。后来改用基于电压误差的闭环补偿,才把问题解决。
难点二:多相耦合效应
三相逆变器里,一相的死区误差会通过中性点影响其他两相。你单独补偿每一相,不一定能完全消除线电压的误差。这也是为什么有些高级补偿算法会直接补偿线电压,而不是相电压。
难点三:死区时间非线性
死区时间不是固定不变的。温度、电压、器件老化都会影响实际的死区时间。我见过一些驱动器,刚出厂时补偿效果很好,用了一年之后谐波就变大了。原因就是IGBT的开关特性发生了变化,死区时间偏移了。
下面这张图总结了死区补偿的核心逻辑:
难点四:补偿延迟
从电流采样到PWM比较值更新,中间有ADC转换时间、计算时间、寄存器更新时间。这个延迟会导致补偿时机滞后。如果开关频率很高,延迟可能占到死区时间的很大比例,补偿效果大打折扣。
我建议的做法是:
- 使用双采样模式,在PWM载波的波峰和波谷都采样电流
- 将补偿计算放在PWM中断中,减少软件延迟
- 必要时采用预测补偿,根据当前电流变化率预估下一周期的电流方向
特别注意:死区补偿不是万能的。当电流很小时(比如额定电流的5%以下),过零区域占比太大,补偿效果会急剧下降。这种情况下,我建议结合其他谐波抑制手段,比如多电平拓扑或软开关技术。
总结一下,死区补偿的原理并不复杂,但要做好却不容易。核心在于电流方向的准确判断和补偿时机的精确控制。实际工程中,没有一种补偿策略能适应所有工况,需要根据具体应用场景选择合适的方案。
我个人习惯在项目初期先做一个开环的死区补偿,然后通过FFT分析电流谐波,再根据谐波成分调整补偿策略。这样虽然麻烦一点,但能确保补偿效果是实实在在的,而不是“看上去很美”。