毕业论文(设计):太阳能热水器控制器设计.doc

上传人:文****钱 文档编号:33351 上传时间:2018-05-05 格式:DOC 页数:47 大小:1.77MB
下载 相关 举报
毕业论文(设计):太阳能热水器控制器设计.doc_第1页
第1页 / 共47页
毕业论文(设计):太阳能热水器控制器设计.doc_第2页
第2页 / 共47页
毕业论文(设计):太阳能热水器控制器设计.doc_第3页
第3页 / 共47页
毕业论文(设计):太阳能热水器控制器设计.doc_第4页
第4页 / 共47页
毕业论文(设计):太阳能热水器控制器设计.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、分类号编号烟台大学毕业论文(设计)太阳能热水器控制器设计THEDESIGNOFCONTROLLERFORSOLARWATERHEATER申请学位工学学士院系光电信息科学技术学院专业姓名学号指导老师年05月日烟台大学太阳能热水器控制器设计姓名导师年05月日烟台大学烟台大学毕业论文(设计)任务书院(系)光电信息科学技术学院姓名学号毕业届别专业毕业论文(设计)题目太阳能热水器控制器设计指导教师学历博士职称所学专业通信与信息系统主要内容本文论述了基于C51单片机的太阳能热水器控制器的实现。用C51单片机设计一种太阳能热水器控制器,实现水温、水位及时间的实时显示以及水温、水位的自动控制等功能,另外还需要

2、实现时间和水温设定的功能。基本要求着重培养学生综合利用所学知识解决实际问题的能力以及查阅书籍资料、调查收集各种有用信息的能力。要求能够比较熟练掌握C51单片机、DS18B20温度测量芯片以及其他测量和显示元件的使用。另外,有利于培养学生的英文阅读、计算机操作和动手能力,撰写毕业设计论文的能力。主要参考文献1余锡存,曹国华单片机原理及接口技术(第二版)M西安西安电子科技大学出版社,20072赵建领,薛园园等51单片机开发与应用技术详解M北京电子工业出版社,2009进度安排第一阶段13周向导师请教确定课题并查询资料。第二阶段49周在导师的指导下确定设计方案和实现方法。第三阶段1013周根据方案完成

3、软件仿真和实物焊接,并撰写毕业论文。第四阶段14周定稿,打印论文并参加答辩。指导教师(签字)年月日院(系)意见教学院长(主任)(签字)年月日备注摘要该太阳能热水器控制器是基于C51单片机设计和实施的,它以AT89C51单片机作为检测和控制中心,由主控芯片模块、DS18B20温度检测及显示模块、水位检测及显示模块、时钟模块、报警模块和电磁阀控制模块、辅助加热模块等模块组成。它通过DS18B20温度检测及显示模块实时检测和显示水温,通过水位检测及显示模块实时检测和显示水位,通过时钟模块实时显示时钟并在设定的时间给主控芯片特定的信号,通过电磁阀控制模块实现热水器的自动及手动上水,通过辅助加热模块实现

4、太阳能热水器自动及手动加热,当水位过低且水温过高时通过报警模块报警,而主控芯片则负责协调其他各模块的工作。关键词太阳能热水器控制器;AT89C51单片机;DS18B20ABSTRACTTHEDESIGNINGOFTHISSOLARWATERHEATERCONTROLLERISBASEDONC51SINGLECHIPMICROCOMPUTER,THEAT89C51MCUISUSEDASITSDETECTIONANDCONTROLCENTER,ITCONSISTSOFAMAINCONTROLCHIPMODULE,DS18B20TEMPERATUREDETECTIONANDDISPLAYMODULE

5、,THEWATERLEVELDETECTIONANDDISPLAYMODULE,CLOCKMODULE,ALARMMODULEANDTHEELECTROMAGNETICVALVECONTROLMODULE,AUXILIARYHEATINGMODULEANDETCITISTHROUGHTHEDS18B20TEMPERATUREDETECTIONANDDISPLAYMODULEDETECTANDDISPLAYTHEWATERTEMPERATUREINTIMEITISTHROUGHTHEWATERLEVELDETECTIONANDDISPLAYMODULEDETECTANDDISPLAYTHEWAT

6、ERLEVELINTIMEITISTHROUGHTHECLOCKMODULEDISPLAYTIMEANDATTHEGIVENTIME,ITWILLGIVETHEMAINCONTROLCHIPMODULEASPECIFICSIGNALITISTHROUGHTHEELECTROMAGNETICVALVECONTROLMODULETOREALIZETHEAUTOMATICANDMANUALWATERHEATERITISTHROUGHTHEAUXILIARYHEATINGMODULETOHEATWATERAUTOMATICALLYANDMANUALLYWHENTHEWATERLEVELISTOOLOW

