该文提出调整系统控制量的模糊PID控制器的计算机设计与_第1页
该文提出调整系统控制量的模糊PID控制器的计算机设计与_第2页
该文提出调整系统控制量的模糊PID控制器的计算机设计与_第3页
该文提出调整系统控制量的模糊PID控制器的计算机设计与_第4页
该文提出调整系统控制量的模糊PID控制器的计算机设计与_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要 该文提出调整系统控制量的模糊PID控制器的计算机设计与仿真。以碱回收炉的水位控制为例具体论述调整系统控制量的模糊PID控制器的设计、2D控制表的建立、以及控制器计算机设计与仿真的实现。借助MATLAB模糊控制工具箱和SIMULINK仿真工具进行的仿真实验表明,该控制器既吸收了模糊控制器良好的动态性能,又克服了模糊控制器静态性能较差的缺点。并且为碱回收炉上汽包水位控制提出了一种新的尝试。该控制器结构简单、参数调整方便、快捷。关键词:模糊PID控制器;计算机设计;仿真;2D控制表1 引言    目前,模糊控制理论及模糊控制系统的应用发展很快,显示出模糊控制在控制

2、领域具有广阔的前景。模糊控制已成为智能控制的重要组成部分。在工业过程控制中,因为PID控制器所涉及的设计算法和控制结构简单,不要求非常精确的受控对象的数学模型,且众多的过程控制软件都带有PID控制器的算法模块,而被广泛应用于工业过程控制中。但是,PID控制器参数的整定尚需工程技术人员才能完成,对于存在时滞、非线性等因素的系统更难整定,调试过程中经常出现超调、振荡等影响系统正常运行的现象。模糊控制器具有不依赖控制对象精确的数学模型,减弱超调、防止振荡等优点。由此该文合理结合两种控制算法的优点提出一种调整系统控制量的模糊PID控制器,这种控制器在大偏差范围内利用模糊推理的方法调整系统控制量U,而在

3、小偏差范围内转化为PID控制,并以给定的偏差范围自动完成二者的转化。该文将论述调整系统控制量的模糊PID控制器的计算机设计与仿真。并以碱回收炉上汽包水位控制为例具体论述该控制器中2D控制表建立、计算机设计与仿真。2 调整系统控制量的模糊PID控制器的计算机设计    该控制器中主要包含二维的模糊控制器和PID控制器。在大偏差范围内通过模糊控制器实现过程控制。模糊控制通过模糊逻辑和近似推理方法,让微机把人的经验形式化、模型化,根据给定的语言控制规则进行模糊推理,给出模糊输出判决,并将其转化为精确量,作为馈送到被控对象(或过程)的控制作用。其中所使用的模糊控制器为常用

4、的二维模糊控制器。在实际应用中,一般是用系统输出的偏差E和输出偏差的变化率EC作为输入信息,而把控制量的变化作为控制器的输出量,以此确定模糊控制器的结构。Ke 和Kec表示量化因子, Ku表示比例因子。并且在实际微机模糊控制中,一般先确定出2D控制表,然后将此表存入微机的存储器中,这样在实际的过程控制中,微机根据采样到的E和EC通过查询控制表求得控制量U,馈送到控制对象实现过程的模糊控制。    在小偏差范围内通过传统的PID控制算法实现过程控制。控制器的结构如图1所示。下面将以碱回收炉上汽包水位的调整系统控制量的模糊PID控制系统为例介绍控制器的设计。 

5、;   碱回收炉上汽包水位控制系统通常主要由上汽包、液位变送器、控制器和锅炉给水阀组成。在大偏差范围,一般选上汽包实际水位与给定水位的差值E及其变化率EC作为模糊控制器的输入语言变量,馈送给给水阀的控制量U为其输出控制量,在小偏差范围内,选用实际水位与给定水位的差值E作为PID控制器的输入,其输出作为锅炉给水阀的控制量U。二者通过系统的偏差E实现自动切换。这样既可以通过模糊控制器加快过程动态响应过程,减弱超调和振荡现象,减弱调试过程对碱回收炉正常运行的影响,又可以通过常用的PID控制器在小偏差范围内实现精确控制,减少纯模糊控制器带来的稳态误差。选取上汽包水位误差E及其误差变

6、化率EC和控制量U的论域分别为:E=-6,-5,-4,-3,-2,-1,-0,+0,1,2,3,4,5,6EC=-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6U=-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7E、EC和U的语言变量值分别为:E=NB,NM,NS,NZ,PZ,PS,PM,PBEC=NB,NM,NS,Z,PS,PM,PBE=NB,NM,NS,Z,PS,PM,PB    依据操作者的控制经验,可建立碱回收炉上汽包水位模糊控制系统的模糊控制规则如表1所示。    实际模糊控制时的2D控

