关键词不能为空

当前您在: 主页 > 英语 >

SVPWM算法设计_

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-03-01 11:51
tags:

-

2021年3月1日发(作者:shiga)


SVPWM


算法设计




进入中断


ISR


关中断


IntDisable


PID


调节

Vd



Vq


< br>PARK


变换


InversePark

< br>V


α



V


β



计算扇区


SectorCalc ulator


SVPWM


程序


Svpw m


计算作用时间


TimeCalculator


更新比较值


CompUpdate


开中断


IntEnable


退出中断


1 SVPWM


在中断服务程序中的位置







算法原理:



1


,逆


PARK


变换(


Inverse Park()



,旋转坐标系到静止坐标系的变换




由于矢量控制算法是在旋转坐标系


d-q


坐标系中完成的,当给定量(


Vd, < /p>


Vq



计算出来后


,


需要转换成静止坐标系,最终转化成对定子交流量的控制。逆


PARK


变换公式如下:



?


V


?


?


?

< p>
cos


?



?


V


?


?


?

< p>
?


?


?


?


sin


?


?


sin

< p>
?


?


?


V


d


?


?


V

?


(


θ


cos

?


?


?


?


q


?


为电角度,


d

轴与


α


轴的夹角


)


2



SVPWM


算法(


Svpwm()




1)



计算扇区


N


从电压空间矢量图可以看 出,当


Vref



0 - 60


度时,位于


IV


扇区;在

60




120


度时,位于


VI


扇区;在


12 0




180


度时,位于


II


扇区;在


180




240


度 时,


位于


III


扇区;



240-300


度时,


位于


I


扇区;



3 00




360



1


度时,位于


V


扇区。



V


a


?


V

?


令:


V


b


?


1


/


2


(


3


V


?


?


V


?


)


(



CLARK


变换


2/ 3)


V


c


?


1


/


2


(


?< /p>


3


V


?


?


V


?


)


这三个电压值 的正负决定了电压矢量所属的扇



011


区。总结规律,扇区的计算可表示为:



if(Va>0)



a=0;



else a=1;


if(Vb>0)



b=0;



else b=1;


if(Vc>0)



c=0;



else c=1;


N=a+2*b+4*c;


2)


< /p>


计算矢量作用时间


t


start



t


end



t


Z



2


电压空间矢量图



对一个给定的矢量< /p>


V


ref,


可以用相邻的两个非零矢量与 两个零矢量


(


V


0,

< br>V


7)


根据平均值等效的原则得到。


V


ref


IV


扇区时,


计算公式如


下:



V


ref


?


T


?


V


4


?


t


4


?


V


6


?


t

< br>6


?


V


Z


?


t


Z


T


?


t


4


?


t


6


?


t


Z


从而得到,



t


6


?


(


3


T


/


V


DC


)


?


V


?


t

< p>
Z


?


T


?


t


4


?


t

6


类似的,当


V


ref

< p>


VI


区时,




t


4


?


(


3


T


/


V


DC


)


?

< p>
1


/


2


(


3


V


a


?

V


?


)



t


6


?


(


3< /p>


T


/


V


DC


)


?


1


/


2


(


3


V


?


?


V


?

< br>)



t


2


?


(


3


T


/


V


DC


)< /p>


?


1


/


2


(


?


3


V

< p>
?


?


V


?


)



t


Z

?


T


?


t


2


?


t


6


当< /p>


V


ref



II


区时,



t


2


?


(


3


T


/


V


DC


)


?


V


?



t


3


?


(


3


T


/


V


DC


)


?


1

< p>
/


2


(


?


3


V


?


?

V


?


)



t


Z


?


T


?< /p>


t


2


?


t


3


总结规律如下表


(



K


?


3


T< /p>


/


V


DC


)


扇区



IV


VI


II


III


I


V


t


statrt


/K




Vb



t


end


/K



Va


-Vc


-Vb


Va


Vc


-Vb


-Va


Vc


Vb


-Va


-Vc


< /p>


以上是在电压矢量逆时针旋转时的规律,


t


start



t


end


是顺着电压矢量


旋转方向前后两相邻矢量的作用时间。顺时针旋转时只需要把


t


start




2



t< /p>


end


调换即可。


根据尽可能少的切换功率开关的原则,


各个扇区的


ePWM


波形如图


2


规划,这样每次只须切换一 个桥臂的功率开关。例如在


IV


区时,矢量

切换顺序是:


V0(t


z


/4) -> V4(t


start


/2) -> V6(t


end


/2) ->V7(t


z


/2) ->


V6(t


end


/2)-> V4(t


start


/2)-> V0(t

z


/4)





3)



计算并更新比较值



EPWM


软件模块初始化(设置成同步、互补、


Up-Down

< br>模式)完成后需要实


时更新比较值


, . ,




。在第四区时,比较值的计算方法:




1












2













3


Udc


A


B


C



3



EPWM


硬件原理示意



Epwm


1


Re


< p>


?


TBPRD


?


Epwm


2


Re




?


TBPRD


?


t


z


2


T


t


z


?


2


t


start


2


T



t


z


?

< p>
2


t


start


?


2


t


