基于Matlab水位模糊控制系统设计与仿真-----从零到一的手把手教学

<一>.Matlab的安装(2019b)

        微信分享一个“软件管家”公众号,它不止能安装matlab,也能安装各个常用的软件且不收取任何费用,下载过程中均有安装说明书。如图一所示,根据你的软件需求和硬件基础可以挑选适合你的matlab版本,本文采用2019b版。

                     

                                                   图一      软件管家下载matlab

<二> 模糊控制系统设计过程

(1)模糊控制系统设计的步骤

a)确定模糊控制系统的输入和输出变量以及它们的量化方式;

b)建立模糊规则库,包含了输入变量与输出变量之间的模糊关系;

c) 确定模糊规则的权重和连接方式;

d) 采用模糊推理方法,通过建立的模糊控制系统,构建输入与输出的映射关系;

e) 模糊系统进行仿真验证和优化。 确定模糊控制器的输入、输出变量

模糊控制器的两个输入变量,分别选为液位偏差E(设定液位高度r-实测液位高度y)和液位偏差变化率EC,输出模糊变量为控制阀门开度U;

(2)确定输入、输出语言变量的空间分割

液位偏差E对应语言变量为level,其论域为X={-1,0,1},对应的语言值为 {high,okay,low},分别表示当前水位偏高,正好,偏低 液位偏差变化率EC对应语言变量为rate,其论域为Y={-0.1,0,0.1},对应的语言值为{negative, none, positive},分别表示当前水位下降、不变、上升。控制器输出为控制阀门开度U,对应语言变量为valve,其论域为{-1,-0.5,0,0.5,1},对应语言值为{close-fast, close-slow, no-change, open-slow, open-fast},分别表示“快关阀门”、“慢关阀门”、“阀门开度不变”、“慢开阀门”、“快开阀门”。

(3)确定语言值的隶属度函数

level和rate用高斯型隶属函数,valve用高斯形隶属度函数。

(4)确定液位模糊控制器的结构

图1液位模糊控制器的结构

虚线框中的为模糊控制器,执行机构为阀门,被控对象为水箱的液位高度。r(t)为给定液位高度,e(k)为液位偏差的原始信号。

<三> 建立 Matlab模糊系统

(1) 在命令行窗口输入 fuzzy命令, 建立模糊系统窗口。

图2 模糊系统窗口

退出后再次使用fuzzy可用图三所示方法。

  图3  再次激活代码

FUZZY控制器结构采用二维模糊控制器,输入变量为误差level及误差变化率rate,输出变量为阀门开度valve,FUZZY控制算法为Mamdani的关系矩阵法。level和rate用高斯型隶属函数,valve用高斯形隶属度函数。解模糊化方法为中位数法。

图4 FUZZY控制器结构

(2)建立隶属度函数

如图5为打开时的状态,图6所示为level的隶属度函数设置。点击input——edit——add mes 设置高斯三条,然后对论域进行调整,并对每一条线name进行更名处理

图5  隶属度函数设置

图6 level的隶属度函数设置

如图7所示为rate的隶属度函数设置,操作与上述一致。添加input:edit——add variable——input

图7 rate的隶属度函数设置

如图8所示为valve的隶属度函数设置。点击input——edit——add mfs 设置高斯五条,然后对论域进行调整,并对每一条线name进行更名处理

图8 valve的隶属度函数设置

(3) 编制规则表中的规则

表1 液位模糊控制规则表

在FUZZY控制器中填写该表格,如图9所示为rule设置。点击白色框框rule——按照规则表的规则——add rule——完全添加完成之后close

图9 rule设置

在view中查看Rules,如图10所示。

图10 RULES实例

 在view中查看FIS输出量曲面观测窗,如图11所示为surface观测窗。

图11 surface观测窗

完成上面之后,在桌面建一个文件夹按ctrl+s保存在里面。

(4) 完成基本模糊控制器的设定,保存模糊控制器。

 建立基于模糊控制器的液位模糊控制的Simulink模型并搭建Simulink模型。

如图12所示为液位模糊控制的Simulink整体框图。

图12 Simulink整体框图

(5)simulink仿真设置

选择合适的模块,构建模糊控制系统仿真结构。打开library browser往下面翻在杂项里有如何寻找的图片,sum++可以双击sum改成+-,后面传递函数可以双击就行修改,上面的stop time可以在300--500之间。如图13所示为simulink图。

图图13 Simulink仿真结构

结构搭建后依然保持在桌面的文件夹中。

(6)simulink仿真结果

将打开第一次保存的rules,将两黄一蓝一白的框框每一个都点击file——export——to workpace。再点击仿真结构中的fuzzy_control 将里面FIS name改成第一次保存的rules(桌面文件中)如图14所示,最后点击仿真结构中的控制器,点击run即可生成仿真。

图14 fuzzy_control的设置

图15 Simulink仿真结果

如图15所示为Simulink仿真结果,蓝色的线给定输入,黄色的线实际液位的变化结果。可以从结果中看出该模糊控制器能够实现无静差控制,但快速性较差。且控制规则中误差变化起的作用大,可以使系统尽快稳定,使得系统没有超调。所以该模糊控制器适用于液位偏差较小,系统接近稳态的情况。

<四>杂项

 

感谢收看!!!!!!!!!!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值