家用热水器节水系统设计_第1页
家用热水器节水系统设计_第2页
家用热水器节水系统设计_第3页
家用热水器节水系统设计_第4页
家用热水器节水系统设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、郑州轻工业学院郑州轻工业学院本科毕业设计(论文) 题 目 家用热水器节水系统设计 学生姓名 专业班级 自动化 09-01 学 号 院 (系) 电气信息工程学院 指导教师 完成时间 2013 年 5 月 30 日 家用热水器节水系统设计I家用热水器节水系统设计摘 要作为常用的家用电器,电热水器是生活中的必备电气设备,在生活中充当着重要角色。在传统电热水器使用过程中,存在诸多缺点与不足。本文以节水为目标,开展了节水型家用电热水器的设计工作。本设计采用单片机 AT89C51 作为控制器来控制电路,分别对硬、软件进行设计。硬件系统由加热控制电路、温度检测电路、LED 数码管及指示灯显示电路及报警器驱动

2、电路组成。软件设计部分给出了相应的程序流程图。包括主程序设计、显示扫描子程序设计、按键扫描处理子程序设计、加热和控制程序流程图设计、温度检测程序设计及频率测试程序等。采用 C 语言编写,程序具有简洁、易读及便于模块化等特点。关键词 单片机 电热水器 温度/频率转化测温 二分查找法 家用热水器节水系统设计IIDESIGN OF THE HOUSEHOIDHEATING WATER SYSTEMABSTRACTAs a sort of electrical appliances commonly used in household, electric water heater is the nec

3、essary electrical equipment in life, which play an important role in life. In the process of traditional electric water heater use, there are many shortcomings and deficiencies. This article on the target of water saving, carry out the design of the water-saving household electric water heater. This

4、 design uses the single chip microcomputer AT89C51 as the controller to control the circuit, to design hardware and software respectively. The hardware system include the control of heating circuit, temperature detection circuit, LED digital tube and indicator light display and alarm circuit driver

5、circuit. The software design show part of the corresponding program flow chart. Including the main program design, according to scanning subroutine design, keypad scanning subroutine design processing, Heat and flow chart of control program design, temperature testing program design and frequency of

6、 testing and so on. Written using C language, program has the characteristic such as concise, readable and easy to modular and so on.KEY WORDS single-chip microcomputer electric water heater temperature/frequency conversion temperature measurement binary search method目 录摘 要.IABSTRACT.II1 绪论.11.1 选题背

7、景和意义.11.2 国内外研究现状.21.3 本文设计内容.32 快热式电热水器的硬件设计.42.1 硬件元件的选择与方案论证.42.1.1 单片机的选择.42.1.2 电源的选择.52.1.3 键盘的选择.52.1.4 显示器的选择.62.1.5 驱动及加热控制元件的选择.62.1.6 温度检测传感器的选择.72.1.7 供电线路的选择.72.1.8 传感器输出的放大电路的选择.82.2 系统硬件电路的设计.82.2.1 加热控制电路的设计.92.2.2 过压保护电路的设计.92.2.3 温度检测电路的设计.102.2.4 数码管显示电路的设计.102.2.5 报警器驱动电路的设计.113

8、快热式电热水器的软件设计.123.1 主程序的设计.123.2 显示扫描子程序的设计.143.3 按键扫描处理子程序的设计.153.4 加热和控制程序流程图的设计.173.5 温度检测程序的设计.193.6 频率测试程序的设计.224. 结 论.23致 谢.24参考文献.25附录 A 控制源程序清单.26附录 B 系统总设计原理图.37家用热水器节水系统设计11 绪论1.1 选题背景和意义当前,热水器已成为日常生活中不可或缺的家用电器,设计制造更实用、更方便、更安全、更节能的热水器是产品设计师和生产厂家不断追求的目标。快热式电热水器与普通电热水器最大的区别在于取消了储水罐,热水随开随用,无需预

9、热,减少了电能和水资源的浪费。另外,它还具有体积小,使用安全,水温可以调节,安装方便等优点。热水器是一种可供浴室,洗手间及厨房使用的家用电器。目前市场上热水器主要品种有:电热水器、太阳能热水器、燃气热水器,就中国的具体情况而言,太阳能热水器作为一种绿色环保可再生资源,其开发和利用,因顺应中国的能源与环保政策,日益受到重视。加上日渐显现的全球能源危机,进一步加剧了太阳能热水器行业的发展,尽管前景光明,可因为太阳能热水器的能源利用率较低及它对建筑的诸多要求,而且安装麻烦,接受太阳能的板片还得轻拿轻放,切勿撞击,属易碎品,加大了其使用的不安全与不保险性。此外,其使用还受天气原因的限制,适用范围狭窄,

