水箱液位模糊控制

合集下载

双容水箱模糊控制规则

双容水箱模糊控制规则

双容水箱模糊控制规则双容水箱模糊控制规则引言双容水箱是一种常见的水源供应系统,其通过两个容器间的自动切换来保证水源的持续供应。

在实际使用中,为了更好地控制水箱的切换和保障供水质量,需要采用模糊控制技术。

本文将对双容水箱模糊控制规则进行详细介绍。

一、双容水箱基本原理1.1 双容水箱结构双容水箱由两个相同的储水器和一个控制系统组成。

其中,每个储水器都有一个进口和一个出口,而控制系统则负责监测并调节两个储水器中的液位。

1.2 双容水箱工作原理当一个储水器中的液位下降到一定程度时,控制系统会自动切换到另一个储水器,并开启进口阀门将新鲜的自来水注入该储水器中。

同时,出口阀门会打开以保证该储水器中的液位不断上升。

二、模糊控制技术介绍2.1 模糊控制原理模糊控制是一种基于模糊逻辑理论的智能控制方法,其主要思想是将模糊的输入量通过一定的规则转化为模糊的输出量,从而实现对系统的控制。

2.2 模糊控制在双容水箱中的应用在双容水箱中,模糊控制可以通过对液位、进出水流量等参数进行监测和分析,从而实现对水箱切换和进出水阀门的精确控制。

三、双容水箱模糊控制规则3.1 液位监测规则液位监测是双容水箱模糊控制的基础。

在液位监测中,需要将液位高度转化为模糊变量,并根据不同的液位高度设置相应的隶属函数。

例如:- 高液位:隶属函数为“大”- 中等液位:隶属函数为“中”- 低液位:隶属函数为“小”3.2 切换规则当一个储水器中的液位下降到一定程度时,需要切换到另一个储水器。

此时,可以根据两个储水器中当前的液位高度以及进出水流量等参数来确定是否需要切换。

例如:- 当当前储水器中的液位低于“中”且另一个储水器中的液位高于“中”时,需要切换到另一个储水器。

- 当两个储水器中的液位都低于“小”时,需要启动进口阀门将新鲜的自来水注入当前储水器中。

3.3 进出水阀门控制规则进出水阀门控制是双容水箱模糊控制的核心。

在进出水阀门控制中,需要根据当前储水器的液位高度以及进出水流量等参数来精确控制进出水阀门的开关状态。

水箱液位模糊控制

水箱液位模糊控制

水箱液位模糊控制器的设计1.水箱液位控制系统已知一个容器中液体的流出是随机变化的,无法建立它的数学模型。

但是,通过人工控制进液阀门的开度和进液流速,却能调节容器中液位的高低,保持液位恒定。

根据人工操作经验,我们已经归纳出如下保持液位恒定的操作规则:①如果液位偏低,则快开阀门;②如果液位正好,则阀门开度不变;③如果液位偏高,则快关阀门;④如果液位正好而进液流速慢,则慢关阀门;⑤如果液位正好而进液流速快,则慢开阀门。

图1-1 水箱液位控制系统原理图为此,我们可以设计如图1-2所示的双输入--单输出模糊控制系统:k 1k 2D/FD/F RF/D 控制对象k u 模糊控制器u e ec图1-2 二维模糊控制系统原理框图模糊控制器的两个输入变量分别为液位差e (设定液位高度r -实测液位高度M模糊控制器反馈 压力传感器控制量设定y)和液位差变化率ec(单位时间内的偏差改变量),输出模糊变量为u。

输入变量e和ec、输出变量u的论域、覆盖变量论域的模糊子集明朝、隶属度函数类型及拐点参数等,初步设定为表1-1所列的数值。

