基于单片机的家用电热水器控制仪表设计
2018-06-26贺丽丽
贺丽丽
(运城学院物理与电子工程系,山西运城044000)
随着社会的发展,人们生活水平不断提高,家用热水器已然成为每个家庭的必需品。目前使用的热水器主要有三大类:1)燃气热水器,由于气体的排放需要复杂的管道,而且天然气成本不断增加,不占优势。2)太阳能热水器,利用太阳能进行加热环保节能,受天气影响较大,在雨季和冬天利用率很低。3)电热水器,安装操作方便而且不受外界条件影响,只要有220V电源即可,深受大众喜爱。从热水器行业的发展来看,一款新型热水器必须具备节能、安全、方便、舒适中的一项或多项优势,才能获得市场的肯定。储水式电热水器相比燃气热水器,安全性较高,分走了燃气热水器的市场份额[1]。兼具安全、节能、健康和智能化的家用热水器控制仪表将会是行业发展的风向标[2-6]。
1 系统研究思路
基于STC89C52单片机设计家用电热水器控制仪表[4-6]。此款仪表包含以下组件:1)四位数码管。其中两位数码管显示预设水温,另外两位数码管显示实际水温。实际水温显示范围为0~99℃,精度为±1℃。预设温度范围为40~80℃(可以根据需求调节)。当实际温度较用户预设的温度低于1℃时,继电器吸合,开启电加热;反之采样到的实际温度较用户预设的温度高于1℃时,继电器断开,停止电加热。2)2个程序按键。温度“+”键:每按下一次该键,用户预设的温度自动加1℃,当用户的预设温度加到80℃时,预设温度跳到40℃,开始进行下一个“+”循环。温度“-”键:每按下一次该键,用户的预设温度自动减1℃,当用户的预设温度减到小于40℃时,预设温度自动跳到80℃,开始进行下一个“-”循环。3)1个面板指示灯。接通220V电源,该指示灯点亮。4)报警电路。温度过高或过低都会自动报警。当检测温度高于85℃或者低于0℃时,自动报警。
根据系统的设计要求,DS18B20检测温度,并在数码管上显示该温度[2]。通过比较预设温度和实际温度来控制继电器的吸合和断开。整个仪表的直流稳压电源由交流电、变压器、整流电路、滤波电路和稳压电路构成。稳压电路采用7812芯片,输出+12V,采用7805芯片,输出+5V。整个系统的控制电路由复位电路、单片机最小系统、按键电路、显示电路、温度采集电路和输出控制电路构成。
主函数程序有按键函数、显示函数,以及预设温度和实际温度的比较函数。用户可以通过按键来设定自己需要的温度,数码管可以显示预设温度。通过DS18B20数字传感器与STC89C52之间的单总线通讯来采集实际温度,单片机再驱动数码管来显示采集的实际温度。最后通过比较函数比较预设温度和实际温度,来判断是否驱动继电器进行电加热[1]。
1.1 系统设计图
本设计系统主要包括温度采集电路、按键电路、显示电路、输出控制电路和STC89C52单片机控制模块。系统框图见图1。单片机检测按键电路的预设温度,与温度采集电路相互通讯交换数据,然后驱动显示电路和输出控制电路;温度采集电路主要由DS18B20数字温度传感器、电阻和电源构成;按键电路主要由2个独立按键构成;显示电路主要由74LS138、74HC573和4位数码管构成;输出控制电路由继电器、三极管、二极管和电阻构成。STC89C52控制模块由单片机最小系统组成。
图1 系统框图
1.2 系统硬件设计
本文设计的家用电热水器控制仪表系统由电源电路、按键设置电路、DS18B20温度采集电路、数码管显示电路、输出控制电路构成。使用pro⁃tel99se绘制系统原理图,如图2所示。
图2 系统原理图
显示电路如图3所示,当使用四位八段数码管时,就会出现段选和位选之分。此时可以通过单片机及外部驱动电路选择需要点亮的数码管。74LS138选择数码管的位选,74HC573选择数码管的段选,从而点亮所需位和段的发光二极管。
图3 显示电路
家用电热水器控制仪表系统的最小系统电路见图4所示,5V电压连接复位按键和10uf电容的并联电路,然后连接到单片机的RET脚,并连接10K的下拉电阻。当程序出错或者进入死循环时可以按下复位按键使系统复位,启动程序重新开始。
图4 最小系统电路
本设计用的是单片机IO口的输入功能。把四个按键的一端连接到一起并连接地,把另外一端分别连接到STC89C52单片机的P2.0、P2.1、P2.2、P2.3并给以10K的上拉电阻。当四个IO口都处于高电平状态时表示按键没有按下,当有IO口处于低电平状态时表示所连接的按键被按下。按键电路如图5所示。
图5 独立键盘
1.3 系统软件设计
主函数程序流程如图6,首先进行按键函数,然后是显示函数,最后是预设温度和实际温度的比较函数。用户可以通过按键来设定适宜的温度,然后用显示电路显示用户的预设温度。通过DS18B20数字传感器与STC89C52之间的单总线通讯来采集实际温度,单片机再驱动数码管来显示采集的实际温度。然后通过比较函数来比较预设温度和实际温度的大小,最后判断是否驱动继电器进行电加热。家用电热水器控制仪表的软件设计主要由主函数、延时函数、DS18B20函数、按键函数、显示函数组成。通过主函数调用按键函数、显示函数和进行判断,来实现家用电热水器控制仪表的功能。
每个程序都是由主函数和若干个子函数组成,在主函数中调用各个子函数来实现功能。在本设计中主要通过按键函数调节预设温度、通过显示函数显示预设温度和实际温度、通过继电器函数来判断是否吸合继电器。
图6 主函数流程图
程序主体是主函数,主函数包括一个定时器和一个循环函数。在循环函数中循环按键函数、显示函数和继电器函数,从而达到家用电热水器控制仪表的功能。主程序的流程图如图6所示。
显示函数主要分为两部分,段选和位选,然后进行循环组成了显示函数。显示程序流程,如图7所示。
图7 显示程序流程图
2 结语
本文设计了一款简单、实用的家用电热水器控制仪表。通过把DS18B20数字温度传感器、按键、数码管、继电器、STC89C52单片机和其他硬件连接在一起形成一个家用电热水器控制系统。采用pro⁃tel99se软件进行家用电热水器控制仪表原理图的绘制,然后进行样机的制作;keil 4软件进行程序的编写和调试;烧录软件把程序烧录到单片机中,并进行实物的测试,最后根据测试结果不断的修改、调试程序完成此设计。
[1]张毅.基于51单片机家用智能电热水器[D].大连:大连海洋大学,2011.
[2]刘丰.基于DS18B20基站的温度测量系统[J].软件,2013,6(2):1-4.
[3]陈俊.太阳能风能生物质能联合发电控制系统[D].保定:华北电力大学,2009.
[4]赵子翔.基于51单片机的贪吃蛇游戏[D].大连:大连理工大学,2009.
[5]刘尊亚.具有GSM短信功能的测温系统设计[D].太原:中北大学,2013.
[6]唐颖.单片机原理与应用及C51程序设计[M].北京:北京大学出版社,2008:13-161.