• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 电子设计 > PCB设计 > PCB设计 > 基于单片机模糊推理的洗衣机控制系统设计

基于单片机模糊推理的洗衣机控制系统设计

录入:edatop.com    点击:

摘要:为了更好的模仿人工洗涤过程,提高洗衣机的洗涤质量,针对以单片机为核心的洗衣机控制系统,引入了模糊推理技术。首先阐述了模糊洗衣机的基本原理,完成了系统硬件设计;在软件方面,对检测到的水温及肮脏度、衣质、衣量等物理量进行模糊化处理,建立了洗涤规则库,通过模糊推理,实现对洗涤时间、水流强弱、洗涤剂用量以及脱水时间的自动控制,提高了洗衣机的自动控制和智能化程度。
关键词:单片机;模糊推理;洗衣机;自动控制

模糊控制洗衣机是一种智能型的、真正全自动的洗衣机。它能自动识别衣质、衣量及肮脏程度,自动决定水量,自动投入适量的洗涤剂,从而全部自动地完成整个洗涤过程。洗涤程序是通过模糊推理来决定的,因此有极高的洗涤效能,不仅提高了洗衣机的全自动化程度,而且大大提高了洗衣质量。

1 控制系统基本原理
模糊洗衣机通过对衣质、衣量、衣物肮脏度及初始水位高低情况等输入量,来决定洗涤时间、水流强弱、洗涤剂用量以及脱水时间等。因此,系统的被控对象主要是洗涤时间、水流强弱、洗涤剂用量及脱水时间等,即输出量。洗衣机中被控对象的运动规律极其复杂,很难用数学语言的形式来表达。而模糊控制无需建立被控对象的数学模型,因此适用于洗衣机控制。模糊型洗衣机无需人为按键设置水位、水流方式、洗涤时间、清洗时间和脱水时间,用户只需放进待洗衣物,按下启动键,洗衣机便能自动完成洗涤过程,实现了真正的“全自动”。
模糊洗衣机要求控制系统能根据测得的衣质、衣量情况,确定适当水位、水流强度、洗涤时间、洗涤剂用量,并根据肮脏度的变化合理地修正洗涤时间,以达到节水和节能的目的。


1)输入量(分三级)
负载:偏大、中等、偏小;
衣质:棉织品偏多、棉和化纤各半、化纤织品偏多;
水温:偏高、中等、偏低。
2)输出量(分五级)
水流强度:特强、强、中等、弱、特弱;
洗涤时间:特长、长、中等、短、特短。
3.2 模糊推理
洗农机模糊控制系统的主要工作就是依据语言规则进行模糊推理决策。因此,在进行模糊规则推理之前,先要确定好语言控制规则(即知识库)。语言控制规则是根据经验知识来确定的,并在实验过程中不断加以修正和完善。它相当于计算机程序设计语言的条件语句:“IF……THEN……”。
根据输入量与输出量的分级组合,对于水流强度和洗涤时间可以用以下27(=3×3×3)条模糊规则来表示。
规则一:如果负载偏小,衣质化纤织品偏多,且水温偏高;那么将水流特弱,洗涤时间特短。
规则二:如果负载偏大,衣质化纤织品偏多,且水温偏高;那么将水流中等,洗涤时间中等。
……[p]
依次类推,可以写出其他规则,如表1所示。

e.JPG


为了提高响应速度、缩小资源开销,规则表(即知识库)的获取采用离线计算的方式获取,将其固化到单片机的程序存储器中。洗衣机工作时,采用查表法,从规则表中找到对应规则,从而进行模糊判断和推理。推理时可采用最大最小推理法或者最大乘积推理法。两种方法的推理结果在面积形式上有所差别,但差别不大。
在模糊推理结束之后,我们得到的是以模糊子集表示的水流强度和洗涤时间的校正量,它不能直接调节水流和洗涤时间,还需要进行反模糊化。
3.3 反模糊化
输出反模糊化就是要将语言表达的模糊量恢复到精确的数值,即要根据输出模糊子集的隶属度计算出确定的值。反模糊化采用质心法。质心法对于输出变量模糊子集三角形定义,其汇编语言编程相当复杂。为简化编程,输出变量模糊子集采用单值定义。这样反模糊化过程编程就大为简化。
3.4 软件设计
洗衣机模糊控制系统的软件主要包括以下6个功能模块:系统初始化功能模块、信号检测与处理模块、模糊推理模块、中断处理模块、显示输出模块、过载报警模块。
所有模糊推理在洗涤之前都已执行完毕。所以在程序进行完功能设置之后就开始启动信号检测模块,开始一系列检测工作,以确定模糊推理的先件条件(输入变量值),然后进行模糊推理,确定洗涤时间及水流强度等输出量。在推理完成后就开始洗涤工作。在洗涤过程中,如果发生故障,则系统自动报警并进入相应的中断处理模块。主程序框图如图5所示。

f.JPG


3.5 查表程序编制
图6表示三输入二输出模糊控制系统的查表法过程。离线设计得到一查询表用于在线运行,可以提高运算速度和精度。查询表体现了模糊控制算法的最终运行结果。在每一采样时刻,对采样值ei、ej、ek进行量程转换(即乘以量化因子K1、K2和K3)然后进行量化(即将输入的物理信号值转换为输入论域上的点),再通过查询表查到输出的控制作用,它也是输出论域上的点,再分别乘以比例因子K4和K5进行量程转换,就得到了要求的物理量。

g.JPG


由于模糊规则表有3个输入量构成了一张三维数据表,假设规则表以三维数组a[i][j][k]和b[i][j][k]的形式存储,并且各维变量定义如下:
i=0,1,2分别代表负载偏小、中等、偏大;
j=0,1,2分别代表质料棉织品偏多、中等棉和化纤各半、化纤织品偏多;
k=0,1,2分别代表负载偏低、中等、偏高;[p]
数组a中某元素的值表示水流的某个模糊值(特弱、弱、中等、强、特强分别用数值0,1,2,3,4来表示);数组b中某元素的值表示洗涤时间的某个模糊值(特短、短、中等、长、特长分别用数值0,1,2,3,4来表示)。例如:a[0][2][2]=0且b[O][2][2]=0它代表规则一,即“如果负载偏小,衣质化纤织品偏多,且水温偏高时,那么将水流特弱,洗涤时间特短。”同理a[2][2][2]=2且b[0][2][2]=2代表规则二。依次类推可以得到如下查询表,如表2所示。

i.JPG


当模糊控制系统主程序调用查表子程序时,通过参数传递,将采集到的输入量ei、ej、ek经量化后得到的模糊量作为实参,分别传送给查表子程序的形参i、j、k然后通过查找对应数组元素来确定它所符合的模糊规则,完成模糊推理。将对应数组元素的数值作为子程序的返回值。查表程序如下:
h.JPG
j.JPG
在调用以上查表子程序之后,得到的数值如果是-1则认为出现故障;正确数值数为整数0到4,必须将其转化为相应的模糊量,然后再进行乘以相应的比例因子进行量程转换,得到物理量,这样就是需要的水流强度和洗涤时间。

4 结论
文中针对以单片机控制为核心的洗衣机控制系统,采用模糊控制技术进行优化改进,能自动识别衣料、衣量等,更好的模仿人工洗涤过程,实现了一键全自动洗衣,提高了洗衣机的智能化程度和洗涤效果。

射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...

天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...

上一篇:基于FPGA 的多时钟片上网络设计
下一篇:基于FPGA的电子稳像系统的设计

射频和天线工程师培训课程详情>>

  网站地图