水箱水位模糊控制系统仿真作业
- 格式:doc
- 大小:308.50 KB
- 文档页数:18
实验八水箱仿真系统综合实验实验目的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)五、插图。
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中,可以使用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控制器主要针对控制对象来进行参数调节。
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参数对系统动态性能的影响。
下面讨论水箱水位调节系统中当一个参量发生变化,对应曲线的实时变化。
双容水箱PID液位控制系统的仿真概述本文档介绍了双容水箱PID液位控制系统的仿真。
双容水箱PID液位控制系统是一种常见的工控系统,它能够自动控制水箱液位,保持水箱水位稳定。
通过仿真,可以帮助了解这种控制系统的原理、工作流程以及控制效果的评估。
功能•自动控制水箱液位,维持液位稳定•实时监测水箱液位•能够进行PID控制,控制精度高环境•软件平台:MATLAB/Simulink•环境要求:–MATLAB2018a及以上版本–Simulink库中带有相关的工控控制、信号处理和仿真工具箱设计步骤1.建立模型双容水箱PID液位控制系统的基本模型包括水箱、液位传感器、执行器和控制器。
我们需要在Simulink中建立这个模型。
模型中主要包含以下子系统:•水箱:在模型中建立一个水箱模块,用于模拟水箱的液位变化。
•液位传感器:创建一个液位传感器模块,通过采集水箱液位数据,将数据通过信号传输到系统的控制器。
•执行器:建立一个执行器模块,用于控制液位泵的启动和关闭。
•PID控制器:创建一个PID控制器模块,用于根据传感器采集的数据,计算出液位偏差,并根据偏差调节液位泵的运行状态。
2.建立信号连接连接各个模块之间的信号可以让模型正常运行,实现自动控制水箱液位的目的。
在模型中,应确保信号连接正确、完整,否则控制效果将大为降低。
3.设置参数在建立信号连接后,需要对各个模块的参数进行设置,确保模型的控制效果满足要求。
例如,PID控制器的比例、积分、微分系数等参数需要调整到合适的值,才能更好的实现水箱液位的控制。
4.进行仿真设置好模型参数后,可以进行仿真。
仿真可以模拟系统的实际运行情况,帮助了解控制器的控制效果,评估系统的性能。
在本文档中,我们介绍了双容水箱PID液位控制系统的仿真。
通过建立模型、建立信号连接、设置参数和进行仿真等步骤,可以更好地了解这种控制系统的原理,并对其控制效果进行评估。
本文档旨在提供帮助,方便工程师和研究者深入了解水箱液位控制系统的设计、实现及其相关技术。
液位(压力)二阶模糊控制实验(选学)一、实验目的1.进一步加深对模糊控制理论的理解;2.了解及使用变频器,认识压力变送器。
二、实验原理本实验模糊控制原理还是采用比例控制钟摆无限接近的控制理论,由于该模糊理论并非适用在难控的二阶控制上,所以请不要将液位设置高于75mm,我们在将来的升级中会用更好的模糊理论代替现有的较差的控制理论,这里还要指出好的模糊控制理论在一定程度上比好的PID 控制还要稳定,做的好的模糊控制是经验与理论的最完美结合。
三、实验项目1.在一阶稳定的情况下,用P 控制二阶水箱液位高度;2.用控制效果对比实验,选出比较好的控制值。
四、实验仪器ZCK-II 型智能化测控系统。
五、实验步骤及操作说明1.打开仪器面板上的总电源开关,绿色指示灯亮起表示系统正常;2.打开仪器面板上的液位电源开关,绿色指示灯亮起表示系统正常;3,确保贮水箱内有足够的水,参照图2(图见第三章)中阀门位置设置阀门开关,将阀门1、2、5、6 打开,阀门3、4 关闭;4.参看变频器操作说明书将其设置在自动操作挡;5.单击控制器RUN 按钮,使变频器处于工作状态;6.打开计算机,启动ZCK-II 型智能化测控系统主程序;7.用鼠标单击液位控制图形进入液位控制系统主界面,小组实验无须在个人信息输入框填写身份,直接确定即可;8.在液位系统控制主界面中,单击采集卡测试图标,进入数据采集卡测试程序。
确定软硬件正常工作后返回。
9.在液位系统控制主界面中,单击传感器标定图标,进入传感器标定程序。
完成标定后返回。
10.在液位系统控制主界面中,单击二阶模糊PID 系统图标,进入二阶模糊PID液位控制系统程序。
点击控制参数图标,进入控制参数设定界面,按照参数表16 中的小组1 给定的预设参数填写。
确定返回后点击采集参数图标按照参数表16 中的小组1 给定的预设参数填写。
确定返回后点击启动程序图标,观察实验波形,波形满意后点击停止程序图标并用事后观察观察具体波形情况并记录数据于表17 中,记录完毕保存数据(保存的数据可以随意编辑文件名,但请不要更换文件夹以方便教师统一管理);25表16液位给定值mm 控制周期ms Kp Ki Kd 采样点数采样速率小组1 50 1000 5 0 0 5000 5000小组2 50 1000 10 0 0 5000 5000小组3 50 1000 50 0 0 5000 500011.点击重置程序图标,重复步骤10 的操作按表16 中的小组2 给定的预设参数重新设置控制参数和采集参数(重置后程序返回默认值,即使和上次一样的数值也必须重新输入),观察、记录并保存数据;12.重复步骤11 完成小组3 中给定数值的操作。
水箱液位PID调节控制系统及实物仿真调试【摘要】在人们生活以及工业生产等诸多领域经常涉及到液位和流量的控制问题,例如居民生活用水的供应,饮料、食品加工,溶液过滤,化工生产等多种行业的生产加工过程,通常需要使用蓄液池,蓄液池中的液位需要维持合适的高度,既不能太满溢出造成浪费,也不能过少而无法满足需求。
因此液面高度是工业控制过程中一个重要的参数,特别是在动态的状态下,采用适合的方法对液位进行检测、控制,能收到很好的效果。
PID控制(比例、积分和微分控制)是目前采用最多的控制方法。
【关键词】水箱液位;PID控制;液位控制;Matlab仿真一.引言在人们生活以及工业生产等诸多领域经常涉及到液位和流量的控制问题,例如居民生活用水的供应,饮料、食品加工,溶液过滤,化工生产等多种行业的生产加工过程,通常需要使用蓄液池,蓄液池中的液位需要维持合适的高度,既不能太满溢出造成浪费,也不能过少而无法满足需求。
因此液面高度是工业控制过程中一个重要的参数,特别是在动态的状态下,采用适合的方法对液位进行检测、控制,能收到很好的效果。
本论文利用PID算法在matlab中进行仿真并讲解实物搭接效果,具体如下:1、利用指导书中推导的模型和实际的参数,建立水箱液位控制系统的数学模型,并进行线性化;2、构成水箱液位闭环无静差系统,并测其动态性能指标和提出改善系统动态性能的方法,使得系统动态性能指标满足σ%≤10%0.5秒,静态误差小于2%;3、通过在matlab编程中求取合适的反馈变量K,然后与仿真模型结合构成最优控制的水箱液位系统,通过图形分析是否满足系统的性能参数;4、加入P、PI、PD、PID环节分别进行调试;5、选取合适的极点并通过图形分析是否满足系统的性能参数;6、比较加入各种不同PID 环节下的优缺点;7、实物搭接;8、比较在不加扰动和加扰动情况下以及在各种不同环节作用下系统性能。
二.水箱液位控制系统的设计及实物调试该题目包括MATLAB 软件仿真和硬件实物调试部分,软件仿真的目的是对 系统先进行建模,然后设计控制器使其满足任务书上的性能指标要求,并调整控制器参数,分析控制器各参数对系统稳定性的影响。
水箱水位模糊控制系统设计一.在MATLAB命令窗口中输入sltank,便可打开如图所示的模型窗口。
图1 sltank仿真图(1)打开MATLAB,输入指令fuzzy,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Mamdani模糊推理系统。
(2)增加一个输入变量,将输入变量命名为水位误差、误差变化,将输出变量命名为阀门开关速度。
这样就建立了一个两输入单输出的模糊推理系统,保存为shuiwei1。
图2 增加一个输入变量(3)设计模糊化模块;设水位误差level的论域为[2、95 3、05],误差变化率rate的论域为[-0、2 0、2];两个输入量的模糊集为level设为为7个,rate设为5个:其中水位误差level定为NB、NM、NS、ZE、PS、PM、PB;参数分别为[0、01 2、95]、[0、01 2、97],[0、01 2、99]、[0、01 3]、[0、01 3、01]、[0、01 3、03]、[0、01 3、05],隶属度均为高斯函数;图3 输入量level的参数设定误差变化率rate分别为负大,负小,不变,正小,正大。
参数分别为,[0、03 -0、2]、[0、03 -0、1]、[0、03 0]、[0、03 0、1]、[0、03 -0、2],隶属度函数均为高斯函数。
图4 误差变化率rate的参数设定阀门的开关速度设为七个等级:快关,中关,慢关,不动,慢开,中开,快开,其论域为[2、95 3、05]。
参数分别为;[2、94 2、95 2、96]、[2、965 2、97 2、975]、[2、99 2、99 2、995]、[2、999 3 3、001]、[3、005 3、01 3、015]、[3、02 3、03 3、035]、[3、04 3、05 3、06],隶属函数为三角形函数。
图5 输出量valve的参数设定(4)设计模糊规则打开Ruel Editor窗口,通过选择添加模糊规则;1)If (level is NB) and (rate is 负大) then (valve is 快关) (1)2)If (level is NB) and (rate is 负小) then (valve is 快关) (1) 3)If (level is NB) and (rate is 不变) then (valve is 快关) (1) 4)If (level is NB) and (rate is 正小) then (valve is 中关) (1)5)If (level is NB) and (rate is 正大) then (valve is 不动) (1) 6)If (level is NM) and (rate is 负大) then (valve is 快关) (1) 7)If (level is NM) and (rate is 负小) then (valve is 快关) (1) 8)If (level is NM) and (rate is 不变) then (valve is 快关) (1) 9)If (level is NM) and (rate is 正小) then (valve is 中关) (1)10)If (level is NM) and (rate is 正大) then (valve is 不动) (1) 11)If (level is NS) and (rate is 负大) then (valve is 中关) (1) 12)If (level is NS) and (rate is 负小) then (valve is 中关) (1) 13)If (level is NS) and (rate is 不变) then (valve is 中关) (1) 14)If (level is NS) and (rate is 正小) then (valve is 不动) (1) 15)If (level is NS) and (rate is 正大) then (valve is 慢开) (1) 16)If (level is ZE) and (rate is 负大) then (valve is 中关) (1) 17)If (level is ZE) and (rate is 负小) then (valve is 慢关) (1) 18)If (level is ZE) and (rate is 不变) then (valve is 不动) (1)19)If (level is ZE) and (rate is 正小) then (valve is 慢开) (1) 20)If (level is ZE) and (rate is 正大) then (valve is 中开) (1) 21)If (level is PS) and (rate is 负大) then (valve is 慢关) (1) 22)If (level is PS) and (rate is 负小) then (valve is 不动) (1) 23)If (level is PS) and (rate is 不变) then (valve is 中开) (1) 24)If (level is PS) and (rate is 正小) then (valve is 中开) (1) 25)If (level is PS) and (rate is 正大) then (valve is 中开) (1) 26)If (level is PM) and (rate is 负大) then (valve is 不动) (1) 27)If (level is PM) and (rate is 负小) then (valve is 中开) (1) 28)If (level is PM) and (rate is 不变) then (valve is 快开) (1) 29)If (level is PM) and (rate is 正小) then (valve is 快开) (1) 30)If (level is PM) and (rate is 正大) then (valve is 快开) (1) 31)If (level is PB) and (rate is 负大) then (valve is 不动) (1) 32)If (level is PB) and (rate is 负小) then (valve is 中开) (1) 33)If (level is PB) and (rate is 不变) then (valve is 快开) (1) 34)If (level is PB) and (rate is 正小) then (valve is 快开) (1) 35)If (level is PB) and (rate is 正大) then (valve is 快开) (1) 这35条模糊控制规则的权重都为1、图6 模糊控制规则的设定(5)利用编辑器的 to Workspace, 将当前的模糊推理系统,以shuiwei1保存到工作空间中。
双容水箱液位模糊控制一、实验目的熟悉双容液位控制系统的组成原理。
通过实验进一步掌握模糊控制原理及模糊控制规则的生成。
了解量化因子和比例因子对控制效果的影响。
掌握解模糊方法及实现。
二、实验设备实验对双象为TKGK-1双容液位系统TKGK-1型实验装置:GK-06、GK-07-2万用表一只计算机系统三、实验原理图1 双容水箱液位模糊控制系统方框图图1为双容水箱液位控制系统。
控制的目的是使下水箱的液位等于给定值,并能克服来自系统内部和外部扰动的影响。
双容水箱液位系统如图2,该被控对象具有非线性和时滞性,建立精确的数学模型比较困难;模糊控制不仅可以避开复杂的数学模型,通常还能得到比较好性能指标。
模糊控制器的结构图如图3。
模糊控制器的输入为误差和误差变化率:误差e=r-y,误差变化率ec=de/dt,其中r和y分别为液位的给定值和测量值。
把误差和误差变化率的精确值进行模糊化变成模糊量E和EC,从而得到误差E和误差变化率EC的模糊语言集合,然后由E和EC模糊语言的的子集和模糊控制规则R(模糊关系矩阵)根据合成推理规则进行模糊决策,这样就可以得到模糊控制向量U,最后再把模糊量解模糊转换为精确量u,再经D/A转换为模拟量去控制执行机构动作。
图3 模糊控制器组成原理图模糊量化:根据精确量实际变化范围[a,b],合理选择模糊变量的论域为[-n,n],通过量化因子k=,将其转换成若干等级的离散论域,如七个等级为{负大,负中,负小,零,正小,正中,正大},简写为{NB,NM,NS,O,PS,PM,PB}。
确定模糊子集的隶属函数曲线。
一般常采用三角形、梯形和正态分布等几种曲线。
然后由隶属函数曲线得出模糊变量E、EC、U 的赋值表。
根据经验,E模糊子集的隶数度函数取正态分布曲线,则赋值表见表一:表一:变量E隶属函数赋值表模糊控制规则:模糊控制规则是操作经验和专家知识的总结,是进行模糊推理的依据。
在设计模糊控制规则时,必须考虑控制规则的完备性、交叉性和一致性。
水箱水位模糊控制控制130337杨康一、问题描述1.使用MATLAB的模糊逻辑工具箱,建立模糊推理系统,进行水位系统的模糊控制。
受控对象为二阶有自平衡能力的对象,h(s)/Q(s)=2/(s^2+1.2s+4),其中h(s)是水位偏差,Q(s)是入口阀门开度偏差。
2.模糊控制规则参考如下:IF(水位低)then(阀门迅速打开)IF(水位高)then(阀门迅速关闭)IF(水位偏差小且变化率为零)then(阀门大小不变)IF(水位偏差小且变化率为负)then(阀门缓慢关闭)IF(水位偏差小且变化率为正)then(阀门缓慢打开)二、解决方案熟悉模糊逻辑工具箱,通过工具箱并按照规则参考设计模糊控制逻辑;在Simulink工具箱中加载模糊控制逻辑完成仿真。
通过与传统PID控制的比较,来分析各自的优缺点,加强对控制算法的认识。
三、算法实现1、模糊控制逻辑实现按照上述模糊控制规则分别对水位(level)、水位变化(levelrate)和阀门动作(output)三个变量进行设计。
(1)在水位变量设计时,范围为[-1 1],其模糊子集为{high,okay,low},其隶属度函数如图所示:图一、水位变量设计(2)在水位速率变化设计时,范围为[-1 1],其模糊子集为{negative,none,positive},其隶属度函数如下图所示:图二、水位变化速率设计(3)在阀门变化设计时,范围为[-7 7],其模糊子集为{close fast, close slow, no change, open slow, open fast},其隶属度函数如下图所示:图三、阀门变化设计(4)按照参考的规则设计模糊推理决策的算法:图四、模糊推理设计(5)对输出模糊量的解模糊:模糊控制器的输出量是一个模糊集合,通过反模糊化方法判决出一个确切的精确量,凡模糊化方法很多,我们这里选取重心法。
如图所示:图五、模糊量解模糊2、Simulink平台搭建将设计好的模糊控制器导入到workspace中,并搭建好仿真控制系统,如图所示:图六、模糊逻辑控制仿真平台其中,参考选为正弦波信号,并将误差值及其变化率信号输入到模糊逻辑控制器中进行处理;对象的传递函数为h(s)/Q(s)=2/(s^2+1.2s+4),四、结果分析与比较当参考信号为正选函数时,传统的PID控制会产生一定的相位差,从而导致控制效果变差,若采用模糊逻辑控制可以大大减少相位差。
水箱水位模糊控制系统仿真建模摘要水位控制系统在各个领域上都有广泛应用,虽然其结构简单但由于控制过程具有多变量,大滞后,时变性等特点,且在控制过程中系统会受到各种不确定因素的影响,难于建立精确的数学模型。
虽然自适应、自校正控制理论可以对缺乏数学模型的被控对象进行识别,但这种递推法复杂,实时性差。
近年来模糊控制在许多控制应用中都取得了成功,模糊控制应用于控制系统设计不需要知道被控对象精确的数学模型,对于许多无法建立精确数学模型的复杂系统能获得较好的控制效果,同时又能简化系统的设计,因此,在水箱水位自动控制系统中,模糊控制就成为较好的选择。
本文主要论述了应用模糊控制理论控制水箱水位系统,首先详尽的介绍了模糊控制理论的相关知识,在此基础上提出了用模糊理论实现对水箱水位进行控制的方案,建立了简单的基于水箱水位的模糊控制器数学模型。
本试验系统还充分利用了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)时输出控制量精确值的一半。