《洗衣机模糊控制matlab仿真.docx》由会员分享,可在线阅读,更多相关《洗衣机模糊控制matlab仿真.docx(16页珍藏版)》请在三一文库上搜索。
1、洗衣机模糊控制仿真1. 模糊控制背景美国教授查徳(L.A.Zandeh在1965年首先提出模糊集合的概念,由此 打开了模糊数学及其应用的大门。1974年英国教授马丹尼(E.H.Mamdan)首先将模糊集合理论应用于加 热器的控制,创造了模糊控制的基本框架。1980年,Sugeno开创了日本的首次模糊应用一一控制一家富士电子水 净化厂。1983年他又开始研究模糊机器人。随着模糊控制技术的不断发展, 模糊控制逐渐被应用到日用家电产品的 控制,例如电饭锅、照相机、吸尘器、洗衣机等。2. 仿真目的本次仿真的主要目的是设计一个比较合理的洗衣机模糊控制器, 它能够 根据被洗涤衣物的污泥多少和油脂多少, 综
2、合得到洗涤时间, 从而达到最佳 的洗涤效果。3. 仿真方法本次仿真借助 matlab 中集成的模糊控制工具箱,使用图形界面进行模 糊控制器的设计。最后随意给定几组输入,得到输出并作出简单分析。4. 模糊控制器的设计4.1 模糊控制器理论设计方法 选择合适的模糊控制器类型; 确定输入输出变量的实际论域; 确定 e, e, u 的模糊集个数及各模糊集的隶属度函数; 输出隶属度函数选为单点,可使解模糊简单; 设计模糊控制规则集; 选择模糊推理方法; 解模糊方法。4.2实际设计过程 模糊控制器类型:选用两输入单输出模糊控制器,控制器输入为衣物的污 泥和油脂,输出为洗涤时间。 确定输入输出变量的实际论域
3、:输入为 Mud(污泥)和Grease (油脂),设置 Range=O 100(输入变化范围为0,100);输出为Time(洗涤时间),Range=0 60(输出变化范围为0,60)。对应matlab中模糊控制模块:IF IS Tvpc;mairictaniFd 曰 bdirt V iewAnd rrwikidlOr niE>lt-ioclAgorngniinnDcfur Eificcri ionRdi'iQCCuirrwfit YerMudinputfO 100CI03 上14System "xlviil'T 2 inputs. 1 QUtput, snd 9
4、 rLfles 确定模糊集个数及各模糊集的隶属度函数:将污泥分为3个模糊集:SD(污泥少)MD (污泥中)LD(污泥多);將油脂分为三个模糊集:NG (油脂少)MG (油脂中)LG (油脂多);将洗涤时间非为5个模糊集:VS (很短) S (短)M (中等)L (长)VL (很长)。输入、输出隶属度函数都定为三角形隶属函数。 结合输出隶属度函数选为单点,可使解模糊简单;定义污泥隶属函数如下sd(x)(50 x)500< XW 50MadMD (X)50(10050x)0< x< 5050 v x< 100ld(x) (X 50)5050v x< 100对应matl
5、ab中隶属度函数仿真图如下:由隶属函数设置污泥的3个模糊集参数为In putlName='Mud'NumMFs=3MF仁'SD':'trimf,-50 0 50MF2='MD':'trimf,0 50 100MF3='LD':'trimf,50 100 150定义油脂隶属函数如下:GreaseSG ( X)MG(X)(50 y)5050(100 y)'50LG ( X)0< y< 500< y< 5050 v y< 10050v y < 100对应matlab中隶
6、属度函数仿真图如下:Membership Function Editor sunyingshuang由隶属函数设置油脂3个模糊集参数为Input2Name='Grease'NumMFs=3MF仁'SG':'trimf,-50 0 50MF2='MG':'trimf,0 50 100MF3='LG':'trimf,50 100 150定义输出时间隶属函数如下:M(Z)=(10-Z)/100 < ZW 10a洗涤时间=J(Z)=/100< Z< 10 (25-Z)/1510< Z<
7、 25(Z-10)/1510< Z< 25(40-Z)/1525< Z< 40(Z-25)/1525< Z< 40(60-Z)/2040< Z< 60(JM (Z) =ZJ(Z)= VHZ)=(乙40) /2040< Z< 60对应matlab中隶属度函数仿真图如下:Member-shiip Function Editor: sLinyingshuangStrim;10 10 25由隶属函数设置输出洗涤时间5个模糊集参数为OutputlName='Time'NumMFs=5MF仁'S':'tri
8、mf,0 10 25MF2='L':'trimf,25 40 60MF3='VS':'trimf,-10 0 10MF4='M':'trimf,10 25 40MF5='VL':'trimf,40 60 80设计模糊控制规则:设计标准为污泥越多,油脂越多,洗涤时间越长;污 泥适中,油脂适中,洗涤时间适中;污泥越少,油脂越少,洗涤时间越短。建立模糊控制表如下:洗涤时间Z油脂ySGMGLG油脂XSDVSMLMDSMLLDMLVL体现在matlab中模糊控制规则如下:5. 仿真实验1.任給一输入45,70
9、,仿真结果如下,可以看出经过前面设计好的模糊控制器 得到输出时间为T=33.1。2.输入为0,0,仿真结果如下Tune = 3J40 60分析:输出T=3.14,并不是03.输入为100,100,仿真结果如下 Rule Viewer: sunyingshuangFiIe Edit View OptionsTime - S3 5Mud = 150Grease = 100Plot points:tdov 臣left旳卩| 100 100rightdown叩Opened system sunyingshuang, 9 rilesHelpClose分析:输出为T=53.5,并不是60.6. 仿真结果综
10、合分析模糊推理方法常用的是 Mamdani模糊推理法,由上面仿真结果能够看 出虽然定义输出时间的变化范围是0,60,但是仿真过程中并不能达到理想 的最大最小输出时间。这是因为在清晰化的过程中该仿真工具箱是采用一定 的算法得到输出时间。上面的仿真中总共设定了 9条规则,当给定某一输入 时,也就是给定了 Mad与Grease的假定值,将该输入分别与9条规则中各 自设定的隶属函数进行对应,并将两个输入综合作用的结果与相应规则中的 输出时间Time对应得到一个输出结果,从而总共可以得到 9个输出时间 Time的隶属函数图,由仿真图就可以很方便的看到这个过程。将9个输出按一定推理法整合在一个图上,这时再用到清晰化的方法比如最大隶属度 法,中心法,加权平均法等进行解模糊,我们常使用的方法是取所有输出的 中心或重心,最终确定一个输出时间,本仿真中最终输出就是最终洗涤时间 Time。另一方面,从输入分别为0,0利100,100,输出时间为T=3.14和T=53.5 可以看到,上面隶属函数的设定还是比较合理的。10