基于单片机的自动放水调温浴缸_第1页
基于单片机的自动放水调温浴缸_第2页
基于单片机的自动放水调温浴缸_第3页
基于单片机的自动放水调温浴缸_第4页
基于单片机的自动放水调温浴缸_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

II龙岩学院毕业设计 题目: 基于单片机的自动放水调温浴缸 专业: 电子信息工程 学号: 2014041838 作者: 赵师程 指导教师(职称): 曾玮 副教授 二零一六 年 五 月 二十一日 基于单片机的自动放水调温浴缸基于单片机的自动放水调温浴缸【摘要】 温度控制在各个行业都有很多应用,本次设计主要研究浴缸的温度控制以及废水的二次再利用系统。用户在使用智能浴缸之前首先需要输入所期望的温度以及洗浴者的体重,单片机根据用户所设定的温度来自动放水使浴缸内的水温达到用户设定的值。同时在进行浴缸的温度控制的时候,还会加入对人体和浴缸重量的检测装置,如果检测到浴缸有可能会溢水,则进行蜂鸣器报警提示,同时会抽出一部分水来达到防止溢水的目的。在用户洗浴完毕以后,通过按键可以将浴缸内的废水直接抽到马桶或者其他储水装置中,可以达到节水和二次利用的目的。通过研究本系统,发现该系统可以很好的达到浴缸水温的控制、溢水的提前报警以及废水的再利用目的。【关键字】智能浴缸 温度控制 单片机 废水再利用 防止溢水SCM automatic water temperature regulation based on bathtub【Abstract】 temperature control in various industries have a lot of applications, the design of the main research bath temperature control and waste water reuse system for the two time. Users in the use of smart bath before you want to enter the desired temperature and the body weight of the bath, the microcontroller according to the user set the temperature to automatically drain the water so that the temperature of the bath to achieve the user set values. At the same time in the control of bath temperature control, will join the detection device on the weight of human body, bath, if bath may overflow is detected, then the buzzer alarm and out a part of water to achieve the purpose of preventing water overflow. After the user bath is completed, the water can be directly pumped into the toilet or other water storage devices, the purpose of water saving can be achieved through the keys. Through the research of the system, it is found that the system can achieve the control of the temperature of the bathtub, the advance warning of the overflow and the reuse of the waste water.【Key Words】 intelligent bathtub temperature control single chip microcomputer waste water reuse To prevent excessive water目录第1章 引言11.1 自动放水调温浴缸系统设计的背景11.2 自动放水调温浴缸系统的发展现状及趋势11.2.1 国外的发展现状及趋势11.2.2 国内的发展现状及趋势21.2.3 模块化21.2.4 模块的选择21.2.5 软件的实现21.4 实际应用31.5 创新点31.6 功能模拟32.1 总体设计方案4第3章 系统硬件设计53.1 单片机介绍53.1.1 STC89C52的功能特性描述53.1.2 STC89C52晶振电路设计53.1.3 复位电路63.2 电源电路设计73.3 按键电路设计73.4 蜂鸣器报警电路设计83.6 电磁阀控制电路113.7 温度采集电路12第4章 系统软件设计144.1 单片机软件系统简介144.2 主程序设计144.3 按键程序设计154.4 显示程序设计154.5 AD程序设计164.6 报警程序设计17第5章 系统调试185.1 系统硬件调试问题总结185.2 系统软件调试问题总结185.3 系统实物图18第6章 结论19附录A 硬件原理图21附件B 软件程序22I第1章 引言1.1 自动放水调温浴缸系统设计的背景 随着社会的进步与发展,人们对生活的品质以及生活的便利性要求逐步提高。各种智能化的设备、居家用具层出不穷,在各个方面为人们的生活提供着舒适以及便利。但是能够自动放水进行温度控制的智能浴缸还没有太多的人去研究,尤其是在浴缸废水的二次利用方面,几乎没有过多的研究。针对目前这一研究空白,设计一个能够根据用户所需要的温度进行放水的调温浴缸控制系统,在提高人们生活的便利性方面有很大的帮助。当今社会的资源在日益的枯竭,节水和二次利用是社会越来越倡导的行为。目前的节水设备也有很多,如废水过滤再利用系统、生活用水收集系统,但是这些系统在达到节水目的的同时又会过多的消耗其他能源,不能够实现水资源的二次再利用。从目前的研究现状来看,如何对浴缸的废水再次利用是一项研究空白,因此本系统在研究智能调温的同时也会研究废水再利用。目前市场上的浴缸没有对溢水情况进行预先评估并预防的功能,对溢水进行评估并预防不仅减少了水资源的浪费情况同时也为浴缸的智能化道路增添了一条环保道路。至今为止市场上的智能浴缸设计主要以舒适性浴缸为主,但是由于舒适性浴缸的技术水平要求较高和家庭设备、使用空间要求高等缺陷,在很大程度上只能满足高端消费者和浴室空间设计较大的用户,同时舒适性浴缸的成本很高,所以市场消费前景一直都不容乐观;因此自动放水调温智能浴缸打破了这一原则,使用简单,自动放水、调温浴缸优点在于方便性的提高,用户头一次使用前只需设置好所需要水的温度和用户体重,在今后的沐浴中只需要在洗澡前按启动按钮,水温、水位便可按照用户需求调节好,洗澡后浴缸自动通过排水管道输送到储水装置中,在浇灌和冲水等生活中可进行水源的二次再利用;以此同时,安装设备简单,自动调温浴缸是通过冷、热水调节,凡是拥有太阳能热水器的家庭都能够安装此产品,设备要求低。综上所述,设计一款能够自动放水调温同时具有废水再利用功能的浴缸,具有更加广泛的社会实用性以及意义。1.2 自动放水调温浴缸系统的发展现状及趋势 随着单片机等智能芯片技术的日益普及,产品的智能化是人们日益关注的话题。特别是智能家居产品,为人们生活的方方面面提供着便利。1.2.1 国外的发展现状及趋势 自上世界60年代开始,随着单片机产品的出现,智能家居产品开始逐渐进入人们的视线。智能浴缸控制系统主要成为人们研究的对象。在国外,飞利浦公司研制出一款能够进行温度控制的智能浴缸,可以根据用户设定的温度自动调节浴缸内的温度,在很大程度上方便了人们的生活。但是该浴缸不具有溢水检测功能,不能够对溢水情况进行预先评估。人们在使用该浴缸时,往往需要很小心的注意是否会发生溢水现象,在使用时不是很便利。除了公司进行研究之外,大学内的研究机构也对智能浴缸做了研究,如美国耶鲁大学的Jim.K教授,对智能浴缸进行更加深入的研究。其设计的浴缸不但具有水温自动调节功能,而且也可以根据浴缸的水量来预先评估是否会发生溢水的现象。同时也在控制理论上做了深入的研究,但是该研究仅仅停留在研究阶段,并没有做出来实物。因此,市场上也不会有产品销售。国外的其他研究公司或者机构,虽然也做了很多研究,但都或多或少存在这样或者那样的问题,因此智能浴缸没有得到大规模的应用。1.2.2 国内的发展现状及趋势 国内,由于技术方面受到限制,在智能控制方面的研究起步相对较晚。但在上世纪80年代也有很多研究机构开始研究浴缸的智能控制理论并且制作实物样品进行测试。这其中做的比较好的,如安徽师范大学的张踏教授,研究出来了功能可以配置的智能浴缸。该智能浴缸具有智能温度控制、溢水检测、恒温加热以及废水再利用等功能。用户可以根据自己的需求进行量身定制浴缸的功能,从而达到智能洗浴的目的。但是该系统设计的过于复杂,设备要求高,致使成本极高,调温系统技术要求较高,所以不能够满足一般客户的要求,因此暂时没有在市面上做大规模的应用。其他研究公司,如泰克公司研究出来的智能浴缸,可以达到智能控制的目的,但是价格过于昂贵,也没有得到广大消费者的认可。1.2.3 模块化 自动放水调温浴缸通过放水调温并且可提前监测和防止浴缸内水溢出情况;可分为按键模块、继电器控制模块、温度采集模块、水位检测模块、测重量模块、报警模块、数据显示模块。1.2.4 模块的选择 每一个模块的设计都可以选择许多方案,所选择的方案直接影响设计电路的差异和方向,因此,如何选择合理的方案实现相应的功能对于我们来说非常重要;所谓合理的方案主要指的是电路结构不但可以实现其功能,而且电路结构相比较其他方案较简单,即节省空间。1.2.5 软件的实现 完成了硬件设计后就可以进行程序的编写,在自动放水调温浴缸中,主要用水位传感器检测水位信号、用DS18B20数字温度传感器采集水温信号、用PCF8591将压力传感器所采集到的重量转换为数字信号,由此通过单片机确定其水温和重量,再控制蜂鸣器或电子阀实现相应动作。1.3 自动放水调温浴缸研究的意义 如今市场的智能浴缸都存在着这样或者那样的问题,凡是具有智能控制的浴缸产品,要么其价格普遍的非常昂贵,不适合众多的消费者,要么其安装设备要求较高,操作过于复杂,部分功能由于操作难度在使用中被多数使用者遗漏,反而变得多余;一些还在研究中的智能浴缸,又存在着这样或者那样的问题,因此研究一款具有便利性智能控制同时又十分贴近消费者需求的自动放水调温浴缸势在必行。1.4 实际应用 自动放水、调温技术主要应用于浴缸中的水温调节,而且此款浴缸的调温方式的独特之处就是通过冷、热水的混合调温来实现用户所期望的温度并且可以检测和防止用户洗浴时水大量的溢出,这样既有便捷性同时又有环保性等功能。1.5 创新点 用户可以根据自身需要对浴缸设置所期望的水温同时提前检测和防止用户在洗浴时水溢出,在使用完成后可将水进行二次循环利用,即通过按键将水通过排水管道输送到储水容器内,在其后可将水进行二次利用(比如浇灌、冲洗卫生间等)。 放水和温度调控主要是通过冷、热水混合及温度识别完成,这样有两个好处就是用户操作方便(用户只需要在洗澡前设置水温和自己的体重即可);设备安装方便(即:水温是通过冷、热水阀混合放水,这样调温系统至今只要是拥有天阳能热水器的用户都可安装,所以设备安装方便可靠)根据季节和用户需求,头一次使用前只需设置水温和体重,今后的每次沐浴过程中用户只需要按启动键,水温、水位便可快速调节好。1.6 功能模拟 在本次设计中由于很多功能难以用实际设备和现场进行操作,因此选择用模拟功能代替其实际功能。分别用三个PNP型三极管控制继电器模拟浴缸的冷水电磁阀、热水电磁阀、排水电磁阀;其次分别对应使用红、绿、黄LED等模拟电磁阀放冷水、热水、排水三种不同的情况;用两个独立按键接入单片机IO口作为模拟两个水位传感器开关检测;最后用一个滑动变阻器接入PCF8591 AD芯片的引脚用来模拟压力传感器在实际中对浴缸内水的重量的检测。第2章 调温浴缸总体方案设计2.1 总体设计方案 调温浴缸整体设计思路首先是通过独立按键设置所需要的水温和用户体重以及启动;其次是通过水位传感器将水位信号发送给单片机识别,单片机控制相应的三极管动作,从而实现冷、热水电磁阀的动作;然后DS18B20根据此时的水温识别出此时的温度和之前所设置的温度做比较,从而再次控制冷、热水电磁阀进行温度调节,直到和所设置的温度相同为止才停止电磁阀调温;最后通过压力传感器和PCF8591把调温后水的重量(模拟信号)转换为数字信号,再通过单片机和相应的程序编写计算调温后水的重量与人体的重量之和是否大于浴缸所能容纳水的重量,若大于浴缸容纳水的重量,则蜂鸣器报警同时电磁阀排水,否则调温功能完成,用户可以进行洗浴;洗浴结束后可自动将水排入相应的容器内存储,进行二次利用水源。2.1.1 方案框图介绍温度传感器压力传感器水位传感器按键 STC89C52单片机LCD1602液晶显示器电磁阀控制O蜂鸣器控制图2-1 总体框图 先通过按键开关设置所需要的水温和用户体重,其次单片机控制冷水电磁阀向浴缸内放入一定量的冷水,然后再通过热水电磁阀放入一定量的热水。接着通过温度传感器获取二者混合后的温度,如果温度高于用户设定的温度,则再次放入一定量的冷水。如果DS18B20获取到的温度低于用户之前所设置的温度,则再次放入一定量的热水。当水温达到用户设定的温度时,单片机会检测压力传感器获取到的压力信号,去判断是否有可能会发生溢水的情况。如果发生溢水,则单片机控制蜂鸣器报警同时单片机控制排水电磁阀排除一定的水量,从而达到避免溢水的情况出现。在用户洗浴完毕以后,用户可以通过按键自动的将废水排到马桶里,从而达到节水的目的。(排水后只能将污染程度较轻的水排出,防止其余存储的水受到污染,剩余污染较重水需要用户自行清理)第3章 系统硬件设计3.1 单片机介绍 市面上的单片机种类繁多,国外主流单片机如PIC、MSP430以及AVR,国内主流单片机如STC、中颖单片机等。国外单片机功能多但是价格高,用在本系统上性价比不高。国产STC单片机目前是国内大学校园中所学的单片机,在进行软件设计方面比中颖单片机有优势,因此本次设计采用STC单片机作为本次设计的核心控制器件。3.1.1 STC89C52的功能特性描述STC89C52的功耗比较低、内部有8K的程序存储器、内部有256字节的RAM。这些可以保证程序能够有足够的空间进行存储,也有足够的RAM空间用于临时变量的存储。图3-1 STC89C52的管脚排列3.1.2 STC89C52晶振电路设计晶振电路是单片机能否正常工作的关键所在,晶振电路为单片机提供时钟源,保证单片的程序能够按部就班的来执行。本次设计采用的晶振大小为12MHz,辅助起震电容为30PF的陶瓷电容。之所以选用12MHz的晶振是因为使用这个晶振方便程序的定时器计算延迟时间,所以选用12MHz而不是常用的11.0592MHz。辅助起震电容选用30PF的电容是因为如果这个电容参数选择的太小,会造成单片机震荡不稳定。如果选择太大又会造成起震慢。因此综合各方面的因素考虑。本次设计选用30PF的陶瓷电容作为辅助起震电容。图3-2 晶振电路 XTAL1为晶体振荡器的输入端,XTAL2为其输出端,则这两个引脚并联石英晶体振动器与微调电容,就构成了稳定的自激振荡器;振荡器电路中的电容C1和C2实际值通常选择30pF,选择理由综上所述;而晶体振荡器的频率一般情况用11.0592MHz或12MHz;在此,我为了得到准确的定时时间,所以选择12MHz。3.1.3 复位电路当在STC89C52单片机的REST引脚输入高电平且保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。在现实的应用当中复位操作有两种形式:一种是上电复位,另一种是按键复位电路。上电复位电路如图3-3所示。接通电源后,单片机自动实现复位操作,上电的瞬间REST引脚得到高电平,随着电容的充电,REST引脚的高电平将逐渐下降。REST引脚的高电平只需要维持足够的时间(即:2个机器周期),单片机就可以进行复位操作。按键复位电路如下图3-4所示。按键复位电路可以随时通过按键来发出复位信号。该电路除具有上电复位功能外,若要复位,只需按图中的K键,此时电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。这对系统的可控性是很有帮助的。图3-3上电复位电路 图3-4按键复位电路 图3-5复位电路 通过比较各个复位电路的复杂度以及所能够实现的功能,本次设计选择简单的上电复位电路。该电路简单而且成本低,可控性强。3.2 电源电路设计 电源电路为一个多功能自动充电电路。电路中的多数元件为分立元件,简单实用。系统接入1224V的直流电源,通过整流,并经LM7805降压,输出5V电压维持系统的正常工作,电路中设有5V可充电蓄电池,在正常由外界提供电源时,处于充电状态;在外界断电时,将自行向本系统用电设备供电。12V转5V的电源有多种,常见的有开关电源以及线性稳压电源。开关电源虽然稳定性比线性直流电源高,但是其设计难度系数高,所需要耗费的硬件成本是线性稳压电源的很多倍。另外电源模块不是本次设计的重点,因此本次设计采用线性稳压电源作为本次设计的直流降压模块。线性稳压电源的电路设计简单,仅仅需要一个稳压芯片加上必要的电容即可实现直流电压的降压。本次设计的电源模块如下图所示:图3-6 电源电路3.3 按键电路设计能够实现按键输入功能的电路有很多,如矩阵键盘或者独立按键。矩阵键盘需要使用很多按键,操作起来不是很方便,特别是在输入参数时,中老年人很难懂得如何使用。在价格方面,矩阵键盘的总体价格要高于独立按键。同时在硬件的焊接难度方面,矩阵键盘要焊接很多按键才能实现一个完整的矩阵。独立按键适用于按键数量少的场合,其每个按键之间是相互独立的,每一个按键占用一个I/O口线,通过以下3个步骤现实操作与控制,分别是:判断是否有按键按下、快速识别出是哪一个有按下,求出其键值、根据所识别出的键值查找到相应的按键处理程序的入口。 按键的闭合或松开状态,体现在行线输出电压上,即:呈现高电平还是低电平,单片机通过检测行线的高电平状态,确认其按键是否有按下或松开。由于本次设计共有5个按键,数量较少。因此本设计选择简单的独立按键作为本次设计的参数输入模块。图3-7 独立按键电路3.4 蜂鸣器报警电路设计 本次设计的报警模块采用的是蜂鸣器报警电路,单片机通过控制PNP型三极管的饱和导通或截止状态(即:三极管的开光状态性质)从而间接的控制蜂鸣器,以便达到报警目的。 蜂鸣器报警电路中,如果在检测中检测到会溢水,则预先通过单片机的P0.0引脚控制PNP型三极管Q4,从而控制三极管饱和导通与截止状态来启动蜂鸣器BELL发出声响。图3-8 声音报警电路 该电路主要是利用Q4工作于开关状态,当Q4处于截止状态是,蜂鸣器两端与5V电源断开,因此不会发生,若Q4饱和导通,则得电,此时会发出声音;而Q4的导通,在于BZ端电压的变换,由于在Q4的基极回路当中,串联了电阻R10,因为LED导通电压的影响,BZ点对地电压必须低于5V减去LED导通电压后的差值,Q4才有可能得到使其全导通的偏压,导通并使蜂鸣器工作鸣叫。3.5 显示电路 能够实现参数和实时状态显示功能的显示屏有很多,如简单的数码管显示、LCD液晶屏显示、彩屏显示等。数码管在显示界面上仅仅能够显示具体的参数,不能够提供参数的名称。用户在识别参数的时候有时候会混淆,同时数码管每次仅仅能够显示一个参数,如果想让数码管同时显示更多的参数,则需要大量的数码管,此时就需要占用许多单片机引脚,这在硬件设计上具有很大的难度。彩屏显示,可以很好的显示出各种参数,但是在操作复杂程度上,能够实现显示的程序非常复杂,而且非常占用单片机资源。普通的51单片机很难实现彩屏的显示。LCD1602具有省电、体积小、抗干扰能力强,尤其突出的是LCD1602分为字段性、字符型、点阵图形型,再次因为我只需要显示相应的数据和数据名称说明,因此我用字符型的LCD1602。LCD有很多类型和型号,有LCD1602、LCD1604、LCD2002、LCD2004他们分别代表每一行能显示出的字符数据和可以显示的行数;因为在本次设计中我只需要显示两行,第一行分别显示用户所需温度、实际调控温度,而第二行分别显示用户所设置的体重、调温后水的重量;所以为了节省资源和便于用户区分清晰,我选用1602型号作为LCD显示屏的型号。图3-9 LCD1602的引脚图LCD1602,仅仅需要按照屏幕的控制逻辑进行操作就可以实现屏幕的显示。该屏幕可以实现2*16个字符显示,能够显示的信息很多。在性价比方面,相对于其他显示器有明显的优势。LCD1602各引脚功能如表3-1:表3-1LCD1602的引脚功能引脚引脚名功能1VSS接地(负极)2VDD接+5V电源(正极)3V0显示屏亮度调节端(即:滑动变阻器)4RS数据/状态寄存器选择位5RW选择读/写操作6E势能控制端,当读操作是,E=1;当写操作时,E=07D0双向并行数据总线第0位8D1双向并行数据总线第1位9D2双向并行数据总线第2位10D3双向并行数据总线第3位11D4双向并行数据总线第4位12D5双向并行数据总线第5位13D6双向并行数据总线第6位14 D7(忙标志位)双向并行数据总线第7位 LCD1602能同时显示2行,其中每行可现实16个字符,共显示32个字符。LCD1602液晶屏共有16个引脚(有背光),其中有8条数据线(即:D0D8),3条控制线(即:RS、RW、E)和3条电源线;1602的引脚功能主要如下: 图3-10字符型显示电路3.6 电磁阀控制电路 在对冷水和热水的控制方面,本设计选用的是电磁阀来控制。通过继电器或者简单的三极管均可以实现对电磁阀的控制。 三极管控制简单,仅需要将被控制器件与三极管的发射极连接即可。但是对于不同的被控制器件,需要匹配不同的三极管,在一定的程度上增加的设计的复杂度。会造成同一产品,在元器件清单上有明显的差异,对日后的维护保养造成一定的难度。继电器控制比较简单,通过继电器来控制器件的通断电就可以实现对器件的控制,这个方案简单易行,在控制方面具有通用性。因此本次设计采用继电器控制方案。三极管的选用中,因为三极管有NPN和PNP两种类型,在使用中各有其特点,但是在本次设计中我使用的是52单片机,由于52单片机是弱输出的引脚,则无法用NPN型三极管,因此在三极管型号中采用PNP型三极管来启动继电器工作。图3-11 三极管启动继电器电路图PNP型三极管的基极接单片机的引脚,集电极接继电器的线圈,发射机接入地。PNP型三极管是低电平0导通,高电平1截止,当单片机对其写入低电平时,三极管饱和导通,(即:使得三极管基极与集电极导通),继电器的线圈得电后,相应继电器的常开触点闭合,常闭出点断开,完成相关的动作。图3-12 电磁阀控制电路 利用三极管饱和导通和截止特性,能够实现接通和断开功能,可是由于三极管的带载功率有限,所以需要配置继电器扩流,这样可以扩充触电的数量,如图3-10所示该电路是PNP型三极管,因此采用集电极接低电平方式输出,R5为上拉电阻,当基极没有输入脉冲或电压时,基极为高电平,因为这是反极性三极管,因而平时是截止状态的,只有基极输入低电平,从而降低基极电压,这是三极管才能够导通,此时继电器线圈得电后闭合,原来常闭触电断开,常开触电闭合,从而完成设备的接通与关断功能。3.7 温度采集电路 可以进行温度测量的器件有很多,如NTC热敏电阻,或者DS18B20。 NTC热敏电阻的阻值会随着温度的不同而不同,但是误差比较大,同时测温的范围相对较小。如果使用NTC来测温度,还需要配合AD来一起使用,对于没有AD功能的单片机来说就需要匹配一个AD芯片来实现对NTC阻值的测量。使用起来不是很方便,同时测量到的温度精度也达不到要求。DS18B20是数字温度传感器,采用单总线的通信方式来实现对温度的获取。在采集温度的时候仅仅需要一个IO口就可以实现对温度的获取,不需要复杂的电路。同时是在对温度的测量精度方面,有很高的精度;测温范围广,适用于恶劣环境的现场温度测量,同时DS18B20可以直接将温度信号转换为数字信号传送给单片机处理;因此本次设计采用DS18B20作为本次温度获取的传感器。DS18B20数字温度传感器使用单总线通信方式,能够识别的温度范围是-55125,测量精度在-1085范围内为0.5,供电电压为+5V;当低电平1us时,DS18B20识别到高电平1,当低电平1us时,DS18B20识别到低电平0;DS18B20是数字式温度传感器。图3-13温度采集电路 图3-14 DS18B20方框图 第4章 系统软件设计4.1 单片机软件系统简介 单片机软件通过收集传感器的信息,来决定当前的控制状态。当检测到冷水电磁阀有信号以后,单片机停止放冷水;当检测到热水电磁阀有信号以后,单片机停止放热水;如果检测到温度满足了用户的要求,则开始对溢水进行检测。用户洗浴完毕以后,将废水抽到马桶或者其他盛水容器中,来对废水进行再利用。4.2 主程序设计 主程序从整体上控制各个模块程序的执行,对各个模块程序反馈的信号进行统一集中处理,从而保证程序稳定有序的执行。当检测到冷水电磁阀有信号以后,单片机停止放冷水;当检测到热水电磁阀有信号以后,单片机停止放热水;如果检测到温度满足了用户的要求,则开始对溢水进行检测。用户洗浴完毕以后,将废水抽到马桶或者其他盛水容器中,来对废水进行再利用。图4-1 整体流程图4.3 按键程序设计 用户通过按键将所需要的参数输入到单片机,用于给单片机作为判断的依据。用户在按下按键以后,单片机会首先执行消抖的小延迟,当延迟过后,如果发现按键依然是按下的状态,则认为按键确实是被按下了,这时才完成一次按键检测。 图4-2 按键检测流程图4.4 显示程序设计 显示程序主要是将用户设置的参数显示到显示屏上,同时也会将单片机通过传感器检测到的信号显示到显示屏上。在对显示屏进行操作的时候,需要首先执行显示屏的初始化,然后再控制显示屏显示所需要的信息。 图4-3 显示屏控制流程图4.5 AD程序设计模拟量不能够直接被单片机识别到,因此需要将模拟量转化为数字量。单片机通过AD芯片将模拟量转化为数字量,供单片机识别。图4-4 压力信号采集流程图4.6 报警程序设计 蜂鸣器报警程序主要是执行蜂鸣器发出间断的报警声,这就需要一个定时器的中断来完成。定时器设为0.5s中断一次,第一次中断时,控制蜂鸣器报警,当下一次中断到来的时候,停止蜂鸣器报警。这样周而复始的执行以后,蜂鸣器报警模块就会按照设定的报警策略来报警。图4-5 蜂鸣器报警流程图第5章 系统调试5.1 系统硬件调试问题总结 电源是整个硬件系统能否正常工作的基础,如果电源不稳定,会直接影响单片机软件的运行以及整个系统工作的稳定度。在对电源进行调试的过程中,发现系统7805输出的电压异常的低,而且通电很短的时间,就会造成7805发热严重。使用万用表进行故障排查发现,是7805输出端短路造成的电源负载过大。将电源短路故障排除以后,系统电源可以正常工作。 AD采集模块调试时,发现单片机从AD模块获取的AD值与实际计算出来的值偏差较大。通过线路排查,发现AD模块的参考电压没有正确的输入到AD芯片,中间出现断路的情况。将该断路点恢复以后,问题得以解决。5.2 系统软件调试问题总结 在进行继电器控制时,发现单片机无法正常控制继电器。单片机控制三极管基集的引脚置高电平或者置低电平,都无法使继电器闭合。通过查阅资料发现,单片机引脚的输出电流非常小,输入弱输出类型。因此将NPN类型的三极管更换为PNP类型的三极管以后,单片机可以正常控制继电器。5.3 系统实物图图5-1 系统实物图第6章 结论通过查阅资料,设计系统的硬件原理图以及PCB到最后的打样以及软件调试,直到最终完成本次设计。从实际的调试情况来看,本系统能够很稳定的控制水温达到用户所设定的要求,同时也可以对有可能会发生的溢水情况进行预先估计。同时该系统还具有废水二次再利用功能,可以达到节水目的。致 谢 毕业设计完成了,在这个过程中我学到了很多新的东西。在这里我要感谢所有的任课老师,你们诲人不倦的精神让我非常感动。我在你们身上学到很多的知识和做人的道理。特别感谢我的导师,他在我完成这次毕业设计的过程中,给予了我很大的帮助。从毕业设计选题到设计完成,老师给予了我耐心的指导与严格的要求。 此外,此系统能顺利完成,也得到了同学们的帮忙。有些我不了解的知识,在他们悉心的帮助下,得已解决。在此,我深表感谢。 其次要感谢的是我的父母,他们为我付出了很多。是他们一直在背后默默的支持我,教我在困难面前永不低头,让我在漫长的人生旅途中找到了前进的方向。在未来的日子里,我会努力的工作。不辜负父母对我的期望。我一定会好好的报答他们!最后要感谢的人是我自己,在大学的学习中理论是我的优势但是动手能力一直都是我个人在专业方面存在问题,但是在一次次的实验中、课程实践中我不断总结自身出现的问题,在最后的毕业设计这一检验每位电子信息系的学生中我用我大学以来所学到的知识和毅力验证了自己是最棒的。参考文献1 电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品汇编M.北京:北京理工大学出版社,342264.2 崔华,蔡炎光.单片机实用技术M.北京:清华大学出版社,2004:139140,221223,254299.3 刘畅生,宣宗强,雷振亚.传感器简明手册及应用电路温度传感器分册(上册)M.西安:西安电子科技大学出版社,2005.11:2629.4 杨宁.单片机及控制技术M.北京:北京航空大学出版社,2005:168174,196,255265,349. 5 张奎,张志刚.给水排水管道系统.北京:机械工业出版社,2006.11:4453.6 胡辉.单片机原理及应用设计M.北京:中国水利水电出版社,2005.215222.7 胡汉才.单片机原理及其接口技术(第2版).北京:清华大学出版社,2004.2.8 陶国正.单片机与接口应用技术M.苏州:苏州大学出版社,2004:137-146,190202.9 赵镇南.传热学M.北京:高等教育出版社,2002.7:118.10 丁元杰,单片微机原理及应用M.北京:机械工业出版社,1999:199200.12 姚鹏翼,陈明.Protel 99 SE原理图与PCB设计教程.北京:机械工业出版社,2005.2. 附录A 硬件原理图附件1 硬件原理图附件B 软件程序#include STC89.h#include intrins.h#include timer.h#include lcd.h#include pcf8591.h#include key.h#include18b20.hunsigned char KeyCmd;unsigned char SysTime;unsigned char DataLine016=ST: C CT: C ;unsigned char DataLine116=SW: Kg CW: Kg;unsigned char WeightOfWater,WeightOfPerson=70,TOfPerson=40;unsigned char WashStep=8;main()unsigned int Ttemp; /InitTimer(); LCD_INITIALIZE(); Init_DS18B20();for(;) KeyCmd = GetKey(); WeightOfWater = ReadADC(0); LCD_Disp(); Ttemp = ReadTemperature(); Ttemp = Ttemp4;if(KeyCmd = 1)TOfPerson+;else if(KeyCmd = 2)TOfPerson-;else if(KeyCmd = 3)WeightOfPerson+;else if(KeyCmd = 4)WeightOfPerson-;else if(KeyCmd = 5)if(WashStep = 8)WashStep = 0;DataLine03 = TOfPerson/10%10+0;DataLine04 = TOfPerson/1%10+0;DataLine012 = Ttemp/10%10+0;DataLine013 = Ttemp/1%10+0;DataLine13 = WeightOfPerson/10%10+0;DataLine14 = WeightOfPerson/1%10+0;DataLine112 = WeightOfWater/10%10+0;DataLine113 = WeightOfWat

温馨提示

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

评论

0/150

提交评论