APP下载

基于模糊控制的数字PID控制器在水位控制中的应用

2018-05-09何梅方刘欣志

科学与财富 2018年8期
关键词:变化率模糊控制水箱

何梅方 刘欣志

摘 要:本文首先对常规数字PID控制器进行分析,针对常规PID控制器存在参数不能兼顾动态性、静态性和协调性的问题[1],我们加入模糊控制器,将控制量的误差和误差变化率进行模糊化处理和逻辑决策,通过模糊推理算法和解模糊化-重心法,最后终实现对△ki、△kp、△kd三个输入参数的在线调控。总结出模糊数字PID控制器在线参数自整定能力强,对抑制干扰和噪声是有效的,能提高控制系统的静态和动态性能,具有较强的自适应能力。

对模糊控制的PID控器原理进行探讨,将此算法运用到自动控制原理中的水位控制问题中,实现了对水位更精确的控制。通过matlab中的simlink仿真,运用模糊控制数字PID 控制算法,实现了对抽象化后的水位仿真控制。

1.模糊PID控制器模糊控制规则的设计

通常,PID控制器的输出量U(t),输人量e(t)之间的关系见式(3)式中kP为比例增益,ki为积分增益,kp为微分增益。通过操作者的经验总结,并结合理论分析,可归纳出误差e和误差变化率ec跟PID控制器三个参数kp,ki,kd间的关系[2]。

基于输入误差e和误差变化率ec与三个参数△ki、△kp、△kd间的定性关系,结合工程设计人员的技术知识和实践操作经验,以此建立合适的模糊规则表,利用(2)得到kp,ki,kd等3个参数分别对应的模糊规则表[3]。

把模糊规则表转化成语言型模糊规则即写成条件语句形式,只要把该表用语言描述并存人单片机,在使用时,通过调用程序就可得出相应的输出,不必在控制过程中进行推理,实现实时控制。

在MATLAB命令窗口运行Fuzzy函数进入模糊逻辑编辑器,并建立一个新的FIS文件,选择控制器类型Mamdani型,根据上面的分析分别输入E、EC、△KP、△KI、△KD的隶属函数和量化区间,可得隶属函数图形[5]。打开Ruler Editor窗口,以If……then的形式输入模糊控制规则,与方式 (And method)为min;或方式(Or method)为max;推理 (Implication)为min;合成 (Aggregation)为max;去模糊(Defuzzification)为重心平均法(centroid)。这样就建立了一个FIS文件,取名为Fuzzypid.fis。在MATLAB的M文件编辑器里建立一个名为fpid.m的文件,其内容为:martrix=readfis(‘Fuzzypid.fis);这样就完成了模糊工具箱与SIMULINK 的链接,为整个系统的建立打下基础。

2. 模糊控制器仿真

在Matlab的Simulink环境下,建立模糊控制数字PID控制器,选取被控对象的函数为:

G(s)=26.67/(1+70s)

3. 利用模糊控制PID实现对水位控制

通过上述方法模型对自动控制中常见的水箱水位控制问题进行实践仿真,使用模糊控制器对水箱水位进行控制。

假定水箱有一个进水口和一个出水口,可以通过控制一个阀门来控制流入的水量(即水位高度),但是流出的速度取决于出水口的半径(定值)和水箱底部的压力(随水箱中的水位高度变化)。系统有许多非线性特性。

我们的设计的目标是一个合适的进水口阀门的控制器,能够根据水箱水位的实时测量结果对进水阀门进行相应控制,使水位满足特定要求(即特定输入信号)。一般情况下,控制器以水位偏差(理想水位和实际水位的差值)及水位变化率作为输入,输出的控制结果是进水阀打开或关闭的速度[4]。

4.控制水位變化的仿真过程

在Simulink编辑窗口左边的模块浏览区可以看到在水箱仿真系统中包括水箱子模型、阀门子模型及 PID 控制子模型。直接在浏览区中点击或右键点击它们,并在弹出菜单中选择[look under mask],可以看到这些模块实现的细节结构,直接利用前面设定的模糊推理系统,在它的基础上进行修改。这里我们采用与tank . fis中输入输出变量模糊集合完全相同的集合隶属度函数定义,只是对模糊规则进行一些改动,来学习模糊工具箱与仿真工具的结合运用。对于这个问题,根据经验和直觉很显然可以得到如下的模糊控制规则:

If (水位误差小)then(阀门大小不变(权重 1 );If (水位低) then (阀门迅速打开)(权重 1 );If (水位高) then (阀门迅速关闭)(权重 1 );

这相当于在原有模糊系统模型上减少两条模糊规则得到的新的模糊推理系统。改动完成后进行仿真,观察示波器模块,可以得到系统水位变化,如图1所示。

从上图的仿真控制结果曲线中可以看出上述由三条模糊规则组成的模糊控制系统的结果并不理想,因此可以再增加如下两条模糊控制规则:

If (水位误差小且变化率为负) then (阀门缓慢关闭)(权重 1 );If (水位误差小且变化率为正) then (阀门缓慢打开)(权重 1 ) ;

系统的输出变化曲线如下图2所示

从上图可以看出,在增加了模糊控制规则后,系统的动态特性得到较大改善,不但具有较短的响应时间,而且超调量也很小。根据上述模糊控制算法,在simlink中确定最终模块实现的细节结构,如图3所示。

最后在Matlab中,用一个S函数”animtank.m”实现水箱模型的仿真动画窗口,程序代码见附录三。该动画从动画中,可以观察到实际系统的水位跟要求水位信号变化,以及实时改变输入信号已达到控制水位的效果。

参考文献:

[1]王立新.模糊系统与模糊控制教程[M].北京:清华大学出版,2003 年 6 月

[2]薛定宇,陈阳泉 Matlab/Simulink 的系统仿真技术与应用[M]. 北京:清华大学出版,2003 年 6 月

[3]屈毅 宁铎 刘飞航 郭飞飞 模糊PID控制器的设计与仿真 陕西科技大学电信学院 2009年12月

[4]王安 杨青青 闫文宇 模糊自整定PID控制器的设计与仿真 西北工业大学自动化学院 2012年12月

猜你喜欢

变化率模糊控制水箱
基于电流变化率的交流滤波器失谐元件在线辨识方法
例谈中考题中的变化率问题
一种太阳能热水器水箱的控制系统
T-S模糊控制综述与展望
基于模糊控制的PLC在温度控制中的应用
PLC组态控制在水箱控制系统的应用
利用基波相量变化率的快速选相方法
基于模糊控制的恒压供水系统的研究
川滇地区地壳应变能密度变化率与强震复发间隔的数值模拟
水箱出水