1.前言
SVPWM(Space Vector Pulse Width Modulation,空間矢量脈寬調制)是近年發展的一種比較新穎的電機控制方法,是 由三相功率逆變器的六個功率開關元件組成的特定開關模式以產生的脈寬調制波 ,能夠使輸出電流波形盡可能接近于理想的正弦波形。SVPWM與傳統的正弦PWM不同,它是從三相輸出電壓的整體效果出發,著眼于如何使電機獲得理想圓形磁鏈軌跡。
為什么要使用SVPWM策略?為電機控制所需,SVPWM可以依據電機磁鏈和電壓的關系,從而實現對電動機恒磁通變壓變頻調速,并且SVPWM比SPWM的直流母線的電壓利用率高15%,更易于實現數字化。
2.SVPWM的輸入輸出分別是什么?
輸入:
1.旋轉坐標系dq軸電壓、自然坐標系下的ABC三相電壓等等載波信號
2.1輸入從何而來
2.2輸出用去做什么
作為永磁同步電機等被控對象的輸入:輸出的三相PWM信號可分別加在空間上互差120°的三相靜止坐標系上,可等效為幅度、頻率、相位的三相交流電,輸入信號含有的信息在這個三相交流電的幅度、頻率、相位中體現。由此可作為PMSM等被控對象的輸入,因為PMSM的轉速取決于該三相電壓的頻率。
3.理論基礎和結構組成
平均值等效原理:在一個開關周期內通過對基本電壓矢量加以組合,使其平均值與給定電壓矢量相等。通過改變計算機(數字控制器)輸出PWM波的占空比等效所需要的三相電壓。
3.1電路:三相逆變器
三相逆變器的電路圖和工作流程圖解如圖所示,
逆變器的開關電路有如下八種開合狀態
八種開合狀態的相電壓和線電壓的對應關系為:
3.2開關邏輯:如何為三相電路的開關賦值?
以減少開關次數為目標,將基本矢量作用順序的分配原則選定為:在每次開關狀態轉換時,只改變其中一相的開關狀態。并且對零矢量在時間上進行了平均分配,以使產生的PWM 對稱,從而有效地降低PWM的諧波分量。開關順序的選取有七段式序列。
下面動態展示工作流程(圖中是以三角波為例,正弦波與之類似)
4.Simulink仿真和程序講解
總體仿真模型(代碼來源見圖中備注)
4.1三相逆變電路部分由總體模型所示
4.2開關邏輯的實現如下圖所示
function pwm = fcn(Fs,Mag,ang,Sec,Vdc,clk)
% Time synchronization with the simulink clock.
t=clk;
% Vdc at workspace
% General expression for the calculation of T1, T2 and T0.
T1=(sqrt(3)*(Mag/Vdc))*sin(Sec*pi/3 -ang)/Fs;
T2=(sqrt(3)*(Mag/Vdc))*sin(ang - ((Sec-1)*pi/3))/Fs;
T0= (1/Fs -T1- T2)/2;
% Change of sectors
sec_ant=mod(floor(Sec),2);
if(sec_ant~=1) % detection sector exchange
T1=(sqrt(3)*(Mag/Vdc))*sin(ang - ((Sec-1)*pi/3))/Fs;
T2=(sqrt(3)*(Mag/Vdc))*sin(Sec*pi/3 -ang)/Fs;
end
% Sawtooth
ref= 1/Fs * rem(t,1/Fs)/(1/Fs);
% Time intervals
int1=T0/4;
int2=int1+T1/2;
int3=int2+T2/2;
int4=int3+T0/2;
int5=int4+T2/2;
int6=int5+T1/2;
timet=1+(ref >=int1)+(ref >=int2)+(ref >=int3)+(ref >=int4)+(ref >=int5)+(ref >=int6);
sw_array=zeros(3,7,6); %Initialize table of key states - > 3 rows (arms), 7 columns (times) and 6 vectors (sectors).
% ------Arm A -------- -------Arm B -------- -------Arm C --------
sw_array(:,:,1)=[0 1 1 1 1 1 0;0 0 1 1 1 0 0; 0 0 0 1 0 0 0]; %setor 1
sw_array(:,:,2)=[0 0 1 1 1 0 0;0 1 1 1 1 1 0; 0 0 0 1 0 0 0]; %setor 2
sw_array(:,:,3)=[0 0 0 1 0 0 0;0 1 1 1 1 1 0; 0 0 1