当前位置:文档之家› 一阶纯滞后系统的不完全微分PID控制

一阶纯滞后系统的不完全微分PID控制

目录
0.前言 (1)
1. 不完全微分PID算法设计 (2)
2.算法仿真研究 (3)
3.一阶纯滞后系统的不完全微分PID控制程序 (4)
4.实验结果 (7)
5.结论及总结 (8)
参考文献 (8)
课设体会 (10)
一阶纯滞后系统的不完全微分PID控制
沈阳航空航天大学北方科技学院
摘要:提出在PID算法中加入一阶惯性环节,通过不完全微分PID算法来改善干扰对系统的影响,用MATLAB仿真分析说明该算法在改善过程的动态性能方面具有良好的控制精度。

在现代工业生产中,自动控制技术的使用越来越多,而随着工业和控制技术的发展,自动控制理论也在发展和完善,出现了多种控制方法如最基础的PID控制以及微分先行控制、中间微分控制、史密斯补偿控制、模糊控制、神经网络控制等。

自动控制技术的发展在工业生产中遇到了一系列的问题:如在本文中所研究的一阶纯滞后系统的控制就是控制理论中一个较为重要的问题。

由控制理论可知,无滞后控制系统(简单点说就是没有延迟)比有滞后系统更加稳定,更加容易控制。

因此如何解决生产中滞后的问题在当前工业大生产中尤其重要。

论文在常规PID控制也就是比例-积分-微分控制的基础上提出了三种控制方法即:微分先行控制、中间微分反馈控制、史密斯补偿控制。

并对这三种方案进行Simulink 仿真,检测其抗干扰性能。

为便于分析,论文将所得仿真结果以图形的方式给予显示出来,形象生动便于理解。

关键词:一阶纯滞后 ;不完全微分;仿真;PID
0.前言
在多数工业过程当中,控制对象普遍存在着纯时间滞后现象,如化工,热工过程等.
这种滞后时间的存在,会使系统产生明显的超调量和较长的调节时间,滞后严重时甚至会破坏系统的稳定性,在工业生产上产生事故.因此长期以来,纯滞后系统就一直是工业过程中的难控制对象,人们也对它进行了大量的研究.在现代工业生产和理论研究中出现了多种控制方法,如PID控制、PID改进控制、Smith 预估算法控制以及模糊
控制、神经网络控制等.而对于最基础的一阶纯滞后系统常用的控制方法主要是PID 控制、不完全微分PID 控制.
1. 不完全微分PID 算法设计
为了克服上述缺点, 在PID 算法中加一个一阶惯性环节(低通滤波器)G f (S )=1/[1+T f (S )],将低通滤波器直接加在微分环节上,构成如图1的不完全微分PID 控制:
式中,T 为采样时间,T f 为滤波器系数,T 1和T D 分别为积分时间常数和微分时间常数,令 ɑ=T f /(T f +T),则T/(T+T f )=1-ɑ;显然有1<α,1−α<1成立,不完全微分项为:
若e(k)为单位阶跃(即e(k)=1,k=0,1,2,∧)由此得出不完全微分项为:
可见,引入不完全微分后,微分输出按ɑk U D(0)的规律)(ɑ(1)逐渐衰减,所以不完全微分能有效地克服前述微分项的不足。

2.算法仿真研究
设被控对象为含纯滞后的一阶惯性环节,其传递函数为: G(S)=e-80S/50S+1
在对象的输出端加幅值为0.01的随机干扰信号,
采样时间为20s 低通滤波器为G f(S)=1/(180S+1)
控制器取K P=0.30,T1=55,T D=140
控制算法程序框图如图2;
图2 控制算法程序框图
3.一阶纯滞后系统的不完全微分PID控制程序PID的MATLAB仿真程序:
%PID Controler 不完全微分
clear all;
close all;
ts=20;
sys=tf([1],[60,1],'inputdelay',80);
dsys=c2d(sys,ts,'zoh');
[num,den]=tfdata(dsys,'v');
u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;
ud_1=0;
y_1=0;y_2=0;y_3=0;
error_1=0;
ei=0;
for k=1:1:100
time(k)=k*ts;
rin(k)=1.0;
%Linear model
yout(k)=-den(2)*y_1+num(2)*u_5;
D(k)=0.01*rands(1);
yout(k)=yout(k)+D(k);
error(k)=rin(k)-yout(k);
%PID Controller with partly differential
ei=ei+error(k)*ts;
kc=0.30;
ki=0.0055;
TD=140;
kd=kc*TD/ts;
Tf=180;
Q=tf([1],[Tf,1]); %Low Freq Signal Filter
M=2; %M=1不完全微分,
%M=2普通Pid控制!!
if M==1
%Using PID with Partial differential
alfa=Tf/(ts+Tf);
ud(k)=kd*(1-alfa)*(error(k)-error_1)+alfa*ud_1;
u(k)=kc*error(k)+ud(k)+ki*ei;
ud_1=ud(k);
elseif M==2 %Using Simple PID
u(k)=kc*error(k)+kd*(error(k)-error_1)+ki*ei; end
%Restricting the output of controller
if u(k)>=10
u(k)=10;
end
if u(k)<=-10
u(k)=-10;
end
u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);
y_3=y_2;y_2=y_1;y_1=yout(k);
error_1=error(k);
end
figure(1);
plot(time,rin,'b',time,yout,'r');
xlabel('time(s)');ylabel('rin,yout');
4.实验结果
系统的设定输入值r(K)取单位阶跃函数,跟踪输出控制曲线如图3,比较采用普通PID算法的输出控制曲线图4。

可以看出,尽管不完全微分PID算法要复杂一些,但能有效地改善干扰对系统的影响,改善系统的动态特性,提高了系统的控制精度。

图3 普通PID算法输出控制曲线
图4 不完全微分PID算法输出控制曲线
5.结论及总结
由仿真结果可以看出,采用不完全微分型PID算法,引入不完全微分后能有效克服普通PID的不足,尽管不完全微分算法比普通PID控制算法要复杂的多,但由于其良好的控制特性,近年来越来越广泛的应用。

研究本课题的课题背景和课题综述即课题在工业生产中的应用有一个初步的了解,以及自动控制的背景知识,为后面纯滞后问题的提出和研究做好铺垫。

参考文献
[1] 《MATLAB仿真技术与应用》作者:张德丰杨文茵出版社:清华大学出版社出版年份:2012 年
[2] 《微型计算机控制技术》第二版作者:于海生丁军航潘松峰吴贺荣出版社:清华大学出版社出版年份:1999年
[3]金以慧. 过程控制[M].清华大学出版社,1993年:196-202
[4]潘新民,王燕芳.微型计算机控制技术[M].电子工业出版社,2002年:281-282
沈阳航空航天大学北方科技学院课程设计论文
课设体会
通过本次课设,我学会了matlab软件的运用,对直线插补与逐点比较法平有了一个深刻的认识,遇到问题是,在解决问题的过程中使我对知识有了更深刻的认识,不再像知识把书本上的习题学来考试。

课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。

同时,设计让我感触很深。

使我对抽象的理论有了具体的认识。

通过这次课程设计,我掌握了的识别和测试;熟悉了;了解了方法;以及如何提高的性能等等,掌握了的方法和技术,通过查询资料,也了解了原理。

我认为,在这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。

更重要的是,在实验课上,我们学会了很多学习的方法。

而这是日后最实用的,真的是受益匪浅。

要面对社会的挑战,只有不断的学习、实践,再学习、再实践。

这对于我们的将来也有很大的帮助。

以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。

就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。

回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。

[2014年7月11日完成]
第10 页。

相关主题