<一>.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仿真结果,蓝色的线给定输入,黄色的线实际液位的变化结果。可以从结果中看出该模糊控制器能够实现无静差控制,但快速性较差。且控制规则中误差变化起的作用大,可以使系统尽快稳定,使得系统没有超调。所以该模糊控制器适用于液位偏差较小,系统接近稳态的情况。
<四>杂项
感谢收看!!!!!!!!!!!!