基于AT89S52太阳能热水器控制系统的毕业设计.docx
- 文档编号:24732468
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:66
- 大小:1.49MB
基于AT89S52太阳能热水器控制系统的毕业设计.docx
《基于AT89S52太阳能热水器控制系统的毕业设计.docx》由会员分享,可在线阅读,更多相关《基于AT89S52太阳能热水器控制系统的毕业设计.docx(66页珍藏版)》请在冰豆网上搜索。
基于AT89S52太阳能热水器控制系统的毕业设计
学院本科毕业设计(论文)
基于AT89S52太阳能热
水器控制系统的设计
学生:
欢
学生学号:
0
院(系):
电气信息工程学院
年级专业:
电子信息工程
指导教师:
伍刚教授
助理指导教师:
二〇一四年六月
摘要
本设计以AT89S52单片机作为控制核心并协调整个系统的工作,通过DS18B20传感器检测当前水的温度,通过单片机的处理在LED数码管上显示当前的温度值告知用户,用户通过显示的温度值可以控制电磁开关进行加热或上水以便达到舒适的水温。
该系统同时还能对水位进行实时监控,水位的当前值通过数码管显示,当水位为零时,系统会自动开启上水的电磁开关,当水位高于100时,系统会自动关闭上水电磁开关。
关键词AT89S52单片机,LED,温度控制,水位控制,电磁开关
ABSTRACT
ThisdesignmostlyAT89S52microcontrollercoreasacontrolandcoordinatetheworkfortheentiresystem,TheDS18B20sensortodetectthecurrentwatertemperature,SCMthroughtheprocessingintheLEDdigitaltubedisplaythecurrenttemperatureinformusers,Theuserthroughthedisplayofthetemperaturevaluecancontroltheelectromagneticswitchheatingorwatertoachieveacomfortabletemperature.Thesystemcanreal-timemonitoringofwaterlevel,thevaluelevelthroughthedigitaltubedisplay,whenthewaterleveliszero,theelectromagneticswitchsystemwillautomaticallyopenwater,whenthewaterlevelishigherthan100,thesystemwillautomaticallyshutdownthewaterelectromagneticswitch.
KeywordsAT89S52MCU,LED,temperaturecontrol,waterlevelcontrol,electromagneticswitch
摘要I
ABSTRACTII
1绪论1
1.1课题背景1
1.2课题研究意义1
1.3国外研究水平1
1.4本课题发展趋势2
2方案的分析与选择4
2.1方案的分析4
2.1.1方案一4
2.1.2方案二5
2.2方案的选择6
3硬件设计7
3.1系统总体硬件框图与工作原理7
3.2温度传感器7
3.3电磁继电器13
3.4单片机控制系统14
3.4.1AT89S52的主要性能15
3.4.2AT89S52的引脚说明16
3.5LED显示18
3.6按键电路设计19
4软件设计21
4.1软件设计架构21
4.2主控程序23
4.3应用程序23
4.3.1DS18B20的驱动设计23
4.3.2按键控制的软件设计26
4.3.3LED显示程序的设计28
5电路仿真30
5.1keil的使用30
5.2proteus的仿真34
5.3系统的仿真35
5.4仿真结果的分析38
5.5PCB的制作38
6系统的调试39
6.1硬件的调试39
6.2硬件的调试40
结论41
参考文献42
附录A:
系统原理图43
附录B:
系统程序46
致54
1绪论
1.1课题背景
目前,中国已经成为世界上最大的太阳能热水器的生产国,年产量约为世界各国的之和,已经有一百多家的太阳能热水器生产厂家。
但是与它配套的太阳能热水器的控制器却一直处于研究与开发阶段,当由于天气的原因而光照强度不足的时候,就会给用户带来很多不便;即便热水器具有辅助的加热功能[12],由于加热的时间不能控制因而产生过烧,导致浪费大量的电能。
温度控制采用的是模糊控制,控制器根据天气情况利用辅助加热的装置使蓄水箱的水温在设定的时间达到设定的温度,从而达到24小时供用热水的目的。
太阳能热水器是太阳能的利用中最常见的一种装置,经济的效益明显,正在迅速地推广应用,太阳能热水器能将太阳的辐射能转换为热能[10],供应生产和生活使用。
它主要是由平板集热器、蓄水器与连接管道等部件组成,可以分循环式、直流式和闷晒式。
1.2课题研究意义
太阳能热水器是环保的、无污染的,人们用着安全放心的。
利用的太阳能源,可以大量节约现有的能源,更是以后能源发展的趋势。
原有的燃气热水、电热水器,虽然加热的速度比较快,但是所用的煤和气都会对空气造成污染,而且使室的空气变得不清新,电热水器的功率比较大,对长期使用的一般的家庭来说必定会带来一定的经济上的困难,是一笔不小的开销。
而太阳能热水器安全、环保、又经济,而且带有辅助加热功能的热水器,可在全年任何时候使用,设计一个控制器帮助人们了解水的温度、热水器中的水位的高低,使人们清楚的使用。
1.3国外研究水平
先前国外的大多数家庭,使用的只是纯粹的太阳能加热的热水器,还没有其他的智能控制部位,没有太阳的天气中就没有足够的能源能够使水箱中的水加热。
其次是对热水器中的水位没有记录,因而人们不能够及时知道水箱中的当前水量,以便补充,缺乏了自动性。
如今的大多数家庭的太阳能都装有水位监测、水温测量、显示功能,使用时更加方便。
近年来,利用太阳能和其它清洁能源的结合,使太阳能热水器更加的完善,在任何的天气情况下都能够使用到热水。
此款热水器由主、从两大系统构成:
主系统的特点是在晴朗的天气利用太阳能为热水器加热;而从系统相当于电热水器,它在无光照情况下利用电而辅助加热。
它的设计充分利用太阳能丰富免费的资源优势,也同时考虑到在阴天和夜间都无法利用太阳能的缺点,充分的发挥了太阳能热水器与电热水器的各自优势[13]。
当今的社会发展日新月异,人们的衣食住行也在不断提高。
现有电热型的热水器费用昂贵而且燃气型的不安全性,加上排放二氧化碳污染大气,北方用的煤气取暖造成了城市的空气环境污染,这些是太阳能热水器良好外部的生存环境。
太阳能热水器能够克服了上述的缺点,它是绿色且环保的产品。
它使用简单而且方便。
太阳能热水器顺着时代的发展要求,满足了人们对环保绿色产品的需求。
在人类的文明程度日益提高的今天,它是现代的文明社会最佳的选择。
应该注意到,特别是集体单位对太阳能热水器的用量很大。
大家都知道,太阳能是取之不尽,用之不竭的,没有污染的巨大的能源。
随着世界上的煤、石油、天然气存储量日益的减少,能源的危机已日益增长,环境污染危机已威胁着生态的平衡,太阳能的开发利用课题已提到人类面前。
有人预测:
二十一世纪的太阳能将由辅助的能源上升为主要的能源。
但是由于地区的不同和季节的不同又给太阳能的利用带来的重重困难,有些技术的难点尚未得到突破,产品的造价偏高,所以还没有被人们普遍的使用。
1.4本课题发展趋势
在太阳能产品的利用中,太阳能热水器的制造在技术的层面是成熟的,同时由于它的能源的消耗比较低、对环境的保护有着重要的作用,而且用水比较安全,所以受到了世界人们的热捧。
世界各国太阳能热水器的生产发展速度也很快。
例如:
澳大利亚的政府规定,在北部的地区新建的房屋必须要设置太阳能热水器,已经有26%的新住宅都安装了太阳能热水器。
日本现在每年安装的太阳能热水器将近50万台,计划今后额普及率将更高。
有些国家的法令规定所有的新建筑物必须要配备太阳能热水器。
太阳能热水器的推广应用和经济效益据不完全的统计,迄今全国太阳能热水器的累计安装使用总量已经达到300万平方米以上。
所以该控制器的设计具有使用时方便、性价比高、工作度可靠、精度高等等特点,为太阳能热水器的进一步的推广具有积极推动的作用。
1.5本课题研究的主要容
本设计主要是利用AT89S52单片机为核心,选择适当的传感器作为信号的采集来源[15]:
温度传感器选择数字式的DS18B20。
并通过LED数码管来显示温度与水位。
要经过几部分的设计来完成:
LED数码管显示部分的设计
水位采集部分的设计
温度采集部分的设计
控制加热和上水电路的设计
从系统需要和研究容可以看出,本设计需要做的主要工作有:
查阅相关资料,了解各部分功能原理。
查阅元器件资料,掌握器件工作原理和硬件实现方法。
利用电脑仿真,对设计的电路进行模拟检测。
2方案的分析与选择
2.1方案的分析
2.1.1方案一
温度传感器的选择。
热敏电阻,它的组成是半导体瓷。
它与普通的电阻不同,它是具有与一般的电阻相反的温度的特性,也就是说当温度升高的时候,它的电阻值减小。
它的阻值~温度的特性曲线是一条指数曲线,非线性的比例较大,因而在使用时候要进行线性化地处理。
但是改善热敏电阻的特性曲线可以用线性化的处理,但是方式比较复杂。
所以,在要求不是很高的一般的应用中,常做出在一定温度围的温度和阻值成线性关系的假设,从而简化了计算。
使用为了感知温度,给热敏电阻通过恒定电流,电阻的两端就可以测到一个电压,然后通过下面的公式可以求得温度:
T=T0-KVT
T和T0分别表示被测量的温度和电阻的特性有关温度参数;K是与热敏的特性有关的系数;VT为电阻的两端电压。
根据公式,测得的电阻的两端的电压,了解到了参数T0和K,通过这样来计算出电阻所处的环境温度,这样就能把热敏电阻随着温度的变化,变化为电压随着温度的变化。
这种设计还需用到A/D转换的电路,而且在测量过程中,由于环境影响更会带来较大的误差。
水位采集系统的选择。
该水位的采集系统是把采集到的信号通过A/D转换器,传送到单片机中[14],如图2.1。
I为恒流源,该电流流过一个电阻产生的压降为IR。
当K1,K2……K8均打开时,V0=8IR,现取IR=1V,则V0=8V。
当水位上升到Kn处时,浮子推动磁体M移动到干簧管Kn,Kn接通。
经过OP缓冲,输出电压V0=(n-1)V。
输出端经ADC0809转换后直接输入到单片机。
当水位达到最高的位置时候,单片机会控制电磁阀停止向水箱加水,并且在LED显示“水已满”字样。
图2.1方案一
2.1.2方案二
温度传感器的选择。
传感器DS18B20,它和微处理器连接时仅需要一采用一条总线,它是由美国Dallas半导体公司生产的数字化温度条口线,即可实现微处理器与DS18B20的双向通讯。
全部的传感元件和转化电路都集成在一只形如三极管的集成电路。
我们可采用DS18B20采集温度,然后在LED显示电路上显示。
该设计外围的电路比较简单,只需通过DS18B20进行采集的温度,一个LED显示的电路,软件设计的部分只需要采集温度,再对温度进行转化,最后用显示电路将它显示出来。
我们知道,环境对DS18B20的影响不大,同时DS18B20测量的精度稳定并且可用软件设置、接线非常简单,从而节省了单片机数据的串口。
水位采集系统的选择。
使用5根不锈钢针置于水箱中5种不同高度的位置上,当某根钢针不接触水面的时候,输出为高电平;当它与水面接触的时候则输出为低电平[11]。
它们的输出信号接五个反向器CD4069,经过CD4069反向并且经过74LS244驱动后分别接入89S52单片机的P3.0-P3.4脚。
单片机将对这些引脚进行判断之后,在LED上显示相对应的值。
显示总分为5档,每档为满水位的20%。
2.2方案的选择
本设计主要从温度传感器的选择考虑。
传统测温的元件有热电偶和热电阻,它们测出的一般是电压,然后转换成对应的温度,这就需要较多的外部硬件的支持,电路及软件的调试比较复杂,制作难度比较高,成本相对也比较高。
从以上两种的方案中,可以看出采用方案二,所设计的电路较简单,采用的温度传感器DS18B20作为检测温度的元器件,测温围为-55℃~125℃,分辨率最大的可达0.0625℃。
DS18B20可以直接读出被测的温度值。
采用单线制与单片机相连,极大的减少了外部硬件电路,具有低成本与易使用的特点。
方案2比方案1的设计原理简单,硬件要求较少,成本较低,而且方案2省去了方案1中的A/D转换器,操作起来比较方便,方案2在软件的设计中也比方案1来得更加的简洁明了。
因此水位的采集系统选择采用方案2。
3硬件设计
3.1系统总体硬件框图与工作原理
经对所要设计控制系统的功能要求进行分析,可得到系统的总体的硬件设计框图,如图3.1所示。
从系统的总的框图,可看出该系统的工作原理为:
以单片机89S52作为控制核心,并且协调整个系统的工作,通过数字温度传感器DS18B20检测当前的水温,由于是数字信号就可以直接送入单片机89S52[13],经过单片机的处理在LED七段数码管上显示所测的当前的温度值。
另外一路是在水箱中的五根不锈钢针,它们输出的信号经过反向并通过驱动再送入单片机89S52进行处理,在LED数码管上显示当前的水位值。
按键用来设定温度显示和水位显示的转换,可以进行手动加热和手动加水,自动上水方面是通过设置水位的上下限,当水位小于下限的时候就会闭合电磁开关,开始上水,当水位达到上限时就会自动断开电磁开关,停止上水。
温度与水位的值在时时检测,达到控制目的。
图3.1系统框图
3.2温度传感器
DS18B20的主要特性
DS18B20有三个主要部件,分别为64位激光刻制的唯一ROM序列号、温度传感器及非易失性温度报警触发器TH、和TL。
DS18B20通过单总线结构,仅需一个引脚即可实现数据的发送或接收。
另外,用于DS18B20的供电电源可以从数据线本身获得,无线外部电源,每个DS18B20在出厂时,都有唯一的一个ROM序列号,可以将多个DS18B20同时连接在一根单总线上,从而实现多点分布温度测量。
DS18B20以其简单方便的接口,广泛应用于温度测量、温度控制、数字温度计和热感测系统中。
DS18B20的主要特点如下:
1)1——wire单总线接口,通信仅需要一个I/O端口引脚;
2)每个器件具有唯一的、储存在片ROM的64位序列码;
3)多节点检测功能简化了分布式温度检测应用;
4)使用简单方便,无需外部原件;
5)电源电压围为3.0——5.5V,可选择由数据线供电;
6)可测量的温度围-55——+125摄氏度;
7)9位数字温度计分辨率;
8)在-10——+85摄氏度温度围具有正负0.5摄氏度的高精度;
9)最大温度转换时间为750ms;
10)用户可编程的非易失性报警设置;
11)报警搜索命令能够自动识别和寻址温度超出设定门限之外的器件;
12)适合于包括温度测量、温度调节装置控制、工业系统、消费类产品、温度计及任何温度敏感系统的应用。
DS18B20的外形
DS18B20的外形及引脚排列和封装形式图如图3.2所示
图3.2DS18B20的封装引脚图
GN地信号
DQ数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
VDD当工作于寄生电源时,此引脚必须接地。
DS18B20的结构
DS18B20有三个主要的数字部件:
1)64位激光ROM,
2)温度传感器,
3)非易失性温度报警触发器TH与TL。
器件用以下的方法从单线通讯的线上获得电源:
当信号线处在高电平的时候,它能够把能量储存在其部的电容里,当信号线处在低电平的时候,消耗掉电容上的电能进行工作,一直到,高电平的到来,然后再给寄生的电源(电容)充电。
DS1820也可以用外部5V电源供电。
图3.3DS18B20的部结构
DS18B20单纯的通信功能是分时完成的。
其中单线信号包括复位脉冲和响应脉冲,写“0”,写“1”和读“1”。
它们都有严格的时隙概念。
系统对DS18B20的操作以ROM命令和存储器命令的形式出现。
对它操作的协议是:
初始化DS18B20-发复位脉冲信号-发ROM的功能命令-处理数据信号-发存储器的命令处理数据,各种的操作都有相应的时序图。
DS18B20在使用的时候,一般都是采用单片机来实现数据的采集。
只需将DS18B20的信号线与单片机1位I/O口相连,且单片机的1位I/O线可以挂接多个DS18B20,也就是可以实现单点或多点温度的测量。
DS18B20传感器精度高、互换性好,而且它直接将温度的数据进行编码,可只使用一根电缆来传输温度数据,通信方便简单,传输的距离远且抗干扰性强,与传统的温度传感器系统相比起来系统得以简化。
系统的扩充维护十分方便。
DS18B20的电源供电方式
1)DS18B20寄生电源的供电方式电路
DS18B20寄生电源的供电电路,如图3.4所示,想让DS18B20精确的进行温度的转换,I/O口必须保证在温度转换的期间能够提供足够的能量,因为每个DS18B20在温度转换的期间工作的电流达到1mA,当几个温度传感器同时挂在一根I/O线上进行多点测温的时候,仅靠上拉电阻是没有办法提供足够的能量,因而会造成无法转换温度或者温度误差极大。
因此,图3.5电路只适用于单一的温度传感器测温,不宜采用电池供电的方式,并且电源的电压必须是稳压5V。
当电源的电压下降的时候,使测量的误差变大。
图3.4DS18B20寄生电源供电电路图3.5DS18B20外部供电单点测温电路
2)DS18B20外部电源的供电方式
DS18B20外部供电的单点测温电路,如图3.4所示,DS18B20外部供电的多点测温电路,如图3.6所示。
此时I/O口不需要上拉电压,而且在总线上可以挂多个DS18B20传感器,组成多点的测温系统。
但需要注意的是在外部供电的方式下,传感器的GND引脚不能够悬空,否则读取温度显示总是85℃。
图3.6DS18B20外部供电多点测温电路
通过比较上述的两种供电方式后,认为外部电源供电的方式对电源的要求比电源供电的方式优越些而且稳定性好。
DS18B20的数据操作
1-wire总线将通信时使用的引脚减少到只有一根,在数据传输时需要满足特定的格式才能进行。
1-wire总线通信的第一步是选择1-wire设备,然后1-wire主机发送各种命令来进行数据传输。
1)rom操作命令
1-wire总线协议选择1-wire设备,主要是读取部的64位ROM序列号。
在实际的通信过程中,1-wire主机通过如下5个ROM操作命令来实现。
a读出ROM序列号命令(代码为33H),用于读出DS18B20的64位激光ROM序列号。
b匹配ROM序列号命令(代码为55H),用于识别(或选中)某一特定的DS18B20并进行后续操作。
c搜索ROM序列号命令(代码为F0H),用于确定1-wire总线上的节点数,以及所有节点设备的ROM序列号。
d跳过ROM序列号命令(代码为CCH),用于等命令发出后,系统将对所有DS18B20进行操作,通常用于启动所有DS18B20进行温度转换之前,或1-wire总线中仅有一个DS18B20时。
e温度报警搜索命令(代码为ECH),用于识别和定位系统中超出用户设定的报警温度界限的节点设备。
2)存储操作命令
a温度转换命令(代码为44H),用于启动DS18B20进行温度测量。
温度转换命令被执行后,DS18B20进行温度测量和转换。
b复制暂存器命令(代码为48H),用于将高速暂存器中的容复制到DS18B20的E2PROM中,即把温度报警器触发字节复制到非易性存储器中。
c写暂存器命令(代码为4EH),用于将数据写入DS18B20高速暂存器的地址2(TH字节)和地址3(TL字节)。
当DS18B20执行写暂存器命令时,可以通过复位命令来中止写入。
d重读E2PROM命令(代码为B8H),用于将存储在非易失性E2PROM中的容重新读入到存储器中
e读电源命令(代码为B4H),用于读取DS18B20的供电方式。
读电源命令执行后,通过读命令,将返回其供电模式,“0”表示使用寄生电源,“1”表示使用外部电源。
f读暂存器命令(代码为BEH),用于读取高速暂存器中的容。
从高速暂存器字节0开始,最多读取9B。
在读暂存器命令执行的过程中,1-wire主机可以在任何时间发出复位命令来中止读取。
DS18B20的温度转换操作
DS18B20为9位数字温度分辨率,精度为0.50C,其温度数据格式如表3-2-5所示。
DS18B20的温度与数据对应关系,如表3.7所示,所有的数据都是以最低有效位(LSB)在前的方式进行读写的。
表3.7DS18B20温度寄存器的数据格式
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
LSB
Bit15
Bit14
Bit13
Bit12
Bit11
Bit10
Bit9
Bit8
MSB
S
S
S
S
S
S
S
S
表3.8DS18B20的温度与数据对应关系
温度
数据(二进制数)
数据(十六进制数)
+1250C
0000000011111010
0x00FAH
+250C
0000000000110010
0x0033H
+0.50C
0000000000000001
0x0001H
00C
0000000000000000
0x0000H
-0.50C
1111111111111111
0xFFFFH
-250C
1111111111001110
0xFFCEH
-1250C
1111111110010010
0xFF92H
DS18B20通过温度转换命令启动一次温度测量。
测量结果存放在高速暂存器中,占有暂存器字节0(LSB)和字节1(MSB0)。
由于DS18B20可以测量正负温度,因此,测量数据是以16位带符号位扩展的二进制补码形式存放的。
1-wire主机使用读暂存器命令可以把高速暂存器中的测量结果读出。
DS18B20的时序
1)复位
图3.8复位
单片机在t0时刻发出一复位的脉冲(最短为480us的低电平的信号),接着在t1时刻,释放总线然后进入接收的状态,当DS18B20检测到了,总线地上升沿后,会等待15-60us,接着DS18B20在t2的时刻会发出存在的脉冲(低电平将持续60-240us),如图3.8中虚线所示。
2)写操作
图3.9写操作
当单片机将总线t0时刻从高电平拉至低电平的时候,就产生写时间隙。
见上图,从t0时刻开始15us之应把所要写的位及时送到总线上。
DS18B20在t0后15-60us间会对总线采集样本数据,若低电平写入是0;若高电平,写入的是1。
连续写2位间的间隙应大于1us。
3)读操作
图3.10读操作
当单片机将总线t0时刻从高电平拉到低电平的时候,总线只需要保持,低电平4us之后,在t1的时刻会将总线拉高,会产生读的时的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89S52 太阳能热水器 控制系统 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)