表1-1 覆盖输入变量、输出变量的模糊子集设定值2.构建模糊控制器的FIS结构文件2.1编辑出名称为“tank”的液位模糊控制系统FIS启动Matlab后,在主窗口中键入fuzzy回车,进入“FIS Editor”编辑器界面,完成下列任务:①增加一个输入变量;②将输入、输出变量的名称分别改成e、ec和u;③将这个FIS文件名定为“tank”并予以存盘。

得出如图2-1所示的FIS编辑器界面。

图2-1 液位模糊控制FIS编辑器2.2 编辑覆盖输入、输出变量的模糊子集在图2-1所示的FIS编辑器上,单机输入变量e模框,按表1-1列出的数据编辑e、ec和u的模糊子集。

在FIS编辑器界面上,双击输入量或输出量模框中的任何一个,都会弹出隶属函数编辑器,简称MF编辑器。

在MF编辑器界面上,单击“变量模框索引区”中待编辑变量的小模框,使其边框变粗、变红,则界面下部“当前变量区”内就显示该变量的性态,以供编辑。

基于MATLAB的水箱水位模糊控制

基于MATLAB的水箱水位模糊控制

基于MATLAB的水箱水位模糊控制————————————————————————————————作者:————————————————————————————————日期:2目录前言1.模糊控制概述1.1模糊控制的产生及特点 (3)1。

2 模糊控制技术的发展 (4)1。

3 模糊控制理论的研究现状 (5)2.模糊推理原理2。

1模糊控制的基本工作原理 (6)3.基于MATLAB的水箱供水模糊控制3。

1水箱水位模糊控制系统设计 (8)小结 (16)参考文献 (17)第1页前言随着社会经济的迅速发展,水对人们生活与工业生产的影响越来越重要,尤其是近几年,随着居民生活水平的显著提高和城市化进程的加快,居民生活用水和工业用水增长幅度加大,原有的供水系统已经不能满足人们的需求。

为了保证正常的供水,这里应用模糊控制技术,实现对水箱水位的自动控制.第2页3、基于MATLAB的水箱供水模糊控制3。

1水箱水位模糊控制系统设计本系统设计基于MATLAB图形模糊推理系统,设计步骤如下:(1)打开MATLAB,输入指令fuzzy,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Mamdani模糊推理系统。

图3.1 在FIS Editor窗口中新建水位控制模糊推理系统(2)增加一个输入变量,将输入变量命名为水位误差、误差变化,将输出变量命名为阀门开关速度.这样就建立了一个两输入单输出的模糊推理系统,保存为shuixiang.fis。

第3页图3。

2 增加一个输入变量(3)设计模糊化模块:设水位误差的论域为[-1 1],误差变化的论域为[—0.1 0。

1];两个输入量的模糊集都定为5个:其中水位误差定为高、偏高、合适、偏低、低五等;参数分别为[0.3 —1]、[0。

3 —0.5]、[0.3 0]、[0。

3 0.5]、[0.3 1];第4页图3.3 设计水位误差模块误差变化分为大、偏大、合适、偏小、小五等。

