二、继续添加离散域z下的参数设计(本部分主要为参考文献Digital Control For Power Factor Correction搬运)
1)参考论文《Digital Control For Power Factor Correction》,式子eq3-42可知
占空比到电流传函为
Gidz=Vo*Ts/L/(z-1);
本例中相关参数:Vo=400V,L=380uH,电流采样衰减比Ki=0.0725,fs=100khz,Ts=10us
补偿器设计目标:穿越频率为8khz,相角裕度45度。
2) 一零点补偿法
注意其控制器形式为:Cz=Kp*(z-kk)/(z-1) ,应该属于PI控制器。 (原论文中在画figure36时,所用Cz表达式可能是笔误,或者考虑了延时1/z)
图1,图2,图3
对应的matlab m文件
L=380e-6;
Vout=400;
fs=100e3;
Ts=1/fs;
Ki=0.0725;
fc=8e3;
wc=2*pi*fc;
%计算kk
degreeA=atan(sin(wc*Ts)/(cos(wc*Ts)-1))*360/2/pi;
degreeB=wc*Ts*180/pi;
degreeC=-2*degreeA-degreeB;
degreeD=-180+45-degreeC;
TanValue=tan(degreeD*2*pi/360);
kk=cos(wc*Ts) - sin(wc*Ts)/TanValue
%计算kp
a=sqrt((sin(wc*Ts))^2+(cos(wc*Ts)-kk)^2);
b=sqrt((sin(wc*Ts))^2+(cos(wc*Ts)-1)^2);
Kp=1*L*b*b/Vout/Ts/a/Ki
至此,可以得到一零点补偿器。以及经该补偿器补偿后的环路bode图7。
3)两零点补偿法
注意其控制器形式为:Cz=Kp*(z-kk)^2/z/(z-1),应该属于PID控制器
图4,图5,图6
对应的matlab m文件
L=380e-6;
Vout=400;
fs=100e3;
Ts=1/fs;
Ki=0.0725;
Tdelay = Ts;
z=tf('z',Ts);
fc=8e3;
wc=2*pi*fc;
%计算kk
degreeA=atan(sin(wc*Ts)/(cos(wc*Ts)-1))*360/2/pi;
degreeB=wc*Ts*180/pi;
degreeC=-2*degreeA-2*degreeB;
degreeD=(-180+45-degreeC)/2;
TanValue=tan(degreeD*2*pi/360);
kk=cos(wc*Ts) - sin(wc*Ts)/TanValue
%计算kp
a=sqrt((sin(wc*Ts))^2+(cos(wc*Ts)-kk)^2);
b=sqrt((sin(wc*Ts))^2+(cos(wc*Ts)-1)^2);
Kp=1*L*b*b/Vout/Ts/a/a/Ki
至此,可以得到两零点补偿器。以及经该补偿器补偿后的环路bode图8。相关离散域下参数设计m文件以及参考文件见附件。