10、导致太阳能热水器行业的发展目前还存在很多障碍;燃气热水器由于以天然气为燃料,而燃料供应量有困难,且国家对其使用年限有规定,适合在低气价地区使用,来满足人们的需求,且不利于环境;人们在选择热水器时,除了要安全可靠和美观耐用外,一次性购机费和经常性开支(能耗)也是人们考虑的重要环节,其中经常性开支有时比一次性购机费更能左右用户的选择,因此如何来降低热水器的能源消耗,使用户能以最小的代价获得更大的收益,这是一个大多数用户十分关心的问题。随着人们生活水平的不断提高、日益增长的需求和电网供电能力的加强,越来越多的家庭选用电热水器,电热水器使用安全、卫生、又无污染。今后几年我国电热水器市场将呈现强劲增长势

11、头,其产品质量、技术水平、服务规范将不断提升,价格也会下降。而且全国电网的改造、电的普及、电价的大幅度下调,以及用电设施的改善,均为电热水器的迅速普及提供了便利、必要的条件。电热水器是家庭、公用住宅、小型饭店、宾馆酒店理想的配套服务设施。相信今后几年我国电热水器市场仍将会迅猛发展。普通电热水器有如下缺点:(1).热水器长期通电,长期保持在六十度以上高温,发热管易结垢,内胆易漏水,家用热水器节水系统设计2因而较易损坏;(2).管道热水、热量损耗大;(3).等候用水时间长;(4).在热水流出前都必须浪费一定量的热水,根据管道的长短,一般家庭中冷水损耗量大,基本可达 10-25 升每次。而快热式电热

12、水器克服了上述缺点。它有很多优点,如:安全,干净环保;即开即热,3-5 秒出热水无需等候,热水使用时间不受限制,想用多少就用多少;用多少烧多少,省电省水,没有损耗;内置温控仪保证温度在 30-50 度之间,解决温度持续高温导致的结垢漏水问题。体积小不占空间,其中封闭式(尺寸为:24cm*9.5cm*25cm,类似 25*25 的卫生间地砖那么小,纯白色。 )可以隐藏在橱柜内,安装方便,特别适合新装修的房子,款式多样,美观实在,也是职工福利和客户礼品的绝佳选择。特别方便于洗涤和洗漱,是为现代家具厨房洗涤、卫生间洗漱专业设计生产的快速电加热热水器,结合了燃气热水器、太阳能热水器和传统储水式电热水器

13、的诸多优点。1.2 国内外研究现状家用电热水器在国外使用相当广泛,尤其是在欧美和东南亚地区。当前,热水器已经成为日常生活中不可缺少的家用电器,设计制造更实用、更方便、更安全、更节能的热水器是产品设计师和生产厂家不断追求的目标,它具有体积小,使用安全,安装方便等优点。前些年,家用电热水器产品在国内市场上曾经出现过一段时间,由于当时国内电力条件不成熟,对大功率的电产品一般无法正常使用,也没有好技术和科技来保证其产品质量与使用的安全,种种因素限制了其在国内的发展。近几年来,随着人们生活水平的不断提高,国家电网改造和相关规定的出台,电力工业迅速发展,预示了家用电热水器产品在国内的广泛前景。根据国家住宅

14、设计规范现有商品住房的电器线路导线必须采用铜芯线,每套住宅进线截面积不小于 10 平方毫米,分支引线不得小于 2.5 平方毫米,电表规格不得小于 40 安,所以现购新标准住宅用户,都有条件使用上述这种安全、家用电热水器,确保产品万无一失,安全系数达 100%,通过检测,快热式家用电热水器比传统的热水器可节省 40%的能耗,用多少热水就加热多少热水,没有热水用不完的浪费和使用中途热水供应不足的现象,热水利用率 100%,因为它既家用热水器节水系统设计3不需要提前预热,也不需保温,省去了大量的额外开支,给用户带来真正的实惠。即热式产品作为新型环保产品在我国广泛使用已是大势所趋,符合现代消费潮流。一

15、切迹象都在预示着快热式家用电热水器的春天就要来临了。1.3 本文设计内容本设计的设计内容包括硬件部分和软件部分的设计。硬件部分分为元件选择和电路的设计,元件选择包括单片机、电源、键盘、显示器、驱动及加热控制元件、温度检测传感器等的选择;电路包括加热控制电路、过零检测电路、温度检测电路、LED数码管及指示灯电路、报警器驱动电路。软件部分的设计即系统程序流程的设计,包括主程序的设计、显示扫描子程序的设计、按键扫描处理子程序的设计、加热控制程序流程图的设计、温度检测程序的设计和频率测试程序流程图的设计等。其中,软件编程采用 C 语言进行编写,因为 C 语言在功能上、结构性、可读性和可维护性上比汇编语

16、言有明显的优势,Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另外重要的一点就是 Keil C51 生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。也容易实现程序的模块化和结构化。本文要达到的设计要求是:(1).用 2 位数码管显示出水温度,能显示设定功率档位。(2).温度检测显示范围为 0099,精确度为1。(3).设置 3 个功率档位指示灯,14 档 1 个灯亮,58 档 2 个灯亮,9 档 3 个灯亮。0 档无功率输出,档位灯不亮。(4).设置 3 个轻触按钮,分别为电源开关、 “+

