SVPWM的实现过程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

CompACompBCompCSVPWM算法的实现过程1、算法的输入与输出输入、输出:三个比较寄存器的值CompA、CompB、CompC根据给定的二相静止坐标系中两个电压分量、,根据电压矢量所在的扇区选择相邻的两个的电压矢量,并计算相邻两个电压矢量的作用时间,按照7段式SVPWM对CompA、CompB、CompC进行赋值,算法的流程如下:2、扇区计算空间矢量调制的第一步是判断由、所决定的空间电压矢()量所处的扇区。假定合成的电压矢量落在第I扇区,可知其等价条件如下:0arctan(/)60º以上等价条件再结合矢量图几何关系分析,可以判断出合成电压矢量。落在第N扇区的充分必要条件,得出下表1-1:扇区落在此扇区的充要条件I,0且Ⅱ,且Ⅲ,且-Ⅳ,且/Ⅴ且Ⅵ,且/若进一步分析以上的条件,有可看出参考电压矢量所在的扇区完全由、计算电压矢量所在的扇区N选取电压矢量并计算相邻两个电压矢量作用的时间Tx、Ty采用7段式SVPWM计算比较寄存器的值NTxTy-、-三式决定,因此令:123322322UUUUUUUU再定义,若U10,则A=1,否则A=0;若U20,则B=1,否则B=0;若U30,则C=1,否则C=0。可以看出A,B,C之间共有八种组合,但由判断扇区的公式可知A,B,C不会同时为1或同时为0,所以实际的组合是六种,A,B,C组合取不同的值对应着不同的扇区,并且是一一对应的,因此完全可以由A,B,C的组合判断所在的扇区。为区别六种状态,令X=4*C+2*B+A,则可以通过下表计算参考电压矢量Uref所在的扇区。表1-2X值与扇区对应关系X315462扇区号ⅠⅡⅢⅣⅤⅥ采用上述方法,只需经过简单的加减及逻辑运算即可确定所在的扇区,对于提高系统的响应速度和进行仿真都是很有意义的。3、扇区相邻电压矢量的作用时间计算当电压矢量位于第一扇区时,欲用U4、U6、U0及U7合成,用平均值等效可得:4466refSUTUTUT因为|U4|=|U6|=2Udc/3,所以可以得到各矢量的状态保持时间为:当电压矢量位于其他扇区时同理可算出相邻电压的作用时间:第二扇区:第三扇区:=第四扇区:第五扇区:第六扇区:令,,,则在每个扇区相邻的两电压矢量的作用时间如下表所示:表1-3时间扇区TxTyIxzIIy-zIIIx-yIV-x-zV-yzVI-xy4、计算比较寄存器的值通过上面的计算,已经的到了电压矢量所在的扇区以及相邻电压矢量的作用时间,接下来的问题是如何根据上面的结果来计算寄存器的值,使得DSP的ePWM模块发出正确的脉冲信号控制三相电桥。空间矢量的序列组织方式有多种,按照空间矢量的对称性分类,可分为两相开关换流与三相开关换流。下面采用7段式SVPWM计算寄存器的值。当参考电压矢量位于第一扇区时,由U4、U6、U0及U7合成,这四个基本矢量的作用时间与开关状态关系如下图:其中T0=T7=(Ts-T4-T6)/2,如果(T4+T6)Ts(Ts为载波周期),则需等比例调整T4与T6,'44666460740ssTTTTTTTTTTTT根据上图可得到三个比较寄存器的值CompA=,CompB=,CompC=,其中f为比较器脉冲时钟频率,同理可得到在其它几个扇区时,每个比较寄存器的值:第二扇区:CompA=,CompB=,CompC=第三扇区:CompA=,CompB=,CompC=第四扇区:CompA=,CompB=,CompC=第五扇区:CompA=,CompB=,CompC=第六扇区:CompA=,CompB=,CompC=根据表1-3,用Tx,Ty表示相邻两个矢量的作用时间,则三个比较寄存器的值可以写成统一的形式,如下表所示:表1-4CompACompBCompCIIIIIIIVVVI5、C语言编程实现程序代码如下:voidsvpwm(float*ptr){intA,B,C,N;doubleX,Y,Z,Tx,Ty,T0,Tl,Tm,Th;if(usbeta0)A=1;elseA=0;if((1.732051*usalfa-usbeta)0)B=1;elseB=0;if((-1.732051*usalfa-usbeta)0)C=1;elseC=0;N=A+2*B+4*C;//计算扇区X=1.732051*usbeta*Ts/udc;Y=(0.8660*usbeta+1.5*usalfa)*Ts/udc;Z=(-0.8660*usbeta+1.5*usalfa)*Ts/udc;switch(N)//各个扇区的作用时间{case1:Tx=Y;Ty=-Z;break;case2:Tx=-X;Ty=Y;break;case3:Tx=Z;Ty=X;break;case4:Tx=-Z;Ty=-X;break;case5:Tx=X;Ty=-Y;break;default:Tx=-Y;Ty=Z;}if((Tx+Ty)Ts){Tx=Tx*Ts/(Tx+Ty);Ty=Ty*Ts/(Tx+Ty);}T0=(Ts-(Tx+Ty))/4;Tl=(Ts+Tx-Ty)/4;/*Tl=T0/4+Tx/2*/Tm=(Ts-Tx+Ty)/4;/*Tm=T0/4+Ty/2*/Th=(Ts+Tx+Ty)/4;/*Th=T0/4+Ty/2+Ty/2*/switch(N)//比较寄存器赋值{case1:*ptr=Tm;*(ptr+1)=T0;*(ptr+2)=Th;break;case2:*ptr=T0;*(ptr+1)=Th;*(ptr+2)=Tm;break;case3:*ptr=T0;*(ptr+1)=Tl;*(ptr+2)=Th;break;case4:*ptr=Th;*(ptr+1)=Tm;*(ptr+2)=T0;break;case5:*ptr=Th;*(ptr+1)=T0;*(ptr+2)=Tl;break;default:*ptr=Tl;*(ptr+1)=Th;*(ptr+2)=T0;}}程序流程图:

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功