《双容水箱实验报告(采用PID+模糊控制).doc》由会员分享,可在线阅读,更多相关《双容水箱实验报告(采用PID+模糊控制).doc(27页珍藏版)》请在三一办公上搜索。
1、目 录摘 要2第一章PID控制原理、优越性,对系统性能的改善3第二章被控对象的分析与建模5第三章PID参数整定方法概述73.1 PID控制器中比例、积分和微分项对系统性能影响分析73.1.1 比例作用73.1.2 积分作用83.1.3 微分作用83.2 PID参数的整定方法93.3 临界比例度法113.4 PID参数的确定14第四章控制结构154.1 利用根轨迹校正系统154.2 利用伯德图校正系统174.3 调整系统控制量的模糊PID控制方法194.3.1模糊控制部分194.3.2 PID控制部分22第五章控制器的设计23第六章.仿真结果与分析24第七章.实训小结26参考文献27摘 要:针对
2、双容水箱大滞后系统,采用PID方法去控制。首先对PID控制中各参数的作用进行分析,采用根轨迹校正、伯德图校正的方法,对系统进行校正。最后采用调整系统控制量的模糊PID控制的方法,对该二阶系统进行控制。同时,在MATLAB下,利用Fuzzy工具箱和Simulink仿真工具,对系统的稳定性、反应速度等各指标进行分析。关键字:双容水箱,大滞后系统,模糊控制,PID,二阶系统 ,MATLAB ,Simulink 第一章PID控制原理、优越性,对系统性能的改善当今的自动控制技术绝大多数部分是基于反馈。反馈理论包括三个基本要素:测量、比较和执行。测量关心的是变量,并与期望值相比较,以此偏差来纠正和调节控制
3、系统的响应。反馈理论及其在自动控制的应用的关键是:作出正确的测量与比较后,如何将偏差用于系统的纠正和调节。在过去的几十年里,PID控制,即比例-积分-微分控制在工业控制中得到了广泛的应用。虽然各种先进控制方法不断涌现,但PID控制器由于结构简单,在实际应用中较易于整定,且具有不需精确的系统模型等优势,因而在工业过程控制中仍有着非常广泛的应用。而且许多高级的控制技术也都是以PID控制为基础的。PID控制器被控对象C(s)R(s)下面是典型的PID控制系统结构图: 图1-1其中PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。 (1)比例(P)调节作用是按比例反应系统的偏差,系统一
4、旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。 (2)积分(I)调节作用是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。 (3)微分(D)调节作用微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差
5、还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。 第二章被控对象的分析与建模该系统控制的是有纯延迟环节的二阶双容水箱,示意图如下:定值QiLT104记录Qoh双容水箱结构图FV101 图2-1其中分别为水箱的底面积,为水流量,为阀门1、2的阻力,称为液阻或流阻,经线性化处理,有:。则根据物料平衡对水箱1有: 拉式变
6、换得: 对水箱2: 拉式变换得: 则对象的传递函数为: 其中为水箱1的时间常数,水箱2的时间常数,K为双容对象的放大系数。若系统还具有纯延迟,则传递函数的表达式为: 其中延迟时间常数。在参考各种资料和数据的基础上,可设定该双容水箱的传递函数为: 第三章PID参数整定方法概述3.1 PID控制器中比例、积分和微分项对系统性能影响分析在MATLAB中建立对象的传递函数模型,在命令行中输入:sys=tf(2,6400 160 1,inputdelay,10);sysx=pade(sys,1);3.1.1 比例作用分析在不同比例系数下,系统的阶跃响应图,输入命令:P=0.1 0.5 1 5 10;fi
7、gure,hold onfor i=1:length(P)G=feedback(P(i)*sys,1);step(G)end得到图形如下: 图3-1图中分别绘出了K为0.1,0.5,1,5,10时的阶跃响应图,可知当K增大时系统的稳态误差不断减小,响应时间加快,并出现振荡。3.1.2 积分作用 分析在不同积分常数下,系统的阶跃响应图,输入命令:Ti=3:0.5:5;t=0:2:100;figure,hold onKp=1;for i=1:length(Ti)Gc=tf(Kp*1,1/Ti(i),1,0);G=feedback(Gc*sys,1);step(G,t)end 得图形如下:图3-2由
8、图可知,积分作用虽可消除误差,但加入积分调节可使系统稳定性下降,途中甚至可出现不稳定的情况,同时动态响应变慢,调节时间变大。3.1.3 微分作用 分析在不同微分时间常数下,系统的阶跃响应图,输入命令:Td=1:4:20;t=0:1:100;figure,hold onfor i=1:length(Td)Gc=tf(5*Td(i),5,1,5,0);G=feedback(sys*Gc,1);step(G,t)end 得图形如下: 图3-3 图中绘出了Td为1逐渐增大至20时的系统阶跃响应变化趋势,可知微分时间常数增加时,系统上升时间增加了,但是调节时间减少,更重要的是由于带有预测作用,惯性系统的
9、超调量大大减小了。3.2 PID参数的整定方法采用PID控制器时,最关键的问题就是确定PID控制器中比例度PB、积分时间Ti和微分时间Td。一般可以通过理论计算来确定这些参数,但往往有误差,不能达到理想的控制效果。因此,目前,应用最多的有工程整定法:如经验法、衰减曲线法、临界比例度法和反应曲线法,各种方法的大体过程如下:(1)经验法又叫现场凑试法,即先确定一个调节器的参数值PB和Ti,通过改变给定值对控制系统施加一个扰动,现场观察判断控制曲线形状。若曲线不够理想,可改变PB或Ti,再画控制过程曲线,经反复凑试直到控制系统符合动态过程品质要求为止,这时的PB和Ti就是最佳值。如果调节器是PID三
10、作用式,那么要在整定好的PB和Ti的基础上加进微分作用。由于微分作用有抵制偏差变化的能力,所以确定一个Td值后,可把整定好的PB和Ti值减小一点再进行现场凑试,直到PB、Ti和Td取得最佳值为止。显然用经验法整定的参数是准确的。但花时间较多。为缩短整定时间,应注意以下几点:根据控制对象特性确定好初始的参数值PB、Ti和Td。可参照在实际运行中的同类控制系统的参数值,或参照表3-4-1所给的参数值,使确定的初始参数尽量接近整定的理想值。这样可大大减少现场凑试的次数。在凑试过程中,若发现被控量变化缓慢,不能尽快达到稳定值,这是由于PB过大或Ti过长引起的,但两者是有区别的:PB过大,曲线漂浮较大,
11、变化不规则,Ti过长,曲线带有振荡分量,接近给定值很缓慢。这样可根据曲线形状来改变PB或Ti。PB过小,Ti过短,Td太长都会导致振荡衰减得慢,甚至不衰减,其区别是PB过小,振荡周期较短;Ti过短,振荡周期较长;Td太长,振荡周期最短。如果在整定过程中出现等幅振荡,并且通过改变调节器参数而不能消除这一现象时,可能是阀门定位器调校不准,调节阀传动部分有间隙(或调节阀尺寸过大)或控制对象受到等幅波动的干扰等,都会使被控量出现等幅振荡。这时就不能只注意调节器参数的整定,而是要检查与调校其它仪表和环节。 (2)衰减曲线法该方法是以4:1衰减作为整定要求的,先切除调节器的积分和微分作用 ,用凑试法整定纯
12、比例控制作用的比例度PB(比同时凑试二个或三个参数要简单得多),使之符合4:1衰减比例的要求,记下此时的比例度PBs和振荡周期Ts。如果加进积分和微分作用,可按相应的表格给出经验公式进行计算。若按这种方式整定的参数作适当的调整。对有些控制对象,控制过程进行较快,难以从记录曲线上找出衰减比。这时,只要被控量波动2次就能达到稳定状态,可近似认为是4:1的衰减过程,其波动一次时间为Ts。 (3)临界比例度法用临界比例度法整定调节器参数时,先要切除积分和微分作用,让控制系统以较大的比例度,在纯比例控制作用下运行,然后逐渐减小PB,每减小一次都要认真观察过程曲线,直到达到等幅振荡时,记下此时的比例度PB
13、k(称为临界比例度)和波动周期Tk,然后按对应的表给出的经验公式求出调节器的参数值。按该表算出参数值后,要把比例度放在比计算值稍大一点的值上,把Ti和Td放在计算值上,进行现场观察,如果比例度可以减小,再将PB放在计算值上。这种方法简单,应用比较广泛。但对PBk很小的控制系统不适用。 (4)反应曲线法前三种整定调节器参数的方法,都是在预先不知道控制对象特性的情况下进行的。如果知道控制对象的特性参数,即时间常数T、时间迟延和放大系数K,则可按经验公式计算出调节器的参数。利用这种方法整定的结果可达到衰减率=0.75的要求 。3.3 临界比例度法 在本设计中,我们组采用了临界比例度法来进行PID参数
14、的整定,下面是用临界比例度法整定PID参数的过程 在simulink中设计简单的PID控制系统结构图如下: 图3-4采用临界比例度法整定PID参数,先切除积分和微分作用,让控制系统以较大的比例度,在纯比例控制作用下运行,然后逐渐减小PB,直到达到等幅振荡时,记下此时的比例系数约为2.45 (称为临界比例度)和波动周期Tk约为32s,如下图:图3-5然后按对应的表给出的经验公式求出调节器的参数值。仅加入比例环节时,设P为1.225,系统阶跃响应图如下: 图3-6由图知系统超调量较小,调节时间为120s左右,但是存在较大的稳态误差为0.3左右,由前面分析欲减小稳态误差需加入积分环节,设P为1.1,
15、Ti为0.0375,此时系统阶跃响应图如下:图3-7由图知加入积分环节后系统的稳态误差大大减小,也验证了其消除误差的作用,但是调节时间加长到约为140s,同时超调量加大近38%,使用PID控制器: 图3-8系统稳态误差基本为零,调节时间略有减小,但是超调量接近50%,远远达不到系统动态性能的要求。减小比例系数后发现系统超调量逐渐下降,但是响应速度逐渐减慢,调节时间增加,于是增大微分时间常数以加快响应速度,根据经验法逐步调整各参数,得基本满足系统动态性能的图形如下:图3-9此时系统各项指标基本令人满意,只是调节时间稍长,为80s左右。 采用临界比例度法得到的PID参数为: Kp=1.47 Ki=
16、0.0625 Kd=43.4 PID参数的确定 该控制器采用的是临界比例系数法对PID参数进行初步整定,然后根据控制的效果,对PID参数进行调整。最后确定的PID参数为:Kp=2.8 Ki=0.007 Kd=20第四章控制结构 在这次设计中,我们首先对系统的传递函数进行根轨迹校正和波的图校正,然后采用调整系统控制量的模糊控制PID控制方法,对系统的控制器进行分析。4.1 利用根轨迹校正系统校正前开环系统根轨迹如下:图4-1设定系统校正指标要求为:稳态误差0.05,超调量15%,则校正过程如下:MATLAB中输入如下命令: KK=20;bp=0.15;ts=20;delta=0.02; ng0=
17、2;dg0=100,20,1;g0=tf(KK*ng0,dg0); ;建立传递函数模型s=bpts2s(bp,ts,delta)s = -0.2034 + 0.3368i ;期望的闭环主导极点 ngc,dgc=rg_lead(KK*ng0,dg0,s); ;根轨迹法求带惯性的PD控制器gc=tf(ngc,dgc) Transfer function:2.014 s + 0.5583- s + 0.5583 ;校正环节传递函数 g0c=tf(g0*gc);b1=feedback(sys,1); b2=feedback(g0c,1); ;单位负反馈step(b1,r-,b2,b);grid on
18、;校正前后系统的阶跃响应图4-2验算时域性能指标:pos,tr,ts,tp=stepchar(b2,delta)pos = 46.1787,tr = 2.4720,ts = 15.5381,tp = 3.5314从验算结果来看,稳态误差及调节时间达到设计要求,但超调量太大远远不能满足要求,需要调整闭环主导极点的位置。查看此时预设的主导极点的阻尼比和无阻尼自然频率: kosi,wn=s2kw(s)kosi =0.9477,wn =0.2146再提高阻尼比及自然频率的值分别为0.99,0.99得闭环极点:s=kw2s(0.99,0.99)s=-0.9801 + 0.1397i再运行PD控制器设计得
19、:Transfer function:6.838 s + 2.589- s + 2.589阶跃响应图如下:图4-3验算各性能指标: pos,tr,ts,tp=stepchar(b2,delta)pos =14.3869,tr =1.9006,ts =6.1242,tp =2.7453完全满足设计性能指标要求。4.2 利用伯德图校正系统 校正指标要求: ,幅值裕度15dB 。KK=20;Pm=60;wc=5;ng0=KK*2;dg0=6400 160 1; g0=tf(ng0,dg0);w=logspace(-1,3);ngc,dgc=fg_lead_pm_wc(ng0,dg0,Pm,wc,w)
20、;gc=tf(ngc,dgc);g0c=tf(g0*gc); b1=feedback(sys,1);b2=feedback(g0c,1);step(b1,r-,b2,b);grid onfigure,bode(sys,r-,g0c,b,w),grid on校正前后伯德图如下: 图4-4得校正前后阶跃响应如下:图4-5调节时间明显减小,响应速度加快。验算各性能指标如下: gm,pm,wcg,wcp=margin(g0c)得截止频率为1.33,离设计相差较大,相角裕度为73度也偏大,效果不是太理想,还需加入二级控制装置。4.3 调整系统控制量的模糊PID控制方法该控制方法采用的是模糊控制和PID控
21、制相结合,这类控制器的特点是在大偏差范围内利用模糊推理的仿佛调整系统的控制量U,而在偏差范围内转换成PID控制,二者的转换根据事先给定的偏差范围自动实现。系统框图如下:Fuzzy控制器|e|e0|?eeyd/dtyr+过程控制器-图4-6当switch的输入误差值的绝对值0.5时,采用模糊控制;当switch的输入误差值绝对值0.5时,采用PID控制。4.3.1模糊控制部分1.控制器设计(1)模糊集及论域定义对误差E、误差变化EC及控制量U的模糊集及论域定义如下:E、EC和U的模糊集均为NB,NM,NS,ZO,PS,PM,PBE和EC论域均为-3,-2,-1,0,1,2,3U的论域为-4.5,
22、-3,-1.5,0,1.5,3,4.5E的隶属函数图形如下图图4-7EC的隶属函数图形如下图图4-8U的隶属函数图形如下图图4-9(2)模糊控制规则模糊控制规则如下表表4-1NBNMNSOPSPMPBNBNMNSOPSPMPBPSNSNMNBNBNBNBPSPSNSNMNMNBNBPSPSONSNSNMNMPSPSOOONSNSPMPMPSPSONSNSPBPMPMPMPSPSNSPBPBPMPMPMPSNS(3)模糊变量的赋值表模糊变量E的赋值分别如表4-2E -3-2-10123NBNMNSOPSPMPB1.00000000.51.00.5000000.51.00.5000000.51.0
23、0.5000000.51.00.5000000.51.00.50000001.0模糊变量EC的赋值分别如表4-3E -3-2-10123NBNMNSOPSPMPB1.00000000.51.00.5000000.51.00.5000000.51.00.5000000.51.00.5000000.51.00.50000001.0模糊变量U的赋值分别如表4-4E -4.5-3-1.501.534.5NBNMNSOPSPMPB1.00000000.51.00.5000000.51.00.5000000.51.00.5000000.51.00.5000000.51.00.50000001.0得到的模糊
24、控制器的输出曲面如图图4-104.3.2 PID控制部分PID部分是当输入的|e|0.5时,主要是控制系统的稳定性。PID参数的主要通过临界比例度法进行整定,然后根据实际的控制效果,进行调节。最后确定的PID参数如下:Kp=2.8Ki=0.007Kd=20第五章控制器的设计 模糊控制器的输入为误差和误差变化率:误差e=r-y,误差变化率ec=de/dt,其中r和y分别为液位的给定值和测量值。把误差和误差变化率的精确值进行模糊化变成模糊量E和EC,从而得到误差E和误差变化率EC的模糊语言集合,然后由E和EC模糊语言的的子集和模糊控制规则R(模糊关系矩阵)根据合成推理规则进行模糊决策,这样就可以得
25、到模糊控制向量U,最后再把模糊量解模糊转换为精确量u,再经D/A转换为模拟量去控制执行机构动作。 图5-1 该控制器的特点是在大偏差范围内利用模糊推理的方法调整系统的控制量U,能够获得较好的动态性能,反应时间加快。而在小范围偏差范围内转换成PID控制,获得较好的静态性能。 从仿真曲线和性能指标可以看出,与常规的PID控制相比,模糊PID控制器能使系统响应的超调减小,反应时间加快。尤其是在系统具有延迟的模型结构和参数不确定的情况下,模糊PID控制具有更佳的控制效果。第六章.仿真结果与分析 本设计采用了Matlab的Simulink工具箱和Fuzzy工具箱进行了系统仿真,其中系统的传递函数为 其中
26、Simulink的仿真计算图如下图6-1其中PID参数为: Kp=2.8 Ki=0.007 Kd=20模糊控制和PID控制转换的设定值为:|e0|=0.5 当只有PID调节,没有加入模糊控制时的仿真曲线如下:图6-2增加了模糊控制后的仿真曲线:图6-3从上面的图像对比可知,模糊控制能够使得反应时间加快,明显改善了系统的动态特性。而在增加了随机扰动后,能够看到系统任然能够保持较好的稳态特性,说明PID控制器在具备较强的抗扰动能力。第七章.实训小结为期一个星期的MATLAB实训已经结束,虽然时间很短,但我还是从中学到了很多,对MATLAB有了一定的了解。 Matlab是一个基于矩阵运算的软件,它的
27、运算功能非常强大,编程效率高,强大而智能化的作业图功能,可扩展性强,simulink动态仿真功能,主要用于仿真、验证、算法思想是否正确。在这段时间里,我们主要学习MATLAB的工具的使用,熟悉其最基础的功能,锻炼了我的实际动手能力。Help是MATLAB中最有效的命令。遇到问题,通常都可以借助help解决问题。老师一再给我们强调了help的重要性。下面是我对help的一些常用方法的总结: (1) 命令窗口直接敲“help”,你就可以得到本地机器上matlab的基本的帮助信息。 (2)对于某些不是很明确的命令,只知道大体所属范围,譬如说某个工具箱,直接在命令窗口中敲入help toolboxna
28、me,一帮可以得到本工具箱有关的信息:版本号,函数名等。 (3)知道函数名,直接用help funname就可以得到相应的帮助信息。 我觉得想要学好MATLAB是不容易的,这是一件需要持之以恒的事,必须要坚持不懈的学习,还需要敢于开口向别人请教,更需要我们勤于思考,勤于记忆,勤于动手。程序设计是实践性和操作性很强的事情,需要我们亲自动手。因此,我们应该经常自己动手实际操作设计程序,熟悉MATLAB的操作,这对提高我们的操作能力非常有效。 在这几天时间里,我仅仅是学了一点点皮毛,想要进一步的学习,还需要我在以后的的实际运用里不断地学习,改进自己的不足之处,让自己能够有所进步,有所成长。最后感谢谢梁丽老师在设计中的帮助!参考文献1、李国勇,控制系统数字仿真与CADM,北京:电子工业出版社,2003,9月2、薛定宇,控制系统仿真与计算机辅助设计M,北京:机械工业出版社,2005,1月3、徐丽娜,神经网络控制M,哈尔滨:哈尔滨工业大学出版社,1998,114、刘金琨,先进PID控制及其MATLAB仿真M,北京:电子工业出版社,2003,8