17、”键和“-”键。加热功率分 09 档;按“+”键依次递增至 9 档,按“-”键依次递减至 0 档。09 档功率依次为0、1/9P、2/9P、 3/9P、4/9P、5/9P、6/9P、7/9P、8/9P 和 P。(5).出水温度超过 65时停止加热,并蜂鸣报警,温度降到 45以下时恢复。(6).内胆温超过 105时停止加热,防止干烧。家用热水器节水系统设计42 快热式电热水器的硬件设计根据设计要求,系统的组成框图如图 2.1 所示,主要包括电源电路、单片机控制器、温度检测电路、按键输入电路、LED 数码管及指示灯电路、报警电路和加热控制电路。对于快热式家用电热水器来说,硬件系统是它的最基本的框架

18、,是系统的所有功能的基础。硬件的选择和所选硬件的性能对系统的功能实现以及系统的精度都有直接的影响,系统的设计成功与否很大程度上取决于硬件系统的设计。温度检测按键输入电源单片机LED 显示加热控制蜂鸣报警图2.1 电热水器系统组成框图2.1 硬件元件的选择与方案论证2.1.1 单片机的选择方案一: 我们知道 8031 芯片内部无 ROM,需要外扩程序存储器,由此造成电路焊接的困难,况且使用 8031 还要另外购买其他的芯片,如 A/D 转换及定时/计数器(PWM)等芯片,从而造成成本较高,不适用。方案二:单片机 51 机的特点:字长为 8 位。几乎绝大多数的单片机外围芯片都直接或间接的支持 8

19、位字长,这样可供它选择的余地相当大,这使得 51 单片机的应用达到了无家用热水器节水系统设计5孔不入的地步。程序存储器与数据存储器分开。程序存储器和数据存储器的容量都是 64KB。这样做的好处是可以尽可能使用大的存储器,无论是程序还是数据都是这样,在存储器价格日益低廉的今天,几乎可以用微不足道的价格换取相当可观的性能。功能日益强大。现在程序存储器、数据存储器、掉电不丢失数据存储器、看门狗、A/D转换电路、驱动电路等都集中到一个芯片上。没有别的特殊要求,一个片子就能组成几乎十分完整的单片机系统。软件上单片机的编制语言十分丰富。包括汇编语言、C 语言、PLM,某些单片机甚至固化有解释型的 BASI

20、C 语言,适应几乎所有人员的需要。因为 89C51 芯片内部有 ROM,且芯片 ROM 全部采用 Flash ROM,它能于 3V 的超低压工作,与 MCS-51 系列单片机完全兼容,由于 89C51 单片机成本低廉且工作可靠,采用 12MHz 的晶振。此外,89C51 还可以工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结 CPU,而 RAM 定时器、串行口和中断系统维持其功能。掉电模式下,保存 RAM 数据,时钟震荡停止,同时停止芯片内其他功能。所以我们选择了 89C51 作为系统微处理器。2.1.2 电源的选择方案一:采用干电池,使用方便,安全可靠,但价格昂贵,且使用

21、时间较短,所以不采用。方案二:由于 89C51 对电源要求不甚严格,+5V 电源来源方便,且经稳压管稳压比较可靠,较经济实惠,所以采用此方案。2.1.3 键盘的选择方案一:键盘选用行列式键盘,行列式键盘的接口方法,直接接口于单片机的 I/O 口上。键盘设置在行、列线的焦点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接+5V,被拉在高电平状态。但线路较复杂,价格较昂贵,不适用。方案二:家用热水器节水系统设计6独立式键盘是由若干个机械触点开关构成的,把它与单片机的 I/O 口线连起来,通过读 I/O 口的电平状态,如果按键不被按下,其端口就为一种电平,如果按键被按下,则端口就为另一种电平

22、,即可识别出相应的按键是否被按下。独立式键盘有上拉电平和下拉电平两种接法,通常采用下拉电平接法,即各按键开关一端接低电平,另一端接单片机 I/O 口线,这是为了保证在按键断开时各 I/O 口线有确定的高电平。本设计采用独立式按键,其是常用于需要少量几个按键的计算机控制系统。每个独立式按键单独占用一根输入端口线,各键的工作状态不会相互影响。采用轻触式独立小按钮,既实用又方便,因为本电路对键盘的要求不高,所以采用这种方案。2.1.4 显示器的选择LED 数码管显示器可分为两种显示方式:静态显示和动态显示。方案一:LED 数码管静态显示,多片七段译码器驱动显示,这不仅增加了成本,还需要占用单片机多个

23、 I/O 口,也给电路的焊接带来了一定的困难,因此不选用这种方案作为显示模块。方案二:动态数码管显示一般用在需要多只数码管显示的场合,它采用分时的方法,让每只数码管轮流显示。采用动态显示可以大幅的降低硬件成本和电源的功耗。因为分时显示,某一时刻只有一只数码管在工作,显示驱动电路也可以分时复用。通常各位数码管的段选线相应并联在一起,由一个 8 位的 I/O 口控制;各位的位选线由另外的 I/O口线控制。动态方式显示时各数码管轮流分时选通,要使其稳定显示必须采用动态扫描方式,即在每一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另外一位数码管,并送出相应的段码。虽然这些字符是在不同的时刻分

