水箱水位模糊控制系统仿真作业
实验八 水箱仿真系统综合实验

实验八水箱仿真系统综合实验实验目的1、熟悉自动控制系统的基本概念,了解单回路控制的特点和调节品质,掌握PID参数对系统控制性能的影响。
2、学会分析执行器风开风关特性的选择及调节器正反作用的确定。
3、初步掌握单回路控制系统的投运步骤以及单回路控制器参数调整方法。
实验设备1. PC机一台2.《水箱液位自动控制系统仿真软件》实验原理介绍本实验应用水箱液位控制系统仿真软件完成相关的实验操作,该软件的开发环境为labview。
软件界面包含了调节器、调节阀、水箱、手动阀、液位计等虚拟构件。
这些构件组成了一个完整的自动控制系统。
通过鼠标点击、拖动和键盘输入可完成手动阀开度的调整、调节阀气开气关特性的选择、调节器正反作用的选择、手自动切换以及PID参数设置等操作。
在软件运行过程中实时曲线控件以不同颜色的实时曲线分别显示了给定值、测量值及操作量。
在实验中按步骤完成相关操作,并记录分析实时曲线即可完成相关实验内容。
实验步骤(一)熟悉装置的基本操作1)运行程序开始菜单——所有程序——自动控制原理——自动控制系统基本概念。
调整手动/自动切换液面,比较自动控制系统的组成和作用。
1.一个完整的自动控制系统包含哪几部分?该水箱液位控制系统当中的被控变量和操纵变量分别是什么?画出该水箱液位系统的方框图。
2)调整出水阀和进水阀,观察水箱液位变化;2.利用测试法建立水箱对象模型。
确定对象的放大系数、时间常数及纯滞后时间。
3)熟悉液位显示曲线画面。
图形具备动态显示功能,可同时显示PV(ProcessValue)、SV(Set Point value)、MV(Manipulated variable)曲线,可进行根据需要修改颜色和粗细。
此外图形具备存储功能,鼠标右键可导出简化图形,作为实验报告结果上交。
4)熟悉控制器的基本功能;①显示水位给定(SV),比较器(DV),运算器(MV);②手自动切换;③正反作用选择(控制器下方);3.控制器正反作用的选择原则是什么?④PID参数调整;5)执行器(调节阀)可进行气开/气关的选择;4.调节阀气开/气关的选择原则是什么?当信号中断的时候,气开/气关阀的阀位分别是多少?(二)执行器(调节阀)气开气关选择和控制器正反作用选择;选择原则:要求液体不溢出5.根据上述原则,执行器(调节阀)和控制器的选择结果分别是?如果要求液位不能过低,应如何选择?可以工作吗?(三)装置运行1)出水阀开在50%;2)控制器手动操作,调节MV信号,手动将液位调在40%。
水箱液位模糊控制

水箱液位模糊控制器的设计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编辑器界面上,单击“变量模框索引区”中待编辑变量的小模框,使其边框变粗、变红,则界面下部“当前变量区”内就显示该变量的性态,以供编辑。
三容水箱模糊控制

