高效、节能、省水、省电、环保型的洗衣机在市场上一直占据着主导地位,无论在质量、技术、功能还是外观上面,最接近于为人们生活服务这一宗旨,在今后一段时间里,洗衣机将向高度自动化、品式多样化、节能健康化等几个方向发展。
单片机作为日常家电的控制系统得到越来越广泛的应用,本文介绍的洗衣机智能控制系统以单片机为控制核心,将以往洗衣机的烦琐操作简单化,提高机器性能,同时增加不同的控制功能,提高控制精度,结合软、硬件方法实现洗衣机的自动化和智能化。
总体设计
洗衣机面版含四个按键、七个指示灯和两个LED数码显示器。四个按键用于控制洗衣机工作方式,指示灯配合按键工作,LED数码显示器用于显示洗衣时间和脱水时间。打开洗衣机电源开关)强洗指示灯点亮表示当前洗衣机工作于强洗模式,即电动机只向一个方向运转,选择弱洗模式按一次“增”键即可;接着按“编程选择”键“洗涤次数”指示灯点亮,按“增”键或“减”键设置洗涤次数;再接“编程选择”键设置洗衣时间)同时“洗衣时间”指示灯点亮,同样方法设置脱水时间;设置好各参数后,按下“启动”键,洗衣机开始工作,洗衣机自动将用户设置的洗衣时间除以洗涤次数得到每次换水时间,在洗衣的过程中,LED数码显示器显示洗衣机剩余时间;当用户设定的洗衣时间已到,洗衣桶内的水被放掉,然后启动电动机开始脱水,同时“剩余时间”指示灯点亮,LED数码显示器显示脱水剩余时间,脱水完成后,蜂鸣器报警5声,通知用户洗衣结束。
硬件设计
采用AT89C52芯片控制)通过74LSl38译码器、水位检测机构、进/排水阀、LED数码显示器、键盘等硬件电路实现对洗束机的自动控制。电路原理图如下图所示。
AT89C52支持在线编程,通用微处理器和Flash存储器相结合,可反复擦写Flash存储器,有效地降低开发成本,极大地简化电路,使程序编写及固化更方便、灵活。
上图中,芯片的PO、P2的8个I/0口分别连接一个LED数码显示器,PO控制高位,P2控制低位,P1.0和P1.1控制电动机运转方向,P1.2与蜂鸣器相连,高电平有效,当P1.2为“1”时蜂鸣器报警)为“0”时停止报警,P1.3、P1.4和P15与74LSl38译码器输入端A、B、C相连,P3.0和P3.1分别控制进、排水阀,P3.2和P3.3控制水位检测器)P3.4和P3.5控制键盘的行输出,P3.6和P3.7控制键盘的列输入。
硬件输入控制洗衣机控制模式及工作程序对应有7种不同指示'灯,74LSl38为3-8译码器,输出端分别控制7个指示灯,YO控制”洗衣剩余时间”指示灯,Y1控制“脱水剩余时间”指示灯,Y2控制“强洗”
指示灯,Y3控制“弱洗”指示灯,Y4控制“洗涤次数”指示灯,Y5控制“洗衣时间”指示灯,Y6控制“脱水时间”指示灯。
由2x2矩阵键盘构成的四个按键,实现对强、弱洗选择,洗衣次数、洗衣时间和脱水时间的四个参数进行设置。
硬件输出控制输出控制电路有进水阀、排水阀、电动机和水位检测器三个部分。进、排水阀对应有开启和关闭丙种状态;电动机驱动电路中P1.0控制电动机正向运转,P1.1控制电动机反向运转,洗衣模式选择强洗指电动机始终向一个方向转动,弱洗指电动机朝正反两个方向交替运动,每隔一分钟方向改变一次;水位检测器的水位标志符F用于标识水满或排空,中断1通过F值判断水位情况。
软件设计
主程序流程图如下图所示,软件设计还包括:外部中断0服务程序控制编程状态及工作模式,外部中断1服务程序判断水位状态,定时器0定时洗衣时间和每次换水时间,定时器1定时脱水dl\par间。系统采用6MHz晶体振荡器)定时器0和定时器1初始设置成每隔lOOms产生一次中断,对应高位装入的时间常数为OBOH,低位为3CH,洗衣机进入工作状态后定时器0启动根据设定值控制洗衣时间。
按下“启动”键,洗衣机开始工作,同时在运行工作过程中作为“暂停”键使用,在莱一段时间,如果该键不作为编程状态、增、减状态使用,接下“启动”键后,洗衣机停止工作,保留当时的工作状态,再次按下后,洗衣机继续工作。
软件抗干扰重点是CPU抗干扰的能力)抗干扰的目的是发现CPU如何受到干扰,如何拦截失去控制的程序流向,如何使程序损失减小,如何快速、准确将系统恢复到正常状态)最普遍的方法是通过指令冗余和软件陷阱两种方式解决。