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

时间:2012-08-23来源:网络

依次类推,可以写出其他规则,如表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分别代表负载偏低、中等、偏高;

1 2 3

关键词: 单片机 模糊推理 控制系统设计 洗衣机

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版