24、别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以数码管同时显示的感觉。在动态显示方式下电路设计简单,所以采用。2.1.5 驱动及加热控制元件的选择方案一:家用热水器节水系统设计7对于加热功率的控制,最简单的方法是由若干不同功率的电热丝组合得到几种加热功率,但由于快热式热水器的加热功率较普通的大,且档位设置较多,用电热丝组合的方法需要几组电热丝和继电器,成本增高且工作可靠性降低,所以不用。方案二:通过一个继电器驱动,采用可控硅控制功率,能经受较高的功率,所以可以设置较多的档位,成本大大降低可靠性较高,而且电路简单,又控制方便,所以本方案采用。2.1.6 温度检测传感器的选择

25、温度检测的方法很多,有热电偶,热敏电阻,还有专门的集成测温传感器等。方案一:热电偶传感器是将温度变化转为电量变化的装置,它利用敏感元件的电磁参数随温度变化而变化的特性来达到测量目的。通常把被测温度的变化转化为敏感元件的电阻变化、电势的变化,再经过相应的测量电路输出电压或电流,然后由这些参数的变化来检测对象的温度变化。热敏电阻具有灵敏度高、体积小、较稳定、制作简单、寿命长、易于维护、动态特性好等优点。但有变化率非线性,不适合测量高温区等缺点。方案二:温度检测的方法较多,最经典的方法就是用热敏电阻(或热敏传感器)组成电桥来采集信号,再经放大、A/D 转换后送单片机。目前比较先进的方法是采用专门的集

26、成测温传感器(如 DS18B20) ,直接将温度转换成数字信号传送给单片机。这种方法显然比较先进,但电路比较复杂,成本也比较高。方案三:为了简化电路,降低成本,本文采用了温度/频率转化测温法,直接将温度信息转换成频率信号,用单片机测出频率的大小,从而间接测出温度值,温度/频率转换电路简单可靠,成本低廉。所以采用此方案。2.1.7 供电线路的选择快热式电热水器为了达到“快热”的效果,取消了储水罐,使冷水在进入加热管后家用热水器节水系统设计8立即被加热,这就要求加热管有较大的加热功率。家用电热水器一般采用方便、可靠的电热丝加热方法。根据热学及流体力学原理,结合实际实验室测试,可以得到水温与流量、加

27、热功率之间的关系如表 2.1 所列。表 2.1 中所列水温值和流量值可以满足大多数家庭用户使用要求。当最大的加热功率为 7.5kW 时,按 220V 供电计算,电流约为 34A,所以要求专线供电。表 2.1 水温与流量、加热功率的关系水流量/(L/m)功率/kW 温度/22.533.544.547423634325.554484138366.562544642387.57060514641注:进水温度为 15,输入电压为 AC220V。2.1.8 传感器输出的放大电路的选择方案一:运算放大器 LM324 带有真差动输入的四运算放大器。该四运算放大器可以工作在低到 3V 或者高于 32V 的电源

28、下,静态电流为 MC1741 的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。它的性能特点是保护输出、真差动输入级、底偏置电流为最大 100mA、每封装含四个运算放大器、具有内部补偿的功能、共模范围扩展到负电源、行业标准的引脚排列、输入端具有静电保护功能。但用在本电路中接线较复杂,且价格昂贵,所以不用。方案二:采用 74LS04 作为输出放大电路的选择,它还可以作为驱动电路使用,74LS04 是TTL 电平反相器,使用较经济且性能也很理想,所以在本方案中采用。2.2 系统硬件电路的设计快热式热水器控制系统电路如附录图 B 所示。它由加热控制电路

29、、过零检测电路、温度检测电路、数码管显示电路、报警器驱动电路等电路组成。家用热水器节水系统设计9控制器采用成本低廉且工作可靠的 89C51 或其兼容系列的单片机,采用 12MHz 的晶振。89C51 对电源要求不甚严格,电源电路采用普通的市电降压整流,然后经集成稳压器(7805)稳压输出+5V 电压。按键采用轻触小按钮。显示电路采用两位共阳数码管,由两个三极管 9012 驱动。3 个 LED 指示灯用于指示加热功率。报警电路采用5V 的自鸣式蜂鸣报警器。2.2.1 加热控制电路的设计 图 2.2 所示为加热控制电路原理图,电热丝的加热功率由双向可控硅控制,单片机通过光耦给可控硅触发信号,控制可

30、控硅的导通角从而控制电热丝的有效加热功率。而加热电阻通过发光二极管来显示加热与否,当加热时二极管发光,而不加热时二极管不发光,为了在关机和超温保护的状态下能可靠的关断加热电源,电路中加入了继电器来控制加热电源。其中串联在继电器线圈电路的熔丝为 105的热保险丝,当温度超过 105时,热保险丝会熔断,防止加热管干烧。与电热丝并联的 LED 发光管用来指示电热丝的工作状态。Q6B TA41heaterR 2520K/2WR 222K/1WR 8Q59012KJD1IN4007F 1F use 1GNDAC 220VU5M OC 3023+5VR 7P16LED1VCC20K/2WR 22P17图

