太阳能热水器水温控制与水位显示系统.docx
《太阳能热水器水温控制与水位显示系统.docx》由会员分享,可在线阅读,更多相关《太阳能热水器水温控制与水位显示系统.docx(44页珍藏版)》请在冰豆网上搜索。
![太阳能热水器水温控制与水位显示系统.docx](https://file1.bdocx.com/fileroot1/2023-2/9/e77faad1-00c8-448f-96bd-8eecdab6b032/e77faad1-00c8-448f-96bd-8eecdab6b0321.gif)
太阳能热水器水温控制与水位显示系统
摘要
随着全球人口和经济规模的不断增长,能源使用带来的环境问题及其诱因逐渐为人们所认识,“低碳经济”这一概念开始进入人们的视野。
太阳能具有储量的“无限性”、存在的普遍性,并且几乎不产生任何污染。
鉴于此,人们在大力的发展太阳能产业。
太阳能热水器顺应时代发展的要求,满足人们对环保绿色产品的需求。
在人类文明程度日益提高的今天,它是现代文明社会的最佳选择。
本文提出了一种新型的太阳能热水器控制系统设计方案。
本设计采用MSC-51系列单片机AT89S52作为中央处理器,采用DS1302实时时钟,12864点阵式液晶显示屏等模块,完成时间温度水位的显示,以及时间和温度的设定等功能。
关键词:
太阳能热水器;单片机;实时时钟;液晶显示屏
ABSTRACT
Astheglobalpopulationandeconomicgrowth,energyuseofenvironmentalproblemsandcausesgraduallyrecognized,"low-carboneconomy,"theconceptbecamepartofthepeopleofvision.Solarenergyhasreservesofthelimitless",theuniversalityofexisting,andalmostdoesnotproduceanypollution.Inviewofthis,peopleinthedevelopmentofsolarenergyindustry.Solarwaterheaters,inconformitywiththerequirementsofthetimes,aremeetingthedemandforgreenproducts.Inhumancivilizationincreasinglytoday,itisamoderncivilizedsociety.
Anewsolarwaterheatercontrolsystemdesign.ThisdesignincorporatesMSC-51MCUAT89S52ascentralprocessors,areal-timeclockusingDS1302,12864,dot-matrixLCDmodule,completiontimedisplayofthetemperaturelevel,aswellasthetimeandtemperaturesetting.
Keywords:
Solarwaterheater;chip;clock;LCDscreen
1前言
在我设计太阳能热水器的控制系统之前,首先了解一下太阳能热水器的组成与工作原理,了解一下太阳能热水器的基本构架和工作过程,以及太阳能热水器发展概况和深远利用价值。
1.1太阳能热水器的组成与工作原理
图1.1热水器装置简图
1-集热器2-下降水管3-循环水管4-补给水箱5-上升水管6-自来水管7-热水出水管
热水器主要由集热器、循环管道和水箱等组成,图中为典型的热水器装置图。
图中集热器1按最佳倾角放置,下降水管2的一端与循环水箱3的下部相连,另一端与集热器1的下集管接通。
上升水管5与循环水箱3上部相连,另一端与集热器1的上集管相接。
补给水箱4供给循环水箱3所需的冷水。
集热器吸收太阳辐射后,集热器内温度上升,水温也随之升高。
水温升高后,水的比重减轻,便经上升水管进入循环水箱上部。
而循环水箱下部的冷水比重较大,就由水箱下流到集热器下方,在集热器内受热后又上升。
这样不断对流循环,水温逐渐提高,直到集热器吸收的热量与散失的热量相平衡时,水温不再升高。
这种热水利用循环加热的原理,因此又称循环热水器。
集热器是一种利用温室效应,将太阳能辐射转换为热能的装置,该装置与一般热水交换器不一样,热交换器通常只是液体到液体,或是液体到气体的热交换过程,而平板行集热器时直接将太阳辐射传给液体或气体,是一个复杂的传热过程。
平板型集热器结构形式很多,世界上已实用的集热器就有直管式、瓦楞式、扁管式、铝翼式等二十多种。
1.2太阳能热水器的发展概况及市场竞争分析
我国自78年引进全玻璃真空集热管的样管以来,经过20多年的努力,攻克了热压封等许多技术难关,已经建立了拥有自主知识产权的现代化全玻璃真空集热管产业,用于生产集热管的磁控溅射镀膜机已有745台,产品质量达到世界先进水平,产量雄居世界首位。
1978年中国诞生第一台太阳能热水器,到1986年卧式磁控溅射镀膜机的设计制造,是在政策扶持下的研究开发阶段。
1987年,我国制造了第一支全玻璃真空集热管。
在之后的几年里,全玻璃和热管式真空管集热器实现了产业化,产业规模达到中试水平,为下一阶段产业的规模化奠定了良好的基础,成为产业的孕育发展阶段。
1993年太阳能产业进入初级发展阶段:
由于成果转化需要很长一段时间的磨合,特别是受技术人员缺乏的影响,此阶段的产品质量有待于进一步提高,整体来讲,发展速度较为缓慢。
这时候以山东力诺集团为主的真空管生产企业的产品占了真空管生产绝大部分市场。
1997-2001年太阳能产业得到高速发展,逐渐形成北京、鲁东、泰安、扬州、海宁等5个产业基地,并以此向周围不断辐射,产能得以迅速提升。
目前,我国是世界上太阳能热水器生产量和销售量最大的国家。
太阳能热水器是太阳能利用中最常见的一种装置,经济效益明显,正在迅速的推广应用,太阳能热水器能够将太阳辐射能转换热能,供生产和生活使用。
当今社会发展日新月异,人们衣食住行也在不断的提高。
现有电热型热水器费用昂贵及燃气型热水器的不安全性,且排放二氧化碳污染大气,北方用煤气取暖造成城市空气环境污染,这些都是太阳能热水器良好的外部生存环境。
太阳能热水器克服了上述缺点,他是绿色环保产品。
它使用简单、方便。
太阳能热水器顺应时代发展的要求,满足人们对环保绿色产品的需求。
1.3太阳能热水器的应用及意义
资源是社会经济发展的物质基础,经济愈发展,对资源的依赖性愈强。
许多资源(如煤、石油、天然气等)是不可再生的,而且在利用过程中给人类生存环境带来极大污染,人类繁衍生息的物质和环境基础受到严峻挑战。
加强清洁、可再生资源的开发利用,已引起全世界的普遍重视。
太阳能作为一种取之不尽、用之不竭的可再生资源,有节能、环保、安全和永续利用等优点,理应成为开发利用的首选。
其中太阳能热水器作为家庭生活用品,其开发利用在我国已走过了二十多年的历程,生产技术成熟,具有明显优点:
(一)从节能环保的角度讲,使用太阳能热水器不会对环境造成污染,同时为国家节约了大量能源,社会效益明显,是国家重点推广项目,使用前景广阔。
(二)太阳能热水器的使用寿命较长,使用太阳能热水器经济实惠。
若使用合理,其寿命可达15年甚至更长。
据测算,使用1平方米太阳能热水器,相当于每年节约310度电。
太阳能热水器的费用只有燃气热水器的七分之一,电热水器的六分之一。
购置太阳能热水器一次性投资3000元左右,使用5至6年就可实现与其热水器的支出对比平衡。
按照装置寿命15年计算,其经济效益是十分明显的。
(三)太阳能热水器集热效果好,集热时间更长。
只要阳光能照射到的地方,就可以使用太阳能热水器,即使在高寒地区一年四季也可以正常使用。
在我国浙江、江苏、山东等地,太阳能热水器的研发和生产已形成规模,应用太阳能热水器的场所也由家居使用扩展到医院、学校、宾馆、饭店、游泳池、洗浴场所等。
2太阳能热水器控制系统的硬件设计
2.1主控芯片模块
2.1.1主控芯片模块电路
单片机系统由AT89C52和一定功能的外围电路组成,包括为单片机提供复位电压的复位电路,提供系统频率的晶振。
这部分电路主要负责程序的存储和运行。
对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、谐振器的稳定性、起振的快速性和温度的稳定性。
晶体可在1.2MHz~12MHz之间任选,电容C1和C2的典型值在20pF~100pF之间选择,但在60pF~70pF时振荡器具有较高的频率稳定性。
典型值通常选择为30pF左右,但本电路采用30pF。
AT89C52的复位是由外部的复位电路来实现的。
复位电路通常采用上电自动复位和按钮复位两种方式。
本设计中所用到的是上电按钮复位,如图2.1所示。
图2.1单片机系统
2.1.2主控芯片简介
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止[1]。
8位微控制器8K字节在系统可编程FlashAT89S52。
图2.2为AT89S52的引脚图
图2.2AT89S52的引脚图
AT89S52引脚功能说明如下:
VCC:
电源电压
GND:
地[2]
P0口:
P0口是一个8位漏极开路的双向I/O口,也即地址/数据总线复用口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0内部上拉电阻被激活。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动(吸收或输出电流)4个TTL逻辑门电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表2.1所示。
在flash编程和校验时,P1口接收低8位地址字节。
表2.1P1口第二功能
端口引脚
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(TTL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口的第二功能如表2.2。
表2.2P3口的第二功能
端口引脚
第二功能
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.4
TO(定时/计数器0)
P3.1
TXD(串行输出口)
P3.5
T1(定时/计数器1)
P3.2
INTO(外中断0)
P3.6
WR(外部数据存储器写选通)
P3.3
INT1(外中断1)
P3.7
RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST——复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRTO位(地址8EH)可打开或关闭该功能。
DISRTO位缺省为RESET输出高电平打开状态。
ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效[3]。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将有两次有效的PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
2.2实时时钟模块
2.2.1实时时钟模块电路
从古代的滴漏更鼓到近代的机械钟,从电子表到目前的数字时钟,为了准确的测量和记录时间,人们一直在努力改进计时工具。
钟表的数字化,大力推动了计时的精确性和可靠性。
在单片机构成的装置中,实时时钟是必不可少的部件。
目前常用的实时时钟,很多采用单片机的中断服务来实现,这种方式一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许;有的则使用并行接口的时钟芯片,如MC146818、DS12887等,它们虽然能满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂,占用地址、数据总线多,芯片体积大,占用空间多,给其它设计带来诸多不便。
本设计选取串行接口时钟芯片DS1302与单片机同步通信构成数字时钟电路,如图2.3。
其简单的三线接口能为单片机节省大量资源,DS1302的后背电源及对后背电源进行涓细电流充电的能力保证电路断电后仍能保存时间和数据信息等。
这些优点解决了目前常用的实时时钟所无法解决的问题。
该时钟电路强大的功能和优越的性能,在很多领域的应用中,尤其是某些自动化控制、长时间无人看守的测控系统等对时钟精确性和可靠性有较高要求的场合,具有很高的使用价值。
图2.3DS1302与单片机接口电路
2.2.2实时时钟简介
DS1302[4]是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。
时钟可工作在24小时格式或12小时(AM/PM)格式。
DS1302与单片机的接口使用同步串行通信,仅用3条线与之相连接。
可采用一次传送一个字节或突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行细电流充电的能力。
DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.768kHz晶振。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时,在Vcc>2.0V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
I/O为串行数据输入输出端(双向),后面有详细说明。
SCLK为时钟输入端。
控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。
位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
DS1302的复位引脚:
通过把RST输入驱动置高电平来启动所有的数据传送.RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供了终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中置RST为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。
上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7。
DS1302共有12个寄存器[5],其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。
其日历、时间寄存器及其控制字见表2.3。
表2.3DS1302的日历、时钟寄存器及其控制字
寄存器名
命令字
取值范围
各位内容
写操作
读操作
7
6
5
4
3
2
1
0
秒寄存器
80H
81H
00--59
CH
10SEC
SEC
分寄存器
82H
83H
00--59
0
10MIN
MIN
时寄存器
84H
85H
01-12或00-23
12/24
0
10
HR
HR
日寄存器
86H
87H
01-28,29,30,31
0
0
10DATE
DATE
月寄存器
88H
89H
01--12
0
0
0
10M
MONTH
周寄存器
8AH
8BH
01--07
0
0
0
0
0
DAY
年寄存器
8CH
8DH
00--99
10YEAR
YEAR
此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器的内容。
DS1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H--FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。
2.3温度传感器模块
2.3.1温度传感器模块电路
基于DS18B20多点温度测量系统以AT89C51为中心器件,以KEIL为系统开发平台,用C语言进行程序设计,以PROTEUS作为仿真软件设计而成的。
DS18B20是智能温度传感器,它的输入/输出采用数字量,以单总线技术,接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度以串口发送给主机。
主机按照通信协议用一个IO口模拟DS18B20的时序,发送命令(初始化命令、ROM命令、功能命令)给DS18B20,并读取温度值,在内部进行相应的数值处理,用图形液晶模块显示各点的温度。
在系统启动之时,可以通过4×4键盘设置各点温度的上限值,当某点温度超过设置值时,报警器开始报警,从而实现了对各点温度的实时监控。
每个DS18B20有自己的序列号,因此本系统可以在一根总线上挂接了4个DS18B20,通过CRC校验,对各个DS18B20的ROM进行寻址,地址符合的DS18B20才作出响应,接收主机的命令,向主机发送转换的温度。
采用这种DS18B20寻址技术,使系统硬件电路更加简单,图2.4所示。
图2.418B20与单片机的连接电路
2.3.2温度传感器简介
DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
DS18B20产品的特点[6]:
只要求一个端口即可实现通信。
在DS18B20中的每个器件上都有独一无二的序列号。
实际应用中不需要外部任何元器件即可实现测温。
测量温度范围在-55.C到+125.C之间。
数字温度计的分辨率用户可以从9位到12位选择。
内部有温度上、下限告警设置。
其引脚功能描述见表2.4。
表2.4DS18B20详细引脚功能描述
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源
3
VDD
可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地
64位ROM存储器件独一无二的序列号。
暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度传感器的数字输出。
暂存器还提供一字节的上线警报触发(TH)和下线警报触发(TL)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设置温度转换的精度。
暂存器的5、6和7字节器件内部保留使用。
第八字节含有循环冗余码(CRC)。
DS18B20加电后,处在空闲状态。
要启动温度测量和模拟到数字的转换,处理器须向其发出ConvertT[44h]命令;转换完后,DS18B20回到空闲状态。
温度数据是以带符号位的16-bit补码存储在温度寄存器中的[7]。
符号位说明温度是正值还是负值,正值时S=0,负值时S=1。
访问DS18B20必须严格遵守这一命令序列,如果丢失任何一步或序列混乱,DS18B20都不会响应主机(除了SearchRO