实验1 三容水箱的模糊控制一.实验目的1.掌握模糊控制的基本原理,能够利用模糊控制解决一些基本问题;2.进一步熟悉掌握MATLAB编程语句;3.了解三容水箱的基本模型,能够实现三容水箱的基本控制。
二.实验原理1.确定观测量和控制量定义给定液位为r,实际测得的水位高度为h,选择液位差为e=r-h3。
选择液位误差的增量ec=e-e_1。
则可选e和ec作为本次实验的观测量。
显然本次实验的控制量为阀门开度k。
2.输入量和输出量的模糊化输入量共两个,e和ec,输出量为阀门开度k。
将偏差e分为5个模糊集:负大(NB),负小(NS),零(Z),正小(PS),正大(PB)。
与此相同,我们把ec也分为5个模糊集:负大(NB),负小(NS),零(Z),正小(PS),正大(PB)。
我们把输出量阀门开度k分为5个模糊集:小(S),中小(SM),中(M),中大(MB),大(B)。
具体模糊化可参照实验结果图。
3.模糊规则的描述具体见实验程序。
4.求模糊关系R5.模糊决策u=e。
R6.实验模型q1=5*k;h1=h1+(q1-q2)/s;q2=14*sqrt(h1);h2=h2+(q2-q3)/s;q3=22*sqrt(h2);q4=140*abs(sin(1.1*pi*i+0.3));h3=h3+(q3-q4)/s;k为阀门开度。
各个参数含义:h1,h2,h3分别代表三水箱的液位;q1代表水箱1流进流量,q2为水箱1流出流量,q3为水箱2流出流量,q4为水箱3流出流量;s 为水箱底面积。
三.实验要求通过模糊控制,随着q4的正弦变化,要求能够通过调节阀门开度k来使第三个水箱液位h3稳定在设定值,并且其他两水箱水不会流尽。
四.实验内容(程序及描述)1.程序代码clear all;close all;warning off;s=110;h1=40;h2=60;h3=80;q1=0;q2=0;q3=0;k=20;e_1=25;ec_1=0;a=newfis('fuzz_tank');%声明一个模糊系统%添加第一个输入变量到模糊系统中a=addvar(a,'input','e',[-50,50]);a=addmf(a,'input',1,'NB','zmf',[-50,-20]);a=addmf(a,'input',1,'NS','trimf',[-20,-10,0]); a=addmf(a,'input',1,'Z','trimf',[-10,0,10]);a=addmf(a,'input',1,'PS','trimf',[10,20,30]); a=addmf(a,'input',1,'PB','smf',[30,50]);%添加第二个输入变量到模糊系统中a=addvar(a,'input','ec',[-9,9]);a=addmf(a,'input',2,'NB','zmf',[-9,-5]);a=addmf(a,'input',2,'NS','trimf',[-5,-3,-1]);a=addmf(a,'input',2,'Z','trimf',[-1,0,1]);a=addmf(a,'input',2,'PS','trimf',[1,3,5]);a=addmf(a,'input',2,'PB','smf',[5,9]);%添加第一个输出变量到模糊系统中a=addvar(a,'output','k',[4 ,37]);a=addmf(a,'output',1,'S','zmf',[4,8]);a=addmf(a,'output',1,'SM','trimf',[8,16,18]); a=addmf(a,'output',1,'M','trimf',[16,18,20]); a=addmf(a,'output',1,'MB','trimf',[21,24,26]); a=addmf(a,'output',1,'B','smf',[26,37]);%控制规则rulelist=[1 1 1 1 1;1 2 1 1 1;1 3 1 1 1;1 4 1 1 1;1 52 1 1;2 1 1 1 1;2 2 2 1 1;2 3 2 1 1;2 4 2 1 1;2 53 1 1;3 1 3 1 1;3 2 3 1 1;3 3 3 1 1;3 4 3 1 1;3 54 1 1;4 1 3 1 1;4 2 3 1 1;4 3 4 1 1;4 4 4 1 1;4 5 4 1 1;5 1 4 1 1;5 2 4 1 1;5 3 5 1 1;5 4 5 1 1;5 5 5 1 1]a=addrule(a,rulelist);a=setfis(a,'DefuzzMethod','mom');writefis(a,'tank');a=readfis('tank');for( i=1:1:5000)time(i)=i;r=100;e=r-h3;ec=e-e_1;e_1=e;ec_1=ec;k=evalfis([e,ec],a);%modelq1=5*k;h1=h1+(q1-q2)/s;q2=14*sqrt(h1);h2=h2+(q2-q3)/s;q3=22*sqrt(h2);q4=140*abs(sin(1.1*pi*i+0.3));h3=h3+(q3-q4)/s;L1(i)=h1;L2(i)=h2;L3(i)=h3;endfigure(1);plotmf(a,'input',1);figure(2);plotmf(a,'input',2);figure(3);plotmf(a,'output',1);figure(4);plotfis(a);figure(5);plot(time,r,'k',time,L1,'g',time,L2,'b',time,L3,'r');五.实验记录1.实验截图图1:第一个输入变量e的隶属度曲线图2:第二个输入变量ec的隶属度曲线图3:输出变量k的隶属度曲线图4:模糊系统图5:h1,h2,h3的变化其中红色曲线是h3,绿色曲线是h1,蓝色曲线是h2 。
模糊控制水箱液位调节