31、2.2 加热控制电路图2.2.2 过压保护电路的设计此电路通过变压器将 220V 交流电变为 9V 的交流电,然后经过桥式整流将其变为直流电,通过 R2 和 R3 进行分压,从而实现过压保护。电路如图 2.3 所示。家用热水器节水系统设计1010KR 1Q180501M R 2+5GND10KR 3D2D5T1220V/9VAC 220V12UB A74LS04INT1图 2.3 过压保护电路图2.2.3 温度检测电路的设计温度检测电路如图 2.4 所示,温度/频率变换电路是利用反相器组成的 RC 多谐振荡器,其中的 R24 是一个热敏电阻,当温度变化时引起热敏电阻的阻值变化,因而电流发生变化

32、,从而改变了振荡器输出的方波频率。所以通过频率值可以间接求得温度值。该频率的估算可用如下公式: f1.1RC (2.1)它的电路图如图 2.4 所示。12UA74LS 0434UB74LS 04R 241K0.056FC 1100R 456UC74LS 04INT0图 2.4 温度检测电路图家用热水器节水系统设计112.2.4 数码管显示电路的设计数码管显示电路的设计是采用双向共阳极串行接口电路,用来显示加热档位,直观性更强,亦可大大减少电源的功耗。它的电路图如图 2.5 所示。R14R16R15R11R13R17A1f2g3e4d5A6c8DP7b9a10D S Y共共共R12R18A1f2

33、g3e4d5A6c8DP7b9a10D S Y共共共VCCQ 39012Q 49012+5v4.7K R 94.7K R 10图 2.5 数码管显示电路图2.2.5 报警器驱动电路的设计电路图如图 2.6 所示。4.7KR 6Q 29012U 45VGND+5Fuit图 2.6 报警器驱动电路图家用热水器节水系统设计123 快热式电热水器的软件设计本设计的软件设计部分即为系统程序的设计。按快热式热水器的功能,系统程序必须实现显示扫描、按键扫描处理、加热控制和温度检测(包括超温报警)4 项任务。51 系列单片机实现多任务运行的方法就是分时复用,在程序设计时要相应地分配好各任务的 CPU 占用时间

34、。对于以上几个任务稍加分析可以看出,显示扫描、按键扫描和加热控制任务相对而言有实时要求,而温度检测任务则可用定时(0.51s)实现。3.1 主程序的设计 系统在上电复位后,先对温度寄存器、档位寄存器赋默认值,并进行清除超温标志,设置定时器及中断系统的工作方式等初始化工作。由于 51 系列单片机没有停机指令,所以可以利用主程序设置死循环反复运行各个任务。把有实时要求的子程序(显示扫描、按键扫描、加热控制)放在最内层的循环中,计算其运行一次占用的 CPU 时间,然后根据温度检测定时的间隔时间,计算出该循环的循环次数。本例中每运行一次有实时要求的子程序(即显示扫描、按键扫描、加热控制)约占用 5 m

35、s CPU 时间,运行测温子程序的时间间隔为 0.5s,那么循环次数应为 100 次。家用热水器节水系统设计13图 3.1 所示为主程序流程图。YNYN温度检测显示扫描加热控制完成100 次循环-i=0?刷新显示温度系统初始化i=1按键扫描若有键按下I=6开始家用热水器节水系统设计14图 3.1 主程序流程图3.2 显示扫描子程序的设计显示扫描子程序完成两位共阳数码管的扫描显示任务。图 3.2 所示为显示扫描子程序流程图。图 3.2 显示扫描子程序流程图消隐清除位选赋值选初值送显示段码选通并延时 2ms改变位选字完成 2位扫描开始结束NY家用热水器节水系统设计153.3 按键扫描处理子程序的设

36、计按键扫描处理子程序负责逐个扫描档位“+”键、 “-”键和开关键是否被按下,若有键按下,则作出相应处理。具体根据用户设定的加热档位和系统当前的状态,决定是否加热和控制加热的功率并点亮相应的指示灯。若有超温标志,还应打开蜂鸣器报警。这将在加热控制中介绍其处理过程。本设计所采用的按键开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象,保证系统的可靠性,所以采取了按键消抖的措施。家用热水器节水系统设计16图 3.3 所示为按键扫描子程序流程图图3.3 按键

37、扫描子程序流程图NNNYYY“+”键按下?发按键音、消抖加热档位加 1返回值 1“-”键按下?发按键音、消抖加热档减 1返回值 2开关键按下?发按键音、消抖开机,恢复工作关机,停止输出等待开关键再次按下返回值 0开始结束家用热水器节水系统设计173.4 加热和控制程序流程图的设计加热控制程序通过控制继电器的通断来决定是否给电热丝通电加热,而加热的功率大小则由双向可控硅的导通角决定。系统程序利用外中断 INT1 检测市电的过零点,检测到过零点后,立即根据设定的加热档位给定时器 T1 赋一个延时参数,并打开定时器 T1,允许其中断。当定时器 T1 计数溢出后触发中断,T1 中断程序就会给可控硅发一