7、ANDTHETEMPERATUREISTOOHIGHTHEALARMMODULEWILLGIVEANALARM,THERESPONSIBILITYOFTHEMAINCONTROLCHIPISTOCOORDINATETHEWORKOFOTHERMODULESKEYWORDSTHESOLARWATERHEATERCONTROLLERAT89C51MCUDS18B201目录1绪论111太阳能热水器应用的意义112我国太阳能发展现状12系统设计及仿真软件221系统的总体结构设计222设计功能要求223设计思路224仿真软件PROTEUS简介33AT89C51简介431主要特性432中断向量433管脚说

8、明434内部结构64控制器各模块电路设计741主控芯片模块7411时钟电路7412复位电路8413单片机管脚分配942DS18B20温度检测及显示模块9421DS18B20芯片简介1042274LS245简介12423LED数码管显示1343水位测量及显示模块1444报警模块1545辅助加热模块16451继电器工作原理16452辅助加热模块工作原理1746电磁阀控制模块17461电磁阀工作原理18462电磁阀控制模块工作原理1847时钟模块18471电子表发声原理及控制器定时工作原理195控制器软件程序设计2051软件设计分析2052主程序模块2053子程序模块21531DS18B20温度检测

9、子程序设计21532DS18B20温度转化及显示子程序22533加热子程序设计23534上水子程序设计2454中断子程序设计25541外部中断0(设定温度)子程序设计252542外部中断1(设定温度)子程序设计266调试与总结2761调试方法2762遇到的问题及解决办法2763总结28致谢29参考文献30附录31烟台大学毕业论文(设计)11绪论11太阳能热水器应用的意义迈入21世纪以来,随着经济的急速发展,对自然资源的需求缺口越来越大,人口基数过大使得将在很长一段时间保持人口数量的增长,而经济的高发展速度也将持续对资源的供应提出考验。显而易见的,资源储量并不是无限的,若要保证经济的可持续发展,

10、仅仅靠节约能源或是限制开采数量,并不是一个长久的解决办法,只有开发新的能源,才能从根本上解决发展与资源之间的矛盾。所以在今后,新能源必定将会有很大的发展空间,太阳能、风能、潮汐能,这些清洁能源是未来大规模利用的新趋势。1在各类能源中,太阳能以其清洁、无害、长久和普遍等特点,有极高的发展潜力,可以说是取之不尽用之不竭。虽然离太阳能的广泛利用还有很长的路要走,但是现在已经在不少地方开始使用,如常见的太阳能发电系统,太阳能热水系统,太阳能路灯、交通灯等等。我国目前太阳能产业规模已跃至世界第一,随着技术的日益成熟,太阳能相关的成熟产品造价也将随之降低,将更加广泛地在人们生产生活中普及,这同时也是解决越

11、来越严重环境污染的一个极佳的解决方案。在我们的生活中,最为我们所熟知的太阳能利用系统便是太阳能热水器,太阳能热水器同传统的热水器相比有着许多显著的特点。不仅节能环保,而且使用也非常方便。以其低廉的价格深受各层次消费者的青睐。随着太阳能热水器的大面积使用,太阳能的优势特点已广泛为人们所熟知,这也对以后的相关产品的生产推广起到了很好的宣传效应。大力开发和利用丰富的太阳能资源,对于我国的经济、社会可持续发展具有重大深远意义。212我国太阳能发展现状我国太阳能热水产业的发展特点可以用“起步晚,发展快”来形容,虽然国内与于上世纪80年代才开始研究推广,但是历经多年的飞速发展,我国的太阳能产业已经占据了世

12、界首位,其中热水器的产量占世界百分之五十以上,同时,中国国产太阳能产品在世界同类产品中也占据着很大的市场份额,并且市场占有率还在不断增长。3尽管有着如此迅猛的发展势头,但是需要指出的是,目前国内的能与太阳能热水器相配置的控制器的功能却并不完善,在市面上很多同类的太阳能热水器产品,控制系统简单,功能不全,大多数只具有设定水温,显示水温这两个功能,较为智能化的产品还尚未推广应用,有些功能还处于研发阶段。因此设计出一款具有温度控制功能和水位控制功能的产品,将很具有实际意义。这样的控制器,将能够解决天气原因导致的光线不足问题导致热水器水温过低的问题,并且因为有了水位控制功能,就可以解决当水位达到一定高

