实验三、最少拍控制算法matlab仿真实验20.docx
- 文档编号:30809393
- 上传时间:2024-01-30
- 格式:DOCX
- 页数:14
- 大小:72.88KB
实验三、最少拍控制算法matlab仿真实验20.docx
《实验三、最少拍控制算法matlab仿真实验20.docx》由会员分享,可在线阅读,更多相关《实验三、最少拍控制算法matlab仿真实验20.docx(14页珍藏版)》请在冰豆网上搜索。
实验三、最少拍控制算法matlab仿真实验
一、实验目的:
1.掌握最少拍有纹波、无纹波系统的设计方法;
2.学会最少拍控制系统的分析方法;
3.了解输入信号对最少拍控制系统的影响及改进措施
二、实验内容:
设单位反馈线性定常系统的连续部分和零阶保持器的传递函数分别为:
,
,采样周期T=1秒。
要求系统在单位阶跃输入时实现最少拍控制,求数字控制器的脉冲传递函数。
讨论加上控制器后的系统输出在采样点之间是否存在纹波,若存在纹波,请设计最少拍无纹波控制器。
系统结构如图:
1、对未加控制器时的闭环系统分析其是否满足最少拍要求
clearall;
clc;
G=zpk([],[0,-1],1);%零极点形式的被控对象
T=1;%采样周期
Gd=c2d(G,T,'zoh')%广义被控对象脉冲传函
[num1,den1]=tfdata(Gd,'v');
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)
得系统特征根为,
特征根,
即闭环系统稳定。
2)广义对象的开环脉冲传递函数为:
Gd=
0.36788(z+0.7183)
------------------
(z-1)(z-0.3679)
可知,开环脉冲传递函数有的极点个数为1,系统为I型系统。
对于单位速度输入,稳态误差不为零。
即原来的闭环系统达不到最少拍系统中对某个输入稳定无静差的要求。
3)原闭环系统输出序列为:
yd=
Columns1through9
00.36791.00001.39961.39961.14700.89440.80150.8682
Columns10through18
0.99371.07701.08101.03230.98110.96070.97260.99751.0148
Columns19through27
1.01641.00700.99670.99220.99430.99921.00281.00331.0015
Columns28through35
0.99940.99850.99880.99981.00051.00071.00030.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.03230.01890.03930.02740.0025-0.0148
Columns19through27
-0.0164-0.00700.00330.00780.00570.0008-0.0028-0.0033-0.0015
Columns28through35
0.00060.00150.00120.0002-0.0005-0.0007-0.00030.0001
可知,系统偏差输出在第十三拍(系统稳定)以后,基本保持0大小,无静差。
4)原闭环系统输出曲线
从图中也可看出,原系统不满足最少拍要求。
需要串入最少拍调节器。
2、设计最少拍控制器:
步骤:
(1)确定有零阶保持器的广义对象
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
最少拍系统应具有的误差脉冲传递函数、闭环脉冲传递函数分别为:
求待定系数,得:
(3)确定数字控制器
(4)闭环系统输出:
数字控制器的输出:
程序:
clearall;
clc;
G=zpk([],[0,-1],1);%零极点形式的被控对象
T=1;%采样周期
Gd=c2d(G,T,'zoh');%广义被控对象脉冲传函
phi=tf([1],[10],T);%闭环脉冲传函
phie=tf([1-1],[10],T);%误差脉冲传函
D=phi/(Gd*phie);%数字控制器脉冲传函D(z)
phie,phi,Gd,D
[num1,den1]=tfdata(Gd,'v');
[num2,den2]=tfdata(D,'v');
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
figure
(2);
plot(time,rin,'r',time,yd,'b',time,ud,'k');
xlabel('time');
ylabel('rin,yd,ud');
title('加数字控制器后单位阶跃信号的闭环响应及数字控制器的输出');
text(3,1.5,'红线:
系统输入;蓝线:
系统输出;黑线:
控制器输出');
系统输出序列:
yd=
Columns1through10
01.00001.00001.00001.00001.00001.00001.00001.00001.0000
Columns11through20
1.00001.00001.00001.00001.00001.00001.00001.00001.00001.0000
Columns21through30
1.00001.00001.00001.00001.00001.00001.00001.00001.00001.0000
Columns31through35
1.00001.00001.00001.00001.0000
控制器输出序列:
ud=
Columns1through10
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拍间,仅能保证在采样点上与输入相同,在采样点间不相同,即输出有纹波。
此时闭环脉冲传函为:
误差脉冲传函为:
数字控制器为:
2.7183z(z-1)(z-0.3679)
-------------------------
z(z+0.7183)(z-1)
3、最少拍无纹波控制器:
步骤:
(1)确定有零阶保持器的广义对象,广义被控对象脉冲传函:
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。
应具有的误差脉冲传递函数、闭环脉冲传递函数分别为:
因,有
得方程组:
解方程组,得m=1/1.7183;f=0.7183/1.7183;即得
(3)确定数字控制器
(4)闭环系统输出:
数字控制器的输出:
程序:
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,'v');%求脉冲传函的分子分母多项式
[num2,den2]=tfdata(D,'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);
end
yd,ud
figure
(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.58201.00001.00001.00001.00001.00001.00001.00001.0000
Columns11through20
1.00001.00001.00001.00001.00001.00001.00001.00001.00001.0000
Columns21through25
1.00001.00001.00001.00001.0000
控制器输出序列:
ud=
Columns1through10
1.5820-0.5819-0.00000.0000-0.00000.0000-0.00000.0000-0.00000.0000
Columns11through20
-0.00000.0000-0.00000.0000-0.00000.0000-0.00000.0000-0.00000.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、根据最少拍设计步骤,写出针对单位阶跃输入时的闭环脉冲传递函数和误差脉冲脉冲传递函数1-。
给出设计出的最少拍控制器的脉冲传递函数D(z)。
并求出最少拍控制器的差分方程形式。
4、画出串上最少拍控制器后的数字控制系统框图。
5、将上述所求的最少拍控制器代入系统,画出系统在单位阶跃输入信号作用下的响应图,以及数字控制器的控制量变化曲线。
分析加入控制器后系统能否达到最少拍控制的要求。
给出系统输出序列和控制器输出序列,并求出调节时间,讨论输出是否存在纹波。
6、若存在纹波,请设计最少拍无纹波控制器,并给出串上最少拍无纹波控制器后的闭环脉冲传递函数和误差脉冲脉冲传递函数1-。
最少拍无纹波控制器的脉冲传递函数D(z)。
7、将得到的最少拍无纹波控制器代入系统,画出系统在单位阶跃输入信号作用下的响应图,以及数字控制器的控制量变化曲线。
给出系统输出序列和控制器输出序列,分析加入最少拍无纹波控制器后系统能否达到消除纹波的目的。
为消除纹波,调节时间变为多少。
8、写出针对单位斜坡信号输入时的闭环脉冲传递函数和误差脉冲脉冲传递函数1-。
给出设计出的最少拍控制器的脉冲传递函数D(z)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 最少 控制 算法 matlab 仿真 20