38、个触发信号,使其导通。家用热水器节水系统设计18图 3.4 所示为加热控制程序流程图。图3.4 加热控制程序流程图有超温标志?关闭蜂鸣器关闭可控硅蜂鸣报警接通继电器断开继电器不加热指示灯不亮外中断控制加热 1#指示灯亮外中断控制加热 1#指示灯亮全功率加热指示灯全亮开始结束加热档位NY家用热水器节水系统设计19图 3.5 和图 3.6 所示分别为过零检测程序图和可控硅触发信号控制程序流程图。图 3.5 过零检测程序流程图 图 3.6 可控硅触发信号控制程序流程图3.5 温度检测程序的设计温度检测程序的基本原理就是将温度/频率转换电路测得的频率与事先建立好的温度/频率表进行比较,查找出与该频率相

39、应的温度值。在实验测试后建立的温度/频率表是 0100温度所对应的频率值。它是一个频率对应于温度递减的非线性函数,在 C语言中用一个一维数组 Tab101来表示,下标为温度,数组元素为频率值。计算温度采用高效、准确的二分查找法。查表的过程如下:1.先给定查找的温度最大值 Tmax 和最小值 Tmin,即确定查找的范围,根据已有的温度表默认最大值 Tmax=100,最小值 Tmin=0。2.假定测得温度 Temp 为最大值与最小值的中间值,即 Temp=(Tmax+Tmin)/2。3.将实际测的频率值 T0rig 与假定温度 Temp 在表格中对应的频率 Tabtemp相比较,如开始(过零信号)

40、根据设定档位给定时器 T1赋延时参数允许定时器 T1 中断打开定时器 T1结 束开始(T1 中断)输出可控硅导通信号关闭定时器 T1 中断终止定时器运行延时,保证导通信号有足够的宽度结束可控硅导通结 束家用热水器节水系统设计20果相等,那么假定温度就是当前实际温度,即完成查找。4.若 T0rig Tabtemp,说明实际温度应该在 Tmin 与 Temp 之间(因为递减函数特性) ,则修改查找范围,令 Tmax=Temp;同理,若 T0rigTabtemp,说明实际温度应该在Temp 与 Tmax 之间,则令 Tmin=Temp;5.检查查找范围,若 Tmax-Tmin1,则重复第 2,3,4

41、,5 步骤,直到查找完成。 温度检测程序完成温度计算后,便刷新系统当前温度寄存器,并判断有无超温、置位或消除相应的标志位。家用热水器节水系统设计21图 3.7 所示为温度检测程序流程图。 开始打开测频外中断等待测试完成Tmin=0,Tmax=100Temp=(Tmin+Tmax)/2T0rig=Tabtemp刷新当前寄存器Temp65置位超温标志Temp45清除超温标志结束T0rigTabTempTmax=TempTmin=TempTmax-Tmin=1T0ri 接近 TabmaxTemp=TmaxTemp=TminYNYNNYNYYNYN图 3.7 温度检测程序流程图家用热水器节水系统设计2

42、2家用热水器节水系统设计233.6 频率测试程序的设计单片机使用外中断 INT0 和计数器 T0 检测输入频率的大小。为了减少测量的系统误差相对值和随机误差对测量精度的影响,程序中取 100 个方波周期的和作为测量结果。程序中使用静态变量 px0count 进行外中断的计数,在测量开始时,给 px0count 赋值 2 是为了让频率测量有准确的起点。另外,为了区分测频的开始和结束,还使用了测频开始标志位 T0tst 和测频完成标志位 Testok。图 3.8 所示为频率测试程序流程图。开始(X0 中断)-px0count=0?是起点?清除测频起点标志px0count=100计时器 T0 清 0

43、启动计时器 T0停止计时器 T0停止测频外中断置位测频完成标志结 束YYNN图 3.8 频率测试程序流程图开始结束家用热水器节水系统设计244. 结 论本次设计的快热式家用电热水器采用 51 系列单片机对电路进行简单的控制,系统的稳定性比较高。本方案着重体现在速度之快上,它采用双向晶闸管(即可控硅)对加热电路进行控制,这样系统的可靠性就大大增强,因为晶闸管能够根据门极电压可靠的接通和断开,而且采用发光二极管来及时的检测电路的加热情况。而设计的另一个优势还在于它采用了温度/频率检测电路,通过电路频率的变化及时的反映当时的温度变化,这样就避免了因为热敏电阻的变化不能及时的传给单片机而带来的滞后问题

