[智能控制]课程作业1_20170322
题目:设有如下图所示计算控制系统,采样周期T=0.1s, 在单位阶跃信号作用下,试分别计算并画出P 、PI 及 PID 控制的响应曲线y (KT )~KT,其中Kp =1.2,K I 和K D 参数计算采用D(z)与HG (z )的零、极点抵消的方法,作业最后简要写出小结,重点阐述比例、积分和微分环节系统动、静态特性的作用。
解:系统广义对象的Z 函数
⎡1-e -sT ⎤10HG (z ) =Z⎢∙s +1s +2⎥⎣s ⎦
⎧5⎤⎫⎡510=Z ⎨1-e -sT ⎢-+⎬⎣s s +1s +2⎥⎦⎭⎩()
=
=0. 0453z 1+0. 904z 1-0. 905z -11-0. 819z -1-1(-1) 0. 0453(z +0. 904)z -0. 905z -0. 819(一)、比例调节(P )
由题意知Kp=1.2,D(z)=Kp;
D z ×HG z =
使用MATLAB 编程,代码如下:
clc;
clf;
clear all ;
G=tf(conv([0,0.0453],[1,0.904]), conv([1,-0.905],[1,-0.819] ),0.1); G=d2c(G);
G=feedback(0.8*G,1);
step(G);
hold on ;
G1=tf(conv([0,0.0453],[1,0.904]), conv([1,-0.905],[1,-0.819] ),0.1); G1=d2c(G1);
G1=feedback(1.2*G1,1);
step(G1); Kp ×0.0453(z+0.904) z −0.905(z−0.819)
hold on ;
G2=tf(conv([0,0.0453],[1,0.904]), conv([1,-0.905],[1,-0.819] ),0.1); G2=d2c(G2);
G2=feedback(2.4*G2,1);
step(G2);
hold on ;
legend('kp=0.8', 'kp=1.2', 'kp=2.4');
gtext ('kp=0.8');
gtext ('kp=1.2');
gtext ('kp=2.4');
截图如下:
(二)、比例积分调节(PI )
由题意知Kp=1.2,利用零极点相消法;
z KI +1.2 −1.20.0453(z+0.904) D z ×HG z =×当消掉零点0.905时,KI=0.126;
0.0453×1.326×(z+0.904) D z ×HG z = (z−1)(z−0.819)
当消掉零点0.819时,KI=0.265;
0.0453×1.465×(z+0.904) D z ×HG z = (z−1) z −0.905使用MATLAB 编程,代码如下:
clc;
clf;
clear all ;
G1=tf(conv([0,0.0453*1.326],[1,0.904]), conv([1,-1],[1,-0.819] ),0.1); G1=d2c(G1);
G1=feedback(G1,1);
step(G1);
hold on ;
G2=tf(conv([0,0.0453*1.465],[1,0.904]), conv([1,-1],[1,-0.905] ),0.1); G2=d2c(G2);
G2=feedback(G2,1);
step(G2);
hold on ;
legend('Kp=1.2,KI=0.126,KD=0', 'Kp=1.2,KI=0.265,KD=0');
gtext ('Kp=1.2,KI=0.126,KD=0');
gtext ('Kp=1.2,KI=0.265,KD=0');
截图如下:
(三)、比例积分微分调节(PID )
由题意知Kp=1.2,利用零极点相消法;
z 2 KI +KD +1.2 −z 2KD +1.2 +KD 0.0453(z+0.904) D z HG z =×消去(z-0.905)(z-0.819)可得KD=3.667,KI=0.083;
0.0453×4.95(z+0.904) D z HG z = z(z−1)
使用MATLAB 编程,代码如下:
clc;
clf;
clear all ;
G1=tf(conv([0,0.0453*4.95],[1,0.904]),
conv([1,0.1],[1,-1] ),0.1);%±äÐÍ
%G1=d2c(G1,'tustin');
G1=d2c(G1);
G1=feedback(G1,1);
step(G1);
axis([0 6 0 1]);
hold on ;
legend('Kp=1.2,KI=0.083,KD=3.667');
截图如下:
(四)、对比总结
使用MATLAB 编程,代码如下:
clc;
clf;
clear all ;
G=tf(conv([0,0.0453],[1,0.904]), conv([1,-0.905],[1,-0.819] ),0.1); G=d2c(G);
G=feedback(1.2*G,1);
step(G);
hold on ;
G1=tf(conv([0,0.0453*1.326],[1,0.904]), conv([1,-1],[1,-0.819] ),0.1); G1=d2c(G1);
G1=feedback(G1,1);
step(G1);
hold on ;
G2=tf(conv([0,0.0453*1.465],[1,0.904]), conv([1,-1],[1,-0.905] ),0.1); G2=d2c(G2);
G2=feedback(G2,1);
step(G2);
hold on ;
G3=tf(conv([0,0.0453*4.95],[1,0.904]), conv([1,0.1],[1,-1] ),0.1); %G3=d2c(G3,'tustin');
G3=d2c(G3);
G3=feedback(G3,1);
step(G3);
hold on ;
axis([0 12 0 1.8]);
legend('KP=1.2;KI=0 ;KD=0', 'KP=1.2;KI=0.126;KD=0', 'KP=1.2;KI=0.256;KD=0', 'KP=1.2;KI=0.083;KD=3.667');
gtext ('KP=1.2;KI=0 ;KD=0');
gtext ('KP=1.2;KI=0.126;KD=0');
gtext ('KP=1.2;KI=0.256;KD=0');
gtext ('KP=1.2;KI=0.083;KD=3.667');
截图如下
总结:
比例调节(P )的稳态误差不可消除,随Kp 增大稳态误差减小;比例积分调节(PI )加入积分调节提高了系统的精度,但是系统的动态性能变差,超调量增加,而且调节时间变长;比例积分微分调节(PID )通过积分作用消除误差, 而微分控制可缩小超调量, 加快反应, 是综合了PI 控制与PD 控制长处并去除其短处的控制。