实验二:模糊控制水箱液位调节一实验目的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)五、插图。
水箱水位恒定的模糊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中,可以使用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”,而用三角形隶属函数的隶属度较小。
水箱液位控制PID的MATLAB参数整定及仿真

水箱液位控制PID的MATLAB参数整定及仿真摘要:PID控制器主要针对控制对象来进行参数调节。
PID的归一参数整定法和试凑法费时,费力。
针对这一问题,探讨MATLAB实现PID参数整定及仿真,同时观察控制参数对PID控制规律的影响。
关键词:PID;参数整定;仿真1 引言PID控制器又称为PID调节器,是按偏差的比例P、积分I、微分D进行控制的调节器的简称,它主要针对控制对象来进行参数调节。
因为它算法简单、稳定性好、工作可靠、鲁棒性好,在工程上易于实现,但PID控制器的参数整定方法复杂,通常采用PID归一参数法和试凑法来确定,但较费时、费力。
针对这一问题,文中探讨用MATLAB实现PID参数整定及仿真的方法及控制参数对PID控制规律的影响。
利用MATLAB强大的计算仿真能力,解决了利用试凑法来整定参数浩繁的工作,可以方便、快速地找到使系统达到满意性能指标的参数。
2 PID控制器的原理与算法图1是典型PID控制系统结构图。
在PID调节器作用下,对误差信号分别进行比例、积分、微分控制。
PID控制算法的模拟表达式为μ (t) =Kp [ + +Td de(t) dt ]相应的传递函数为:Gc(s)= Kp(1 +S + TdS)3 水箱水位调节系统:一个典型的水箱水位自动控制系统如下图所示。
这个水位控制系统中,水池的进水量Q1来自手动控制开度的进水阀门,通过调节出水阀门调节出水量Q2,使水箱水位保持设定水位不变。
这个系统是个典型单冲量自动调节系统,在该系统中:系统中各组成单元的模型如下:水箱对象模型:G(s)=液位传感器:量程0~40cm执行阀:对应0~100%开度系统的方框图如图所示:4 PID控制器的MATLAB仿真PID控制器的参数Kp、Ti、Td分别对系统性能产生不同的影响。
在控制过程中如何把Kp、Ti、Td 3参数调节到最佳状态,需要深入了解PID控制中3参数对系统动态性能的影响。
下面讨论水箱水位调节系统中当一个参量发生变化,对应曲线的实时变化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
水箱水位模糊控制系统仿真建模摘要水位控制系统在各个领域上都有广泛应用,虽然其结构简单但由于控制过程具有多变量,大滞后,时变性等特点,且在控制过程中系统会受到各种不确定因素的影响,难于建立精确的数学模型。
虽然自适应、自校正控制理论可以对缺乏数学模型的被控对象进行识别,但这种递推法复杂,实时性差。
近年来模糊控制在许多控制应用中都取得了成功,模糊控制应用于控制系统设计不需要知道被控对象精确的数学模型,对于许多无法建立精确数学模型的复杂系统能获得较好的控制效果,同时又能简化系统的设计,因此,在水箱水位自动控制系统中,模糊控制就成为较好的选择。
本文主要论述了应用模糊控制理论控制水箱水位系统,首先详尽的介绍了模糊控制理论的相关知识,在此基础上提出了用模糊理论实现对水箱水位进行控制的方案,建立了简单的基于水箱水位的模糊控制器数学模型。
本试验系统还充分利用了MATLAB的模糊逻辑工具箱和SIMULINK相结合的功能,首先在模糊逻辑工具箱中建立模糊推理系统FIS作为参数传递给模糊控制仿真模块,然后结合图形化的仿真和建模工具,再通过计算机仿真模拟出实际系统运行情况。
通过试验模拟,证明了其可行性。
关键词:水位控制;模糊控制;MATLAB;Simulink1 绪论1.1 水箱水位系统概述在能源、化工等多个领域中普遍存在着各类液位控制系统液。
各种控制方式在液位控制系统中也层出不穷,如较常用的浮子式、磁电式和接近开关式。
而随着我国工业自动化程度的提高,规模的扩大,在工程中液位控制的计算机控制得到越来越多的应用。
液位控制系统的检测及计算机控制已成为工业生产自动化的一个重要方面。
经典控制理论和现代控制理论的控制效果很大一部分取决于描述被控过程精确模型的好坏,这使得基于精确数学模型的常规控制器难以取得理想的控制效果。
但是一些熟练的操作工人、领域专家却可以得心应手的进行手工控制。
因此基于知识规则的模糊控控制理论在其应用中就有了理论和现实意义1.2模糊控制理论简介1.2.1模糊控制理论的产生、发展及现状目前,模糊理论及其应用愈来愈受到人们的欢迎,在学术界也受到不同专业研究工作者的重视,在化工、机械、冶金、工业炉窑、水处理、食品生产等多个领域中发挥着重要的作用。
究其原因,主要在于模糊逻辑本身提供了一种基于专家知识(或称为规则)甚至语义描述的不确定性推理方法。
控制系统的设计不要求知道被控对象的精确数学模型,只需要提供专家或现场操作人员的经验知识及操作数据,因而对于许多无法建立精确数学模型的复杂系统能获得较好的控制效果,同时又能简化系统硬件电路的设计。
充分显示了其对大规模系统、多目标系统、非线性系统以及具有结构不确定性的系统进行有效控制的能力。
近年来,模糊控制已渗透到家用电器领域。
国内外现在已有模糊电饭煲、模糊洗衣机、模糊微波炉、模糊空调机等在市场上出现。
1.2.2 模糊控制理论运用于水箱水位系统控制的意义采用传统的控制方法对锅炉实施控制时存在以下一些难以克服的困难:(1)在一些应用中系统存在严重耦合,如在密封容器中水与气体的耦合。
(2)由环境温度的不断变化给系统带来的不确定性。
(3)对于多级复杂的水箱水位控制系统存在时间滞后,包括测量带滞后、过程延迟和传输时滞等。
(4)在一些工作环境恶劣的条件下,在测量信号中存在大量噪声。
(5)一些工作环境经常变化和应用广泛的设备的水位控制系统其运行参数的设定值需要经常变化。
模糊控制理论以其非线性控制、高稳定性、较好的“鲁棒性”、对过程参数改变不灵敏、参数自调整功能等众多经典PID控制所不具备的特点能很好的克服以上所列的困难。
1.3本文的主要任务及内容安排本文以简单的一级水箱水位控制系统为研究对象,来尝试模糊控制理论在自动控制中的应用,模糊控制系统实质上是计算机控制系统,它的硬件部分和一般的计算机控制系统相同,一般由单片机或微机及相关的外围电路、板卡或工控模块等组成,所不同的只是在软件设计上。
本文主要是探讨模糊控制理论的一种典型应用,其生成的实物并没有直接的应用的价值,因此不值得浪费经费去形成成品,而利用了当前流行的仿真软件MATLAB/SIMULINK,进行仿真建模生成软件模型进行仿真调试,以期达到掌握参数,控制精度,动态特性等指标的比较结果的目的。
根据这些任务,本文主要进行了以下几个方面的工作:(1)对模糊理论相关知识进行理论学习。
(2)结合一级水箱水位系统进行模糊控制器的设计(3)利用MATLAB/SIMULINK软件对水箱水位系统进行仿真建模。
进行调试(4)对本文的工作进行总结,得出结论并对本文涉及的内容作出进一步的展望。
2水箱水位模糊控制器的建立本章利用模糊数学工具及模糊控制理论知识,建立一个水箱水位模糊控制器,水位模糊控制器可以设计为二维控制器,即输入量是水位误差和误差变化率,输出量是阀门控制量,但由于过程计算量大,计算复杂所以此章仅采用一维系统,即单输入——单输出统,较复杂的二维系统将在下一章里利用MUTLAB软件构建,并仿真。
图3—1为水位模糊控制系统的基本结构。
图3—1 水位模糊控制系统2.1输入输出语言变量语言值的选取及其赋值表我们选取误差语言变量、控制语言变量的语言值为5个,即{PL,PS,O,NS,NL}。
设误差、控制量语言变量的论域分别为X、Y,量化等级都为9个。
有X = Y = {-4,-3,-2,-1,0,1,2,3,4}图3—2 给出了输入、输出语言变量的隶属函数。
表3-1给出了语言变量的赋值表图 3—2 输入、输出语言变量的隶属函数图量化等级 隶属度语言值-4-3 -2 -1 0 1 2 3 4 PL PS O NS NL0 0 0 0 1 0 0 0 0.5 0.50 0 0 1 00 0 0.5 0.5 00 0 1 0 00 0.5 0.5 0 00 1 0 0 00.5 0.5 0 0 01 0 0 0 0表 3—1 输入输出语言变量赋值表2.2 控制规则描述总结人的控制水位策略,设计水位控制器包括5条规则如下:R 1: if E = NL then U=PL R 2: if E = NS then U=PS R 3: if E = O then U=O R 4: if E = PS then U=NS R 5: if E = PL then U=NL2.3 水位控制模糊关系矩阵首先,求每条规则所描述的模糊关系R i ,然后,再求描述水位控制系统的总的模糊控制关系R ,即54321R R R R R R ∨∨∨∨=。
[]⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡==⨯=⨯=0000000000000000000000000000000000000000000000000000000005.05.0000000015.0000000015.0000000000000005.01)()(1 PL NL PL NL U PL E NL R T []⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡==⨯=⨯=00000000000000000000000000000000000000005.05.05.00000005.015.00000005.05.05.00000000000000005.015.000000000005.015.00)()(2 PS NS PS NS U PS E NS R T[]⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡==⨯=⨯=0000000000000000000000005.05.05.00000005.015.00000005.05.05.00000000000000000000000000000000005.015.00000005.015.0000)()(3 O O O O U O E O R T []⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡==⨯=⨯=000000000000005.05.05.00000005.015.00000005.05.05.00000000000000000000000000000000000000000000000000005.015.0005.015.000000)()(4 NSPS NS PS U NS E PS R T[]⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡==⨯=⨯=00000005.010*******.05.000000000000000000000000000000000000000000000000000000000000000015.0000005.0115.00000000)()(5 NLPL NL PL U NL E PL R T ⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=∨∨∨∨=00000005.01000005.05.05.05.0000005.015.000005.05.05.05.05.000005.015.000005.05.05.05.05.000005.015.0000005.05.05.05.00000015.0000000054321R R R R R R3.4 模糊推理3.4.1 输入量模糊化假设实际水位误差量化后等级分别为-4、-3、-2、-1、0、1、2、3、4,然后对这些量化等级进行模糊化。
规定等级-4、-2、0、2、4模糊化后的模糊集合分别为:NL 、NS 、O 、PS 、PL 。
而-3属于模糊集合NL 、NS 的隶属度都等于0.5,-1属于模糊集合NS 、O 的隶属度也等于0.5,1属于模糊集合O 、PS 的隶属度都等于0.5,3属于模糊集合PS 、PL 的隶属度也等于0.5。
因此:(1)当输入误差量化等级为-3时,其输出控制量的模糊集合相应于输出论域元素的隶属度,应为当输入为NL 、NS (或量化等级为-4、-2)时输出控制量集合相应于输出论域元素的隶属度和的一半。
或者认为:当输入误差量化等级为-3时,其输出控制量的精确值,为当输入为NL 、NS (或量化等级为-4、-2)时输出控制量精确值的一半。
(2)当输入误差量化等级为-1时,其输出控制量的模糊集合相应于输出论域元素的隶属度,应为当输入为NS 、O (或量化等级为-2、0)时输出控制量集合相应于输出论域元素的隶属度和的一半。
或者认为:当输入误差量化等级为-1时,其输出控制量的精确值,为当输入为NS 、O (或量化等级为-2、0)时输出控制量精确值的一半。