太阳能热水器.docx
- 文档编号:3810737
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:24
- 大小:644.59KB
太阳能热水器.docx
《太阳能热水器.docx》由会员分享,可在线阅读,更多相关《太阳能热水器.docx(24页珍藏版)》请在冰豆网上搜索。
太阳能热水器
太阳能热水器
辅助电加热器的设计
04053034王之阳
2008年12月5日
引言
伴随着住宅消费和人们对生活品质要求的不断提高,热水器已经成为普通中国人追求的商品。
太阳能热水器,由于太阳能可无偿使用,对环境无污染安全、可靠,无需维护并且使用寿命长,而成为国家大力提倡的环保节能型产品。
但目前市场上太阳能热水器辅助电加热器的控制系统几乎都不具有温度控制功能,有些热水器即使有此功能,也由于控制精度不高,存在过烧现象而严重浪费电能。
本文利用集成温度传感器AD590设计并制作了一款基于AT89S52单片机的太阳能热水器辅助电加热器。
将其安置在水箱里,以备阴、雨、雪天使用。
该加热器具有较高的测量精度和控制精度。
一、系统总体结构
太阳能里面另有两个温度感应器,当太阳能不足时,首先太阳能板上的传感器发挥作用,让A原副线圈工作,比和开关一,当水温不能达到一定程度的时候,另一传感器工作,让BA原副线圈工作,闭合开关二,在开关一、开关二的共同作用下,电加热器电源开关打开,单片机控制动作有效。
本辅助电加热控制器由温度检测电路、信号调理电路,A/D转换电路和单片机等组成,如图1所示。
工作原理如下:
通过温度传感器将被测温度转换成电信号,经信号调理电路放大后,由A/D转换电路转换成数字信号输入单片机,单片机对比预先设定的温度,判断是否需要开启辅助加热器,同时将温度值实时显示在LED显示器上。
二、系统硬件结构
1、单片机最小系统设计
单片机最小系统由主控器AT89S52、时钟电路和复位电路三部分组成。
单片机AT89S52作为核心控制器控制着整个系统工作。
时钟电路负责产生单片机工作所必需的时钟信号,复位电路使得单片机能够正常、有序、稳定地工作。
(1)AT89S52
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内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号
第二功能
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”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在flash编程和校验时,P3口也接收一些控制信号。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
端口引脚
第二功能
P3.0(RXD)
串行输入口
P3.1(TXD)
串行输出口
P3.2(INT0)
外中断0
P3.3(INT1)
外中断1
P3.4(T0)
定时/计数器0
P3.5(T1)
定时/计数器1
P3.6(WR)
外部数据存储器写选通
P3.7(RD)
外部数据存储器读选通
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:
当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
(2)AT89S52的时钟电路
a.时钟电路:
时钟电路由外接谐振器的时钟振荡器、时钟发生器及关断控制信号等组成。
如下图所示。
b.外部电路连接:
CPU的时钟振荡信号有两个来源:
一是采用内部振荡器,此时需在XTAL1和XTAL2脚接一只频率范围为0~33MHz的晶体振荡器或陶瓷振荡器及两只30pF/40pF微调电容;二是采用外部振荡器,此时应将外部振荡器的输出信号接至XTAL1脚,将XTAL2脚浮空。
连接图如下图所示。
(3)AT89S52的复位电路
AT89S52单片机内部有一个由施密特触发器等组成的复位电路。
复位信号是从其RST脚输入的。
ATS89S52单片机规定,当其处于正常工作状态,且振荡器工作稳定后,在RST端有从低电平到高电平,且高电平保持时间大于两个机器周期的复位信号时,CPU将响应并完成对系统的复位。
其中:
一、复位信号是高电平有效;二、高电平的保持时间必须大于两个机器周期,其保持时间与振荡频率有关。
AT89S52单片机常用的复位方式有上电复位、手动复位和看门狗定时器复位三种。
在本设计中采用的是上电复位。
①上电复位:
是指在系统上电时,RST端自动产生复位所需要的信号将单片机复位。
根据手册,其简单的上电复位电路及参数如下图所示。
上电时,RST端高电平的维持时间取决于R和C的值。
要使单片机可靠复位,必须保持该维持时间足够长。
②按键复位:
图a是单片机的按键复位电路。
在实际应用中,常将上电复位电路图与图a相结合,组成上电和手动复位电路,如图b所示。
③看门狗定时器复位:
看门狗定时器用于在程序运行的过程中,监视程序运行状况,并在单片机受到干扰进入非正常运行状态时,自动复位单片机,使其回到初始状态。
在AT89S52单片机内部有一个看门狗定时器,可以根据用户程序的正常运行周期设置该定时器的定时时间,允许其溢出信号复位单片机,启动看门狗定时器,并在程序的适当位置清空看门狗定时器。
一旦单片机进入非正常运行状态,看门狗定时器将因不能执行清空指令而溢出(即超过了设置的定时时间),并自动复位单片机,使之回到初始状态。
(4)最小系统图
2、温度采集电路设计
温控系统是保证热水器温度的控制中枢,直接影响热水器的使用性能。
若温控系统灵敏度不够,就会使热水器总是处于启动的状态,耗电量就大。
在传统的电热水器中,温度传感器多采用的是热电偶、热电阻,其灵敏度难以满足要求。
因此本系统温度传感器选用AD590。
运算放大器用LM741。
(1)AD590
它是美国模拟器件公司生产的单片集成两端感温电流源,是一种价格低廉高精度的温度传感器,具有体积小、稳定性好、测量精度高等优点,特别是其灵敏度高。
AD590测温范围为—55~+150℃,满足人们日常生产和生活中的温度范围。
AD590电源电压可在4V~6V范围变化,可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。
AD590产生的电流与绝对温度成正比,它有非常好的线性输出性能,温度每增加1℃,其电流增加1uA。
其输出电流是以绝对温度零度(-273℃)为基准,因此在室温25℃时,其输出电流Iout=(273+25)=298μA。
注意事项:
1、Vo的值为Io乘上10K,以室温25℃而言,输出值为10K×298μA=2.98V。
2、测量Vo时,不可分出任何电流,否则测量值会不准。
AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合。
由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。
(2)LM741
LM741是单片高性能内补偿运算放大器,具有较宽的共模电压范围,在使用中不会出现闩锁现象,可用作积分器、求和放大器及普通反馈放大器,LM741应用很广泛,可以构成各种功能电路。
宽范围的共模电压和无阻塞功能可用于电压跟随器。
高增益和宽范围的工作电压特点在积分器、加法器和一般反馈应用中能使电路具有优良性能。
此外,还有如下特点:
a)无频率补偿要求;b)短路保护;c)失调电压调零;d)大的共模、差模电压范围;e)低功耗。
741型运放双列直插封装的俯视图如图所示。
紧靠缺口(有时也用小圆点标记)下方的管脚编号为1,按逆时针方向,管脚编号依次为2,3,…,8。
其中,管脚2为运放反相输入端,管脚3为同相输入端,管脚6为输出端,管脚7为正电源端,管脚4为负电源端,管脚8为空端,管脚1和5为调零端。
通常,在两个调零端接一几十千欧的电位器,其滑动端接负电源,如图(b)所示。
调整电位器,可使失调电压为零。
(3)温度采集电路图.
3、A/D转换电路设计
AD590测温电路输出的电压信号为模拟信号,要进行数码显示,还需将此信号转换成数字信号,通过A/D转换器ADC0804可以将输入的模拟值转换成数字值,经AT89S52单片机处理后输出到P1以控制温度显示电路。
(1)ADC0804
ADC0804是用CMOS集成工艺制成的逐次比较型模数转换芯片,分辨率8位,转换时间100us,输入电压范围为0~5V,增加某些外部电路后,输入模拟电压可为5V。
该芯片内有输出数据锁存器,当与计算机连接时,转换电路的输出可以直接连接在CPU数据总线上,无须附加逻辑接口电路。
引脚图如右:
引脚功能及应用特性如下:
CS、RD、WR(引脚1、2、3):
是数字控制输入端,满足标准TTL逻辑电平。
其中CS和WR用来控制A/D转换的启动信号。
CS、RD用来读A/D转换的结果,当它们同时为低电平时,输出数据锁存器DB0~DB7各端上出现8位并行二进制数
码。
CLKI(引脚4)和CLKR(引脚19):
ADC0801~0805片内有时钟电路,只要在外部“CLKI”和“CLKR”两端外接一对电阻电容即可产生A/D转换所要求的时钟,其振荡频率为fCLK≈1/1.1RC。
其典型应用参数为:
R=10KΩ,C=150PF,fCLK≈640KHZ,转换速度为100μs。
若采用外部时钟,则外部fCLK可从CLKI端送入,此时不接R、C。
允许的时钟频率范围为100KHZ~1460KHZ。
INTR(引脚5):
INTR是转换结束信号输出端,输出跳转为低电平表示本次转换已经完成,可作为微处理器的中断或查询信号。
如果将CS和WR端与INTR端相连,则ADC0804就处于自动循环转换状态。
CS=0时,允许进行A/D转换。
WR由低跳高时A/D转换开始,8位逐次比较需8×8=64个时钟周期,再加上控制逻辑操作,一次转换需要66~73个时钟周期。
在典型应用fCLK=640KHZ时,转换时间约为103μs~114μs。
当fCLK超过640KHZ,转换精度下降,超过极限值1460KHZ时便不能正常工作。
VIN(+)(引脚)和VIN(-)(引脚7):
被转换的电压信号从VIN(+)和VIN(-)输入,允许此信号是差动的或不共地的电压信号。
如果输入电压VIN的变化范围从0V到Vmax,则芯片的VIN(-)端接地,输入电压加到VIN(+)引脚。
由于该芯片允许差动输入,在共模输入电压允许的情况下,输入电压范围可以从非零伏开始,即Vmin至Vmax。
此时芯片的VIN(-)端应该接入等于Vmin的恒值电码上,而输入电压VIN仍然加到VIN(+)引脚上。
AGND(引脚8)和DGND(引脚10):
A/D转换器一般都有这两个引脚。
模拟地AGND和数字地DGND分别设置引入端,使数字电路的地电流不影响模拟信号回路,以防止寄生耦合造成的干扰。
VREF/2(引脚9):
参考电压VREF/2可以由外部电路供给,从“VREF/2”端直接送入,VREF/2端电压值应是输入电压范围的二分之一。
所以输入电压的范围可以通过调整VREF/2引脚处的电压加以改变,转换器的零点无需调整。
ADC0804转换器的工作时序如图
(2)模数转换电路硬件连接图
4、显示电路设计
本系统采用七段LED数码管作为显示器。
由于本系统设计要求温度监测范围为0~99℃,精度±1℃,数码管只需显示两位即可达到要求,因此,显示部分电路采用两个一位的LED数码管来组成显示器,由于不显示小数点,故LED数码管的dp脚悬空。
本设计显示电路在应用上有两个特点:
一是实时显示热水器当前的水温值,另一个是显示键盘设定的温度值。
数码管是由一个74LS47连接7个100欧姆的电阻来驱动显示。
数码管的Vcc脚分别连接到两个三极管的共射极,而三极管的共集电极连在一起接到+5V电源上,共基极分别连接到两个4.7K的电阻并连接到单片机AT89S52的P1.4、P1.5管脚上。
(1)LED显示器结构与原理
各段码位的对应关系如下
►
一位显示器由8个发光二极管组成,其中,7个发光二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管。
►当在某段发光二极管上施加一定的正向电压时,该段笔划即亮;不加电压则暗。
为了保护各段LED不被损坏,须外加限流电阻。
LED显示器有静态显示和动态显示两种方式。
LED静态显示方式
►静态显示就是当显示器显示某个字符时,相应的段(发光二极管)恒定地导通或截止,直到显示另一个字符为止。
►LED显示器工作于静态显示方式时,各位的共阴极(公共端K0)接地;若为共阳极(公共端K0),则接+5v电源。
每位的段选线(a~dp)分别与一个8位锁存器的输出口相连,显示器中的各位相互独立,而且各位的显示字符一经确定,相应锁存的输出将维持不变。
►因此,静态显示器的亮度较高。
这种显示方式编程容易,管理也较简单,但占用I/O口线资源较多。
在显示位数较多的情况下,一般都采用动态显示方式。
LED动态显示方式
在多位LED显示时,将所有位的段选线并联在一起,由一个8位I/O口控制。
而共阴(或共阳)极公共端K分别由相应的I/O线控制,实现各位的分时选通。
(2)74LS47
74LS47是译码器(七段译码)。
其作用是:
在数字系统中常要将测量或处理直接显示成十进制数字。
因此,首先将以二进制码表示的结果送译码器译码,用它的输出去驱动显示器件。
由于显示器件的工作方式不同,译码器的要求不同,译码器的电路也不同。
在此电路中将倒计时的数据显示出来。
74LS47的外观结构如右图:
A0、A1、A2、A3均为二进制数码。
GND 为接地信号。
VCC接电源,a、b、d、e、f、g为输出信号。
LT:
试灯信号输入。
当该端加低电平,BI=1时,各段都亮。
否则说明显示器有故障。
正常运行时LT应处于高电平
BI/RBO:
灭零输入信号。
用来熄灭不需要显示的0,对其他数字不起熄灭作用。
高电平有效。
RBI:
将RBO和RBI配合使用很容易实现多位数码显示的灭零控制。
当本位的RBI=0输入数字为零时,则RBO输出为零。
将此信号送下一位的RBI端,使下一位的RBI=0,如下一位也为0则在RBO控制下,下一位也灭零。
但如果上一位不为0其RBO不为0,则本位即使输入位0,也不会消除,而任显示0。
即本位的灭零是以前位灭零的先决条件。
74LS47的真值表如下:
(3)显示电路硬件连接图
5、键盘电路设计
键盘在单片机应用系统中能实现向单片机输入数据、传送指令等功能,是人工干预单片机的主要手段。
键盘实质上是一组按键开关集合,通常选用机械弹性开关,它们利用了机械触点的合、断作用。
键的闭合与否,反映在输出电压上就是呈现低电平还是高电平,通过对电平高低状态的检测,便可以确认是否有按键按下。
为了确保CPU对一次按键动作只确认一次,那就必须消除抖动的影响,这样才能使键盘在单片机系统中使用得更加稳定。
常用的键盘接口分为独立式按键接口和矩阵式键盘接口。
在本系统中,键盘主要是用来设置热水器的水温,因此采用独立式键盘来完成这一功能,各按键功能见表1。
其电路连接如下图所示。
按键功能
按键
键名
功能
K1
运行键
使系统开始数据采集(DS1发光指示)
K2
功能键
按键按下时,显示温度设定值;再次按键时,显示前温度值
K3
加一键
设定温度渐次加一
K4
减一键
设定温度渐次减一
6、报警电路设计
报警电路主要是由发光二极管和蜂鸣器组成的,其电路如下图所示。
每当用户按一下键,LS1就会发出“嘀”的一声确认音,提示操作有效。
当设定完成热水器开始运行时DS1发光,指示当前正在运行。
在加热结束后,蜂鸣器会发出三声“嘀、嘀、嘀”,提示热水器可以使用。
当整个系统出现故障时,例如没水、不加热等,均发出声音提醒用户处理。
7、控制电路设计
控制部分电路如下图所示。
该电路是由一个固态继电器作为控制开关。
固态继电器是一种无触点通断型电子开关,是四端有源器件,其中两个端口为控制输入端,另外两个为输出受控端。
为了实现输入和输出的隔离,器件采用了高耐压的光耦合器。
当输入信号有效时,电路呈导通状态;反之,呈断开状态,可以实现类似电磁继电器的开关功能。
固态继电器将MOSFET、GTR、普通晶闸管等组合在一起与触发电路封装在一个模块中,而且驱动电路与输出电路隔离。
固态继电器是可控硅过零触发器,无触点,不用调节,对电网不会产生波形畸变。
因此,非常适合本设计。
固态继电器内部结构如下左图。
I/O口线与SSR接口电路如下右图。
控制电路工作原理为:
当AT89S52的RXD端口输出一个高电平时,三极管开始工作,驱动继电器K工作,继电器K呈导通状态,加热装置开始工作。
三、系统软件结构
由于用汇编语言编写的程序效率高,占用的内存单元和CPU资源少,执行速度快,还可以直接访问存储器、输入/输出接口及扩展的各种芯片,并可以直接处理中断,直接管理和控制硬件设备,适用于实时控制系统,因此,系统软件部分采用汇编语言编写。
软件设计部分包括主程序、A/D转换子程序、键盘扫描子程序、显示子程序,这里以主程序为例来进行说明,其工作流程如下图所示。
在主程序中,系统上电自动复位以后首先进行初始化,清除温度缓存区中的数据,然后启动ADC0804转换温度传感器输入的电信号。
同时检测是否有键按下设定温度,有则跳至键盘扫描子程序,没有则待ADC数据转换结束后读入累加器A,然后进行十进制数据转换调整,输出给定温度显示电路。
整个系统是一个闭环的,系统工作是循环进行的,这也就实现了实时检测的设计要求。
四、结束语
针对目前市场上太阳能热水器辅助电加热控制系统大多存在功能单一、操作复杂、控制不便等问题。
本文给出一种基于51单片机实现的太阳能热水器辅助电加热器的设计方案。
该系统以AT89S52为控制核心,AD590实现温度检测。
利用温度测量技术配合相应的软件程序,实现了辅助电加热器实时显示热水器的水温,自动开启加热装置等功能,具有较高的测量精度和控制精度。
特别是其灵敏度高的优点,很好的满足了节能的要求。
五、参考资料
1、许磊,太阳能热水器的开发应用[J],湖南农机2007(7),166-167;
2、李广弟,朱月秀,王秀山,单片机基础(修订版)[M],北京航空航天大学出版社,2003:
30-35;
3、刘畅生等,传感器简明手册及应用电路:
温度传感器分册(下册)[M],西安电子科技大学出版社,2006;
4、徐利,邓发旺,基于单片机的温度控制系统的设计与实现[J],电子工程,2007
(2):
27-31;
5、赵宇,简易数字温度计的设计与制作,中国电子网,2007:
8-15。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 太阳能热水器