• 大小: 0.36M
    文件类型: .pdf
    金币: 1
    下载: 0 次
    发布日期: 2021-03-28
  • 语言: 其他
  • 标签: 其他  

资源简介


TI关于SVPWM变频调速的官方代码的详细解释与相应实现过程 学习变频器原理的可以下载地看看
5、跟SPWM调制相比, SVPWM调制具有谐波少、电压利用率高的优点 由a、B轴分量组成 0+ DC +C=F 3 Ueo0011) lbeta 60° Alfa U,(001) Figure 30. Projection of the Reference Voltage Vector SVPWM把每一个扇区分成若干个对应于开关周期的小区间,在每个小区间,用所在扇区 的有效电压矢量U、和零电压矢量(0或者)的线性组合来合成参考电压矢量F。 SVPM流程: 1、确定劇区 2、计算X、Y、Z,进而计算4、厶2; 3、确定an、lon、 1、把、t、t赋给Z、Z、D; 5、进而、Z、7赋给 CMPRX。 1、扇区判断: 通过逆 Clarke变换,把(a、UB变换成三相对称系统下: Un+U×√3 Ua-×√3 2 例如,当U= sin at,D= COS Ot时,有: cOS Ot os(t-120° e3=cos(1+120 可以看出,上述变换中,U定位在β轴,该变换比常规的 Clarke逆变换超前90° 实际上,当U=sino,OB=cOSQ1时,常规的 Clarke逆变换为 U=sin ot C/=sin(4-1209) (4) C=sin(t+120°) 可以通过bm、Dm2、Om的极性来判断m所处扇区,令 0 b 0,1≤0 0,ma2≤0 上述三个判断式实际上是以3条轴线为分界进行的判断: 判断电压 0 Urefl S1、S2、S3 S、S5、S6 Uref2 S2、S3、S4 Uref3 S3、S4、S5 Sl、S2、S6 定义M=a+2*b+4*C,则N与扇区的对应关系如下: 4 5 6 6 2、时间计算 以上图为例,在第扇区中,Um可由C和U来表示: 7=7+3+7 U+l 7和3分别为C0和C6作用的时间,可由下式求得: (60 U6o cos(60%) 电压幅值进行归一化处理:线电压最大值为ll,以相电压最大值—为基值,则有: J证e,其标幺值为—根据式(3)可得: =(√3U0-CB) 73=花 时间进行归一化处理:以载波周期T为基值,则有: 同理,在第二扇区中,UD可由L120和0来表示,则有: 71(3U+Up) (10) 7 (√3U+ 其中,G是U120作用的时间。 F=(√3+UB) (11) z=3(-√3+U) 这样一来,在第一扇区中,4=-2,12=H,41-U,2-U6;在第二扇区中, 1=,2=V,1-D120,12-Cm。其它扇区中,如下表所示: Table 70. t and t2 Definitions for different sectors in Terms of xy and z Variables Sector 0060 0, U120 U120. 0180 U180, U240 U u 2400300 t1 X t2 X Y X 扇区 4 5 t1对应欠量 1201201240240 UO t2对应矢量U60 U60 L180 L180 L300 L300 采用七段式SWPW调制,每个载波片期中依次有:1个开关导通-2个开关导通3个开关 导通2个开关导通1个开关导通 3、确定ln con 1-41-l2 t+ (12) 4、把ln、lm、lm赋给石、、7,进而7、7、赋给 CMPRX: 确定了、t、后,应根据输出电压矢量所处扇区来给DSP赋值,这种对应关系 如卜表 Table 71. Assigning the Right Duty Cycle to the Right Motor Phase Sector 0:60 10U120,U180U10:U240u240,U30U30oU0 Ta fan ton tcon tcon the taon Ib ton taon taon toon icon tcon Ic tcon tcon toon tann taon ton 一程序部分-C++版 File name: SVGEN DQ C (IQ version) Originator: Digital Control Systcms Group Texas Instruments Description: Space-vector PWM generation based on d-q components History: 04-15-2005 Version 3.20 #include"IQmathLib h // Include header for IQ math library l Don't forget to set a proper gloBaL Q in"IQmath Lib. h "file #include doctype. h" #include svgen dg. h void svgendq calC(SVGENDQ v) iq Va,Vb, Vc,tI, t2 Uint32 Sector =0 // Sector is treated as Q0-independently with global Q // Inverse clarke transformation Va=v->Beta Vb=IQmpy( IQ(0.5), v->Beta)t IQmpy( iQ(0. 8660254) V->Alpha); //sqrt(3)/2 Vc= IQmpy( IQ(-05), v->Beta)-IQmpy( IQ(0.8660254)V-Ualpha); //sarl(3)/2 1/60 degree Sector determination if (Va> IQ(0) if(Vb> IQ(0)) Sector= Sector + 2 if(Vc> IQ(o)) Sector Sector +4 //X,Y,Z(Va,Vb, Vc) calculations Va=ⅴ-> beta: ∥X=Va Vb= IQmpy( IQ(0.5), v->Ubeta)+ IQmpy( IQ(0.8660254)v->Alpha); /Y=Vb Vc=IQmpy(IQ(0.5), v->Ubeta)-IQmpy( IQ(0.8660254), V->Alpha); //Z=Vc 6 if (Sector0)/ Sector 0: this is special case for (Alpha, Ubeta)=(0, 0) V->Ta=lQ(0.5) V->Tb= IQ(0.5) Tc=1Q(0.5); if(Sector-1)/Sector I: tI=Z and t2=Y(abc --- Tb, Ta, Tc), 60-120 tI=Vc t2=vb V->Tb=IQmpy( IQ(0.5),(iQ(1)-t1-t2)) ∥tbon=(1-t1-t2)/2 ⅴ->Ta=V->Tb+t1: ∥/taon=tbon+t y icon= laon+u else if(sector==2)//Sector 2: tl=Y and t2=-X(abc --->Ta, Tc, Tb), 300-360 t1=vb V->Ta=lmpy(IQ(0.5),1Q(1)-1-t2) ∥taon=(1-t1-12)/2 V->Tc=v->Ta+tl l tcon= taon+tI v->Tb=v->TC+2 //lbon=icon+2 else if (sector=3)/ Sector 3: tI--Z and t2=X(abc --- Ta, Tb, Tc), 0-60 L1=二V V->Ta=IQmpy( IQ(0.5),(IQ(1)-tl-t2)) taon=(1-t1-t2)/2 v->Tb=v->Ta+t1 // ton= taon+t1 v->Tc=v->Tb i t2 ∥/tcon=tbon+t2 else if Sector-4)//Sector 4: t1--X and t2-Z (abc --- Tc, Tb, Ta), 180-240 tl=-Va: V->Tc= IQmpy(IQ(0.5),1Q(1)-1-t2); //tcon=(1-t1-t2)/2 Y->Tb=v->Tc+tl // ton- tcon+t1 v->Ta=v->Tb+t2 ∥/taon=tbon+t2 else if (Sector==5)/Sector 5: tl=X and t2=-Y(abc ---> Tb, Tc, Ta),120-180 tl= Va 7->Tb=IQmpy( IQ(0.5),(IQ(1)-t1-t2)) ∥tbon=(1-t1-t2)2 V->Tc=v->Tb+t1 // tcon= ton +t1 v->Ta=v->Tclt2 l taon= tcon I t2 clsc if (Sector=6)//Sector 6: t1=-Y and t2=-Z(abc --->Tc, Ta, Tb), 240-300 tl=-Vb t2=-Vc V->Tc= LUmpy(IQ(0.5),C1Q(1)-1-(2); ∥con=(1-11-12)/2 7 taon- tcon+tl V->Tb=->1a+t2 // ton taon+t2 l Converl the unsigned GLOBAL Q format (ranged(0. 1))-> Signed GLOBAL Q format (ranged Ta=IQmpy( IQ(2.0), (v->Ta-IQ(0.5)) V->Tb= IQmpy( IQ(2.0), (v-2>Tb-IQ(0.5))) V-2Tc=IQmpy( IQ(2.0),(v-Tc-IQ(0.5)) 把石、、T赋给CMPR 在把T赋给 CMPRX之前先进行T=2*(T0.5)处理,赋值时再进行CMPR=(T2+2)*TIPR 处理,实际上T=2*(T-0.5)2+0.5=T,变换前后没有变化,但这样便于采用赋值函数直接进行 赋值。 分析一:第一扇区,设dx=0.3,dy=0.5,dz=0.2为例 处理前:Ta=0.1,Tb=0.4,Te=0.9 终T=2*(T05)处理后:Ta=-0.8,Tb=-0.2,Tc=0.8 赋值时再进行CMPR-T/2+T1PR2处理后:Ta=0.1,Tb-0.4,Tc=0.9; tcon thon taon PWMI PWM3 PWM5

资源截图

代码片段和文件信息

评论

共有 条评论