13、度时不能自动开始或停止供水等等问题。烟台大学毕业论文(设计)22系统设计及仿真软件21系统的总体结构设计系统总体结构设计如图21,该系统包括保温箱、排气管、集热管、溢流管、上下水管、调节阀等。图21系统总体结构设计22设计功能要求该太阳能热水器的控制器不但需要具有水位、水温及时间的实时显示功能,而且需要具有水位、水温的自动控制功能,必要时,还需要能够实现对时间和水温进行设定等功能。当蓄水箱水位低于40时能够实现自动上水,当设定时间到且水位低于蓄水箱水位90时能够实现自动上水,当上水到达规定的水位时能够实现自动停止上水,当水位界于高低水位之间时,用户可以通过按键操作手动上水、停水;当设定时间到且

14、水温低于规定值时,能够实现自动加热。必要时还可以对太阳能热水器进行手动加热和上水,禁止高温空晒后进水以及淋浴时禁止上水等功能。23设计思路该太阳能热水器控制器是基于C51单片机设计和实施的,它以AT89C51单烟台大学毕业论文(设计)3片机作为检测和控制中心,由主控芯片模块、DS18B20温度检测及显示模块、水位检测及显示模块、时钟模块、报警模块和电磁阀控制模块、辅助加热模块等模块组成。它通过DS18B20温度检测及显示模块实时检测和显示水温,通过水位检测及显示模块实时检测和显示水位,通过时钟模块实时显示时钟并在设定的时间给主控芯片特定的信号,通过电磁阀控制模块实现热水器的自动及手动上水,通过

15、辅助加热模块实现太阳能热水器自动及手动加热,当水位过低且水温过高时通过报警模块报警,而主控芯片则负责协调其他各模块的工作。24仿真软件PROTEUS简介PROTEUS可以仿真单片机,兼具EDA软件的仿真功能,还能一部分外围器件,是当前使用最广,用户评价最好的仿真工具。可以从原理图设计,程序编写调试,再到与外围电路同步仿真,提供与PCB板设计的简单切换,可以由最初的模拟概型一直到产品的模拟仿真。该软件也是第一款融合电路原理图设计,PCB板设计,产品生产前的仿真三者结合的开发平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086

16、和MSP430,CORTEX,DSP等系列处理器,截止到现在,依然在不断增加其它系列处理器模型。程序编译支持KEIL和MPLAB软件编译器。4PROTEUS软件具有其它EDA工具软件的功能1原理布图2PCB自动或人工布线3SPICE电路仿真革命性的特点PROTEUS的工作过程在开始菜单中选择PROTEUS文件夹,单击文件夹中的ISIS图标进入PROTEUS仿真软件的主界面。在工作之前,先要设置捕捉对齐、颜色、图形界面大小等项目。工作时,先要单击工具栏中的P按钮进入元件选择对话框(PICKDEVICES),在对话框KEYWORD中输入所需元件的关键字(比如当需要电阻时输入“RES”),在RESU

