罗云松 李丹
摘 要:文章设计的饮水机温度控制系统是以AT89C52单片机和温度传感器DS18B20为核心来实现温度控制。设计内容包括液晶显示电路、温度信号采集电路、时钟显示电路、报警电路、键盘设置电路、加热电路等。系统软件设计采用Keil编译软件进行编程并生成可执行程序,然后将可执行程序加载到PROTEUS仿真软件进行系统仿真。本次设计是对传统饮水机温度控制系统的优化,可以创造良好的经济效益。
关键词:AT89C52单片机;DS18B20;PROTEUS;温度控制
中图分类号:TP273 文献标志码:A 文章编号:2095-2945(2018)24-0080-03
Abstract: The temperature control system of water dispenser designed in this paper is based on AT89C52 single chip computer and temperature sensor DS18B20 to realize temperature control. The design includes liquid crystal display circuit, temperature signal acquisition circuit, clock display circuit, alarm circuit, keyboard setting circuit, heating circuit, and so on. The system software is programmed with Keil compile software and the executable program is generated. Then the executable program is loaded into PROTEUS simulation software for system simulation. This design is to optimize the temperature control system of the traditional water dispenser, which can create good economic benefits.
Keywords: AT89C52 single chip microcomputer; DS18B20; PROTEUS; temperature control
1 概述
饮水机作为一种常用的家用电器已经在现在的家庭和工作中非常普及了,然而传统的饮水机的工作原理是加热电路直接将冷水加热到沸腾后自动断开,一定时间后温度下降到设定温度后又自动打开加热电路,再次加热到水沸腾后又自动断开加热电路,加热电路循环工作。这种被反复烧开的水俗称,然而现代医学已经证明这种“千沸水”会对人的身体健康产生一定的危害。而且饮水机反复加热非常耗电。本文的设计就是解决这些传统饮水机的问题,该设计以AT89C52单片机和温度传感器DS18B20为核心进行水温控制,当加热电路第一次把水烧开后让水温保持在一个适当的设定温度,这样就避免使水反復烧开而形成“千沸水”,也不会造成电能的过度浪费。
2 系统的硬件设计
本系统主要包括硬件和软件两个部分。硬件电路主要以单片机AT89C52和温度传感器DS18B20为核心,包括了温度信号采集电路、显示电路、时钟电路、报警电路、键盘电路、加热电路等硬件电路模块。
系统通过核心部件单片机AT89C52控制温度的读写和显示,采用性能优良的温度传感器DS18B20来检测饮水机里的水温,用液晶显示屏1602来显示设定温度和实时温度,系统采用DS1302作为时钟电路模块的芯片,通过1602来显示系统时间;按键电路采用独立按键接口,这样按键控制简单并且每个按键不会互相影响,通过两位按键来设置设定温度;采用继电器来控制加热装置,当水温低于设定值时,继电器吸合,加热装置启动并且指示灯亮,当水温高于设定值时,继电器断开,加热装置停止同时指示灯灭;当水温达到99℃时,蜂鸣器报警并关闭加热装置;系统总体硬件电路如图1所示。
3 系统的软件设计
该系统的软件设计由温度控制模块,温度采集模块,报警电路模块,键盘扫描模块,液晶显示模块等构成。系统软件设计框图如图2所示。
系统软件设计采用C语言模块化程序设计结构,其中包括主程序,温度采集和控制子程序,键盘子程序,报警子程序,显示模块子程序等。温度采集模块主要是控制DS18B20温度传感器来读取饮水机的温度,包括DS18B20的初始化,读和写操作。控制温度模块主要是将实际温度和设定温度比较后,通过继电器加热电路的开启和断开来控制饮水机温度。键盘扫描模块主要通过按键来控制系统的开启和停止,并设定温度值,温度设定范围为0℃-99℃,报警模块功能是当实际温度达到99℃时,系统自动报警。其中主程序流程图如图3所示。
4 仿真结果
本系统设计采用Proteus仿真实现,在仿真软件中画好硬件电路图后,用Keil完成系统的软件设计,然后在Proteus中将可执行文件加载到单片机中运行仿真,最终得到仿真结果。仿真过程中用键盘设置保温温度为60℃,当饮水机加热到100℃时报警表示烧开,然后系统进入保温阶段,温度降到设定温度60℃以下时加热电路工作。当温度降到58℃时,加热电路中的继电器吸合,表示开始加热,并且指示灯亮,如图4左图所示。加热后当温度超过60℃时,如图4右图所示,温度为62℃时,停止加热,加热指示灯灭。
5 结束语
本文针对传统饮水机反复烧开而造成“千沸水”和能源浪费的问题,做出了以上对饮水机的优化设计,用户预设适合的温度后,如果温度低于设定温度则灯亮表示加热,加热到预设温度后灯灭停止加热。如果预设温度为99℃时,灯灭的同时会报警,表示水烧开。系统使水温一直保持在设定温度范围内,以便用户可以随时饮用。同时该系统还有时间显示功能。本系统简单实用,成本较低,有较好的应用前景。
参考文献:
[1]王梅红.基于单片机的温度控制系统设计与仿真[J].四川兵工学报,2012(2).
[2]蒋辉平,周国雄.基于Proteus的单片机系统设计与仿真实例[M].北京:机械工业出版社,2009.
[3]吕俊亚.一种基于单片机的温度控制系统设计与实现[J].计算机仿真,2012(07).
[4]余瑾,姚燕.基于DS18B20测温的单片机温度控制系统[J].微计算机信息,2009(08).
[5]赵君.基于8051单片机的温度控制系统[D].吉林大学,2012.
[6]王海宁.基于单片机的温度控制系统的研究[D].合肥工业大学,2008.
[7]陈勇,许亮,于海阔,等.基于单片机的温度控制系统的设计[J].计算机测量与控制,2016(02).
[8]曹巧媛.单片机原理及应用[M].电子工业出版社,2002.