电力电子spwm和svpwm程序实现和psim仿真.doc
- 文档编号:14666528
- 上传时间:2023-06-25
- 格式:DOC
- 页数:13
- 大小:646.05KB
电力电子spwm和svpwm程序实现和psim仿真.doc
《电力电子spwm和svpwm程序实现和psim仿真.doc》由会员分享,可在线阅读,更多相关《电力电子spwm和svpwm程序实现和psim仿真.doc(13页珍藏版)》请在冰点文库上搜索。
三相桥式正弦波SPWM逆变器如图1所示。
图1三相桥式正弦波SPWM逆变器
解:
(1)、当采用叠加三次谐波的方法时,调制信号变为
式中为三次谐波,其相对基波的幅值为,。
对求最大值,由得:
①
又得:
则
则,将、带入得:
,此时是的函数,由得:
,此时。
当A=1V时,调制比,叠加三次谐波后直流电压利用率为:
此时对应的值即对应取得最大值时的值,即:
叠加上述幅值的三次谐波后,要保持输出电压不含低次谐波,原调制信号(和)幅值A还能提高,当刚好达到满调制时,即:
,得:
,即A可提高到1.155。
(2)、
I:
当k=0.5时,有:
对A相,加入零序电压后有:
则:
知,当刚达到满调制时,有,则,即基波幅值可提高到1.15倍的载波幅值,使直流电压利用率提高到1。
优点:
可以提高直流电压利用率
缺点:
不能减少开关频率
II:
当时,有:
对A相,加入零序电压后有:
则:
当时,,达到满调制;在时,,此时直流电压利用率为:
。
当时,可是负半部分利用率达到最大。
优点:
不仅可以提高直流电压利用率,而且可以使开关频率减少1/3,有利于减少开关损耗。
缺点:
由于有一段时间持续满调制,可能是输出含有的谐波次数降低,使滤波变得困难。
(3)、仿真(以a相为例):
I:
叠加三次谐波时,若,,则此时的仿真图如图2所示。
图2,时的仿真图
由图可见,当,,调制波叠加三次谐波后其峰值达到载波峰值,且基波幅值大于调制波峰值,从而提高了直流电压利用率,与理论分析相符。
II:
叠加k=0.5的零序电压时,若,则此时的仿真图如图3所示。
图3时的仿真图
由图可见,当,调制波叠加零次谐波后其峰值达到载波峰值,且基波幅值大于调制波峰值,从而提高了直流电压利用率,与理论分析相符。
III:
叠加k=1的零序电压时,若,则此时的仿真图如图4所示。
图4时的仿真图
由图可见,当,调制波叠加零次谐波后其峰值达到载波峰值,且基波幅值大于调制波峰值,从而提高了直流电压利用率,与理论分析相符。
由理论计算及仿真可知:
①通过在相电压的参考指令里注入1/6倍的基波分量幅值的三次谐波,就使得在不发生过调制的情况下调制系数m可以达到1.15,从而使输出线电压的峰值最大可以达到Ud
②通过在相电压的参考指令里注入零次谐波,当k取一定的值时可以减小开关频率,从而减少开关损耗;但同时可能使输出的谐波减小,从而使滤波变得困难。
(4)、采用空间矢量法(SVPWM)进行三相SVPWM调制,其仿真原理图如图5所示。
图4SVPWM仿真原理图
合成矢量为:
,则初始相位为:
程序流程图如图5所示。
图5程序流程图
程序清单:
#definepi3.1415
staticintn=0;
staticdoublet1,t2,t0,ta,tb,tc,ura,urb,urc;
intflag;//判断扇区的变量
doublea0=270,a1,a2;//矢量的相位角
doubleb=1.8;//每过Ts旋转的角度
doubleTs=0.0001;//载波周期
if(t>=n*Ts)
{
a1=a0+b*n;//每过Ts角度增加b
a2=a1-((int)a1/360)*360;//转的角度超过一圈时,减去圈数对应的角度,从而判读所在扇区
/******判断所在扇区******/
if(a2<60)
flag=1;
elseif(a2<120)
flag=2;
elseif(a2<180)
flag=3;
elseif(a2<240)
flag=4;
elseif(a2<300)
flag=5;
else
flag=6;
/******根据所在扇区,计算时间******/
switch(flag)
{
case1:
{
t1=sqrt(3)*Ts*sin((60-a2)*2*pi/360)/200;
t2=sqrt(3)*Ts*sin(a2*2*pi/360)/200;
t0=Ts-t1-t2;
ta=t1+t2+t0/2;
tb=t2+t0/2;
tc=t0/2;
break;
}
case2:
{
t1=sqrt(3)*Ts*sin((60*2-a2)*2*pi/360)/200;
t2=sqrt(3)*Ts*sin((a2-60)*2*pi/360)/200;
t0=Ts-t1-t2;
tb=t1+t2+t0/2;
ta=t1+t0/2;
tc=t0/2;
break;
}
case3:
{
t1=sqrt(3)*Ts*sin((60*3-a2)*2*pi/360)/200;
t2=sqrt(3)*Ts*sin((a2-60*2)*2*pi/360)/200;
t0=Ts-t1-t2;
tb=t1+t2+t0/2;
tc=t2+t0/2;
ta=t0/2;
break;
}
case4:
{
t1=sqrt(3)*Ts*sin((60*4-a2)*2*pi/360)/200;
t2=sqrt(3)*Ts*sin((a2-60*3)*2*pi/360)/200;
t0=Ts-t1-t2;
tc=t1+t2+t0/2;
tb=t1+t0/2;
ta=t0/2;
break;
}
case5:
{
t1=sqrt(3)*Ts*sin((60*5-a2)*2*pi/360)/200;
t2=sqrt(3)*Ts*sin((a2-60*4)*2*pi/360)/200;
t0=Ts-t1-t2;
tc=t1+t2+t0/2;
ta=t2+t0/2;
tb=t0/2;
break;
}
case6:
{
t1=sqrt(3)*Ts*sin((60*6-a2)*2*pi/360)/200;
t2=sqrt(3)*Ts*sin((a2-60*5)*2*pi/360)/200;
t0=Ts-t1-t2;
ta=t1+t2+t0/2;
tc=t1+t0/2;
tb=t0/2;
break;
}
}
/******根据各管导通的时间计算调制电压******/
ura=2*ta/Ts-1;
urb=2*tb/Ts-1;
urc=2*tc/Ts-1;
n++;
};
/******输出调制电压,用于和三角载波比较******/
y1=ura;
y2=urb;
y3=urc;
仿真结果如图6、7所示。
图6Cblock模块输出信号
图7与图6对应的各输出信号与三角载波比较后输出信号
由仿真图可知,与理论相符合
(5)、采用调整零矢量的方法实现三相SVPWM调制,其原理图同图4。
当k=1,即零矢量用,,,则在I、VI扇区,Sa=1;在II、III扇区,Sb=1;在IV、V扇区,Sc=1。
程序清单:
#definepi3.1415
staticintn=0;
staticdoublet1,t2,t0,ta,tb,tc,ura,urb,urc;
intflag;//判断扇区的变量
doublea0=270,a1,a2;//矢量的相位角
doubleb=1.8;//每过Ts旋转的角度
doubleTs=0.0001;//载波周期
if(t>=n*Ts)
{
a1=a0+b*n;//每过Ts角度增加b
a2=a1-((int)a1/360)*360;//转的角度超过一圈时,减去圈数对应的角度,从而判读所在扇区
/******判断所在扇区******/
if(a2<60)
flag=1;
elseif(a2<120)
flag=2;
elseif(a2<180)
flag=3;
elseif(a2<240)
flag=4;
elseif(a2<300)
flag=5;
else
flag=6;
/******根据所在扇区,计算时间******/
switch(flag)
{
case1:
{
t1=sqrt(3)*Ts*sin((60-a2)*2*pi/360)/200;
t2=sqrt(3)*Ts*sin(a2*2*pi/360)/200;
t0=Ts-t1-t2;
ta=Ts;
tb=t2+t0;
tc=t0;
break;
}
case2:
{
t1=sqrt(3)*Ts*sin((60*2-a2)*2*pi/360)/200;
t2=sqrt(3)*Ts*sin((a2-60)*2*pi/360)/200;
t0=Ts-t1-t2;
tb=Ts;
ta=t1+t0;
tc=t0;
break;
}
case3:
{
t1=sqrt(3)*Ts*sin((60*3-a2)*2*pi/360)/200;
t2=sqrt(3)*Ts*sin((a2-60*2)*2*pi/360)/200;
t0=Ts-t1-t2;
tb=Ts;
tc=t2+t0;
ta=t0;
break;
}
case4:
{
t1=sqrt(3)*Ts*sin((60*4-a2)*2*pi/360)/200;
t2=sqrt(3)*Ts*sin((a2-60*3)*2*pi/360)/200;
t0=Ts-t1-t2;
tc=Ts;
tb=t1+t0;
ta=t0;
break;
}
case5:
{
t1=sqrt(3)*Ts*sin((60*5-a2)*2*pi/360)/200;
t2=sqrt(3)*Ts*sin((a2-60*4)*2*pi/360)/200;
t0=Ts-t1-t2;
tc=Ts;
ta=t2+t0;
tb=t0;
break;
}
case6:
{
t1=sqrt(3)*Ts*sin((60*6-a2)*2*pi/360)/200;
t2=sqrt(3)*Ts*sin((a2-60*5)*2*pi/360)/200;
t0=Ts-t1-t2;
ta=Ts;
tc=t1+t0;
tb=t0;
break;
}
}
/******根据各管导通的时间计算调制电压******/
ura=2*ta/Ts-1;
urb=2*tb/Ts-1;
urc=2*tc/Ts-1;
n++;
};
/******输出调制电压,用于和三角载波比较******/
y1=ura;
y2=urb;
y3=urc;
仿真图如图8、9所示。
图8k=1时(Va)的仿真图
由图可知,k=1调整零矢量的SVPW方法与叠加零序电压的SPWM调制方法相似,都能够减少开关次数,从而减小开关损耗。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电力 电子 spwm svpwm 程序 实现 psim 仿真