洗衣机模糊控制器设计小组成员:一.产生的背景二.模糊洗衣机的结构与检测四.MATLAB仿真三.模糊控制器的设计一.产生的背景1、普通的洗衣机虽然省力、省时,但是对于不同的衣物,放多少洗衣粉和多少水?一般人们是按照经验来确定的。至于洗的干净与否,是等到洗衣结束确定的。2、模糊洗衣机是一种智能型的洗衣机,它和传统的洗衣机相比,是一种全新的家用电器。传统的全自动化洗衣机有两种,一种是机械控制式,一种是单片机控制式。无论采用什么方式,它们都需要进行人为的洗涤程序选择,衣质和衣量选择,然后才能投入工作.在本质上讲,这种洗衣机还称不上是全自动的,最多只能称为半自动的。3、基于上述不便,模糊控制洗衣机是在神经网络智能控制下,模仿人的思维进行判断操作的一种新型的智能洗衣机,普通微电脑洗衣机采用的是量化的固定程序,一经设定,便不能更改;而模糊控制洗衣机可以在一定程度上随时变化,因而具有人工智能。图1-1模糊控制洗衣机应用实物衣物的质料一般分为棉质和化纤的,棉质的更难洗;在这些因素中影响最大的还是水温,在一定范围内,水温越高洗涤效果越好。图2-1是水温和洗净力之间的曲线,水温不能太高,否则高温会把衣物上的蛋白质凝固,从而影响洗涤效果。图1-2水温和洗净力之间的曲线二.模糊洗衣机的结构与检测2.1结构图2-1是模糊控制洗衣机的结构,它是由洗涤缸、电动机、搅拌轮、给水阀、排水阀和各种传感器组成。对洗衣机进行控制,首先要用各种传感器不断检测相关的状态,以作为控制依据,下面介绍在模糊控制洗衣机中所用参数的检测原理和技术,在检测中要用到负载传感器、水位传感器、水温传感器和光电传感器等。图2-1模糊控制洗衣机的结构2.2检测(1)负载检测它主要用来检测所洗衣物的质量,从而决定水位以及洗涤时间等。可以用不同的方法实现。最容易想到的方法是用静态的压力传感器来直接测量,但从成本和结构来讲,并不适用。这里用一种动态间接测量方法,即通过检测电动机的负载来实现。电动机的负载可以用正常运转时的驱动电流来计算,也可用电动机断电后的反电动势的大小及波形来计算。下面以计量断电后反电动势为例当洗衣机内衣物少时,搅拌轮停止的慢;而当衣物多时,电动机很快就停止。根据电动机两端产生感应电动势的时间,就可以测量衣物的多少将反向电压,经过波形处理,通过脉冲个数即可确定衣物量。脉冲与衣物量的关系曲线如图2-2。图2-2脉冲与衣物量的关系曲线(2)污浊度检测被洗涤衣物的污浊度检测是通过水的透光率检测来间接实现的。而水的透光率是用光电传感器器来实现的。它被安排在排水管出口,发光二极管和光敏管分别对应安装在管的两边,发光二极管发出的光经聚焦后,透过水被光敏管接收,接收的强度就反映水的透明度,这是一种间接反映衣物脏污的方法。输出变化见图2-3。图2-3输出变化曲线(3)其它检测水位检测是用一种专门的水位传感器来实现的,水温检测是通过热敏电阻来实现的。布料检测和负载检测差不多,在实际生活中,对布料检测的精度不要求很高,方法是一样的,也是比较脉冲的个数,化纤在水里的阻力小,那么脉冲个数就会大,反之亦然。三.模糊控制器的设计3.1基本结构和控制过程图3-1是模糊洗衣机控制结构,它利用负载、布料、水温以及衣物的脏污程度等检测得到的信息,进行分段评估计算,使其模糊化,再根据模糊规则进行推理,最后根据规则进行解模糊判决,以决定最适当的水流、水位、洗涤时间、洗涤剂量等。一个模糊控制系统是由输入量、模糊推理规则、输出量组成。温度传感器负载传感器光电传感器水温衣物量脏污程度模糊控制洗涤时间洗涤剂量图3-1模糊洗衣机控制结构模糊推理3.2模糊控制器的选择在确定性控制系统中,根据输入变量和输出变量的个数,可以分为单变量控制系统和多变量控制系统。在模糊控制系统中也可以类似地划分单变量模糊控制和多变量模糊控制。单变量控制系统中,将输入变量的个数定义为模糊控制的维数,如图3-2所示这是一种一维模糊控制,往往用于一阶被控对象。图3-2一维模糊控制二维模糊控制器如图3-3所示,在控制效果上要比一阶控制器好的多,也是目前采用比较广泛的一类模糊控制器。三维模糊控制器如图3-4,由于结构比较复杂,推理运算时间比较长,因此除非对动态特性的要求比较高的场合,一般较少使用三维的控制器。模糊控制器系统可以有很多维,要知道所选用的模糊控制器维数越高,其控制精度就会越高,但是维数越高,模糊控制规律就过于复杂,因此在这里我们选择二维控制器。图3-3二维模糊控制器图3-4三维模糊控制器3.3定义模糊集合以及论域在这里我们选取两个输入量:脏污程度(污浊度)、衣物量(负载)两个输出量:洗涤时间、洗涤剂量(1)输入量(2级)脏污程度:很脏、脏、不太脏;取值范围定为[0100];衣物量:少、中、多;取值范围定为[020]。(2)输出量(2级)洗涤时间:很短、短、中、长、很长;取值范围定为[060];洗涤剂量:很少、少、中、长、很多;取值范围定为[0100]。3.3定义隶属度函数为方便起见所有的变量都采用三角形隶属度函数(trimf)(1)脏污程度:很脏(B)、脏(M);不太脏(S);隶属度函数如下(2)衣物量:多(B)、中(M);少(S);隶属度函数如下50()0505005050()100501005050()5010050SMBxxxxxxxxxxx脏污10y()0101001010()2010201010()102010SMByyyyyyyxyy衣物量(3-1)(3-2)(3)洗涤时间:很长(VB)、长(B)、中(M);短(S)、很短(VS);隶属度函数如下VSSM10()0101001010()2510251510102515()4025401525254015()6040602040()406020BBmmmmmmmmmmmmmmmmmmmmm洗涤时间(3-3)(4)洗涤剂量:很多(VB)、多(B)、中(M);少(S)、很少(VS);隶属度函数如下VSSM25()0252502525()5025502525255025()7550752550507525()100751002575()7510025BBnnnnnnnnnnnnnnnnnnnmn洗涤剂量(3-4)3.4模糊规则根据输入变量和输出变量的分级组合,对于洗涤时间和洗涤剂量就可以用9(3*3)条模糊规则表示。建立合适的规则表3-1和3-2。表3-1模糊规则表(洗涤时间)表3-2模糊规则表(洗涤剂量)洗涤时间脏污程度(x)SMB衣物量(y)SVSMBMSMBBMBVB洗涤剂量脏污程度(x)SMB衣物量(y)SVSMBMSMBBMBVB3.5模糊推理(1)规则匹配假设当前传感器测得的信息为:x=80,y=14,分别代入各自的隶属度函数中,求得隶属度为:对于脏污程度:对于衣物量:通过上述4种隶属度,可得到4条匹配的模糊规则,见表3-3和3-4。表3-3(洗涤时间)模糊规则表3-4(洗涤剂量)模糊规则23(80),(80)55MB32(14),(14)55MB洗涤时间脏污程度(x)S(0)M(0.4)B(0.6)衣物量(y)S(0)000M(0.6)0B(0.4)0'()Mm'()Bm'()Bm'()VBm洗涤剂量脏污程度(x)S(0)M(0.4)B(0.6)衣物量(y)S(0)000M(0.6)0B(0.4)0'()Mn'()Bn'()Bn'()VBn(2)规则触发由规则表可得,被触发的有四条规则,即Rule1:IFyisMandxisMTHENzisMRule2:IFyisBandxisMTHENzisBRule3:IFyisMandxisBTHENzisBRule4:IFyisBandxisBTHENzisVB(3)规则前提推理在同一条规则内,前提之间通过“与”的关系得到规则结论。前提的可信度之间通过取小运算,得到每一条规则总前提的可信度为规则1前提的可信度为:min(0.6,0.4)=0.4规则2前提的可信度为:min(0.4,0.4)=0.4规则3前提的可信度为:min(0.6,0.6)=0.6规则4前提的可信度为:min(0.4,0.6)=0.4由此得到洗衣机规则前提可信度表,即规则强度表,见表3-5和3-6。表3-5可信度表(洗涤时间)表3-6可信度表(洗涤剂量)洗涤时间脏污程度(x)S(0)M(0.4)B(0.6)衣物量(y)S(0)000M(0.6)00.40.6B(0.4)00.40.4洗涤剂量脏污程度(x)S(0)M(0.4)B(0.6)衣物量(y)S(0)000M(0.6)00.40.6B(0.4)00.40.4将(2)步骤和(3)步骤中的表一一对应进行“与”运算得到每条规则总的可信度输出,见表3-7和3-8表3-7总的可信度表(洗涤时间)表3-8总的可信度表(洗涤剂量)洗涤时间脏污程度(x)S(0)M(0.4)B(0.6)衣物量(y)S(0)000M(0.6)0B(0.4)0'min((),0.4)Mm'min((),0.6)Bm'min((),0.4)Bm'min((),0.4)VBm洗涤剂量脏污程度(x)S(0)M(0.4)B(0.6)衣物量(y)S(0)000M(0.6)0B(0.4)0'min((),0.4)Mn'min((),0.6)Bn'min((),0.4)Bn'min((),0.4)VBn3.6模糊系统反模糊化模糊系统总的输出为各条规则可信度推理结果的并集,步骤(3)中总的可信度四个数值的最大值,即隶属度最大值。我们用最大平均法进行反模糊化。经计算,洗涤时间的隶属度最大值为0.6,洗涤剂量的隶属度最大值也为0.6。将0.6分别代入洗涤时间的隶属度函数和洗涤剂量的隶属度函数。对于脏污程度:得到m1=34,m2=48,采用最大平均法,可得输出为即洗涤时间为41。25()0.61560()0.620BBmmmm3448412m对于衣物量:得到n1=65,m2=85,采用最大平均法,可得输出为:即洗涤剂量为75。50()0.625100()0.625BBnnnn6585752n四.MATLAB仿真4.1FIS编辑我们用一个Mamdani型模糊控制器来实现模糊控制,建立一个FIS编辑器界面,其中包括两个输入和两个输出,分别为x(脏污程度)、y(衣物量)、m(洗涤时间)、n(洗涤剂量),FIS编辑器如图4-1。图4-1FIS编辑器4.2FIS编辑器输入量隶属度函数编辑:(1)输入量脏污程度隶属度函数编辑如图4-2。图4-2脏污程度隶属度函数编辑(2)输入量衣物量隶属度函数编辑如图4-3。图4-3衣物量隶属度函数编辑4.3FIS编辑器输出量隶属度函数编辑:(1)输出量洗涤时间隶属度函数编辑如图4-4。图4-4洗涤时间隶属度函数编辑(2)输出量洗涤剂量隶属度函数编辑如图4-5。图4-5洗涤剂量隶属度函数编辑4.4FIS编辑器Rule编辑:在图4-1中,点击Edit然后选择Rules,可得图4-6点击view然后选择Rules,可得图4-7。图4-6Rule编译图4-7Ruleviewer4.5结论图4-7得到的结果是m=41.1,n=75;与我们前面计算的结果m=41,n=75基本吻合,所以说我们的设计是符合实际的。有一点需要指出本文是用双输入双输出,输入模糊集合只选了三个元素,比较简单且稳定精度较低,应该增加模糊集合的元素个数从而增加稳定精度,同时反模糊化等方法都变得复杂。4.6Simulink仿真通过观察上