end


Epwm


3


Re




?


TBPRD


?


2< /p>


T




3




函数描述



1.



主程序初始化中


EPWM


模块初始化()



//EPWM Module 1 Initial


=EPWMPRD>>1;














//


周期设定,

< br>EPWM


周期



= 2*TBPRD


=0;


























//


相位寄存器值


=0


E=TB_COUNT_UPDOWN;




//


对称模式



=TB_DISABLE;
















//


主模块设定


=TB_SHADOW;
















//


周期寄存器使能映像载入



EL=TB_CTR_ZERO;






//


TB CTR=0


时输出同步信号



ODE=CC_SHADOW;



//A


比较器设置为映像模式



ODE =CC_SHADOW;



//B


比较器设置为映像模式



ODE = CC_CTR_ZERO;



// A



CTR=0


时载入映像值


ODE = CC_CTR_ZERO;



// B



CTR=0


时加载映像值



= AQ_SET;


















// EPWM1A


动作设置



= AQ_CLEAR;


_MODE = DB_FULL_ENABLE;



//


使能死区模块



= DB_ACTV_HIC;





//


设置高电平有效(


A


)互补模式



//B


为低电平有效



= DBPRD;























//


下降沿死区时间计数器设置


= DBPRD;























//


上升沿死区时间计数器设置



//


……




2.




PA RK


变换(


InversePark(V


d


, V


q


, Theta)




功能:


将指令电压矢量指令从旋转坐标系



d-q



转换到固定坐标系



α


-


β



。< /p>



输入量:


V


d


, V


q


, Theta(d, q


轴电压分量,扫描到的电角度


)


输出量:


Val, V


be

< p>


α



β


轴电压分量




算法描述


: define V


d


, V


q


, Theta;


Val=cos(Theta)*Vd-sin(Theta)*Vq;


Vbe=sin(Theta)*Vd+cos(Theta)*Vq;


return(Val,Vbe);


3.


< br>SVPWM


程序(


Svpwm(Val

< br>,


Vbe)




功能:使


EPWM


模块发出


P WM


波,进而控制功率开关产生


SVPWM

波形。



输入量:


V


al


,V


be


< p>
α



β


轴电压分量




输出量:


(EP WM


比较寄存器的值


)


算法描述:




define Val,Vbe,Va,Vb,Vc,n; // Va,Vb,Vc


可设为全局变量



Va=Vbe;


Vb=0.5*(1.732*Val-Vbe);


Vc=0.5*((-1.732)*Val-Vbe); //

< br>逆


CLARK


变换


2/3


SectorCalculator()



//


计算扇区



TimeCalculator()



//


计算矢量所需的作用时间



CompUpdate()



//


更新比较寄存器中比较值



end;



4

< br>1)


计算扇区


(SectorCalculator() )


功能:计算


Vref


所在的扇区< /p>


n




输入量:


V


al


,V


b e



α



β< /p>


轴电压分量




输出量:


n(


所在扇区序数


)


算法描述:




if(Va>0)



a=0;



else a=1;


if(Vb>0)



b=0;



else b=1;


if(Vc>0)



c=0;



else c=1;


n=a+2*b+4*c;


return n;


2)


计算作用时间


(TimeCalcul ator())


功能:计算与


Vref


相邻两矢量各自所需要的作用时间。



输入量:


Va, Vb, Vc, Vdc, n, TBPRD; (TBPRD



TB


同 步时钟周期


)


输出量:


Tstart, Tend, Tz; (


相邻两矢量作用时间,零矢量作用时间


)


算法描述:



define K=1.732*TBPRD/Vdc;


switch (n)


{ n=4: Tstart=K*Vb; Tend=K*Va;


n=6: Tstart= (-1)*K*Vc; Tend= (-1)*K*Vb;


n=2: Tstart=K*Va; Tend=K*Vc;


n=3: Tstart= (-1)*K*Vb; Tend= (-1)*K*Va;


n=1: Tstart=K*Vc; Tend=K*Vb;


n=5: Tstart= (-1)*K*Va; Tend= (-1)*K*Vc;


}


Tz=TBPRD- Tstart-Tend;


3)


更新比较值(


CompUpdate()




功能:更新比较寄存器中的比较值。



输入量:


Tstart, Tend, Tz



n


输出量:

< br>Tact1



Tact2



Tact3(3


个动作时间点,分别对应


3



EPWM


比较


寄存器的值


)


算法描述:



switch (n)


{


n=4: Tact1=Tz/4;


Tact2=Tz/4+Tstart/2;


Tact3=Tz/4+Tstart/2+Tend/2;


n=6: Tact1= Tz/4+Tend/2;


Tact2= Tz/4;


Tact3= Tz/4+Tstart/2+Tend/2;


n=2: Tact1= Tz/4+Tstart/2+Tend/2;


Tact2= Tz/4;


Tact3= Tz/4+Tstart/2;


n=3: Tact1= Tz/4+Tstart/2+Tend/2;


Tact2= Tz/4+Tend/2;



5

-


-


-


-


-


-


-


-



本文更新与2021-03-01 11:51,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/688026.html

SVPWM算法设计_的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文