7、制表可利用MATLAB编制如下的MATLAB语言求得。模糊控制器设计建立FISfuz2=newfis("simpleFuzzy2");    设置语言变量E和三角形隶属函数fuz2=addvar(fuz2,"input","e",-6,6);fuz2=addmf(fuz2,"input",1,"NB","trimf",-6,-6,-4);fuz2=addmf(fuz2,"input",1,"NM",&quo

8、t;trimf",-6,-4,-2);fuz2=addmf(fuz2,"input",1,"NS","trimf",-4,-2,0);fuz2=addmf(fuz2,"input",1,"NZ","trimf",-1,0,0);fuz2=addmf(fuz2,"input",1,"PZ","trimf",0,0,1);fuz2=addmf(fuz2,"input",1,"PS&

9、quot;,"trimf",0,2,4);fuz2=addmf(fuz2,"input",1,"PM","trimf",2,4,6);fuz2=addmf(fuz2,"input",1,"PB","trimf",4,6,6);设置语言变量EC和三角形隶属函数fuz2=addvar(fuz2,"input","ec",-6,6);fuz2=addmf(fuz2,"input",2,"NB&

10、quot;,"trimf",-6,-6,-4);fuz2=addmf(fuz2,"input",2,"NM","trimf",-6,-4,-2);fuz2=addmf(fuz2,"input",2,"NS","trimf",-4,-2,0);fuz2=addmf(fuz2,"input",2,"Z","trimf",-2,0,2);fuz2=addmf(fuz2,"input"

11、,2,"PS","trimf",0,2,4);fuz2=addmf(fuz2,"input",2,"PM","trimf",2,4,6);fuz2=addmf(fuz2,"input",2,"PB","trimf",4,6,6);设置控制变量U和三角形隶属函数fuz2=addvar(fuz2,"output","u",-7,7);fuz2=addmf(fuz2,"output"

12、,1,"NB","trimf",-7,-7,-5);fuz2=addmf(fuz2,"output",1,"NM","trimf",-7,-5,-3);fuz2=addmf(fuz2,"output",1,"NS","trimf",-5,-3,-1);fuz2=addmf(fuz2,"output",1,"Z","trimf",-2,0,2);fuz2=addmf(fuz2,&

13、quot;output",1,"PS","trimf",1,3,5);fuz2=addmf(fuz2,"output",1,"PM","trimf",3,5,7);fuz2=addmf(fuz2,"output",1,"PB","trimf",5,7,7);rr= 7 7 6 5 5 5 5;     7 6 5 5 5 5 5;     6 5

14、5 5 4 4 4;     5 5 4 4 4 3 3;     5 5 4 4 4 3 3;     4 4 4 3 3 3 2;     3 3 3 3 3 2 1;     3 3 3 3 2 1 1;  r1=zeros(prod(size(rr),3);  k1=1;  for i=1:size(rr,1)    for j=

15、1:size(rr,2)     r1(k1,:)=i,j,rr(i,j);     k1=k1+1;     end  end  r,s=size(r1);  r2=ones(r,2);  rulelist=r1,r2;  fuz2=addrule(fuz2,rulelist);设置去模糊方法(重心法)  fuz2=setfis(fuz2,"DefuzzMethod","centroi

16、d");绘制FIS系统图形plotfis(fuz2);Ulist=zeros(13,14)建立控制表for i=1:13 for j=1:14    e=-7+j; if (e<0)& (j<7);     e=e; elseif j=7;     e=-0.05; elseif j=8     e=0.05; else    e=e-1; end 

17、; ec=(i-7);  Ulist(i,j)=evalfis(e,ec,fuz2);   end  end  Ulist=ceil(Ulist)  end  Ulist=ceil(Ulist)    仿真程序中隶属函数全部采用三角形(trimf),也可选用高斯型(gaussmf)、梯形(trapmf)等隶属函数;去模糊方法采用重心(centroid)法、也采用最大隶属度(MOM)法、中位值(Bisector)法等。    在MATLAB命令窗口运行此M文件,可得出

18、如图2所示的隶属函数图形,并得到2D控制表(见表2),将已得的2D控制表存放到微机中的存储器中去,在碱回收炉的上汽包水位实际过程控制中,微机通过查表程序即可得出相应的控制量U,实现对象的控制。3碱回收上汽包水位对象的数学模型及仿真    碱回收炉主要用来燃烧碱回收碱回收车间蒸发工段送来的浓黑液。在碱回收炉中,麦草浆浓黑液中的有机物和炭被充分燃烧掉,其中的有机钠碳酸化后形成熔融物,熔融物送入溶解槽后形成绿液,绿液被送往碱回收苛化工段。麦草浆浓黑液在碱炉内燃烧产生大量的热量,此热量使上汽包中的水汽化后生成蒸汽,直接送往分汽缸,再被碱回收车间利用。蒸气流量在碱回收炉正常运行的过程中较为稳定,上汽包水位的主要受到给水量的影响,故碱回收炉水位对象的传递函数可采用给水量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论