参数分别为[0.03 —0。

模糊控制水箱液位调节

模糊控制水箱液位调节

实验二:模糊控制水箱液位调节一实验目的1.掌握模糊控制的原理2.加强模糊控制在实践中的应用二实验器材装有Matlab软件PC电脑一台三实验原理模糊控制的基本原理:它的核心部分为模糊控制器,模糊控制器的控制规律由有计算机程序实现。

详见P32(模糊控制原理)。

四原代码clear allclose allq1=0; %定义第一个水箱的入水量q2=0; %定义第一个水箱的出水量q3=0; %定义第二个水箱的出水量q4=0; %定义第三个水箱的出水量b=1.4; %定义第一个水箱入水量的控制系数a1=8.6; %定义第一个水箱出水量的控制系数a2=8.6; %定义第一个水箱出水量的控制系数h1=100; %定义第一个水箱中水的初始高度h2=100; %定义第二个水箱中水的初始高度h3=100; %定义第三个水箱中水的初始高度v=119; %定义sin函数的系数s=190; %定义水箱底面积k=10; %定义开关控制量e=0; %定义误差e_1=0;ec=0;H=130; %定义第三个水箱的期望高度e=H-h1;a=newfis('fuzz'); %误差函数a=addvar(a,'input','e',[-25,25]);a=addmf(a,'input',1,'NB','zmf',[-25,-10]);a=addmf(a,'input',1,'PS','trimf',[-25,-10,0]);a=addmf(a,'input',1,'Z','trimf',[-10,0,10]);a=addmf(a,'input',1,'PS','trimf',[0,10,25]);a=addmf(a,'input',1,'PB','smf',[10,25]);a=addvar(a,'output','u',[0,100]); %控制量输出函数a=addmf(a,'output',1,'NB','zmf',[0,30]);a=addmf(a,'output',1,'NS','trimf',[0,30,50]);a=addmf(a,'output',1,'Z','trimf',[30,50,70]);a=addmf(a,'output',1,'PS','trimf',[50,70,100]);a=addmf(a,'output',1,'PB','smf',[70,100]);rulelist=[1 1 1 1;2 2 1 1;3 3 1 1;4 4 1 1;5 5 1 1];a = addrule(a, rulelist);for i=1:1:8000tt(i)=i; %时间轴q1=b*k; %第一个水箱的进水量q2=a1*sqrt(h1); %第一个水箱的出水量h1=h1+(q1-q2)/s; %第一个水箱中水的高度q3=a2*sqrt(h2); %第二个水箱的进水量h2=h2+(q2-q3)/4; %第二个水箱中水的高度q4=v*abs(sin(2.3*pi*i+0.35)); %第二个谁想的出水量h3=h3+(q3-q4)/s; %第三个水箱中的高度hh(i)=h3;k=evalfis(e,a);e=H-h3;endplot(tt,hh)五、插图。

模糊控制算法在水箱液位控制系统中的应用毕业论文

模糊控制算法在水箱液位控制系统中的应用毕业论文

模糊控制算法在水箱液位控制系统中的应用毕业论文目录摘要 (I)ABSTRACT...................................................... I I 1 绪论. (1)1.1课题研究的背景与意义 (1)1.2模糊控制产生的背景与意义 (1)1.3液位控制系统研究的意义 (2)1.4本论文研究的主要容 (3)2 液位控制系统的分析与建模 (4)2.1引言 (4)2.2液位控制系统控制对象及控制策略 (5)2.3被控对象的分析与建模 (6)2.4本章小结 (8)3 控制算法研究 (9)3.1模糊控制算法 (9)3.1.1 模糊控制的产生及发展 (9)3.1.2 模糊控制的特点 (10)3.1.3 模糊控制的基本概念 (10)3.1.4 模糊控制的基本理论 (14)3.2本章小结 (18)4 模糊控制算法在水箱液位控制中的应用 (19)4.1PID控制在双容水箱液位控制系统中的仿真研究 (19)4.1.1 PID控制算法 (19)4.1.2 PID参数对系统性能的影响 (21)4.1.3 PID参数的整定方法 (21)4.2模糊自整定PID在双容水箱液位系统中的应用 (25)4.2.1 模糊PID控制器的设计 (25)4.2.2 模糊控制部分 (25)4.3仿真结果与分析 (29)结论 (31)致谢 (32)参考文献 (33)1 绪论1.1 课题研究的背景与意义随着工业生产的飞速发展,人们对控制系统的控制精度、响应速度、系统稳定性与适应能力的要求越来越高。

而实际工业生产过程中的被控对象往往具有非线性、时延的特点,应用常规的控制手段难以达到理想的控制效果,研究对非线性、时延对象的先进控制策略,提高系统的控制水平,具有重要的实际意义。

本文所提及的液位控制系统是一种可以模拟多种对象特性的实验装置。

该装置是进行控制理论与控制工程教学、实验和研究的理想平台,可以方便的构成多阶系统对象,用户既可通过经典的PID控制器设计与调试,完成经典控制教学实验,也可通过模糊逻辑控制器的设计与调试,进行智能控制教学实验与研究。

水箱水位恒定的模糊PID控制(2)

水箱水位恒定的模糊PID控制(2)

4.3 模糊集选择及隶属函数设计(1)FC1模糊语言变量的设计:将变量E的语言值设定为8个,即{负大(NB),负中(NM),负小(NS),负零(NZ),正零(PZ),正小(PS),正中(PM),正大(PB)。

将EC的语言值设定为7个,即{负大(NB),负中(NM),负小(NS),零(Z),正小(PS),正中(PM),正大(PB);将输出变量ΔKp的语言值设定为7个,即{负大(NB),负中(NM),负小(NS),零(Z),正小(PS),正中(PM),正大(PB)并设定其隶属函数,如图4-6至4-8图4-6 FC1输入变量E的隶属函数图4-7 FC1输入变量EC的隶属函数图4-8FC1输出变量△Kp的隶属函数(2)FC2模糊语言变量的设计:将输入模糊变量E、EC和输出模糊变量ΔKi 的语言值都设定为7个,即{负大(NB),负中(NM),负小(NS),零(Z),正小(PS),正中(PM),正大(PB)。

模糊控制器FC2的输入输出模糊语言变量值隶属函数如图4-9至4-11图4-9 FC2输入变量E的隶属函数图4-10 FC2输入变量EC的隶属函数图4-11 FC2输出变量△Ki的隶属函数(3)FC3模糊语言变量设计:将变量E的语言值设定为6个,即{负大(NB),负中(NM),负小(NS),正小(PS),正中(PM),正大(PB)。

将EC的语言值设定为7个,即{负大(NB),负中(NM),负小(NS),零(Z),正小(PS),正中(PM),正大(PB);将输出变量ΔKd的语言值设定为7个,即{负大(NB),负中(NM),负小(NS),零(Z),正小(PS),正中(PM),正大(PB)并设定其隶属函数如图4-12至4-14图4-12 FC3输入变量E的隶属函数图4-13 FC3输入变量EC的隶属函数图4-14 FC3输出变量△Kd的隶属函数4.4 模糊规则集的设定参数Kp 、Ki 、Kd在不同的e 和ec 下的自调整要满足如下调整原则: (1) 当e 较大时,为加快系统的响应速度,防止因开始时e 的瞬间变大可能会引起的微分溢出,应取较大的Kp 和较小的Kd ,同时由于积分作用太强会使系统超调加大,因而要对积分作用加以限制,通常取较小的Ki值;(2) 当 e 中等大小时,为减小系统的超调量, 保证一定的响应速度, Kp 应适当减小;同时Kd 和Ki的取值大小要适中;(3) 当e 较小时,为了减小稳态误差, Kp 与Ki 应取得大些,为了避免输出响应在设定值附近振荡,同时考虑系统的抗干扰性能, Kd 值的选择根据|ec|值而定,ec较大时,Kd 取较小值,ec较小时,Kd取较大值,通常Kd 为中等大小。

智能控制及MATLAB实现—水箱液位模糊控制仿真设计

智能控制及MATLAB实现—水箱液位模糊控制仿真设计

智能控制及MATLAB实现—水箱液位模糊控制仿真设计智能控制是一种利用先进的智能技术和算法来实现自动控制的方法。

在智能控制中,模糊控制是一种常见且有效的方法之一、模糊控制通过将模糊逻辑应用于控制系统中的输入和输出,根据模糊规则来进行决策和控制。

水箱液位控制是一个典型的控制问题,常常用于工业和民用领域中的自动化系统。

在许多控制应用中,水箱液位的控制是一个关键的问题,因为它需要根据系统的液位情况来实现稳定的控制。

在模糊控制中,首先需要建立一套模糊规则系统,该系统包括模糊化、模糊推理和解模糊化这三个步骤。

模糊化是将实际输入转换为模糊集合的过程。

在水箱液位控制中,可以将液位分为低、中和高三个模糊集合。

通过将实际液位值映射到这些模糊集合中的一个,来表示液位状态。

模糊推理是根据一组模糊规则,将模糊输入转换为模糊输出的过程。

通过将输入和规则进行匹配,确定输出的模糊集合。

在水箱液位控制中,可以使用如下规则:如果液位低且液位变化小,则控制信号为增大水流量;如果液位高且液位变化大,则控制信号为减小水流量;如果液位中等且液位变化适中,则控制信号为不变。

解模糊化是将模糊输出转换为实际的控制信号的过程。

在水箱液位控制中,可以使用模糊加权平均值的方法来进行解模糊化。

通过将模糊集合和其对应的权重进行加权平均计算,得到最终的控制信号。

在MATLAB中,可以使用Fuzzy Logic Toolbox来实现水箱液位模糊控制仿真设计。

首先需要建立输入和输出的模糊化和解模糊化函数,然后根据实际的模糊规则,构建模糊系统。

最后通过设定输入的模糊值,使用模糊系统进行推理和解模糊,得到最终的控制信号。

总结起来,智能控制及MATLAB实现水箱液位模糊控制仿真设计包括建立模糊规则系统,进行模糊化、模糊推理和解模糊化三个步骤,通过Fuzzy Logic Toolbox来实现模糊控制系统的构建和仿真。

通过利用模糊控制的方法,可以实现水箱液位的自动稳定控制,并提高了控制系统的鲁棒性和适应性。

水箱液位模糊控制器仿真练习

水箱液位模糊控制器仿真练习

水箱液位模糊控制器仿真练习水箱通过调节阀可向内注水和向外抽水。

设计一个模糊控制器,通过调节阀门将水位稳定在固定点附近。

图1 水箱液位控制1.输入量和输出量的模糊化将偏差e分为五级:负大(NB),负小(NS),零(O),正小(PS),正大(PB)。

根据偏差e的变化范围分为七个等级:-3,-2,-1,0,+1,+2,+3。

表1 控制量变化划分表控制量u为调节阀门开度的变化。

将其分为五级:负大(NB),负小(NS),零(O),正小(PS),正大(PB)。

并根据u的变化范围分为九个等级:-4,-3,-2,-1,0,+1,+2,+3,+4。

表2 控制量变化划分表2.模糊规则的描述根据日常的经验,设计以下模糊规则:(1)“若e负大,则u正大”(2)“若e负小,则u正小”(3)“若e为0,则u为0”(4)“若e正小,则u负小”(5)“若e正大,则u负大”3.隶属度函数(1)输入(误差e)隶属函数(2)输出(控制量u)隶属函数4.仿真结果取偏差e=-3所得仿真结果如下:5.不同的隶属函数(1)输入(误差e)隶属函数(2)输出(控制量u)隶属函数6.仿真结果取偏差e=-3所得仿真结果如下:7.结果分析以上对输入(误差e)采用两个不同的隶属函数,第一个采用三角形隶属函数,第二个采用梯形隶属函数,从以上两个仿真结果可以看出,对于同样的输入e=-3,当使用三角形隶属函数时,其输出为u=-3.53, 当使用梯形隶属函数时,其输出为u=-3.05。

从图上还可以看出当采用梯形隶属函数时,对特定的元素所得到的隶属度会有较多机会为“1”,而用三角形隶属函数的隶属度较小。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

水箱液位模糊控制器的设计
1.水箱液位控制系统
已知一个容器中液体的流出是随机变化的,无法建立它的数学模型。

但是,通过人工控制进液阀门的开度和进液流速,却能调节容器中液位的高低,保持液位恒定。

根据人工操作经验,我们已经归纳出如下保持液位恒定的操作规则:
①如果液位偏低,则快开阀门;
②如果液位正好,则阀门开度不变;
③如果液位偏高,则快关阀门;
④如果液位正好而进液流速慢,则慢关阀门;
⑤如果液位正好而进液流速快,则慢开阀门。

图1-1 水箱液位控制系统原理图
为此,我们可以设计如图1-2所示的双输入--单输出模糊控制系统:
k 1k 2D/F
D/F R
F/D 控制对象
k u 模糊控制器
u e ec
图1-2 二维模糊控制系统原理框图
模糊控制器的两个输入变量分别为液位差e (设定液位高度r -实测液位高度M
模糊控制器
反馈 压力传感器
控制量
设定
y)和液位差变化率ec(单位时间内的偏差改变量),输出模糊变量为u。

输入变量e和ec、输出变量u的论域、覆盖变量论域的模糊子集明朝、隶属度函数类型及拐点参数等,初步设定为表1-1所列的数值。

表1-1 覆盖输入变量、输出变量的模糊子集设定值
2.构建模糊控制器的FIS结构文件
2.1编辑出名称为“tank”的液位模糊控制系统FIS
启动Matlab后,在主窗口中键入fuzzy回车,进入“FIS Editor”编辑器界面,完成下列任务:
①增加一个输入变量;
②将输入、输出变量的名称分别改成e、ec和u;
③将这个FIS文件名定为“tank”并予以存盘。

得出如图2-1所示的FIS编辑器界面。

图2-1 液位模糊控制FIS编辑器
2.2 编辑覆盖输入、输出变量的模糊子集
在图2-1所示的FIS编辑器上,单机输入变量e模框,按表1-1列出的数据编辑e、ec和u的模糊子集。

在FIS编辑器界面上,双击输入量或输出量模框中的任何一个,都会弹出隶属函数编辑器,简称MF编辑器。

在MF编辑器界面上,单击“变量模框索引区”中待编辑变量的小模框,使其边框变粗、变红,则界面下部“当前变量区”内就显示该变量的性态,以供编辑。

如图2-2为输入量e的MF编辑器,在“Name”一项上讲该模框的名称命名为“negative”,在“Type”一项上将该模框的隶属函数类型定为“gaussmf”(高斯型),在“Params”一项上将其拐点定为“[0.45 -1]”。

以此类推,将ec和u的模糊子集也按表1-1列出的数据编辑完成。

图2-2“tank”输入量e的MF编辑器
2.3 编辑“tank”的模糊控制规则
表2-1液位模糊控制规则表
在编辑器界面上,顺序单击菜单Edit→Rules...,弹出tank的Rule编辑器,在该编辑器上把表2-1所列的五条模糊规则输入进去,即完成了模糊控制规则的编辑。

3.在模型编辑器中构建系统的仿真模型图
在simulink中搭建如图3-1所示的仿真模型图,其中“V ALVE(液桶)”、“WATER TANK(阀门)”和“animtank(动画)”不是模块库中的基本模块,是
从模型仿真示例“tank”中复制的。

复制方法为:在Matlab主窗口中键入sltank,回车得出“sltank”仿真模型图,在图中复制所需的模块即可。

图3-1液位模糊控制仿真模型图
检查FIS结构文件是否嵌入“Fuzzy Logic Controller”模块,然后顺序单击菜单Simulation→Start开始仿真。

这时屏幕上出现Water Level Control水位控制动画,如图3-2所示。

图3-2水桶动画图
同时,在Conparision屏幕上出现信号源输出的方波经过系统前(黄色)后(红色)的两条波形曲线,如图3-3所示,分析他们的差异有利于了解系统性能,改进系统的设计。

图3-3方波经过控制系统前后的图线
4.总结
通过simulink仿真图上的波形可以看出,模糊控制具有响应速度快、超调量小、鲁棒性好的优点。

相关文档
最新文档