基于AT89C52的洗碗机自动控制系统设计
扫描二维码
随时随地手机看文章
摘要:基于洗碗机的功能要求,设计了以AT89C52为控制核心的洗碗机自动控制系统。该系统包括水温检测、水位检测、液晶显示及强电驱动等电路,可有效地实现洗碗机自动控制,具有洗涤温度与时间设置、自动进水与排水、加温、清洗、消毒、故障报警等功能。给出系统硬件电路图及软件流程图。测试表明,系统工作良好,可用于自动洗碗机中,达到预期目标。
关键词:洗碗机;控制系统;水温检测;水位检测
随着生活节奏的加快,人们将时间更多的用于工作,更加疲于家务劳动,特别是面对每次餐后堆积的碗具,感到清洗起来既脏又浪费时间。洗碗机作为一种家庭自动化设备,避免了人工洗碗的烦恼,节约了时间,将人们从繁杂的家务劳动中逐步解放出来。本文设计了一种洗碗机自动控制系统,在单片机控制下,可控制电磁阀、加热电阻丝、清洗电动机、紫外线消毒器等强电电路,实现洗涤温度与洗涤时间设置,自动进水与排水,自动添加洗涤剂,故障信息显示及报警等功能。
1 系统总体设计方案
洗碗机自动控制系统的总体设计框图如图1所示。系统以单片机AT89C52为控制核心,包含水温检测电路、水位检测电路、门控电路、键盘电路、蜂鸣器、液晶显示电路及强电驱动电路等部件。其中,水温检测电路结合温度设置,采集水温信息,控制电阻丝加热;水位检测电路进行最高水位和最低水位判断,控制进水电磁阀和排水电磁阀开关;门控电路判断洗碗机门是否关闭;键盘电路设置洗涤水温及洗涤时间。为了实时显示洗碗机工作状态及可能出现的故障信息,系统中添加液晶显示电路和蜂鸣器,方便用户知道洗碗机工作模式和工作状态,便于故障排查。强电驱动电路作为单片机与外部器件的接口电路,驱动电磁阀、电阻丝、电动机及紫外线消毒器工作。
2 系统硬件电路设计
系统主体硬件电路设计包括水温检测电路、水位检测电路、液晶显示电路及强电驱动电路。
2.1 水温检测电路
DS18B20是达拉斯半导体公司生产的1-Wire器件,即单总线器件,其将地址线、数据线和控制线合为1根信号线,具有成本低、节省I/O口、抗干扰能力强等优点。同时,与传统的PT100、AD590等模拟温度传感器相比,DS18B20直接将被测温度转化成串行数字信号供单片机处理,省去了专用的模数转换芯片。为了防水耐腐,本系统采用DS18B20防水型封装,即DS18B20温度传感器外围加入不锈钢管进行灌胶密封。 DS18B20与AT89C52连接电路如图2所示。
本系统只使用单片DS18B20,且不存在远程温度测量的考虑,所以为了简便起见,DS18B20采用外部供电的方式,其VCC端直接接电源,I/O数据端与单片机P2.7相连,R1为上拉电阻。DS18B20通过片上温度测量的技术来测量温度,其分辨率可编程设置为9~12位,实现高精度测温。本系统采用出厂默认配置为12位分辨率,可分辨温度为0.0625℃,最多可在750 ms内把温度转换为数字。
AT89C52与DS18B20通信.必须符合1-Wire总线的协议要求,否则无法读取测量结果,因此需要完成下述3个步骤:初始化DS18B20、ROM操作命令和DS18B20存储器操作命令。当DS18B20上电后,对其进行初始化,向AT89C52发送响应的应答脉冲,表明工作准备就绪。AT89C52通过拉低总线电平,产生复位脉冲,然后释放总线,进入接收模式。当总线释放后,上拉电阻将总线电平拉高。DS18B20检测到上升沿后,延时后拉低总线,产生应答信号。ROM操作命令分读ROM、匹配ROM、跳过ROM、搜索ROM、报警搜索等。因本系统只使用单片DS18B20,所以只需写入‘CCH’代码,直接进入运行内存操作命令。DS18B20存储器操作命令,发送温度转换命令‘44H’,将读出的温度存储在8位寄存器TH和TL中,完成温度转换。
2.2 水位检测电路
为实现洗碗机自动进水、自动排水的功能,本系统采用两个光电水位传感器进行水位监测。光电水位传感器外部罩有菱镜,内置高强度红外发射二极管和高灵敏度光敏晶体管,无机械运动部件,不存在最低水位限制。同时,与现有的浮子式水位开关相比,光电水位传感器还具有体积小,结构紧凑,便于安装,水位控制精度高等优点,其与AT89C52连接电路如图3所示。
图3中TX1,TX2同为光电水位传感器,一上一下安装,分别用来判别最高水位和最低水位。TX1和TX2为四端口器件,1和3端口内部接有高灵敏度光敏晶体管,2和4端口内部接有高强度红外发射二极管。TX1和TX2端口1外接电源,端口2通过上拉电阻外接电源,端口3输出经过电阻分压各自加到NPN晶体管Q1、Q2栅极,端口4外接地。Q1、Q2漏极分别接到AT89C52的P2.0口和P2.1口。二极管D1、D2为进水、排水指示灯。电路工作原理为:当洗碗机进水水位未达到最高水位时,TX1未接触水,其红外发射二极管发出的光线通过菱镜面反射到达光敏晶体管,光敏晶体管导通,端口3输出电平为高,Q1导通,P2.0口为低电平,开启进水电磁阀,自动进水,进水指示灯D1亮;当洗碗机进水水位达到最高水位时,TX1没入水中,其红外发射二极管发出的光线通过水折射,未能到达光敏晶体管,导致P2.0口变为高电平,从而关闭进水电磁阀,停止进水。同理,洗碗机自动排水时,TX2内部光敏晶体管导通,P2.1为低电平,开启排水电磁阀,自动排水;当排水排尽时,TX2内部光敏晶体管截止,P2.1变为高电平,关闭排水电磁阀。
2.3 液晶显示电路
本系统采用QC12864B汉字图形点阵液晶显示模块,实时显示洗碗机工作状态,水温,洗涤时间及故障信息。QC12864B液晶显示屏为128x 64点阵,可显示4行,每行8个汉字。因其内置ST7920芯片,自带字库,所以无需提取字模。QC12864B液晶显示模块与AT89C52连接电路图如图4所示。QC12864B的GND、VCC端分别接地、电源;V0端通过可变电阻接地,调节液晶显示对比度:D0至D7端与AT89C52的P0口相连,作为指令与显示数据的总线通道;RS、R/W、E端与AT89C52与P2.5、P2.6、P2.7相连,构成液晶显示控制信号的通道。因本系统只使用液晶并行数据传输功能,所以将QC12864B的PSB端接电源。当洗碗机工作时,AT89C52的P2.4口输出为低电平,将背光电源正极LA+拉高,点亮液晶;当洗碗机停止工作时,P2.4口输出为高电平,将LA+托低,关闭液晶,从而达到节约能耗的目的。
2.4 强电驱动电路
AT89C52输出采用继电器驱动进水电磁阀、排水电磁阀、加料电磁阀、加热电阻丝、清洗电动机与紫外消毒器等220 V器件。本系统为了减轻外部强电电路对AT89C52输出的影响,增加了光耦隔离电路。因外部各器件强电驱动电路相同,文中仅给出进水电磁阀强电驱动电路,如图5所示。图5中U2为光耦,实物采用TPL52-1线性光耦.K1为12 V继电器。当AT89C52的P1.0口输出为低电平时,U1的3脚输出高电平,NPN晶体管04导通,继电器衔铁吸合,驱动外部器件工作;当AT89C52的P1.0口输出为高电平时,U1的3脚输出高电平,Q4截止,继电器衔铁分离,关断外部器件。为了消耗继电器线圈断电瞬间产生的反向电动势,在继电器线圈两端反向并联二极管D3,同时04还具有提升驱动电流的作用。
3 系统软件设计
本系统按洗碗机工作过程可分为6个阶段:进水过程、加温过程、注入洗涤剂过程、电动机清洗过程、排水过程和紫外线消毒过程。同时为确保洗碗机正常工作,对容易出故障的过程,系统还设置了故障报警功能。系统软件按照洗碗机的工作流程进行编写,整体流程图如图6所示。
首先接通电源,洗碗机开机自检,若状态正常,将碗放入清洗室,门控电路关闭;通过键盘电路设置洗涤水温及洗涤时间,若超过1分钟键盘电路未动作,自动关闭电源;设置完毕,按启动键,洗碗机打开进水电磁阀进水,通过水位检测模块判断是否水进满,若水进满,关闭进水电磁阀,打开加料电磁阀,加入洗涤剂;根据温度设置,判断是否进行加热操作,同时清洗电动机工作;洗涤时间结束,关闭清洗电动机,打开排水电磁阀,排水,通过水位检测电路判断是否水排尽,若水排尽,打开紫外线消毒器消毒;消毒完成,蜂鸣器呜叫,表明洗涤完成,1分钟后自动关闭电源。洗涤中的每个过程、洗涤温度和洗涤剩余时间都可实时通过液晶显示电路显示出来。同时工作故障也可通过液晶显示,并通过蜂呜器报警。
4 结论
该控制系统目前已经调试成功,可通过强电驱动电路控制外部电磁阀、加热电阻丝、电动机及紫外线清洗器,实现洗碗机所要求的功能,且能够通过液晶实时显示工作状态及故障信息,具有结构简单、人机界面友好等优点。今后,拟引入浊度传感器,对判断洗涤是否真正干净做继续深入的研究。