44、。频率的变化受到外界的干扰要远远小于电阻变化所带来的干扰,而且完全不涉及非线性造成的温度过高时造成的错误,因此准确性,可靠性都得到了大大提高。在设计中还采用了两位共阳数码管来反应功率档位,通过它们的亮灭数量输出加热功率,及时的提醒使用者当时的水温变化情况,更加清晰,也能减少功耗。而在设计中还采用了轻触式按钮来调节功率的档位,其中按“+”按钮时逐渐增加功率档位,而按“-”按钮时逐渐减小功率档位,还有一个是控制电源开关的通断,即总开关。设计中还采用报警器来及时的反应温度是否超标,提示操作者是否继续加热热水器。尽管这次设计中我还不能做到尽善尽美,一些内容还是有待于进一步的研究,因为毕竟我们的知识有限

45、,而且以前还没有接触过单片机的具体设计与深入研究,但为了这次论文设计,我还是看了不少资料,特别是很多有关单片机设计的书籍,再加上我们学习了一些理论知识,开拓了我的视野,使我亲身了解到了单片机的用处是如此的广泛。在设计中我遇到了很多困难,让我对一些生疏的知识有了温习与巩固,对其有了更加深刻的了解,比如二分查找算法。在本次课程设计中,我真正了解到实践与理论相结合的重要性,以前总是在头脑中产生一些想法,却从来没有机会去认真的研究它,以至于不知道结果是成功还是失败,但通过这一次毕业设计终于可以使我通过自己的努力与导师及同学的帮助亲自完成了一个设计,虽然成果难免有不足之处,但终究是亲自动手去做的,收益是

46、可想而知的。 家用热水器节水系统设计25致 谢时光荏苒,四年的大学时光即将结束,在这里,我首先要感谢我的导师王子成老师,本文在大纲的确定,初稿的完成以及最终定稿,都是在王子成老师的悉心指导下完成的。在设计过程中,王子成老师一直给我很大的帮助,帮我分析遇到的困难,支持、鼓励我解决问题的信心,使我的设计得以顺利完成。此外,我还要感谢电气学院的各位老师,感谢他们传授我知识以及对我的关怀与鼓励,感谢我的同学,谢谢他们给我的照顾与关心。最后,我要感谢我的父母,在这四年中他们在生活上对我的关心无微不至,在精神上对我大力支持,这是我能够顺利完成学业的一个重要因素,我会用以后的日子好好孝敬你们,报答你们!我深

47、深的知道,几句简单的话语根本无法表达对你们的感激之情,只有在心里默默的祝福我的老师、同学们,祝你们一生幸福安康!家用热水器节水系统设计26参考文献1. 汤竞南,沈国琴. 51 单片机语言开发与实例M. 北京:人民邮电出版社,2008:20-38,138-143.2. 田立,田清,代方震. 51 单片机 C 语言程序设计快速入门M. 北京:人民邮电出版社,2007:153-165.3. 耿国华. C 语言描述M. 北京:高等教育出版社,2005:250-253.4. 刘迎春. 传感器原理设计与应用(第四版)M. 北京:国防科技大学出版社,2005:56-67.5. Lv Quan. Modern

48、 sensor principle and applicationJ. 2006:10(5): 3-56. 刘君华. 智能传感器系统. 西安: 西安电子科技大学出版社,2004:209-210.7. 何立民. 单片机应用技术选编M. 北京:北京航空航天出版社,1994:58-103.8. 靳达. 单片机应用系统开发实例导航M. 北京:人民邮电出版社, 2003:220-233.9. 马忠梅. 单片机的C语言应用程序设计M. 北京:北京航空航天大学出版社,1997:81-85.10. QU Jinyu. Measure of Engine Speed Based on C8052F ChipJ.

49、 Tractor & Farm Transporter, 2007,12(5): 12-15.11. 宋雪臣. 传感器与检测技术M. 北京:人民邮电出版社,2009:6-19.12. 赵佩华. 单片机接口技术及应用M. 北京:机械工业出版社,2003:1,115-117.13. 韩成. 拿来就用单片机M. 北京;人民邮电出版社,2008:1-5.14. 张友德,赵志英,涂时亮. 单片微型机原理应用与实验M. 上海:复旦大学出版社,2006:294.15马长林,陈怡,程利民. 单片机实践应用与技术M.北京:清华大学出版社,2008:209.家用热水器节水系统设计27附录 A 控制源程序清单以下是

50、快热式电热水器控制源程序清单,采用 C51 编写,在 Keil u Vision2 V2.30(C51.exe V7.0)环境下调试通过,并下载到 AT89C51 测试运行成功。/*-快热式热水器程序MCU AT89C51 XAL 12 -*/#include#include#includevoid delay(unsigned int); /延时函数void display(void); /显示函数unsigned char keyscan(void); /按键扫描处理函数void heatctrl(void); /加热控制函数void temptest(void); /测温函数sbit s

51、wkey=P10; /开关键sbit unkey=P11; /加热档位“+”键 sbit downkey=P12; /加热档位“-”键sbit buzz=P15; /蜂鸣器输出端sbit triac=P16; /可控硅触发信号输出端sbit relay=P17; /继电器控制信号输出端sbit led1=P25; /加热档位指示灯 1sbit led2=P26; /加热档位指示灯 2sbit led3=P27; /加热档位指示灯 3signed char data ctemp; /当前测得水温寄存器unsigned char data dispram2=0 x10,0 x10; /显示区缓存u

