基于120°三相坐标系下的SVPWM算法的分析
一、背景
在网络畅联的今天,互联网上搜索关于SVPWM(空间矢量脉宽调制)的理论分析资料会很齐全,各位老师讲解的也很详细,但绝大多数是建立在60°坐标系下的理论分析和仿真实践,对于120°坐标系下的SVPWM算法讲解资料太少,并且推导过程不详细,而120°坐标系下的SVPWM算法会降低计算量和代码量,有利于在低主频的MCU上实现。那么本文就在前辈们的肩膀上继续探究,梳理实现的思路、细化理论推导过程并以Simulink仿真的形式加以验证理论效果。
二、SVPWM算法执行的一般步骤
- 根据Park反变换得到的Uα和Uβ确定参考电压所处扇区;
- 根据扇区选择合成参考电压的边界矢量;
- 根据参考电压的幅值计算两个边界矢量分别作用的时间;
- 对两个边界矢量作用时间进行过调制判断及处理;
- 对七段式矢量合成的时间进行计算分配;
三、详细分析
- 参考电压用边界矢量表示形式
首先我们建立120°三相UA、UB、UC自然坐标系与两相Uα、Uβ的虚拟坐标系(人为定义的两相静止坐标系,经过Clark变换可得),如下图1所示:
在UA、UB、UC三相坐标系内,根据伏秒平衡等效原理,可得:
Ts * Uref = Ta * UA + Tb * UB + Tc * UC (1)
其中Ts是载波周期, Uref是待合成的参考电压,Ta 、Tb 、Tc是作用在三个相线上的电压输出时间。
假设现在参考电压处于第Ⅰ扇区,在第Ⅰ扇区内,我们将UC矢量分解到UA和UB两个坐标轴上,得到:
UC = - UA - UB (2)
将式(2) 代入到式(1)中化简得到式(3):
Ts * Uref = (Ta – Tc) * UA + (Tb – Tc) * UB (3)
同理我们可推出第Ⅱ、Ⅲ扇区的关系式:
第Ⅱ扇区:
Ts * Uref = (Tb – Ta) * UB + (Tc – Ta) * UC (4)
第Ⅲ扇区:
Ts * Uref = (Tc – Tb) * UC + (Ta – Tb) * UA (5)
以上我们根据伏秒平衡原理,得到了参考电压由相邻两个边界矢量表示形式和各矢量电压及其分别作用时间的关系。
- 推导120°坐标系下的调制比系数M
如图2所示,将Uref参考电压矢量分解到UA和UB坐标轴上,得到Ua和Ub。令:
Ua = (TA / TS) * UA
Ub = (TB / TS) * UB
在由原点-Ua-Uref组成的三角形内,有正弦定理(A/sina = B/sinb = C/sinc)可得:
Uref / sin(π / 3) = Ua / sin(2π / 3 - θ) = Ub / sin(θ)
由于UA=UB=Udc,代入上式得出:
TA = ((2 * √3 * Ts * Uref) / (3 * Udc)) * sin(2π / 3 - θ)
TB = ((2 * √3 * Ts * Uref) / (3 * Udc)) * sin(θ)
令M=(2 * √3 * Uref) / (3 * Udc),其中,在三相坐标系下Uref ≤ Udc,代入M式中,得出:
M ≤ (2 * √3) / 3
M ≤ 1.1546
即此坐标系下的SVPWM电压调制比最大为1.1546,与60°坐标系下的结果一致。
- 计算参考电压的两个边界矢量作用时间与扇区切换点分析
在图2中,我们要建立Ua、Ub和Uα、Uβ的关系,从而得出以Uα、Uβ为变量的UA、UB相电压作用时间的表达式。将Ua、Ub转换到Uα-Uβ坐标系中得到:
Uα = Ua - Ub * cos(π / 3)
Uβ = Ub * sin(π / 3)
将Ua = (TA / TS) * UA和Ub = (TB / TS ) * UB代入得到:
Uα = (TA / TS) * UA - ((TB / TS ) * UB) * cos(π / 3)
Uβ = ((TB / TS ) * UB) * sin(π / 3)
由于UA-UB-UC三相自然坐标系依据等幅原则转换到Uα-Uβ虚拟坐标系时需要乘以2/3系数,因此UA、UB、UC在Uα-Uβ坐标系中表示时会乘以2/3系数,因此有如下结论:
UA=UB=UC=(2/3) * Udc
将关系式代入到Uα、Uβ表达式中:
Uα = (TA / TS) * (2/3) * Udc - ((TB / TS ) * (2/3) * Udc) * cos(π / 3)
Uβ = ((TB / TS ) * (2/3) * Udc) * sin(π / 3)
化简得:
Uα = (2 * TA * Udc) / (3 * TS) - (TB * Udc)/ (3 * TS)
Uβ = (√3 * TB * Udc) / (3 * TS )
则:
TA = ((√3 * TS) / Udc) * ((√3 / 2) * Uα + (1 / 2) * Uβ)
TB = ((√3 * TS) / Udc) * Uβ
这是第Ⅰ扇区内的边界矢量作用时间表达式,同理第Ⅱ、Ⅲ扇区为:
第Ⅱ扇区:
TB = ((√3 * TS) / Udc) * (-(√3 / 2) * Uα + (1 / 2) * Uβ)
TC = ((√3 * TS) / Udc) * (-(√3 / 2) * Uα - (1 / 2) * Uβ)
第Ⅲ扇区:
TA = ((√3 * TS) / Udc) * ((√3 / 2) * Uα - (1 / 2) * Uβ)
TC = (-(√3 * TS) / Udc) * Uβ
定义:
Taa = ((√3 * TS) / Udc) * ((√3 / 2) * Uα + (1 / 2) * Uβ)
Tbb = ((√3 * TS) / Udc) * Uβ
得到第Ⅰ、Ⅱ、Ⅲ扇区表达式为:
第Ⅰ扇区:
TA = Taa
TB = Tbb
第Ⅱ扇区:
TB = -Taa + Tbb
TC = -Taa
第Ⅲ扇区:
TA = Taa - Tbb
TC = -Tbb
由第一小节参考电压用边界矢量表示形式:
第Ⅰ扇区:Ts * Uref = (Ta – Tc) * UA + (Tb – Tc) * UB
第Ⅱ扇区:Ts * Uref = (Tb – Ta) * UB + (Tc – Ta) * UC
第Ⅲ扇区:Ts * Uref = (Tc – Tb) * UC + (Ta – Tb) * UA
得到:
在第Ⅰ扇区内:Taa >= 0且Tbb >= 0,我们令Tc = 0,即C相电压在一个Tpwm内未开启,仅用A和B相进行参考电压的拟合得到:Ta = Taa,Tb = Tbb,Tc = 0。
在第Ⅱ扇区内:Taa < 0且Tbb < 0且Taa <= Tbb,我们令Ta = 0,即A相电压在一个Tpwm内未开启,仅用B和C相进行参考电压的拟合,得到:Ta = 0,Tb = -Taa + Tbb,Tc = -Taa。
在第Ⅲ扇区内:Taa < 0且Tbb < 0且Taa > Tbb,我们令Tb = 0,即B相电压在一个Tpwm内未开启,仅用A和C相进行参考电压的拟合,得到:Ta = Taa - Tbb,Tb = 0,Tc = -Tbb。
扇区 | 扇区边界条件 | Ta | Tb | Tc |
---|
Ⅰ | Taa >= 0且Tbb >= 0 | Taa | Tbb | 0 |
Ⅱ | Taa < 0且Taa <= Tbb | 0 | -Taa + Tbb | -Taa |
Ⅲ | Taa < 0且Tbb < 0且Taa > Tbb | Taa - Tbb | 0 | -Tbb |
按照SVPWM的5段式和7段式组合定义可知,我们以上的推导是以两相电压合成得到(默认另外一相未参与调制),也就是只存在U(000)的零矢量,没有插入U(111)的零矢量。所以是以5段式组合输出的调制脉宽。
Ta、Tb、Tc的5段式Simulink仿真波形如下:
4. Ta、Tb、Tc的7段式组合形式
取5段式组合的Ta、Tb、Tc中最大值Tmax,设T(111)是U(111)形式的零矢量作用时间,则T(111) = (Ts - Tmax) / 2,得到Ta、Tb、Tc的7段式组合表达式:
Trefa = Ta + T(111)
Trefb = Tb + T(111)
Trefc = Tc + T(111)
Ta、Tb、Tc的7段式Simulink仿真波形如下:
5. 过调制处理
未完待续。。。