太阳能热水器控制器的软硬件设计毕业论文_第1页
太阳能热水器控制器的软硬件设计毕业论文_第2页
太阳能热水器控制器的软硬件设计毕业论文_第3页
太阳能热水器控制器的软硬件设计毕业论文_第4页
太阳能热水器控制器的软硬件设计毕业论文_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

编号本科生毕业设计(论文)题目太阳能热水器控制器的软硬件设计物联网工程学院电子信息工程专业学号0703090325学生姓名于昆才指导教师于凤芹教授二一三年六月设计总说明在全世界能源都高度紧张的今天,传统的燃气和电热水器使用成本越来越高,太阳能热水器凭借着太阳能取之不尽的优点越来越受到人们的欢迎但与太阳能热水器发展日趋成熟的现状不同,与之配套的热水器控制器还存在着很多问题有些热水器控制器无法自动控制水温和水位,经常出现干烧、过烧或水温不适等情况针对这个现状,设计一种单片机控制的太阳能热水器控制器该控制器可以让热水器功能更加的完善,也使得热水器使用更加安全,因此这是一个具有实用价值的课题本课题以单片机控制为基础,提出了一种通过传感器实时检测温度和水位,再由单片机控制继电器驱动相应控制模块来实现温度和水位智能控制的系统方案,核心是设计出一个太阳能热水器控制器该控制器在太阳能热水器原有的温度和水位显示功能基础上,新增了温度控制、水位控制、防干烧和过烧警报等功能控制器的设计又分硬件部分和软件部分硬件部分由STC89C52单片机主控模块、DS18B20温度传感器测温模块、干簧管水位传感器测水位模块、继电器驱动的温控和水位控制模块、键盘输入和液晶显示模块等部分组成软件部分由单片机主控,通过程序分析传感器检测的当前温度和水位,再通过与预设值的比较来发出信号驱动相应的控制模块,实现对温度和水位的自动控制此外本设计的程序也采用模块化结构,将整个程序设计分成若干功能模块先将每个模块的功能实现,然后再组合到一起,使其逻辑关系更清晰易读,而且增强了程序的可移植性关键词热水器控制器;单片机;软件设计;硬件设计DESIGNSUMMARYTODAYTHEWORLDSENERGYAREHIGHLYSTRAINED,TRADITIONALGASANDELECTRICWATERHEATERSUSEINCREASINGLYHIGHERCOSTSWITHTHEADVANTAGESOFINEXHAUSTIBLESOLARENERGY,THESOLARWATERHEATERSAREMOREANDMOREPOPULARHOWEVER,DIFFERENTFROMTHERAPIDDEVELOPMENTOFSOLARWATERHEATERS,THERESEARCHOFWATERHEATERCONTROLLERHASBEENININFANCYMANYWATERHEATERCONTROLLERCANNOTAUTOMATICALLYCONTROLTHETEMPERATUREORWATERLEVEL,CAUSETHEDRYBURNING,OVERBURNINGORMAKINGTHETEMPERATUREOFTHEWATERUNCOMFORTABLEFORTHISSITUATION,DESIGNAMICROPROCESSORCONTROLLEDSOLARWATERHEATERCONTROLLERTHECONTROLLERNOTONLYMAKETHEHEATERSFUNCTIONMOREPERFECT,BUTALSOMAKEITMORESAVESO,ITISAVALUABLEISSUETHEOBJECTISBASEDONMICROCONTROLLER,PROPOSEDASYSTEMSOLUTIONWHICHMAKETHESENSORDETECTTHETEMPERATUREANDWATERLEVELATREALTIME,ANDMCUCONTROLTHERELAYSTOMAKEITDRIVETHECORRESPONDINGMODULETHECOREISTODESIGNASOLARWATERHEATERCONTROLLERITNOTONLYHASTHEFUNCTIONOFTEMPERATUREANDWATERLEVELDISPLAY,BUTALSOHASTEMPERATURECONTROL,WATERLEVELCONTROLANDALARMINGTHEDRYBURNINGOROVERBURNINGTHEDESIGNOFTHECONTROLLERISDIVIDEDINTOHARDWARECOMPONENTSANDSOFTWARECOMPONENTSTHEHARDWAREPARTISCONSISTOFSTC89C52MCUCONTROLMODULE,DS18B20TEMPERATURESENSORTEMPERATUREMEASUREMENTMODULE,WATERLEVELMEASUREMODULE,TEMPERATUREANDWATERLEVELCONTROLMODULE,KEYBOARDINPUTANDLCDDISPLAYMODULETHESOFTWAREPARTISDISPATCHEDBYMCUTHROUGHPROGRAMANALYZESTHECURRENTTEMPERATUREANDWATERLEVELDETECTEDBYSENSOR,TOACHIEVETHEAUTOMATICCONTROLOFTEMPERATUREANDWATERLEVELINADDITION,THEPROGRAMISALSODESIGNEDWITHMODULARSTRUCTURE,THEWHOLEPROGRAMDESIGNISDIVIDEDINTOSEVERALFUNCTIONALMODULESREALIZINGTHEFUNCTIONOFEACHMODULEFIRST,ANDTHENGROUPTHEMTOGETHERMAKINGITWITHTHECLEARANDUNDERSTANDABLESTRUCTURE,BUTALSOENHANCINGTHEPORTABILITYOFPROGRAMSKEYWORDSWATERHEATERCONTROLLERMCUSOFTWAREDESIGN;HARDWAREDESIGN目录第1章绪论111课题背景112太阳能热水器控制器国内外现状113本论文研究内容2第2章需求分析及总体设计521需求分析522总体设计方案523芯片选择方案论证6231单片机芯片的选择方案和论证6232温度传感器的选择方案和论证6233水位传感器的选择方案和论证624太阳能热水器的组成及工作原理简介7第3章硬件电路设计931总述932温度传感器模块设计10321DS18B20简介10322DS18B20工作原理1033水位传感器模块设计1134LCD显示模块设计123411602液晶显示器工作原理12342显示模块电路连接1435温度控制模块设计15351继电器驱动电路15352继电器驱动温控模块1536水位控制模块设计16361电磁阀简介16362水位控制模块1637电源模块设计1738按键模块设计1739报警模块设计17310单片机辅助电路183101时钟电路183102复位电路18第4章系统软件设计1941主程序流程图1942温度测控部分流程图2143水位测控部分流程图2244液晶显示部分流程图2445按键部分流程图25第5章结论与展望2751设计小结2752不足之处及未来展望27参考文献28致谢29附录A作者在校期间发表的论文30附录B作者在校期间项目成果物31附录C部分模块汇编程序33附录D硬件总原理图37第1章绪论11课题背景我们所处的时代堪称“能源时代”人们从来没有像今天这样重视能源,世界上的大多数国家都在极力的在寻求新的廉价的可再生能源,以求得可持续发展和在日后的竞争中获取优势地位太阳能则以其巨大、长久、广泛、无害等显著优势得到的广泛的关注在众多的太阳能产品中,太阳能热水器无疑是技术最成熟的也是与人们日常生活最密切相关的太阳能热水器将太阳能转化为热能,利用太阳的光和热使水温升高,以满足人们日常需求它不但有效利用了太阳能,节约了能源,而且相比传统的用煤炭或者电力对水进行加热的方式,更具有环保无污染的优点所以太阳能热水器一经产生便受到广大人民的青睐前几年的热水器市场上,太阳能、电、燃气三种加热方式的热水器三分天下但是随着世界能源危机的日益加重,有着可再生优势的太阳能加热方式逐渐打破了这一平衡,取代了传统的电能和燃气加热方式的热水器2008年,太阳能热水器市场占有率首次超过了电热水器和燃气热水器之和,到2009年,其占有率达到567如表11所示为20012009年三种热水器市场占有率1表1120012009年三种热水器市场占有率年份电热水器()燃气热水器()太阳能热水器()20013054815220034423375722220054522657282320074231923852008492508200943356712太阳能热水器控制器国内外现状我国太阳能热水器产业发展迅速,目前已经成为世界上最大的太阳能热水器生产国,但与热水器配套的控制器却一直处于研究和开发阶段2近几年来,市场上陆续出现了一些太阳能热水器控制器产品,但是大多数存在着诸如性能不稳定,容易产生误操作,温度、水位可以检测但是无法自动控制,数码管显示器经常出现乱码等问题,严重影响了用户使用更有甚者,有些控制器质量较差,会经常发生故障,如加热温度过高时无法自动停止加热或者水箱内已经没水了但是还在加热,形成了过烧和干烧的情况,安全性无法保证基于上述原因,太阳能热水器控制器这个有着广阔发展前景的产品,由于产品开发投入的较少,一直没有得到广泛的推广,从而也影响了太阳能热水器使用的用户体验因此,在太阳能热水器控制器方面,应该引起足够的重视,要加大人力和财力的投入,开发出一款高质量高性能的控制器国外的太阳能热水器起步很早,世界上第一台热水器是美国马里兰州的肯普于1891年发明的到20世纪40年代,人们创造了各式各样被统称为“闷晒式”的太阳能热水器3第二次世界大战之后人们的注意力又开始转向发展经济一些缺少常规能源的国家如日本等最先开始投入到太阳能的开发和利用经过人们的努力,一些简易的平板太阳能集热器在当时在市场上出现到了20世纪70年代,世界性能源危机日益严重,迫使人们对太阳能的开发和利用越来越重视许多国家开始投入到太阳能开发的行列,其中太阳能热水器是典型的代表性的产品到了70年代末期,太阳能热水器在美国、澳大利亚、日本、德国等国家得到了很大的发展在随后的十几年中,平板集热器型热水器在一些国家得到了较快发展1975年美国欧文斯伊利诺伊公司发明了全玻璃真空管太阳能热水器并推向市场3当时,集热管的选择性吸收涂层平均阳光吸收率约为83,后来由于采用了高真空技术,使得集热器的了损失比普通的平板式太阳能集热器热损失降低了两个数量级,从而太阳能热水器得到了进一步快速发展,到了上世纪90年代,这种热水器成为推广应用的主流产品90年代末,为了进一步提高效率、提高性能,德国研制了热管式真空管太阳能热水器,一些国家研制了一些高质量的太阳能热水器专用的零部件,另一些国家为优化设计专门开发了太阳能热水器的应用软件还有一些国家开始着手开发全天候使用的太阳能热水器控制器系统总之在西方的发达国家,太阳能热水器领域的开发研究一直比较活跃13本论文研究内容文章首先对太阳能热水器控制器的背景做了简单介绍并分析了当前国内外现状,发现国内的太阳能热水器产业已日趋成熟,但是与之相配套的太阳能热水器控制系统却存在很多问题之后又对设计进行了需求分析,列出了控制器需要实现的主要功能,然后根据相应的功能来选择对应的芯片或器件来设计功能模块本设计的硬件部分主要由单片机控制电路、温度传感器模块、水位传感器模块、温度控制和水位控制模块、键盘和液晶显示模块、警报装置等组成软件部分通过对功能的设计和分析,制作了各模块的流程图最后对本设计所做的工作进行总结,并给出建议和展望本论文的核心是设计一种太阳能热水器控制器,使热水器具有温度显示、水位显示、温度自动控制、水位自动控制和智能警报的功能温度检测部分通过DS18B20传感器来实现,DS18B20是一种数字式温度传感器,仅需要一条数据线与单片机连接来进行数据传输,而且不需要A/D转换模块,可以很大程度上简化电路水位检测部分通过干簧管水位传感器来实现,本论文共设计了四个检测点,分别对应水箱中的“下”、“中下”、“中上”、“上”的位置,当水没过检测点时,干簧管被磁化形成通路,对应的水位输出级会被拉低,单片机可以通过读各个检测点水位输出极的电平来判断水箱中水位温度和水位的控制部分分两种情况讨论,一种是人工操作,另一种是自动控制本论文设计了四个控制按键,分别用来实现“加热”、“停止加热”、“上水”、“停止上水”功能其中温度和水位的控制按键(如“加热”和“停止加热”)用两个按键来分别实现,是因为本论文中也设计了自动加热和上水的功能,如果每组只设计一个按键(即开关闭合为加热,断开为停止),当系统故障出现干烧或者过烧时,就无法通过人为操作使其停止了自动控制部分由程序预先设定,在特定的条件下系统会自动对温度和水位进行调节此外,本设计的控制模块都是通过单片机触发继电器来驱动相应大功率电路来实现的警报部分本设计设置了两种情况报警干烧和过烧当水位低于“下”而且还在加热的时候,系统发出干烧警报无论水位如何,当温度高于80摄氏度且还在加热时,系统发出过烧警报第2章需求分析及总体设计21需求分析本课题设计的热水器控制器需要实现如下功能1温度显示水温范围0100摄氏度,精确到1摄氏度2水位显示在水箱内设置4个检测点,分别代表水位“上”、“中上”、“中下”、“下”四个级别3温度自动控制当系统检测到水温低于20摄氏度并且水位在“中下”以上时,系统启动加热装置,升高水温当水温高于80摄氏度时,系统关闭加热装置,停止加热这样可以使水箱里边的水温控制在一个合适的温度4水位自动控制当系统检测到水位低于“下”时,启动自动上水装置,开始上水当水位到“上”时,停止上水5智能警报当系统检测到水位低于“下”,且此时还在加热时,启动警报装置,警报干烧无论水位如何,当温度高于80摄氏度且还在加热时,系统启动警报装置,警报过烧22总体设计方案系统的硬件通过单片机控制,其他部分由键盘模块、温度传感器模块、水位传感器模块、液晶显示模块、警报装置、继电器驱动的温度和水位控制电路等组成如图21所示,该控制器选用STC89C52单片机主控,供电部分通过电源模块将220V的交流电转化成5V直流电压本设计设置了6个按键,分别实现电源、复位、加热、上水、停止加热、停止上水功能,人们可以通过外部按键的控制它们来实现相应的功能温度传感器选用了防水的DS18B20,将其放入水箱中来实时检测水温水位检测部分选用干簧管水位传感器,在水箱中设置4个检测点,用来帮助判断水箱中水位显示部分用1602液晶显示器,主要显示当前水温和水位状况温度和水位控制部分通过控制继电器驱动相应的加热装置或电磁阀来实现对温度和水位的调控本系统还设计了警报装置,用来警报干烧和过烧情况,增强了系统的安全性图21系统的总体设计框图23芯片选择方案论证231单片机芯片的选择方案和论证方案一采用89C51芯片作为硬件核心,采用FLASHROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏方案二采用STC89C524该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏另外,STC系列单片机的P0口不需要上拉电阻,可使电路更加简洁综上所述,本设计选择采用STC89C52作为主控制系统232温度传感器的选择方案和论证方案一使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻串联分压,利用热敏电阻阻值随着温度的变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换此设计方案需要用到A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线不是严格线性的,这样会产生较大的测量误差方案二采用数字式温度传感器DS18B20,此类传哪去为数字式传感器,仅需要一条数据线进行数据传输,易于与单片机连接,也不需要A/D转换模块,降低硬件成本和系统的复杂度此外,数字式温度传感器具有精度高,测量范围广等优点从电路简化和系统稳定性角度考虑,本设计采用DS18B20传感器由于是测热水器水箱内的水温,所以选择防水型DS18B20233水位传感器的选择方案和论证方案一投入式液位传感器把传感器探头投入液体中间,利用探头检测到的液体压力来测量出液体的深度这种方案的缺点是长时间使用时探头会被腐蚀,不适合长期在水箱中使用方案二干簧管水位传感器如图22所示在一段密封塑料管内分上、中上、中下、下四处放置四个干簧管作为四个检测点在塑料管外套一个内部有环形磁铁的浮子,当水位变化时浮子也上下滑动,当浮子经过干簧管检测点时会触发其闭合,形成通路,使对应的水位输出级输出低电平,这样便可知道水箱内水位了本方案干簧管的接触点与大气隔绝,管内有稀有气体,可有效防止水蒸气和尘埃等对其的腐蚀图22干簧管水位传感器示意图由于方案一的探头易被腐蚀,所以本设计采用方案二24太阳能热水器的组成及工作原理简介在进行太阳能热水器控制器硬件设计之前,先来补充一下太阳能热水器的组成和工作原理,熟悉其基本结构和工作过程图23太阳能热水器工作原理如图23所示太阳能热水器主要由集热管,循环水箱和补给水箱三大部分组成其中集热管主要用来吸收太阳能热量,加热过的水通过上升水管进入循环水箱循环水箱中的冷水通过下降水管进入集热管中进行加热自来水管用来往补给水箱中注水,补给水箱是用来给循环水箱提供冷水的最终的热水通过热水输出管输出太阳能热水器的最主要器件是集热管5,在热水器的集热管表面有一特殊涂层,它在太阳发出的可见光波长范围对光有极大的吸收率,吸收的光能转化为热能而在集热器散热辐射的波长范围下,该涂层对长波的发射率很低,这样又可以保留吸收的太阳能热量,从而逐渐将冷水加热成热水此外,集热管的结构也十分讲究它像一根被拉长的热水壶内胆,是由两只玻璃管套合而成,外层是透明的,内层才是涂有光谱选择性的吸收涂层,内外管之间是真空的,可以防止散热套管下边还有一块反射光板,这样使得玻璃管背光部分也会被照射到通过这么多精心的设计,使得集热管可以能够最大限度的吸收光能而且最小限度的散失热量,所以即使在高寒地区,太阳能热水器也可以一年四季都正常使用集热管内的水通过吸收太阳能的热量温度上升,由于热水的密度要小于冷水,所以循环水箱中的冷水会通过下降水管进入集热管,而热水会通过上升水管进入循环水箱循环水箱中的热水通过热水出水管输出时,循环水箱的水位会下降,这时补给水箱中的来自自来水管中的冷水会进入循环水箱,这样保证了冷水也是一直可以提供的太阳能热水器就是通过这样的水循环原理实现不断将冷水加热成热水的这种热水器利用循环加热的原理,因此又称循环热水器第3章硬件电路设计31总述该控制器以单片机核心,结合其他模块来实现温度、水位的控制和显示等功能系统上电后,会首先初始化和扫描按键,当检测到来自键盘的信号时,单片机会通过控制相应的引脚电平来驱动相应的控制电路温度传感器DS18B20和干簧管水位传感器用来检测实时的温度和当前的水位当温度过高或水位高出或低于设定值时,单片机也会做出的反馈如停止加热、控制上水等,并会在一定条件下做出相应的警报LCD液晶显示模块用来显示当前的温度和水位状况硬件系统原理图如图31所示,单片机的P10口与温度传感器DS18B20的数据线DQ相连P11和P12均连接继电器驱动电路,P11连的继电器用来驱动一个电磁阀,以实现水位控制功能P12的继电器驱动一个加热装置用来实现温度控制P13引脚连接警报装置,当水位低于中下且还在加热或者当水温高于70摄氏度还在加热的时候,警报装置启动,以防止出现干烧和过烧的情况P14P17四个引脚分别连接水位传感器的下、中下、中上、上四个水位探针的输出极P00P07与1602显示器的数据线相连,1602显示器的使能端接在单片机的P20口,读写控制端分别接P27和P26单片机的P21P24分别接停止上水开关、上水开关、停止加热开关和加热开关,当按下相应的按键时,单片机对应I/O口接收到信号再通过程序控制来做出相应的反馈图31硬件系统原理框图32温度传感器模块设计321DS18B20简介温度传感器是最常用的传感器之一早期的温度传感器都是模拟传感器,如热敏电阻,随着环境温度的变化,它的阻值也发生线性变化,用处理器采集电阻两端的电压,然后根据特定的公式就可计算当前环境温度随着科技的进步,现代的温度传感器已经走向数字化,并广泛的应用到生产实践的各个领域,为我们生活提供了很大的便利条件随着现代仪器的发展,微型化、集成化、数字化正在成为传感器的一个重要方向美国DALLAS半导体公司推出的数字化温度传感器DS18B204采用单总线协议,即与单片机接口仅需占用一个I/O端口,无须任何外部元件,直接将环境温度转化为数字信号,以数字码方式串行输出,从而大大的简化了传感器与单片机的接口联系DS18B20只有电源、数据和地线三个引脚,使用起来非常方便电路连接如32所示GND接地线,VCC接电源信号输入输出端DQ与单片机P10引脚相连,并且连有10K欧的上拉电阻,确保总线空闲时一直处于高电平图32DS18B20电路连接322DS18B20工作原理硬件电路连接好以后,接下来的问题就是单片机如何将DS18B20中的温度数据读取出来本设计只需要一个温度传感器,就不需要读取ROM编码以及匹配ROM编码了,只要用跳过ROM(CCH)命令,就可以开始进行温度转换和读取的操作6DS18B20在出厂时默认配置为12位,其中最高位为符号位,即温度值共11位,单片机在读取数据时,一次会读2字节共16位,读完后将低11位的二进制数转化为十进制数后再乘以00625边为所测的实际温度值另外,还需要判断温度的正负由于温度值只占用了11位,所以前五位均为符号位,这五位同时变化前五位位1时,读取的温度为负值,此时测量的数值需要取反加1再乘以00625才可得得到实际温度值前五位为0时,读取的温度为正值,此时仅需要将测量的数值直接乘以00625即为实际温度值表32所示为常用的DS18B20指令表32常用DS18B20指令读ROM33H读DS18B20中的编码即64位地址符合ROM55H发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20,使之作出响应,为下一步对该DS18B20的读写作准备搜索ROM0F0H用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备跳过ROM0CCH忽略64位ROM地址,直接向DS18B20V温度转换命令,适用于单个DS18B20工作告警搜索命令0ECH执行后,只有温度超过预设值上限或下限的片子才做出响应温度转换44H启动DS18B20进行温度转换,转换时间最长为500MS典型为200MS,结果丰入内部9字节RAM中读暂存器BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的第3、4字节写上、下温度数据命令,紧该温度命令之后,传达两字节的数据复制暂存器48H将RAM中第3、4字内容复制到E2PROM中重调E2PROM0B8H将E2PROM中内容恢复到RAM中的第3、4字节读供电方式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外部供电时DS18B20发送“1”33水位传感器模块设计本设计采用干簧管水位传感器图33所示为干簧管7,也称舌簧管,是一种特殊的开关它内部触点通常由两个软磁性金属簧片构成,两个金属簧片平行放置,并且中间有一部分重叠,如图34所示在正常的情况下,它们的是断开的,当外部有磁场作用时,两个簧片会被磁化,然后吸合,形成通路,当磁场撤去时,簧片断开,形成断路干簧管内部充有惰性气体以保障其簧片的性能干簧管比一般机械开关结构简单、体积小、速度高、工作寿命长、可靠性高,基于上述优点,干簧管也被广泛的应用到人们的生产生活中图33图34水位传感器是在一端封闭的一段PVC管内,在上、中上、中下、下四个位置分别垂直安装四个干簧管,干簧管的公共端接5V电源,另外四个端分别为水位高、中上、中下、低的信号输出端PVC管外套一个环形磁铁浮漂,当热水器内水位变化时,浮漂会随着液面变化而上下浮动,当带有环形磁铁的浮漂经过管内的干簧管时会吸合相应的干簧管,随即输出相应的水位信号水位输出极的外部连接四个公共端接5V电源的上拉电阻并分别与单片机的P30、P31、P32、P33四个引脚相连当没有水的状态下,单片机四个引脚在上拉电阻的作用下为高电平水位经过时,干簧管被磁化吸和形成通路,此时单片机对应的引脚为低电平,单片机通过读取对应引脚的逻辑电平来判断水位的高低此外,水位的高低会最终显示在1602液晶显示器上水位检测部分的原理图如35所示图35水位传感器电路连接与示意图34LCD显示模块设计3411602液晶显示器工作原理液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在了显示器上液晶显示器的主要原理是用电流车技液晶分子产生点、线、面并配合背部灯光构成画面各种型号的液晶通常是按照显示字符的行数或液晶点阵的行、列数来命名本设计中使用的1602就是每行显示16个字符,一共可以显示两行常用的1602显示器有16个引脚,各引脚的功能如表339所示表331602液晶显示器引脚介绍编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极对应各个引脚,有一些常用的指令如表344所示表341602常用指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回0000000013置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L6置功能00001DLNF7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的(说明1为高电平、0为低电平)指令1清显示,指令码01H,光标复位到地址00H位置指令2光标复位,光标返回到地址00H指令3光标和显示模式设置I/D光标移动方向,高电平右移,低电平左移S屏幕上所有文字是否左移或者右移高电平表示有效,低电平则无效指令4显示开关控制D控制整体显示的开与关,高电平表示开显示,低电平表示关显示C控制光标的开与关,高电平表示有光标,低电平表示无光标B控制光标是否闪烁,高电平闪烁,低电平不闪烁指令5光标或显示移位S/C高电平时移动显示的文字,低电平时移动光标指令6功能设置命令DL高电平时为4位总线,低电平时为8位总线N低电平时为单行显示,高电平时双行显示F低电平时显示5X7的点阵字符,高电平时显示5X10的点阵字符指令7字符发生器RAM地址设置指令8DDRAM地址设置指令9读忙信号和光标地址BF为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙指令10写数据指令11读数据液晶显示模块是一个慢显示器件,所以在执行每条指令前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图36是1602的内部显示地址图36例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)10000000B80H11000000BC0H在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预每次输入指令前都要判断液晶模块是否处于忙的状态1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”342显示模块电路连接如图37所示,1602的使能端与单片机P20相连,当P20从高电平变成低电平时液晶模块开始执行指令RS和RW分别与单片机P27和P26引脚相连,用于控制数据的读写数据引脚D0D7与单片机的P00P07相连,用来进行数据交换图371602电路原理图35温度控制模块设计351继电器驱动电路继电器10的定义是当输入量的变化达到规定要求时,在电气输出电流中使被控量发生预定的阶跃变化的一种电器通俗一点说,继电器实际上是用小电流来控制大电流运作的一种“自动开关”,在电路中起着自动调节、安全保护、转换电路等作用图38继电器驱动电路原理常见的继电器驱动电路如图38所示我们知道,单片机是一个弱电器件,通常的工作环境电压在5V作用,电流也是毫安级别的而要把它用到一些像电动机那样大功率场合,显然是不行的所以就需要有一个环境来衔接,这就是所谓的“功率驱动”继电器驱动就是一种典型的、简单的功率驱动环节这里的驱动主要是指用继电器驱动其他负载,继电器驱动相当于是单片机与其他大功率负载的接口单片机对继电器的控制利用了三极管的开关作用当单片机在三极管基极给出高电平时,继电器两端无电势差,继电器也就不工作当想让继电器驱动其他大功率负载的时候,单片机在三极管基极给出低电平,继电器两端电压不等,则继电器有输入电压,继而输出更大的电压来驱动其他负载图中二极管为继电器线圈在由吸合变为断开时提供续流,以免瞬间产生高压将三极管击穿352继电器驱动温控模块本设计规定,当水箱内水温低于二十摄氏度并且水位高于百分之七十五时,加热模块开始自动加热当加热至温度已经达到八十度或者水箱内水位低于百分之二十五时,单片机控制停止加热,以防水温过高或者形成干烧的情况此外,本设计也可以通过外部按键控制来进行加热和停止加热温控模块电路连接如图39所示图39温度控制模块电路原理图36水位控制模块设计361电磁阀简介电磁阀11是用电磁控制的工业设备,是用来控制流体的自动化基础元件其内部有密闭的腔,腔中间是活塞,两边是两块电磁铁哪边的磁铁线圈通电阀体就会被吸引到哪边通过控制阀体的移动来开启或关闭两边的管道电磁阀从原理上可以分为直动式电磁阀、分布直动式电磁阀和先导式电磁阀362水位控制模块本设计选用最简单的水用直动式电磁阀12其原理为在通电时,电磁线圈产生电磁力把活塞从阀座上提起,阀门打开;断电时电磁力消失,弹簧把活塞压在阀座上,阀门关闭当水位低于百分之一时,最下端的干簧管断开,单片机接收信号并发出控制指令,驱动电磁阀打开,进行上水,当水位高于百分之九十九时,最上端的干簧管吸合,单片机控制电磁阀关闭,停止上水本设计也可以通过外部按键控制来实现上水和停止上水功能水位控制模块电路连接如图310所示图310水位控制模块电路原理图37电源模块设计由于整个系统是在5V电压环境下工作的,所以需要设计一个5V输出的电源模块4如图311所示,市电220V电压首先通过一个变压器使电压降到12V左右的交流电压,然后经由二极管组成的整流电路处理后,变成直流电压最后在通过三端稳压器就可以输出一个稳定的直流电压了图中稳压器输入和输出端的电容起到滤波的作用,使输入和输出的电压更加稳定由于我们要得到一个5V的直流电压,所以稳压器的型号选择7805图311电源模块原理图38按键模块设计本设计共有六个按键,包括总电源开关、系统复位开关、和四个功能按键,分别是加热、上水、停止加热和停止上水在系统上电的情况下,按下按键即可执行相应的操作功能按键电路部分如图312所示图312按键模块原理图39报警模块设计本设计还设置了报警模块当水位低于百分之一且此时还在加热或者当水温超过80摄氏度而且还在进行加热的时候,单片机的P13口给出低电平,触发报警模块报警模块的设计可以防止热水器的干烧和过烧情况报警模块电路设计如图314所示图313报警模块电路原理图310单片机辅助电路3101时钟电路时钟电路是用于产生单片机工作时所必需的时钟信号时钟是单片机的心脏,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性电路中的电容C2、C3典型值为3010PF外接电容的值虽然没有严格的要求,但是电容的大小会影响振荡器的稳定性和起振的快速性,本设计采用的是22PF电容同时,在系统中采12MHZ的晶体振荡器来产生时钟脉冲时钟电路原理图,如图312所示图314时钟电路原理图图315复位电路原理图3102复位电路复位是单片机初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元执行程序除了进入系统的正常初始化之外,当程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动复位操作有上电自动复位和按键手动复位两种方式本设计采用了按键手动复位方式该复位电路如图315所示开关闭合瞬间RST引脚获得高电平,单片机复位电路随着电容的C1的充电,RST引脚的高电平逐渐下降RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作第4章系统软件设计本设计软件部分采用模块化结构,将整个设计分成若干功能模块先将每个模块的功能实现,然后再组合到一起,使其逻辑关系更清晰易读,而且可以增强程序的可移植性系统的程序框图如图41所示主程序温度测控子程序水位测控子程序键盘扫描子程序液晶显示子程序图41系统程序框图41主程序流程图主控模块控制整个程序运行的流程,协调各个功能模块的工作,如图42所示执行开始后温度和水位传感器分别显示温度和水位的状态然后扫描按键,看是否有按键按下,当检测到有按键中断操作时,主程序再去执行对应的功能程序实现相应功能如上水、升温等等当没有按键操作时,系统开始判断水位,当水位低于“上”时,系统均控制水位模块执行上水操作,当水位高于“上”时,系统接收水位传感器输出极的信号继而执行停止上水操作当水位高于“中下”时,系统开始检测温度值当水位满足要求且温度低于20度时,主程序控制相应的功能程序执行加热功能当加热至温度操作80度时,执行停止加热操作此外,当系统检测到当水位低于“下”且此时正在加热时,警报模块启动扬声器来警报干烧;无论水位多少,当系统检测到温度高于80度且还在加热时,系统发出过烧警报开始系统初始化扫描按键P24为0水位低于“下”P11给低电平自动上水Y水位低于“中下”水位低于“中上”水位低于“上”P11给低电平自动上水P11给低电平自动上水P11给低电平自动上水返回P12是否为0检测是否加热P13给低电平警报干烧P12给低电平加热温度低于20度温度低于80度P12给高电平停止加热P11给高电平停止上水P12给低电平加热警报过烧YNNNYNNYNYYYY读P14P15P16P17,值判断当前水位P23为0N执行加热操作Y执行停止加热操作YP22为0N执行上水操作YP21为0N执行停止上水操作YN图42系统总流程图42温度测控部分流程图单片机访问DS18B20必须遵守其复位、执行ROM指令、执行DS18B20功能指令这个顺序而在单点上,可以直接跳过ROM指令DS18B20的转换精度默认为12位,而分辨率是00625DS18B20温度读取包括三个步骤第一步让DS18B20启动温度转换,这一步中首先让DS18B20复位,然后连续写入跳过ROM的字节命令0XCC,开始转换的功能命令0X44,之后延时一段时间第二步为读暂存数据,具体为首先让DS18B20复位,然后写入跳过ROM的字节命令0XCC和读暂存的功能命令0XBE完成后读入第0个字节LSBYTE,转换结果的低八位读入第1个字节MSBYTE,转换结果的高八位最后DS18B20复位,表示读取暂存结束最后一步为整合LSBYTE和MSBYTE的数据乘以0625即得到带一位小数的温度值温度采集程序流程图和温度控制流程图如图42、图43所示开始数据端置位复位DS18B20DS18B20是否存在Y写跳过ROM匹配命令OXCC写温度转换命令OX44延时10MS(读温度前)复位DS18B20写读温度字节命令0XBE写跳过ROM匹配命令0XCC读温度返回图42温度采集模块流程图开始扫描按键P24为低电平即加热按键是否按下执行加热操作Y当前温度是否低于20度P12给出低电平,执行加热操作Y判断温度是否高于80度NP12给高电平,停止加热。P23为低电平即停止加热按键是否按下N执行停止加热操作YNYN返回等待按键图43温度控制部分流程图43水位测控部分流程图执行水位控制部分程序时,照例首先读取当前水位,然后扫描按键,当P21和P22端口检测到按键按下时,程序中断去执行相应的上水和停止上水的操作当没有按键按下时,程序判断当前水位,如果水位信号“上”的P17端口为高电平,说明当前水位低于该检测点,则P11给出低电平“0”,此时系统通过继电器驱动电磁阀给水箱上水当水箱中水高于“上”检测点时,该点的干簧管被磁化,P17口被拉低,此时系统控制电磁阀关闭,停止上水水位检测的部分是通过读取与水箱内4个检测点连接的引脚电平来实现的水位传感器的设计原理是当水位高于检测点时,使对应的引脚由高电平变成低电平,程序通过电平的变化即可判断此时水箱中位的高低水位控制和水位检测部分流程图如图44、45所示开始扫描按键P22为低电平即上水按键是否按下P11给低电平执行上水操作P17为低电平判断水位是否高于“上”P11给低电平执行停止上水操作返回YYP11给低电平执行上水操作NP21为低电平即停止上水按键是否按下P11给低电平执行停止上水操作YNN图44水位控制部分流程图开始检测P14P15P16P17引脚电平P14为“0”水位低于“下”NP15为“0”P16为“0”YY水位在“下”与“中下”之间水位在“中下”与“中上”之间NNP17为“0”水位在“中上”与“上”之间NY水位高于“上”调用显示子程序显示水位信息返回图45水位检测部分流程图44液晶显示部分流程图本设计选用的1602液晶显示器采用并行方式与单片机连接实现通信的在对液晶模块读写操作时,其操作顺序首先对显示器进行判忙,然后依次对读写使能端(RS)、数据/命令操作选择端(R/W)、读写操作端(EN)共三个引脚进行配置,最后将要显示的内容经由P0口的8个引脚传送到显示器中,继而显示在液晶面板上本设计中液晶上行显示当前温度,下行显示当前的水位信息“HIGH”,“MIDHIGH”,“MIDLOW”“LOW”液晶显示初始化流程图,如图46所示开始判断显示屏是否在忙P27给高电平RS1P26给低电平RW0P20给高电平EN1待显示的内容从P0口输出显示数据地址加1是否显示结束返回YN图46显示部分流程图45按键部分流程图给控制器设计了四个功能按键分别是“加热”、“停止加热”、“上水”、“停止上水”系统上电后依次检测与它们相连的引脚端口,当检测到低电平输入时,说明按键按下,则系统执行相应的功能,执行功能后再返回扫描按键,等待下个按键按下开始扫描按键P24为0P12给低电平,执行加热操作P23为0P22为0P21为0YP12给高电平,停止加热YP11给低电平,执行上水操作YP11给高电平,停止上水Y图47按键部分流程图第5章结论与展望51设计小结本文分析了太阳能热水器控制器的现状,国内的太阳能热水器产业已经日趋成熟,但是热水器控制器方面还存在很多问题有些控制器无法自动控制水温和水位,经常出现干烧、过烧或水温不适等情况针对这个现状,提出一种单片机控制的太阳能热水器控制器,使热水器功能更加的完善,使用也更加安全是一个具有实用价值的课题本设计利用单片机控制DS18B20温度传感器和干簧管水位传感器等设计了一种太阳能热水器控制器该控制器由STC89C52单片机主控模块、DS18B20温度传感器测温模块、干簧管水位传感器测水位模块、继电器驱动的温控和水位控制模块、键盘输入和液晶显示模块等部分组成可以使太阳能热水器在原有功能基础上,增加温度控制和水位控制功能当温度和水位不符合预设值时,热水器会自动控制温度和水位,使得人们随时使用时水温和水位都是合适的此外,报警模块的加入也有效的减小了干烧、过烧的可能性控制器的加入,使传统的太阳能热水器进入智能家电的行列让我们在日常生活中可以真切的感受到科技发展带来的便利,迎合了在生活水平高速提升下的人们的需要,具有广阔的市场前景52不足之处及未来展望从先进性和人性化设计的角度考虑,本设计还有些许不足之处由于时间和其他条件的限制,没能添加语音功能如能结合ISD4004语言芯片应用到该控制器中,就可大大的迎合人性化设计的要求如水温和水位变化的同时,不仅能够显示而且可以通过语音芯片处理读出当前的温度和水位值在警报模块中,也可以应用语言模块,在警报干烧和过烧时就可以明确的指出是干烧还是过烧,而本设计中只能触发蜂鸣器发生而已,具体的情况还需要用户自己判断此外,由于时间和其他条件的限制,本设计未能作出实际成品,只是理论上实现了其功能所以软件设计部分只能是各个模块的功能实现,在实际应用中可能还会遇到一些兼容性问题当今的时代是名符其实的“能源时代”,人们也从来没有像现在这样重视能源的使用所以类似太阳能热水器这种利用可再生能源的产品会越来越得到广泛的关注设计一款太阳能热水器控制器,不仅完善了太阳能热水器的功能,为人们日常生活提供了便利和安全,更加迎合了“节约能源”的时代主题通过这次毕业设计,不仅让我学习了单片机相关的知识,也使我意识到人们为节约保护能源所做的诸多努力相信随着科技的发展,人们终将解决能源问题,将太阳能、风能这些取之不尽的可再生能源应用到极致,那时,我们也有理由和底气来说科技改变生活参考文献1太阳能热水器产业发展分析报告EB/OLHTTP/WWWDOC88COM/P282362168866HTML2党学立基于FPGA太阳能热水器智能控制器的设计D杨凌西北农林科技大学200853基于PLC的热水器控制器设计EB/OLHTTP/WWWDOC88COM/P94851510319HTML4郭天祥新概念51单片机C语言教程入门提高开发拓展全攻略2009M北京电子工业出版社,20095太阳能热水器控制器设计EB/OLHTTP/WENKUBAIDUCOM/VIEW/41

温馨提示

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

评论

0/150

提交评论