17、LTS一栏中双击选出所需要的元器件(注意当选中元器件时在PICKDEVICES对话框中右侧两栏中会出现该元器件在仿真电路图和PCB板上的预览图,根据此预览图进行选择),选中的元件会自动出现在工作界面P按钮下面。然后需要进行仿真电路图的绘制(具体做法为在P按钮下面单击所需要的元器件即选中此元器件,根据实验原理图把选中的元器件放在工作界面的适当位置,双击工作界面中的元器件,在出现的对话框中修改元器件的参数,重复以上步骤直到所有的元器件都摆放到工作界面上,然后单击各元器件的引脚进行连线。至此仿真电路图制作完成。然后进行程序的编写,在程序编写时需要使用专门的程序编写器(比如KEIL软件等)来编写并编译

18、连接运行,生成HEX文件。接下来需要把程序存入相应的芯片中,具体做法是双击目标芯片,在出现的对话框中“PROGRAMFILE”中选择相应的程序,然后点击OK按钮即可。最后需要运行,在此步骤秩序点击PROTEUS工作界面左下方的PLAY按钮即可。烟台大学毕业论文(设计)43AT89C51简介31主要特性与MCS51兼容具有4K字节的可重复编程的FLASH,可写入/抹掉数据1000次以上,写入的数据能保存10年以上操作频率0HZ24MHZ1288位内部RAM32条可规划的I/O线5个中断向量地址可编程串行通道需要振荡电路和时钟电路532中断向量中断向量见图316图31中断向量表33管脚说明AT89

19、C51引脚见图327VCC供电电压。GND接地。P0管脚、P1管脚、P2管脚、P3管脚都是8位双向I/O口,其中P3管脚还有第二功能。烟台大学毕业论文(设计)5图32AT89C51芯片引脚图P3管脚第二功能见图33。RST复位输入端。ALE/PROG地址锁存信号线。图33P3口第二功能说明PSEN外部程序存储器读选通端。EA/VPP访问内部程序存储器控制端烟台大学毕业论文(设计)6XTAL1、XTAL2震荡电路输入端。34内部结构51单片机内部机构如图348图3451单片机内部结构框图烟台大学毕业论文(设计)74控制器各模块电路设计41主控芯片模块单片机只有40个管脚,其中I/O管脚只有32个

20、,必须合理地分配单片机管脚,否则很容易造成单片机管脚的不够用。另外,单片机运行需要时钟电路、复位电路、电源、地线等,这些电路也需要在单片机主控芯片里面设计。主控芯片模块PROTEUS仿真图如图41。9图41主控芯片模块PROTEUS仿真图411时钟电路单片机的运行需要时钟电路的支持,单片机时钟电路是配合外部晶体实现振荡的电路,它由一个晶振和两个电容组成,其组成图如图42,它的两端分别接在单片机的XTAL1和XTAL2管脚。它可以为单片机提供运行时钟,如果运行时钟为0的话,单片机就不工作,当然超出单片机的工作频率的时钟也会导致单片机不能正常工作,C51单片机的支持的时钟频率为024MHZ。烟台大

21、学毕业论文(设计)8图42单片机时钟电路412复位电路在单片机在使用过程中有时(比如上电瞬间以及运行中出现错误的时候)需要使单片机从开始状态重新运行,这时就需要单片机的复位电路了。它可以使单片机内部各寄存器的值变为初始状态,复位电路如图43。它可以在单片机上电瞬间和复位开关按下的瞬间给单片机RESET管脚加上一个程指数函数的电平信号,当此电平信号能够在单片机的RESET管脚保持两个机器周期以上的高电平时,单片机就能完成复位操作。10图43单片机复位电路烟台大学毕业论文(设计)9413单片机管脚分配单片机管脚分配如图44。图44单片机管脚分配42DS18B20温度检测及显示模块蓄水箱水温检测电路

22、使用单总线DS18B20芯片,它可以将温度信号转化成脉冲信号进而转化成水温高低的信号。DS18B20的DQ端与单片机的P37口相连,它可以将水温大小直接以数值的方式存放在其内部的RAM中,单片机可以通过DS18B20的DQ引脚直接读取其内部RAM中存放的温度值。在水温的显示上,本设计采用两位LED数码管来实现,LED数码管的段选信号由单片机的P0口来发出,其位选信号由单片机的P26、P27管脚发出。水温检测及显示模块的PROTEUS电路仿真如图45。烟台大学毕业论文(设计)10图45温度检测及显示模块PROTEUS仿真图421DS18B20芯片简介DS18B20是美国DALLAS公司推出的一种

23、温度传感器,它能比较准确的测量55125之间的温度。相对于以前的热敏电阻等温度传感器,DS18B20更加智能,它能够直接测出被测环境的温度并以数值方式存在其内部的RAM中,当有需要时,它可以通过单总线实现单片机等对DS18B20内部RAM中数据的读取。DS18B20有如下性能特点单总线结构设计,仅需要一个引脚即可完成数据在DS18B20和单片机之间的通信。每个DS18B20都有独一无二的序列号,可以在一条线上并联多个DS18B20芯片。测量温度范围55125。分辨率可调。DS18B20内部结构11DS18B20内部结构如图46。烟台大学毕业论文(设计)11图46DS18B20内部结构框图DS1

24、8B20引脚DS18B20引脚功能描述见图47。序号名称引脚功能描述1GND地信号2DQ数字信号输入输出引脚3VDD供电电源输入端图47DS18B20各引脚功能DS18B20转换成的温度数据格式12当DS18B20接到温度转换命令时它就可以将测得的温度信号转换成温度值并以16位带符号扩展的二进制补码形式存储在其高速缓存RAM中,其温度值格式如图48。图48DS18B20温度数据格式单片机可以通过DS18B20的DQ引脚直接取RAM中温度的值,读取时,先读取低位数据,然后读取高位数据。在DS18B20温度数据格式中,当S0时表示此时的温度值为正值,当S1时表示此时温度为负值。DS18B20ROM

25、命令13DS18B20的一系列操作基本都是通过ROM命令来实现的,DS18B20的ROM烟台大学毕业论文(设计)12命令见图49。指令协议功能读ROM33H读DS18B20中的编码即64位地址搜索ROM0F0H用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备跳过ROM0CCH忽略64位ROM地址,直接向DS18B20发出温度转换命令,适用于单个DS18B20工作的情况告警搜索命令0ECH执行后,只有温度超过庙宇值上限或下限的片子才做出响应温度转换44H启动DS18B20进行温度转换,转换时间最长为500MS典型为200MS,结果存入内部9字节RAM中读暂

26、存器BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的第3、4字节写上、下温度数据命令,紧跟该温度命令之后,传达两字节的数据复制暂存器48H将RAM中第3、4字内容复制到E2PROM中重调E2PROM0B8H将E2PROM中内容恢复到RAM中的第3、4字节读供电方式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外部供电时DS18B20发送“1”发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20,使之作出响应,为下一步对该DS18B20的读写作准备符合ROM55H图49DS18B20的ROM命令42274LS245简介74L

27、S245为8位双向3态缓冲电路,主要用途为数据的双向缓冲,以增强芯片的驱动能力。1474LS245真值表如图410所示。输入输出GDIRLL从B端到A端进行数据传输LH从B端到A端进行数据传输H高阻态图41074LS245真值表烟台大学毕业论文(设计)13423LED数码管显示LED数码管是由八个发光二极管排列在一起并相互连接组成的,根据其连接方法的不同,LED数码管可以分为共阴极和共阳极两种连接方法。两种接法电路图如图411。图411LED数码管及接线方法当把数码管中各发光二极管的阴极连接在一块并与地相连,通过从各发光二极管阳极是否接电源来控制发光二极管的亮灭时成为共阴极接法。同理,当把数码

28、管中各发光二极管阳极接在一块并与电源相连,通过在各发光二极管阴极是否接地来控制各发光二极管的亮灭时称为共阳极接法。不同的接法所需要点亮电平是不一样的,所以在使用数码管显示时,一定要注意区分这两种接法。当然为了显示数字或字符,需要对数字或字符进行编码,本设计采用共阴极LED数码管显示。LED数码管显示方式有两种,即静态显示方式和动态显示方式。静态显示就是每个数码管都需要连接一个8位的数据线,通过该8位数据线发送数据来保持显示的字符,当向数码管送入一次8位数据时数码管就会一直显示该字符,如果需要改变需要显示的字符则需要重新给数码管输入另一个8位数据。动态显示就是通过一定的操作使各个数码管依次点亮,

29、利用发光二极管的余晖效应和人眼的视觉暂留现象使人的感觉就像是同时点亮各个数码管一样。动态显示的亮度比静态显示稍微差一下,程序上稍微麻烦一些,占用的CPU时间长点,但当数码管位数比较多时需要的管脚位数明显减少,硬件电路会大大简化。由于单片机输出管脚有限,为了节省单片机管脚,本设计采用动态显示方式。烟台大学毕业论文(设计)1443水位测量及显示模块蓄水箱水位是智能控制的一个重要参数,是实现智能控制的重要依据,只有准确检测出水箱水位才能更好地实现水位地显示以及蓄水箱的上水、停水等操作。要实现水位地精确检测最好采用连续液位传感器,但考虑到系统成本及使用范围,本系统在进行水位检测时仍然采用分段式液位传感

30、器(即在蓄水箱不同的位置放入水位探针),在水位显示上采用由5个发光二极管组成的分段式液位显示器。水位检测及显示电路图如图412。图412水位检测及显示电路图检测原理把五个金属水位探针分别固定在水箱的五个位置上,金属探针通过一个1M的电阻(即上拉电阻)和5V电源相连,水箱里的水通过导线和地相连。当金属探针在水面以下时,5V电源、上拉电阻、水箱里的水、地等组成一个回路,由于水的电阻远比1M小,所以此时探针处电平为低电平。这个低电平通过一个反相器(非门)后变为高电平,这个高电平通过发光二极管、500的电阻放电,使得发光二极管点亮,显示此时该液位有水。当金属探针在水面以上时,金属探针处电平为高电平,该

31、高电平经过反相器时变为低电平,低电平不能使发光二极管发光,从而显示该液位没有水。至此,水位的显示完成。水位测量及显示模块PROTEUS仿真图如图413。烟台大学毕业论文(设计)15图413水位测量及显示模块PROTEUS仿真图本PROTEUS仿真图使用按键开关代替水和5V电源、1M电阻及地构成回路,当按键按下时代表此位置处有水,当按键没有按下时代表此水位处没有水。需要注意的是,上拉电阻不宜选的太小,因为水是有电阻的,上拉电阻选的太小会导致当探针在水面以下时探针输出低电平特性不明显,此时很容易导致液位显示上出现错误。位置最高到位置最低处的探针所测出的电平经反相器后会通过导线依次送到单片机的P20

32、到P24管脚,经单片机接收、处理,实现水位控制的操作。44报警模块太阳能热水器通常对蓄水箱内的水位有一定的要求,当水箱水位过低时,很容易给人们的正常生活带来不便,所以,当水位过低时能及时让人们知道就显得比较重要,报警模块正是基于此种原因设计的。报警模块的PROTEUS仿真图如图414。图414报警模块的PROTEUS仿真图烟台大学毕业论文(设计)16检测及报警原理当水位过低时,单片机相应管脚被清零,使得单片机通过P15口输出一系列脉冲波。脉冲波经由Q1、R1组成的放大电路后作用于蜂鸣器BUZI的线圈上,线圈产生变化的磁场带动蜂鸣器纸盆震动从而发出声音。45辅助加热模块当光照不足时,太阳能热水器

33、的水温很难达到指定的要求,为了不影响人们的正常使用,辅助加热设备就显得尤为重要了。辅助加热模块的PROTEUS电路仿真图如图415。图415辅助加热模块的PROTEUS电路仿真图451继电器工作原理继电器工作原理图如图416所示。15图416继电器工作原理图烟台大学毕业论文(设计)17当继电器的控制回路没有电流流过时,继电器的衔铁在弹簧的拉力作用下右端上翘,触点3与触点5断开,与触点4结合。当有电流流过继电器的控制回路(即由导线和线圈组成的电磁铁)时,电流就会在在电磁铁上产生磁场,此时,衔铁会被电磁铁吸引而下降,使得触点3与触点4分离,与触点5连接。如果在端点3和端点5接上其他电路组成被控回路

34、就会出现当有电流流过控制回路时被控回路导通,当没有电流流过控制回路时被控回路断开。452辅助加热模块工作原理当加热按钮没有按下时,此辅助加热模块为自动控制模式。在自动控制模式下,当设定的时间到时,单片机会自动对蓄水箱的水温进行判断。当水温高于设定值时,P11口输出为高电平,三极管Q1集电极和发射极断开,此时,输入回路中没有电流为零,继电器被控回路断开,加热电阻不工作。当P11口输出为低电平时,三极管Q1集电极和发射极导通,5V电源经电阻R1,继电器控制回路、三极管Q1和地相连,输入回路导通,此时,继电器被控回路闭合,220V交流电源经继电器被控回路给加热电阻加热,从而使水温升高。当临时(不是设

35、定时间)需要热水时可以通过加热按钮进行加热,此时,只需按下加热按钮即可对蓄水箱的水进行加热。46电磁阀控制模块电磁阀是把电信号转化成水龙头开关信号的装置,是实现水位智能控制不可缺少的一部分。电磁阀从原理上分为直动式、分步直动式和先导式三类电磁阀,本设计采用直动式电磁阀。电磁阀控制模块PROTEUS仿真如图417。图417电磁阀控制模块PROTEUS仿真电路图烟台大学毕业论文(设计)18继电器工作原理已在辅助加热模块介绍,此处不再叙述461电磁阀工作原理电磁阀工作原理如图418。图418电磁阀工作原理图当电磁阀不通电时,活动铁心在弹簧的弹力作用下上升,入口和出口被阀门隔开,水被阻断;当通电时,活

36、动铁心在线圈产生的磁场作用下下落,此时入口和出口导通,水从入口经电磁阀流向出口,完成上水。462电磁阀控制模块工作原理在本设计中,此电磁阀控制模块分为自动控制和手动控制两种工作情况当上水按键开关断开且淋浴开关闭合时电磁阀控制模块为自动控制模式,此时当单片机P14口输出为高电平时,继电器的输入端输入电流为零,继电器输出端开路,电磁阀所在电路开路,电磁阀关闭;当单片机P14口输出为低电平时,继电器输入端通过电阻、三极管和电源、地相连,此时,输入回路有输入电流,使得继电器输出回路闭合,电磁阀所在电路导通,电磁阀打开。当上水按键开关直接闭合且淋浴开关闭合时,电磁阀通过按键开关直接和220V电源相连,此

37、时电磁阀所在电路导通,电磁阀打开。另外,为了避免淋浴时因水位偏低而导致热水器直接上水,本模块加了一个淋浴状态开关,当淋浴状态打开(淋浴开关断开)时,直接断开电磁阀开关,此时无论水位多么低都不会上水,当淋浴状态关闭(淋浴开关闭合)时,可以选择自动控制和手动控制两种模式。47时钟模块时间是实现热水器控制器定时上水、定时加热的重要参考,所以设置时钟模块是非常有必要的。时钟模块可以通过单片机设置一个数字时钟来实现,也可以时钟芯片(比如DS1302)实现,还可以通过外接具有定时功能的电子表来实现。烟台大学毕业论文(设计)19考虑到单片机管脚的数量限制和设计的难易程度,本设计采用外接电子表的方式来实现定时

38、上水、定时加热。471电子表发声原理及控制器定时工作原理电子表里面装有压电陶瓷片,压电陶瓷片是一种电子发音元件,在两个电极中间放入压电陶瓷介质材料,当设定时间到时,会在压电陶瓷片的两个电极上加上特定的交流信号,压电陶瓷片就会根据所加信号的大小和频率震动,从而发出声音。本设计中会把这个电极信号接在单片机的P10管脚,当该管脚的电平是低电平时可以给单片机一个触发信号,经单片机处理,使得加热设备开始工作;同理,当给单片机的P13管脚加上一个低电平时同样能给单片机一个触发信号,经单片机处理后,使得上水设备开始工作。烟台大学毕业论文(设计)205控制器软件程序设计51软件设计分析软件是系统的指挥中心,由

39、软件来配合硬件来完成电子设备特定的功能是目前电子设备的普遍规律。本系统同样要求软件和硬件两部分协调工作才能所完由硬件电路完成数据的采集、显示以及对电磁阀和蜂鸣器的控制,由软件来实现数据的判断、处理等。由此可见,软件和硬件一样,都是该系统正常工作所必须的一部分。软件相对于硬件电路来说具有更高的性价比,并且更容易实现,为了充分发挥C51单片机的优良的性能价格比,我们在进行系统设计时,更倾向于使硬件电路“软件化”,即通过编程的方法使硬件电路简化。考虑到C语言诸多优良特性,本设计采用C语言编写,为了增加系统的实时性,本设计对于偶然事件的处理采用中断的方式来进行处理。在电路设计时我们采用模块化设计,同理

40、,在软件设计时,我们也采用模块化设计。首先需要编写出大概的主程序,然后需要找出所设计的子程序并对子程序进行逐个分析和设计,编写出子程序后应给予每个子程序语法检验以确定子程序是不是有语法错误,接下来需要把子程序和主程序以及一些的声明函数等进行合理的检查和修改直到没有语法错误为止,再然后对偶然事件需要进行中断处理函数的编写。最后需要对整个程序进行编译检查以确定是否有语法错误,如果有语法错误需要对程序进行改正,如果没有可以把程序烤到单片机里来检验程序的正确与否。1652主程序模块主程序需要完成对单片机端口的初始化,开外部中断0,开外部中断1等,此外,还包括温度数据读取、温度数据显示、水位数据读取以及

41、对热水器加热、上水等操作。其流程图如图51所示。烟台大学毕业论文(设计)21开始开中断端口初始化读取水位读取水温并显示水温小于80蓄水箱有水水箱水位小于40打开电磁阀蜂鸣器发声关闭电磁阀返回上水子函数加热子函数关闭电磁阀是否否是是否图51主程序模块流程图53子程序模块子程序是指能够实现某一特定功能并能被其他程序调用的一段程序。采用子程序结构可以使程序得到简化,便于进行调试,并可实现程序的模块化,本设计将采用子程序模块的设计来实现部分功能。531DS18B20温度检测子程序设计DS18B20温度检测模块的子程序流程图如图52,它包括对DS18B20的初烟台大学毕业论文(设计)22始化、发ROM命

42、令、发温度转化命令、读存储器等操作。图52DS18B20温度检测流程图532DS18B20温度转化及显示子程序DS18B20温度转化及显示子程序流程图如图53,它包括读取温度值、对温度值得判断、区分温度的十位和个位数据、显示十位数据、显示个位数据等操作。烟台大学毕业论文(设计)23图53DS18B20温度转化及显示流程图533加热子程序设计当设定时间到时,外部时钟会在单片机的P10管脚给单片机一个触发信号,使得单片机执行加热子程序。加热子程序流程图如图54。开始读温度值温度值大于等于100或小于0温度十位和个位数据都置“”区分温度的十位数据区分温度的个位数据显示温度十位数据显示温度个位数据返回

43、是否烟台大学毕业论文(设计)24开始P10管脚有触发信号加热标志位清零加热标志位为零加热开关打开加热开关断开读出水温水温大于设定值或有停止加热信号加热标志置一且加热开关断开结束是否否是是否图54加热子程序流程图534上水子程序设计同加热子程序一样,当设定时间到时,外部时钟会在单片机的P13管脚给单片机一个触发信号,使得单片机执行上水子程序。上水子程序流程图如图55。烟台大学毕业论文(设计)25开始P13管脚有触发信号上水标志位清零上水标志位为零电磁阀打开电磁阀开关断开读出水位水位大于90或有停止上水的信号上水标志置一且电磁阀开关断开结束是否否是是否图55上水子程序流程图54中断子程序设计为了保

44、证系统的实时性,本设计有一些功能是通过中断来实现的,这就要求在软件程序设计里面需要有专门的中断服务子程序的设计。本设计采用了两个中断服务,包括外部中断0和外部中断1。其中外部中断0用作增加设定的温度值,外部中断1用作减小设定的温度值。541外部中断0(设定温度)子程序设计外部中断0负责使设定的温度值增加,每当执行一次外部中断0,所设定的烟台大学毕业论文(设计)26温度值就会增加1。外部中断0(设定温度)子程序流程图如图56。开始设定温度加1设定温度大于99设定温度置为30设定温度显示结束是否图56外部中断0(设定温度)子程序流程图542外部中断1(设定温度)子程序设计同外部中断0相对应,外部中

45、断1用作使设定的温度值减小。每当执行一次外部中断1,所设定的温度值就会自动减1,当设定温度值减小到30一下时设定温度值自动变为99。外部中断1(设定温度)子程序流程图如图57。开始设定温度减1设定温度小于30设定温度置为99设定温度显示结束是否图57外部中断1(设定温度)子程序流程图烟台大学毕业论文(设计)276调试与总结61调试方法为了节省人力、物力,在正式调试之前往往会对电路进行仿真操作。所谓的仿真操作就是使用专门用于仿真的仿真软件对系统的硬件电路图及程序进行仿真。如果仿真结果满足我们的要求,那么我们就可以进行硬件电路的制作了,如果仿真结果不能满足我们的要求,那么我们就需要重新对程序及相关

46、的硬件进行设计。本设计使用PROTEUS对系统的各部分和整个系统进行仿真。具体做法为1、根据系统要求用PROTEUS画出整体系统的仿真电路图(可以先一个模块一个模块的画,然后在组装在一块)。2、2、根据系统要求及画出的仿真电路图编写程序(本设计使用C语言编写),并用KEIL软件进行编译,生成HEX文件。3、把生成的HEX文件下载到对应的单片机中(具体做法为在PROTEUS仿真电路图中双击相应的单片机会出现“EDITCOMPONENT”对话框,在此对话框中PROGRAMFILE一栏中选择所需的HEX文件,然后点击该对话框右上角的OK按钮即可),然后点击仿真电路图界面左下角的PLAY按钮即可进行电

47、路仿真。在完成系统的仿真操作后就需要对系统进行调试了。调试可以分为硬件调试和系统调试两部分。硬件调试主要是对硬件部分进行调试,看看所设计的硬件能否完成我们期望的功能,而系统调试主要是看看系统能否按照预期进行工作。在制作完成PCB板之后就可以进行硬件部分的调试了。在制作完PCB板之后就可以进行硬件电路调试了。在进行硬件电路调试之前需要先对各元器件进行检查,对于有问题的元器件需要及时替换。在检查完元器件之后就可以往PCB板上查元器件了。为了降低硬件调试的难度,便于更好的发现问题,在硬件调试过程中采用分块调试的方法。在完成硬件电路调试之后就需要对系统进行调试了。所谓系统调试就是把提前编译好的程序下载

48、单片机中,对系统的整体性能进行观察、调试。62遇到的问题及解决办法1、在进行PROTEUS各模块仿真电路图设计时有部分元器件(比如电磁阀、加热装置等)在元件库中找不到。解决方法用其他有相似特点的元件代替,并将此元件的参数修改一下。2、在进行PROTEUS总体仿真电路设计时,有很多现象(比如电磁阀的通断、水位的高低等)不容易观察或不容易操作。解决方法用发光二极管、按键开关代替这些不容易观察或不容易操作的现象。3、在程序设计时对DS18B20的程序设计总是弄不对。解决方法参考其他烟台大学毕业论文(设计)28人对这部分程序的编写,然后按照自己的要求和DS18B20的原理进行修改。4、在程序设计过程中

49、,对DS18B20测出的温度进行转化方面出现失误没有注意DS18B20温度数据是包含小数部分的温度而导致在温度转化时出现错误。解决方法在对DS18B20结构及原理仔细分析的基础上对设计的程序进行修改,首先去除温度的小数部分,然后吧温度的个位数部分和十位数部分分别放在一个数组的两个元素中。5、在系统调试中发现温度显示时总是个位数在前,十位数在后,给人的感觉很别扭。解决方法有两个一、在温度数据的处理子程序中把个位数据和十位数据处理的语句调换一下。二、在硬件电路中把两个LED数码管位选信号输入端调换一下。本设计采用第一种方法,即在程序处理方面做改变。63总结太阳能热水器控制器是对太阳能热水器进行控制的一种装置,它需要能够实现对热水器水温、水位的控制。在本设计的过程中,我先是对太阳能热水器需要实现的功能进行分析,然后按照需要实现的功能按照模块设计的思想进行设计,接下来把各模块组合起来形成一个系统,用PROTEUS对该系统进行仿真,最后进行实际电路连接。经过以上各个步骤的实际操作,我们可以看出,本设计是可行的。本设计中我用的了单片机、C语言、模电、数电、电路分析等多门课程,可以说正是在这些知识的支撑下我才能顺利完成本设计。在进行本设计的过程中,我较深刻理解了能够综合运用知识的重要性,当然,本设计对我综合运用能力也有一定程度的提高。另外,在进行本设计的过

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。