2、SVPWM基础回顾:三相逆变器拓扑、空间电压矢量定义、扇区判断与矢量作用时间计算
SVPWM(Space Vector Pulse Width Modulation,空间矢量脉宽调制)是三相电压源型逆变器(VSI)最核心的调制策略之一。与SPWM(正弦脉宽调制)相比,SVPWM具有直流母线电压利用率高(线性区提升约15.47%)、电流谐波含量低、便于数字实现等显著优势。在进入死区补偿与非线性校正技术之前,必须扎实掌握SVPWM的底层逻辑:三相逆变器拓扑如何构建电压矢量、空间电压矢量的几何定义、扇区判断的数学方法以及矢量作用时间的精确计算。本章将围绕这四个核心模块展开,为后续死区效应分析与补偿策略奠定坚实的数学与物理基础。
2.1 三相逆变器拓扑与开关状态
三相两电平电压源型逆变器是SVPWM的物理载体。其拓扑结构如图2-1左侧所示:直流母线电压Vdc经六个功率开关器件(S1~S6,通常为IGBT或MOSFET)组成的三个半桥,输出三相交流电压。每个桥臂的上下开关互补导通,即S1与S2、S3与S4、S5与S6不能同时导通,否则将造成直流母线直通短路。为防止直通,实际驱动信号中必须插入死区时间Td(典型值1~5μs),这正是后续章节要重点讨论的死区效应的根源。
定义开关函数Sk(k = a, b, c):当上桥臂导通、下桥臂关断时,Sk = 1;反之Sk = 0。因此三相逆变器共有2³ = 8种开关组合,对应8个基本电压矢量。以直流母线中点O为参考点,各相输出电压可表示为:
V_a = S_a · Vdc
V_b = S_b · Vdc
V_c = S_c · Vdc
这8个开关状态中,V0(000)和V7(111)对应的三相输出均为零或Vdc,称为零矢量;其余6个状态V1(001)~V6(110)为有效矢量,幅值均为2/3·Vdc,在αβ平面内相隔60°均匀分布,将平面划分为6个扇区。
2.2 空间电压矢量的数学定义与坐标变换
空间电压矢量的核心思想是将三相静止坐标系(a-b-c)下的电压,通过Clarke变换映射到两相静止坐标系(α-β)中。等幅值变换的Clarke变换公式为:
[Vα] [ 1 -1/2 -1/2 ] [Va]
[Vβ] = [ 0 √3/2 -√3/2 ] [Vb]
[Vc]
对于任意开关状态,合成电压矢量Vk = (2/3)·Vdc·(S_a + S_b·e^(j2π/3) + S_c·e^(j4π/3))。以V1(100)为例,此时S_a=1,S_b=0,S_c=0,代入得V1 = (2/3)·Vdc,方向沿α轴正方向。同理可求得其余5个有效矢量,它们构成一个正六边形,内切圆半径为Vdc/√3,这正是SVPWM线性调制的极限。
参考电压矢量Vref由三相给定电压经Clarke变换得到,其幅值不超过六边形内切圆时,可通过相邻两个有效矢量和零矢量的时间加权合成。设Vref位于第I扇区(0°~60°),相邻矢量为V1(100)和V2(110),则在一个开关周期Ts内满足:
Vref · Ts = V1 · T1 + V2 · T2 + V0 · T0
其中T1、T2分别为V1、V2的作用时间,T0为零矢量作用时间,且T1 + T2 + T0 = Ts。通过矢量合成原理,可精确求解各矢量作用时间。
2.3 扇区判断方法
扇区判断是SVPWM实现的第一步,其本质是确定参考电压矢量Vref在αβ平面中所处的60°区间。工程上最常用的方法是基于Vα和Vβ的符号组合进行判断,定义三个中间变量:
A = sign(Vβ)
B = sign(√3·Vα - Vβ)
C = sign(-√3·Vα - Vβ)
其中sign(x)为符号函数,x>0时取1,x<0时取0。然后计算扇区号N = A + 2B + 4C。N值与扇区的对应关系如表2-1所示。
| N值 | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| 扇区 | II | VI | I | IV | III | V |
| 角度范围 | 60°~120° | 300°~360° | 0°~60° | 180°~240° | 120°~180° | 240°~300° |
这种判断方法仅需三次比较运算和一次查表,计算量极小,非常适合在DSP或FPGA中实时执行。另一种等效方法是直接根据Vα和Vβ的反正切值判断角度范围,但涉及三角函数运算,实时性较差,工程中较少采用。
2.4 矢量作用时间计算
以第I扇区为例,设Vref与α轴的夹角为θ(0°≤θ≤60°),根据伏秒平衡原理:
Vα · Ts = |V1| · T1 + |V2| · T2 · cos60°
Vβ · Ts = |V2| · T2 · sin60°
代入|V1| = |V2| = 2/3·Vdc,解得:
T1 = (√3·Ts/Vdc) · (Vα · sin60° - Vβ · cos60°) = (√3·Ts/Vdc) · (√3/2·Vα - 1/2·Vβ)
T2 = (√3·Ts/Vdc) · Vβ
推广到一般扇区k(k=1~6),定义中间变量X、Y、Z:
X = (√3·Ts/Vdc) · Vβ
Y = (√3·Ts/Vdc) · (√3/2·Vα + 1/2·Vβ)
Z = (√3·Ts/Vdc) · (-√3/2·Vα + 1/2·Vβ)
各扇区T1、T2的取值如表2-2所示。
| 扇区 | I | II | III | IV | V | VI |
|---|---|---|---|---|---|---|
| T1 | -Z | Z | X | -X | -Y | Y |
| T2 | X | Y | -Y | Z | -Z | -X |
当T1 + T2 > Ts时,发生过调制,需进行等比例缩小处理:T1' = T1·Ts/(T1+T2),T2' = T2·Ts/(T1+T2)。零矢量时间T0 = Ts - T1 - T2,通常将T0均分给V0和V7,以降低开关频率和谐波。
2.5 七段式与五段式开关序列
确定了各矢量作用时间后,还需安排开关序列。工程中最常用的是七段式SVPWM,其特点是一个开关周期内,三相桥臂各开关一次,开关损耗均衡,谐波性能较好。以第I扇区为例,开关序列为:V0(000) → V1(100) → V2(110) → V7(111) → V2(110) → V1(100) → V0(000),各段作用时间分别为T0/4、T1/2、T2/2、T0/2、T2/2、T1/2、T0/4。
五段式SVPWM(又称DPWM)则在一个周期内保持某一相桥臂不动作,开关次数减少1/3,开关损耗降低,但谐波含量略高。选择哪种方式需根据应用场景权衡:高频电机驱动优先考虑七段式以保证电流质量;对效率要求极高的场合(如车载逆变器)可选用五段式。
2.6 案例拆解:基于TMS320F28335的SVPWM实现
以TI公司的TMS320F28335 DSP为例,演示SVPWM的完整实现流程。系统参数:直流母线电压Vdc = 300V,开关频率fs = 10kHz(Ts = 100μs),给定参考电压幅值Vref = 150V,频率f = 50Hz。
步骤1:坐标变换。将三相给定电压经Clarke变换得到Vα、Vβ。设当前时刻t = 2ms,则电角度θ = 2π·50·0.002 = 0.628rad(约36°),Vα = 150·cos36° = 121.4V,Vβ = 150·sin36° = 88.2V。
步骤2:扇区判断。计算A = sign(88.2) = 1,B = sign(√3·121.4 - 88.2) = sign(122.1) = 1,C = sign(-√3·121.4 - 88.2) = sign(-298.5) = 0,N = 1 + 2 + 0 = 3,查表得第I扇区。
步骤3:时间计算。X = (√3·100μs/300V)·88.2 = 50.9μs,Y = (√3·100μs/300V)·(√3/2·121.4 + 1/2·88.2) = 76.4μs,Z = (√3·100μs/300V)·(-√3/2·121.4 + 1/2·88.2) = -25.5μs。查表得T1 = -Z = 25.5μs,T2 = X = 50.9μs,T0 = 100 - 25.5 - 50.9 = 23.6μs。
步骤4:生成PWM比较值。七段式序列下,各相的比较值(以周期为100μs的三角载波为例)为:Ta = T0/4 = 5.9μs,Tb = Ta + T1/2 = 18.65μs,Tc = Tb + T2/2 = 44.1μs。将这三个值写入DSP的比较寄存器CMPA、CMPB、CMPC,即可输出对应占空比的PWM波。
结果验证:通过示波器测量逆变器输出线电压,其基波幅值应为√3·Vref = 260V,频率50Hz。若实测值偏低,需检查死区设置和管压降补偿是否到位。
2.7 常见误区与总结
误区一:扇区判断与矢量顺序混淆。扇区编号N与矢量编号V1~V6没有直接对应关系,必须通过查表确定。初学者常将N值直接当作矢量编号,导致时间计算错误。
误区二:忽略零矢量的作用。零矢量虽然不产生有效电压,但在开关序列中起到平衡开关状态、降低开关频率的作用。若省略零矢量,将导致开关频率翻倍,损耗显著增加。
误区三:死区时间未纳入时间预算。实际系统中,T1和T2的计算值应扣除死区时间的影响,否则在电流过零点附近会产生明显的电压误差。更精确的做法是在调制波中叠加死区补偿量。
误区四:坐标变换系数混淆。等幅值变换与等功率变换的系数不同(前者为2/3,后者为√(2/3)),导致矢量幅值计算差异。工程中必须统一变换基准,否则后续电流环PI参数整定会出错。