52、nsigned char data heatpower,px0count; /加热档位寄存器、外中断 0 计数器bit tempov,t0tst,testok; /超温标志、测温开始标志、测温完成标志/*-家用热水器节水系统设计28主函数 void main(void)无参数,无返回值循环调用显示、键扫描、温度检测和加热控制函数-*/void main(void)Unsigned char i,j;ctemp=15; /初始化水温寄存器heatpower=5; /初始化加热档位为 5 档tempov=0; /清除超温标志swkey=0; /默认开关键被按下,进入待机状态TMOD=0 x11;

53、/设定 T0 和 T1 工作方式为 16 位定时器TCON=0 x05; /设置外中断 0 和 1 为下降沿触发IP=0 x01; /设置外中断 0 优先IE=0 x80; /打开总中断While(1)i=1;do for (j=0;j100;j+) /循环 100 次约 0.5s if(keyscan()i=6; /如果有键按下,则显示当前档位 3s display(); /调用显示函数一次约 4ms heatctrl(); /调用加热控制函数 /end for (b=0;b100;b+) temptest(); /没 0.5s 进行一次测温 while(-i); /通过改变循环次数 i 的

54、大小决定是否刷新显示 j=abs(ctemp); /取温度绝对值 dispram1=j%10; /取个位数送显示家用热水器节水系统设计29 j/=10; /取十位数 dispram0=j? j:0 x11; /送显示(带灭零) /end while (1)/*-延时函数 void delay(unsigned int dt)参数:dt,无返回值延时时间=dt500 机器周期-*/void delay(unsigned int dt)register unsigned char bt; /定义寄存器变量for(;dt;dt-) for (bt=250;-bt;); /此句编译时以“DJNZ”实现

55、,2502=500 机器周期/*-显示函数 void display(void)无参数,无返回值两位共阳数码管扫描显示-*/void display(void)Unsigned char code table=0 xc0,0 xf9,0 xa4,0 xbo,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90, 0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e,0 xbf,0 xff;unsigned char i,a;a=0 xfe; /位选赋初值 for(i=0;i2;i+) /循环扫描两位数码管 P2|=0 x1f; /清除位选家用热水器节水系统设

56、计30 P0=tabledisprami; /送显示段码 P2&=a; /选通一位 delay(4); /延时 2ms a=_crol_(a,l); /改变位选字 P0=0 xff; /消隐 /*-按键扫描处理函数 unsigned char keyscan(void)无参数,返回值:无符号字符型,无键按下为其他影响全局变量:heatpower-*/unsigned char keyscan(void)unsigned char i,ch;if(upkey=0) /“+”键buzz=0; /打开蜂鸣器(发出按键音)for(i=0;i5;i+)display(); /延时消抖buzz=1; /关

57、闭蜂鸣器if(heatpower9) heatpower+; /档位加 1dispram0=0;dispram1 =heatpower; /显示当前档位while(upkey=0)display(); /等待键释放return(1); /返回有键按下else if (downkey=0) /“-”键buzz=0; /打开蜂鸣器(发出按键音)家用热水器节水系统设计31for(i=0;i0) heatpower-; /档位减 1dispram0=0;dispram1= heatpower; /显示当前档位while(downkey=0) display(); /等待键释放return(2); /返

58、回有键按下else if (swkey=0) /开关键buzz=0; /打开蜂鸣器(发出按键音)for(i=0;i30;i+) display(); /延时消抖buzz=1; /关闭蜂鸣器swkey=1; /职位开关键 while(swkey=0) display(); /等待键释放ch= IE; /暂存中断控制字 IEIE=0 x00; /禁止中断P0=0 xff; P1=0 xff; P2=0 xff; /清除端口输出dispram0=0 x10;dispram1=0 x10; /显示“-”display();while(1)while (swkey) display(); /等待开关键按

59、下buzz=0; /打开蜂鸣器(发出按键音)for(i=0;i10;i+) display(); /延时消抖buzz=1; /关闭蜂鸣器家用热水器节水系统设计32if (swkey=0)break; /确认开关键被按下 while (swkey=0) display(); /等待键释放 IE=ch; /还原中断控制字 IE return(0); /返回无键按下 else return(0); /无任何键按下时由此返回 /*-加热控制函数 void heatctrl(void)无参数,无返回值判断是否有加热、加热功率及档位指示灯处理-*/void heatctrl(void)if(!tempov

60、) /当没有超温标志时 relay=0; /接通继电器buzz=1; /关闭蜂鸣器switch(heatpower) /判断加热档位 case 0: EX1=0;ET1=0;triac=1;led1=1; led2=1; led3=1;break; /0 档不加热,指示灯不亮case 1:case 2:case 3:case 4: led1=0; led2=1; led3=1;EX1=1; break; /14 档 1 号指示灯亮case 5:家用热水器节水系统设计33case 6:case 7:case 8: led1=0; led2=0; led3=1; EX1=1; break; /58

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论