实验三最少拍控制算法matlab仿真实验.docx
《实验三最少拍控制算法matlab仿真实验.docx》由会员分享,可在线阅读,更多相关《实验三最少拍控制算法matlab仿真实验.docx(16页珍藏版)》请在冰点文库上搜索。
实验三最少拍控制算法matlab仿真实验
实验三、最少拍控制算法matlab仿真实验
实验目的:
1.掌握最少拍有纹波、无纹波系统的设计方法;2.学会最少拍控制系统的分析方法;3.了解输入信号对最少拍控制系统的影响及改进措施
二、实验内容:
设单位反馈线性定常系统的连续部分和零阶保持器的传递函数分别为:
11e
G0(s),Gh(s)
s(s1)s
,采样周期T=1秒。
要求系统在单位阶跃输入时实现最少拍控制,求数字控制器的脉冲传递函数D(z)。
讨
论加上控制器后的系统输出在采样点之间是否存在纹波,若存在纹波,请设计最少拍无纹波控制器。
系统
结构如图:
1、对未加控制器时的闭环系统分析其是否满足最少拍要求
clearall;
clc;
%零极点形式的被控对象
%采样周期
%广义被控对象脉冲传函
'v');
%原系统闭环传递函数
G=zpk([],[0,-1],1);
T=1;
Gd=c2d(G,T,'zoh')[num1,den1]=tfdata(Gd,
GG=feedback(Gd,1)yd_1=0;yd_2=0;
ed_1=0;ed_2=0;
fork=1:
1:
35
time(k)=k*T;
rin(k)=1;%单位阶跃信号
%闭环系统的差分方程yd(k)=num1
(2)*ed_1+num1(3)*ed_2-den1
(2)*yd_1-den1(3)*yd_2;ed(k)=rin(k)-yd(k);%求偏差%数据更新
ed_2=ed_1;ed_1=ed(k);yd_2=yd_1;yd_1=yd(k);
end
yd%原闭环系统的输出序列
ed%原闭环系统的偏差序列
figure
(1);
plot(time,rin,'r',time,yd,'g',time,ed,'b');xlabel('time');
ylabel('rin,yd');
title('闭环系统在单位速度信号下的响应');
text(3,23,'红线:
输入信号;绿线:
系统输出响应;蓝线:
偏差');
1)原系统闭环脉冲传递函数为:
GG=
0.36788(z+0.7183)(z^2-z+0.6321)
得系统特征根为z0.5j0.618,
特征根z20.520.61820.250.490.741,即闭环系统稳定。
2)广义对象的开环脉冲传递函数为:
Gd=
0.36788(z+0.7183)
(z-1)(z-0.3679)可知,开环脉冲传递函数有z1的极点个数为1,系统为I型系统。
对于单位速度输入,稳态误差不为零。
即原来的闭环系统达不到最少拍系统中对某个输入稳定无静差的要求。
3)原闭环系统输出序列为:
yd=
Columns1through9
00.36791.00001.39961.39961.14700.89440.80150.8682
Columns10through18
0.99371.07701.0810
1.0323
0.9811
0.9607
0.9726
0.9975
1.0148
Columns19through27
1.01641.00700.9967
0.9922
0.9943
0.9992
1.0028
1.0033
1.0015
Columns28through35
0.99940.99850.9988
0.9998
1.0005
1.0007
1.0003
0.9999
可知,系统输出在第十三拍以后,基本稳定为1,满足稳定性要求。
调节时间为13s。
动态过程为13拍,
达不到最少怕的要求。
原闭环系统偏差序列为:
ed=
Columns1through9
1.00000.63210.0000-0.3996-0.3996-0.14700.10560.19850.1318
Columns10through18
0.0063-0.0770-0.0810-0.0323
0.0189
0.0393
0.0274
0.0025-0.0148
Columns19through27
-0.0164-0.00700.00330.0078
0.0057
0.0008
-0.0028
-0.0033-0.0015
Columns28through35
0.00060.00150.00120.0002
-0.0005
-0.0007
-0.0003
0.0001
可知,系统偏差输出在第十三拍(系统稳定)以后,基本保持0大小,无静差。
4)
原闭环系统输出曲线
1.4
1.2
1
0.8
yd0.6
y
i,rn0.4
0.2
0
-0.2
-0.4
从图中也可看出,原系统不满足最少拍要求。
需要串入最少拍调节器。
2、设计最少拍控制器:
步骤:
(1)确定有零阶保持器的广义对象G(z)
clearall;
Closeall;
clc;
G=zpk([],[0,-1],1);
T=1;
Gd=c2d(G,T,'zoh');广义被控对象的脉冲传递函数为:
0.36788(z+0.7183)
(z-1)(z-0.3679)可知,广义被控对象没有单位圆外的零极点,也没有纯滞后。
即i=j=l=0。
(2)输入为单位阶跃时,m=1,s=j+m=1,t=l+i=0最少拍系统应具有的误差脉冲传递函数、闭环脉冲传递函数分别为:
(z)m1z1m2z
1(z)1z
求待定系数,得:
(z)z11
1(z)1z1
z1
3)确定数字控制器D(z)
(4)闭环系统输出:
Y(z)R(z)(z)U(z)G(z)数字控制器的输出:
U(z)E(z)D(z)
程序:
clearallclc;
G=zpk([],[0,-1],1);
ud_1=0;ud_2=0;ud_3=0;
yd_1=0;yd_2=0;ed_1=0;ed_2=0;ed_3=0;
fork=1:
1:
35
time(k)=k*T;
rin(k)=1;
%单位阶跃信号
%加数字控制器的差分方程
yd(k)=num1
(2)*ud_1+num1(3)*ud_2-den1
(2)*yd_1-den1(3)*yd_2;
ed(k)=rin(k)-yd(k);
%数字控制器的差分方程ud(k)=(num2
(1)*ed(k)+num2
(2)*ed_1+num2(3)*ed_2+num2(4)*ed_3-den2
(2)*ud_1-den2(3)*ud_2-den2(4)*ud_3)/den2
(1);
%数据更新
ud_3=ud_2;ud_2=ud_1;ud_1=ud(k);
ed_3=ed_2;ed_2=ed_1;ed_1=ed(k);
yd_2=yd_1;yd_1=yd(k);
end
yd,ud
加数字控制器后单位阶跃信号的闭环响应及数字控制器的输出
系统输出序列:
yd=
Columns1through1001.00001.00001.00001.00001.00001.00001.00001.00001.0000
Columns11through20
1.00001.00001.0000
1.0000
Columns21through30
1.00001.00001.0000
1.0000
Columns31through35
1.00001.00001.0000控制器输出序列:
ud=
Columns1through10
1.00001.00001.0000
1.00001.00001.0000
1.00001.0000
1.00001.00001.0000
1.00001.00001.0000
2.7183-2.95252.1207-1.52331.0941-0.78590.5645-0.40550.2912
-0.2092
Columns11through20
0.1503-0.10790.0775-0.05570.0400-0.02870.0206-0.01480.0106
-0.0076
Columns21through30
0.0055-0.00390.0028-0.00200.0015-0.00110.0008-0.00050.0004
-0.0003
Columns31through35
0.0002-0.00010.0001-0.00010.0001
可知,加数字控制器后,系统输出与系统输入在1s以后相等,说明系统是稳定的且稳态无静差。
调节
时间为1s,但观察其数字控制器输出曲线及输出序列发现,其控制器输出在28拍(28s)后才变为恒定值,
说明输出在第3拍至第28拍间,仅能保证在采样点上与输入相同,在采样点间不相同,即输出有纹波。
11
此时闭环脉冲传函为:
(z)z1
z
1z1
误差脉冲传函为:
1(z)1z
z
数字控制器为:
2.7183z(z-1)(z-0.3679)
z(z+0.7183)(z-1)
3、最少拍无纹波控制器:
步骤:
(1)确定有零阶保持器的广义对象G(z),广义被控对象脉冲传函:
0.36788(z+0.7183)
(z-1)(z-0.3679)广义被控对象没有单位圆外的零极点,也没有纯滞后。
即i=j=l=0。
(2)由G(z)有一个单位圆内的零点-0.7183,要实现无纹波,则最少拍系统的闭环脉冲传递函数要求将单位圆内圆外的所有零点都包含进来。
此时零点个数i=1。
(3)输入为单位阶跃时,m=1,s=j+m=1,t=l+i=0+1=1。
应具有的误差脉冲传递函数、闭环脉冲传递函数分别为:
(z)(10.7183z1)mz1mz10.7183mz2
mz0.7183m
2z
1(z)(1z1)(1fz1)1fz1z1fz2
z2fzzf
2
z
因1(z)(z)1,有
mz10.7183mz21fz1z1fz21
得方程组:
mf1
即得
f0.7183m
解方程组,得m=1/1.7183;f=0.7183/1.7183;
10.7183
z
(z)1.71831.7183z2
210.7183
zz
1(z)
1.71831.7183
2
z
3)确定数字控制器D(z)
D(z)
(z)G(z)[1(z)]
4)闭环系统输出:
Y(z)R(z)(z)U(z)G(z)数字控制器的输出:
U(z)E(z)D(z)
程序:
clearall;closeall;
clc;
%%零极点形式的被控对象
%采样周期
%广义被控对象脉冲传函
G=zpk([],[0,-1],1);
T=1;
Gd=c2d(G,T,'zoh');
%求误差脉冲传函及闭环脉冲传函
phi=tf([1/1.71830.7183/1.7183],[100],T);%闭环脉冲传函
phie=tf([1-1/1.7183-0.7183/1.7183],[100],T);%误差脉冲传函
D=phi/(Gd*phie);%数字控制器脉冲传函D(z)
Gd,D,phie,phi
[num1,den1]=tfdata(Gd,
[num2,den2]=tfdata(D,
'v');%求脉冲传函的分子分母多项式'v');
ud_1=0;ud_2=0;ud_3=0;ud_4=0;ud_5=0;yd_1=0;yd_2=0;
ed_1=0;ed_2=0;ed_3=0;ed_4=0;ed_5=0;
fork=1:
1:
25
time(k)=k*T;
rin(k)=1;%单位阶跃信号
%加数字控制器的差分方程
yd(k)=num1
(2)*ud_1+num1(3)*ud_2-den1
(2)*yd_1-den1(3)*yd_2;
ed(k)=rin(k)-yd(k);
%数字控制器的差分方程
ud(k)=(num2
(1)*ed(k)+num2
(2)*ed_1+num2(3)*ed_2+num2(4)*ed_3+num2(5)*ed_4+num2(6)*ed_5-den2
(2)*ud_1-den2(3)*ud_2-den2(4)*ud_3-den2(5)*ud_4-den2(6)*ud_5)/den2
(1);
ud_5=ud_4;ud_4=ud_3;ud_3=ud_2;ud_2=ud_1;ud_1=ud(k);ed_5=ed_4;ed_4=ed_3;ed_3=ed_2;ed_2=ed_1;ed_1=ed(k);
yd_2=yd_1;yd_1=yd(k);
endyd,udfigure
(1);
plot(time,rin,'r',time,yd,'b',time,ud,'k');xlabel('time');
ylabel('rin,yd,ud');
title('加数字控制器后单位阶跃信号的闭环响应及数字控制器的输出');
);
text(1.5,1.5,'红线:
系统输入;蓝线:
系统输出;黑线:
控制器输出
系统输出序列:
yd=
Columns1through10
00.5820
1.0000
1.0000
1.0000
1.0000
Columns11through20
1.00001.0000
1.0000
1.0000
1.0000
1.0000
Columns21through25
1.00001.0000
1.0000
1.0000
1.0000
控制器输出序列:
1.0000
1.0000
1.0000
1.0000
ud=
1.0000
1.0000
1.0000
1.0000
Columns1through10
1.5820
-0.5819
-0.0000
0.0000
-0.0000
0.0000
-0.0000
0.0000
-0.0000
0.0000
Columns11through20
-0.0000
0.0000
-0.0000
0.0000
-0.0000
0.0000
-0.0000
0.0000
-0.0000
0.0000
由图可以看出,此时调节时间变为2s,调节时间比原来延长1拍,但其控制器输出也在2拍后变为恒定值,
可以保证2拍后,输出不仅在采样点上与输入相同,还在采样点间保证相同,实现输出无纹波。
广义被控对象脉冲传函:
0.36788(z+0.7183)(z-1)(z-0.3679)闭环脉冲传函为:
0.582z+0.418
z^2
误差脉冲传函为:
z^2-0.582z-0.418
z^2
数字控制器为:
1.582z^2(z+0.7183)(z-1)(z-0.3679)
z^2(z+0.7183)(z+0.418)(z-1)
三、思考与分析
1.最少拍受什么限制而使调整节拍增加?
2.分析不同输入信号对最少拍控制系统的影响。
3.无纹波系统对控制器有何要求?
四、实验报告要求1、写出广义被控对象的脉冲传递函数G(z)。
并求出广义被控对象的差分方程形式。
2、画出未加控制器时系统的单位阶跃响应图,分析系统是否稳定?
若稳定,求稳态误差。
3、根据最少拍设计步骤,写出针对单位阶跃输入时的闭环脉冲传递函数(z)和误差脉冲脉冲传递函数1
(z)。
给出设计出的最少拍控制器的脉冲传递函数D(z)。
并求出最少拍控制器的差分方程形式。
4、画出串上最少拍控制器后的数字控制系统框图。
5、将上述所求的最少拍控制器代入系统,画出系统在单位阶跃输入信号作用下的响应图,以及数字控制器的控制量变化曲线。
分析加入控制器后系统能否达到最少拍控制的要求。
给出系统输出序列和控制器输出序列,并求出调节时间,讨论输出是否存在纹波。
6、若存在纹波,请设计最少拍无纹波控制器,并给出串上最少拍无纹波控制器后的闭环脉冲传递函数(z)和误差脉冲脉冲传递函数1-(z)。
最少拍无纹波控制器的脉冲传递函数D(z)。
7、将得到的最少拍无纹波控制器代入系统,画出系统在单位阶跃输入信号作用下的响应图,以及数字控制器的控制量变化曲线。
给出系统输出序列和控制器输出序列,分析加入最少拍无纹波控制器后系统能否达到消除纹波的目的。
为消除纹波,调节时间变为多少。
8、写出针对单位斜坡信号输入时的闭环脉冲传递函数(z)和误差脉冲脉冲传递函数1-(z)。
给出设计
出的最少拍控制器的脉冲传递函数D(z)。