一 绪论
我国能源发展工作正处在关键的历史时期,太阳能利用技术是可再生资源领域推广应用最普遍技术之一,太阳能是新能源,清洁、无限、安全,太阳能热水器应用最为广泛。
近年来,我国国内的太阳能热水器市场开始进入快速增长期,以每年20%-30%的速度递增,太阳能光热应用面积已占到全球的76%,是整个欧美地区的4倍之多。国外各个国家对太阳能新能源的利用也非常重视,现在欧洲、美国和日本等先进国家也积极推进太阳能应用技术[1]。
目前我国大多数太阳能热水器使用方便,节能,但功能单一,操作较复杂,控制起来不能达到理想效果,只有温度、水位、时间的显示功能,而对其控制的智能化水平不高。即使热水器具有辅助加热功能,也可能由于加热时间不能控制而产生过烧,从而浪费电能。鉴于此,为了使使用者可以根据自己的需求将水温、水位调节到所需值,而且通过显示屏可知道实时水温、时间、水位,特对太阳能热水器控制器进行研究。
本文介绍的太阳能热水器以微控制器AT89C51单片机为检测控制核心,采用DS12887实时时钟,实现24小时定时和实时显示功能。采用8个LED数码管实现对时间、温度、水位的实时显示,而且具有4个按键,可以实现对水温、加热和加水的设定[5]。
太阳能热水器控制系统由数据采集系统和微控制器组成。数据采集系统由水温传感器和水位传感器组成,采集水温和水位的信息。微控制器AT89C51接受到水温,水位信息后通过A/D转换器ADC0809进行模数转换后,AT89C51对其数据进行处理并显示,同时实时时钟DS12887为系统提供准确的基准时间。
二 太阳能热水器的结构介绍
此太阳能热水器控制系统在太阳能热水器的储水箱内增加了一个电加热器,它的作用是在连续阴雨或者寒冷季节时,给水箱内胆的水加热,使其达到用户的使用要求[3]。
水位、温度探测器从保温储水箱的另一侧放入水箱的内胆,通过电缆线接入用户的智能控制器。上水电磁阀是系统上水的直接控制器件,它接受智能控制器的信号,实现自动上水,水满自止的功能。
进行管道排空时,由控制系统关闭排空控制阀,打开热水开关和沐浴开关,将管道中的水放掉;用水时则打开排空控制阀。系统自动上水时,通过上水电磁阀上水,不用该系统控制时,通过打开冷水开关和热水开关上水。水流电开关用于检测沐浴开关是否打开、是否有水的流动,当沐浴开关打开用水时,系统自动停止上水、切断辅助电加热器的电源。
在上、下水管外加伴热带和保温材料,防止寒冷季节,管道的冻堵,影响用户的使用,
如图2-1所示[2][3]。
图2-1 太阳能热水器控制系统图
三 太阳能热水器控制系统设计原理
太阳能热水器控制系统主要包括89C51单片机系统,DS12887实时时钟芯片、储水箱水位温度检测接口、控制键及串行显示、硬件看门狗和复位接口电路及继电器输出接口电路等。
储水箱水位温度检测接口是数据采集系统,数据采集系统由水温传感器和水位传感器组成,采集水温和水位信息。水温检测是利用热敏电阻搭成电桥,先经过集成运算放大器进行放大,再送入A/D转换器把该模拟量转换为数字量送入AT89C51进行处理,从而完成温度的检测。所用热敏电阻为标称电阻为10K的负温度系数的热敏电阻。对于电桥的差压信号放大采用了性能稳定的集成运算放大器CF741[4][5]。
使太阳能热水器具有自动控制功能的是微控制器,微控制器中是由89C51单片机、A/D转换器、82C55扩展芯片、DS12887实时时钟芯片组成。其控制过程是:通过储水箱水位、水温检测部分获得水位、水温信息,经A/D转换器送入AT 89C51单片机,AT89C51对其数据进行处理后发送给显示器,显示器是LED,实现了水温、水位的显示,在通过相关软件完成对水温、水位的设定;采用DS12887实时时钟芯片为系统提供准确的基准时间,经CPU AT 89C51处理后送显示器,实现了时间的显示,同时发送信号给继电器、电磁阀,分别与设定的温度、设定的水位进行比较,决定继电器、电磁阀是否工作。
本系统还采用了一系列抗干扰技术使其工作更可靠。系统具有蜂鸣器,在系统处于不安全状态时,自动报警。
如太阳能热水器控制系统设计框图3-1所示。
图3-1 太阳能热水器控制系统设计框图
AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。
AT89C51是一个低功耗高性能单片机,40个引脚见图3-2 AT89C51引脚图,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
图3-2 AT89C51引脚图
在单片机应用系统中需要大量I/O接口,用82C55扩展芯片扩展3组8位I/O端口来满足LED显示,键盘输入。
DS12887内部由振荡电路,分频电路,周期中断/方波选择电路,14字节时钟和控制单元,114字节用户非易失RAM,十进制/二进制计加器,总线接口电路,电源开关写保护单元和内部锂电池等部分组成。
四 太阳能热水器控制器软件设计
软件的主要功能是完成对硬件的控制,从控制器的功能和硬件设计看出,软件部分可以分成系统初始化,模拟输入,控制逻辑处理,键盘处理和LED显示和计时等。系统程序主要由主程序,控制子程序,键盘子程序,显示子程序等组成[6][7]。
4.1主程序
主程序流程图,控制子程序,如图4-1,图4-2所示。主程序首先完成对串行口,定时器,中断源的初始化,设置初始运行参数,开中断,检测系统是否漏电,然后循环读取键盘状态,读取水温、水位的信息使控制器采取相应措施,处于安全状态,一旦检测到系统漏电则进行声音和显示报警,将所有机构断电。
图4-1 主程序流程图
图4-2 控制子程序流程图
控制子程序将检测到的水温,水位信息显示,使用户知道,然后用户选择打开水流开关,控制器自动将水加到安全挡位,避免了干烧等情况。当水位达到安全状态时,系统会自动关闭电磁阀,然后用户根据热水器实际温度选择是否使用辅助加热系统。
4.2控制系统的模数转换
控制系统模数转换接口如图4-3所示。ADC0809具有8位A/D转换器。8路多路开关与微型计算机兼容的控制逻辑CMOS组件,转换方法为逐次逼近式。 ADC0809采用查询方式进行模数转换,ADC0809的时钟信号来自AT89C51单片机的ALE信号。P2.5控制A/D转换器的启动与结束后数字量的读取.ADC0809的地址锁存允许端和启动端(START)相连.由P2.5和 信号经与非门提供的信号使 Q0—Q2提供的3个通道地址送入ADC0809中进行锁存,当转换结束时EOC输出高电平,作为查询信号[6]。
4.3控制系统的显示和键盘
4.3.1单片机与82C55的键盘和显示
键盘和显示电路如图4-4所示。单片机所用的是8位动态显示电路。LED显示器一般分为共阴极和共阳极两种,共阴极是将8个发光二极管阴极连接在一起作为公共端,而共阳极是将8个发光二极管的阳极连接在一个作为公共端。本系统8个LED数码管采用共阴极连接。数码管的公共端相当于一个总开关,一般称为位码开关,当它为高时,数码管全灭,当它为低时,根据发光二级管阳极的状态,高电平,该段亮;低电平,该段不亮。输出一个段码就可以控制LED显示器的字形[6]。
在完成对82C55的初始化后,取出一位要显示的数,利用软件译码的方法求出待显示的数所对应的7段显示码,然后由PA口输出。82C55的PA口输出显示字符的段码,PB口选择要显示的位码。
在单片机系统中,LED显示接口一般采用静态扫描和动态扫描两种驱动方式。静态驱动方式工作原理是每一个LED显示器用一个I/O端口驱动,亮度大,耗电也大,占有I/O端口多,显示位数多时很少采用;动态扫描驱动方式的工作原理是将多个显示器的段码同名端连在一起,位码分别控制,利用眼睛的余辉暂留效应,分别进行显示。只要保证一定的显示频率,看起来的效果和一直显示是一样的。在电路上用一个I/O端口驱动段码,用另一个I/O端口实现位控,占用I/O端口少,耗电也少,简化了电路,降低了成本,显示位数多时多采用这种方式。
本系统中用的是动态扫描用两个74LS164实现8个LED数码管的段驱动和位驱动。74LS164为LED提供一定驱动电流,数码管显示采用软件译码和软件动态扫描的方式,8个数码管分别显示时间(占4位,小时和分钟各占两位)、水温(两位)、水位(一位),漏电位(一位)。
键盘在单片机应用系统中是一个很重要部件,它肩负着向计算机输入数据、传送命令等重任,也是人工干预计算机的主要手段。因此选取键盘工作方式时,须考虑既要保证单片机及时响应键盘操作,又不要影响单片机实时控制时间。
82C55的PC口用于连接4个按键,分别是加水开关、加热开关,以及控制温度的增减键。采用软件方式去除抖动。其中加热开关是用户根据显示的实际温度,选择是否采用辅助加热,加水开关是用户选择是否加水,水温控制按键分别用于选择设定参数类型的“预置增”,“预置减”。每按一次预置键则变化相应一个单位,水温每按一次增加或减少1度。单片机通过82C55的PC口读取按键状态,当第一次检测到有键按下时,先用软件延时(10ms~20ms)而后再确认该键电平是否仍维持闭合状态电平,若保持闭合状态则确认此键确已按下,从而消除了抖动的影响。去除抖动后得到按键状态,根据按键状态得到用户输入的键值,然后根据不同的键值进行处理。每一个键接一根输入线,各键的工作状态互不影响,采用软件查询实现键盘接口。还根据目前设置的参数进行保存(保存在DS12887的RMA)中,按确认键后,当前的设定值代替原来的设定值,若不按“确认”键,原来的设定值不变,当超过20S无键按下时,则控制器自动退出设定状态,显示部分根据控制器的工作状态和用户的操作情况进行显示[6]。显示和键盘具体的面板控制图见4-5。
图4-3 控制系统数模转换接口图
图4-4 键盘和显示接口图
4.3.2键盘控制面板示意图
图4-5 键盘控制面板示意图
4.3.3显示子程序流程图
图4-6 显示子程序流程图
4.3.4显示子程序
ORG: 0000H
Mov DPTR, ﹟0F700H
Mov A, 03H
Movx @DPTR ,A
DISPLY : Mov R0, ﹟30H ;显示缓冲区首地址送R0
Mov R2 ﹟2H ;位选码指向最左一位
DISPLY1: Mov A, @R0 ;取出要显示的数
Mov DPTR, ﹟SEGTBL ;指向换码表首址
Mov A, @A+DPTR ;取出显示码
Mov DPTR, ﹟0F701H ;从89C51 A口输出显示码
Movx @DPTR ,A ;从89C51 B口输出位选码
Mov A, R2
INC DPTR
Movx @DPTR ,A
ACALL D1MS ;延时1ms
Mov A, R2
JNB ACC.6 DISPY2 ;8位都显示完了吗?未完,继续显示
RET
DISPLY2: INC R0 ;求下一位待显示的数的存放地址
Mov A, R2
RR A ;求下一位选码
Mov R2 , A
AJMP DISPLY1
DIMS: Mov R6 , ﹟02H
DL0: Mov R7, ﹟0FFH
DL1: DJNZ R7, DL1
DJNZ R6, DL0
SEGTBL: DB 3FH ;对应十字符0
DB 06H ;对应十字符1
DB 5BH ;对应十字符2
DB 4FH ;对应十字符3
DB 66H ;对应十字符4
DB 6DH ;对应十字符5
DB 7DH ;对应十字符6
DB 07H ;对应十字符7
DB 7FH ;对应十字符8
DB 67H ;对应十字符9
4.3.5 键盘子程序流程图
图4-7 键盘子程序流程图
4.3.6键盘子程序
ORG: 0000H
AJMP MAIN ;上电后自动转向主程序
ORG 0003H ;外部中断0入口地址
AJMP KEYJMP ;指向键处理中断服务程序
ORG 0100H
MAIN: SETB IT0 ;选择边沿触发方式
SETB EX0 ;允许外部中断0
SETB EA ;允许CPU中断
Mov DPTR,﹟F700H ;指向89C51 命令口
Mov A,﹟02H
Movx @DPTR ,A ;控制字写入命令寄存器
HERE: AJMP HERE ;模拟主程序
中断服务程序:
ORG: 0200H
KEYJMP: Mov R4 , ﹟06H ;设循环次数
Mov DPTR,﹟F701H ;指向89C51 A口
Mov R5, ﹟00H ;计数寄存器清零
Movx A, @DPTR ;读入状态字
KYAD1: RRC A
JNC KYAD2 ;PA口=0,转向KYAD2
INC R5 ;计数器加1
DJNZ R4 ,KYAD1
RET1
KYAD2: Mov DPTR,﹟JMPTABL
Mov A , R5
RL A
JMP @A+DPTR ;转到响应功能键入口地址表指针
JMPTABL: AJMP SB0 ;分别转到6个功能键响应入口地址
AJMP SB1
AJMP SB2
AJMP SB3
AJMP SB4
AJMP SB5
4.4控制系统的实时时钟
单片机的P1.0,P1.1,P1.2为电加热,电加热指示,声音报警的控制输出,高电平有效,电热水器的控制通过三极管进行功率放大后驱动大功率继电器然后 再驱动电加热丝来实现。
本系统具有24小时定时和实时显示功能,因此硬件设计上必须有一个实时时钟来为系统提供准确的基准时间,在软件上则要定时地读出当前的时间,并同美国达拉斯公司生产的DS12887实时时钟芯片。该片主要特点为:断电情况下10a以上不丢失数据,计秒、分、时、日、月、年,并具有闰年补偿功能,可用二进制数码或BCD码表示时间日历和警报,89C51通过RXD和TXD采用串行通信方式向串入并出芯片74LS164发送显示代码,从而实现时间、水位和温度的显示[4]。
实时时钟芯片DS12887是内部带有不易失性RAM的实时时钟电路,在控制器中用于实时计时并在掉电时保存用户设置的参数。DS12887的MOT脚接地。由于DS12887与AT89C51的复位信号刚好相反,所以要通过反相器进行连接。DS12887内部有地址锁存器,其与单片机的连接方式如图4-8所示。
图4-8 单片机与实时时钟接口图
4.5控制系统的蜂鸣器
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器。
蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。本文采用压电式蜂鸣器,压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。
4.6抗干扰技术
太阳能热水器控制器是用于现场控制的单片机应用系统,易受各种干扰,因此抗干扰设计比较重要,其方法是:采用集成稳压模块来保证供电的稳定性,防止电源系统的过压和欠压;利用低通滤波器滤去高次谐波以改善电源波形,采用小电感大电容构成的滤波网络。地线以降低导线电阻,地线宽度应在2~5mm以上,线构成闭环路,降低线路阻抗,从而减少干扰,在电源线与地线之间、集成芯片的电源线与地线之间并接去耦电容,安装电容时,务必尽量接近电容的引线在PCB设计时,数字地和模拟地要分开,分别与电源端地线相连,同时加宽电源线和地线,并且尽量使电源线、地线的走向与数据传递的方向一致;设计中将所有器件的地接于一点,使接地构成环路,减少接地电位差,从而减少干扰。
在软件设计时,首先采用硬件“看门狗”电路与软件“看门狗”技术相结合,当系统陷入“死循环”时,可强迫程序返回到单片机复位入口,使系统运行纳入正规;其次,在未使用的中断区、RAM区、用户程序各模块之间空余的单元安排了软件陷阱,及时捕捉乱飞程序并将其引入复位入口地址;最后,对重要的指令采取指令冗余,对重要的数据采取数据冗余[4][10]。
五 结束语
我国能源发展工作正处在关键的历史时期,太阳能利用技术是可再生资源技术领域推广应用最普遍技术之一,其中以太阳能热水器应用更为广泛。太阳能热水器技术的飞速发展给我国能源节约和发展带来了挑战,更带来了机遇。
如何把握机遇使太阳能热水器既能实现能源节约也能实现人性化控制是我们当前面临的问题。目前,许多专家学者已对太阳能热水器控制系统进行了广泛的研究,而此文介绍的太阳能热水器得用标准型单片机AT89C51作为核心控制器,采用实时时钟组成控制系统。AT89系列单片机是ATMEL公司的8位Flash单片机系列,最大特点是在片内含有Flash存储器,在省电和特殊信息保存的仪器和系统中特别有用,这是用户特别愿意接受的。因此,此太阳能热水器控制系统不仅具有有控制精确、方便的特点,而且易于控制,具有良好的抗干扰能力。
在设计控制过程中,由于作者知识有限,虽然实现了对水温的控制,但由于未对用户所需的加热时间进行充分的调查,不了解加热时间的时段,及具体的加热温度和加热时间的协调性,故未对加热时间进行设计,显示程序,键盘程序与目前水平有一定差距,还有待改进。
谢 辞
在这半年中,无论是论文的选题,设计还是开展相应的研究工作以及论文的撰写,指导老师田xx都给予了极大的关怀和悉心指导。她严谨的治学态度,渊博的学识,敏锐的思维以及丰富的经验,深深的影响和教育着我。可以说没有她的耐心讲解和帮助,就没有这篇论文的问世。所以,在此向田老师致以衷心的感谢。
此外,在论文的撰写过程中,测控教研室的各位老师给我提出了许多宝贵的建议和热忱的帮助,特别是齐xx老师在论文的撰写期间给予了大力的支持和多方面的帮助,在此一并向他们表示诚挚的感谢。
最后衷心感谢帮助和支持过我的各位老师和同学们!
参考文献
[1] 张媛.王景良.朱天利.太阳能热水器的发展前景. 天津建设科技,2004, N0.4: 33~34
[2] 何梅生.方宏发.季立仁等.太阳能热水器上水的控制方法.RURAL ENERGY,总第61 期,1995年第3期:30~31
[3] 王俊杰.基于89C51单片机的太阳能热水器智能控制器的设计.郑州轻工业学院学报(自然科学版),2005年8月,第20卷第3期:67~68
[4] 张学峰.基于单片机控制的太阳能热水器全自动电路.现代电技术,2005,总第195期,第4期:5~9
[5] 刘志勇.苏庆勇.太阳能热水器的节水及自动控制装置.桂林航天工业高等专科学校学报,总第27 期,2002年第3期:20~21
[6] 潘新民.王燕芳.微型计算机控制技术.北京:北京航空航天出版社,2004.8:20~60
[7] 于海生.微型计算机控制技术.北京:清华大学出版社,2002:1~30
[8] 余永权.89系列单片机应用技术.北京:北京航空航天出版社,2002.4:1~30
[9] 王仙娟.孙平.基于单片机的太阳能热水器智能仪.仪表技术,2005年第1期:49~51
[10] 马云峰.马海峰.陈子夫.基于单片机的太阳能热水器辅助控制系统.相约单片机:35~36
[11] Butti K. and Perlin J.(1997) Solar Water Heaters in California 1890-1930;The Co-Evaluation Quarterly,4-13,Published by the Whole Earth Catalog.
[12] Sukhatme S.P.(1984) Solar Energy Principles of Thermal Collection and Storage, Tata Mc Graw-Hill Publishing Company Ltd. New Delhi