死区效应数学建模:从单相桥臂到三相逆变器

做电机控制这些年,死区效应是我绕不开的一个坎。说实话,刚入行那会儿我总觉得死区时间就那么几微秒,能有多大影响?直到有一次调试一台伺服驱动器,电机在低速运行时发出刺耳的啸叫,电流波形简直没法看。从那以后,我才真正开始认真研究死区效应的数学模型。

这一章,我们就来把死区效应的数学模型彻底讲透。我会从最简单的单相桥臂开始,逐步扩展到三相逆变器,最后给出电压误差矢量的完整分析。你跟着我的思路走,保证能建立起清晰的数学框架。

单相桥臂死区效应分析

先看最简单的单相桥臂结构。一个桥臂由上下两个开关管组成,中间输出点接负载。理想情况下,上下管互补导通,输出端要么接母线正极,要么接负极。但实际中,为了防止上下管直通,必须插入死区时间。

死区时间内发生了什么?两个管子都关断了。这时候电流往哪流?全靠续流二极管。电流方向决定了输出电压的实际值。我习惯把这个过程分成两种情况来分析:

  • 电流流出桥臂(i>0):死区时间内,下管关断后电流通过下二极管续流,输出端被钳位到负母线电压。相当于实际输出电压比理想值低了。
  • 电流流入桥臂(i<0):死区时间内,上管关断后电流通过上二极管续流,输出端被钳位到正母线电压。实际输出电压比理想值高了。

你看,死区效应本质上就是电流极性导致的电压偏差。这个偏差的大小和方向,完全由电流方向决定。我在项目中遇到过一种情况:当电流过零时,死区效应的影响最明显,因为电流极性判断会变得模糊,导致电压误差出现非线性变化。

单相桥臂的电压误差可以写成:

ΔV = -sign(i) * Vdc * (Td / Ts)

其中Td是死区时间,Ts是开关周期,Vdc是母线电压。这个公式虽然简单,但它是整个死区效应分析的基础。说白了,死区效应就是给输出电压叠加了一个与电流极性相反的方波。

核心要点:单相桥臂的死区效应可以等效为一个与电流极性相关的电压扰动。这个扰动的幅值由死区时间和母线电压决定,频率与开关频率相同。

三相逆变器死区效应模型

有了单相桥臂的基础,三相逆变器就好理解了。三相逆变器就是三个单相桥臂的组合,每个桥臂的死区效应独立发生。但三相之间会相互耦合,最终体现在电机相电压和线电压上。

我习惯用三相电压误差矢量来描述这个问题。设三相电流分别为ia、ib、ic,那么三相的电压误差可以写成:

ΔVa = -sign(ia) * Vdc * (Td / Ts)
ΔVb = -sign(ib) * Vdc * (Td / Ts)
ΔVc = -sign(ic) * Vdc * (Td / Ts)

这里有个坑要注意:三相电流不是独立的,它们满足ia+ib+ic=0。所以三相电压误差也不是独立的。我曾经在调试时发现,直接对三相分别补偿效果并不好,原因就在这里——三相误差之间存在耦合关系。

把三相电压误差转换到两相静止坐标系(αβ坐标系)下,会看得更清楚:

ΔVα = (2/3) * (ΔVa - 0.5*ΔVb - 0.5*ΔVc)
ΔVβ = (2/3) * (sqrt(3)/2 * ΔVb - sqrt(3)/2 * ΔVc)

这个变换很有意思。你会发现,当三相电流平衡时,ΔVα和ΔVβ并不是简单的正弦波,而是包含大量谐波的复杂波形。这就是为什么死区效应会导致电流波形畸变的根本原因。

我的经验:在实际项目中,我建议先测量三相电流的极性,然后根据极性查表得到电压误差。这种方法比实时计算sign函数要快得多,适合在低成本MCU上实现。

电压误差矢量分析

现在我们来深入分析电压误差矢量。把三相电压误差转换到旋转坐标系(dq坐标系)下,会得到更有物理意义的结果。

假设电机运行在稳态,三相电流为正弦波:

ia = I * cos(θ)
ib = I * cos(θ - 2π/3)
ic = I * cos(θ + 2π/3)

那么三相电压误差的符号函数会形成六个扇区。每个扇区内,电压误差矢量的方向是固定的。我画了一张图来展示这个规律:

三相死区效应电压误差矢量扇区分布 α β 扇区1 扇区2 扇区3 扇区4 扇区5 扇区6 ΔV₁ ΔV₂ ΔV₃ ΔV₄ ΔV₅ ΔV₆ 六个扇区内电压误差矢量的方向固定,幅值相同

从这张图可以看得很清楚:电压误差矢量在六个扇区内轮流切换,每个扇区内方向固定。这个特性很重要,因为它意味着死区效应产生的谐波主要集中在6k±1次(k=1,2,3...),也就是5、7、11、13次谐波。

把电压误差矢量转换到dq坐标系下,会得到d轴和q轴的误差分量:

ΔVd = ΔVα * cos(θ) + ΔVβ * sin(θ)
ΔVq = -ΔVα * sin(θ) + ΔVβ * cos(θ)

这两个分量不是常数,而是包含6次谐波的脉动分量。这就是为什么死区效应会导致dq轴电流出现6次谐波振荡的原因。我在调试高速电机时深有体会——转速越高,这个6次谐波的影响越明显,电机转矩脉动会变得很大。

注意:死区效应导致的电压误差矢量幅值与母线电压成正比。在高压系统中(比如600V以上),死区效应的影响会非常显著,必须进行补偿。我曾经在一个690V的项目中吃过亏,不补偿的话电机根本没法在低速运行。

死区效应的定量分析

最后,我们来做一个定量分析。假设死区时间Td=3μs,开关频率fs=10kHz(Ts=100μs),母线电压Vdc=300V。那么单相桥臂的电压误差幅值为:

ΔV = 300 * (3 / 100) = 9V

这个9V的误差看起来不大,但你要知道,在低速运行时,电机的反电动势很小,这个9V的误差可能占到总电压的10%甚至更多。这就是为什么低速时死区效应的影响特别明显。

我整理了一个表格,方便你快速评估不同工况下的死区效应影响:

母线电压(V) 死区时间(μs) 开关频率(kHz) 电压误差(V) 影响程度
48 2 20 1.92 轻微
300 3 10 9.0 中等
600 3 8 14.4 严重
1000 5 5 25.0 非常严重

从表格可以看出,母线电压越高、死区时间越长、开关频率越高,死区效应的影响就越大。嗯,这里有个权衡:开关频率高了,死区效应更明显;但开关频率低了,电流纹波又大。实际项目中怎么选?我一般建议在满足电流纹波要求的前提下,尽量降低开关频率,这样可以减轻死区效应的影响。

避坑指南:我曾经在一个项目中为了追求低纹波,把开关频率设到了20kHz,结果死区效应导致电机在低速时剧烈抖动。后来把频率降到10kHz,同时优化了死区补偿算法,问题才解决。所以不要盲目追求高开关频率,要综合考虑。

好了,这一章的内容就到这里。死区效应的数学模型是后续补偿算法的基础,你一定要把单相桥臂到三相逆变器的推导过程理解透彻。下一章我们会基于这个模型,讨论具体的补偿策略。


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