太阳能热水器的组成及工作原理
2.1 系统总体结构设计
图2-1系统结构图
图2-1为系统设计的结构图,该图的系统控制原理图如下图2-2:
T3
T2
图2-2 系统控制原理图
注释:T1:热水箱的温度传感器
T2:循环水管中的温度传感器 T3:集热器中的温度传感器 F1:循环水阀门 F2:冷水阀门 F3:热水阀门
此款热水器利用微机控制主要有以下几种控制功能:晨水加热控制、温水循环控制、冷水集热控制、水箱加热控制。 1. 早晨水温控制
由于清晨太阳光较弱,所以太阳能热水器从系统发挥作用。为了提供温度不低于30摄氏度的水,热水器在清晨4-7点之间对水箱进行电加热,具体控制过程如下:
首先,关闭冷水阀门F2和循环水阀门F1,然后微机开始进行水箱的温度采集,同时进行温度的比较,当水箱的温度小于30摄氏度时,电热器D接通进行加热,同时微机继续对热水箱的温度进行采集。当温度加热到大于30摄氏度时电热器断开,如此反复循环保证了温度的稳定。 2. 循环水集热过程
早晨水温控制之后(7~9点),设定当日的水箱温度N(由两位BCD次齿轮开关设定),输入微机,再利用微机控制系统,通过太阳光能对热水箱加热以达到理想温度N。具体控制过程如下:
打开循环阀门F1,关闭冷水进水阀门F2,热水阀门F3处于空控状态。然后开始比较温度,若(T3-T1>5摄氏度,T2>T1)为止。如若T1=N,那么循环水集热过程结束,进入冷水集热控制过程。 3. 冷水集热控制
此时热水箱温度已达到了N,冷水要进入太阳能集热器,这时温度为T3,和当日的设定温度值相比较,若T3>N则将已加热的水送入热水箱,每天的控制时段大概为9点~20点。具体控制过程如下:
关闭循环水阀门F2,打开冷水阀门F2,热水阀门F3处于可控状态。若T3>N,打开热水阀门F3并将保持一段时间,若T3N阀门F3继续保持打开状态,否则关闭F3。可见,次过程充分利用太阳光能转化为热能,方便快捷。 4. 水箱加热控制
此时,也许你会问如果没有日照或者日照较弱时,到了晚上我们是否还能洗上热水澡吗?答案是肯定的,不要忘了这款热水器还有一个从系统,这时它就要发挥作用了。热水箱温度为T1相比较,从而控制是否打开电若表一
时间(时) 温度比较 加热值(度) 15 T1
最终热水箱的温度加热到设定值N。由此可见,即使没有日照我们照样可以洗上热水澡了。
综上所述,太阳能供热控制系统不仅节约而且高度只能化,方便省事,不论日常家居,还是对宾馆、学校等都是最佳选择。
2.2太阳能热水器组成及原理
2-3 热水器装置简图
1-集热器 2-下降水管 3-循环水管
4-补给水箱 5-上升水管 6-自来水管 7-热水出水管 热水器主要由集热器、循环管道和水箱等组成,图中为典型的热水器装置图。图中集热器1按最佳倾角放置,下降水管2的一端与循环水箱3的下部相连,另一端与集热器1的下集管接通。上升水管5与循环水箱3上部相连,另一端与集热器1的上集管相接。补给水箱4供给循环水箱3所需的冷水。
当集热器吸收太阳辐射后,集热器内温度上升,水温也随之升高。水温升高后,水的比重减轻,便经上升水管进入循环水箱上部。而循环水箱下部的冷水比重较大,就由水箱下流到集热器下方,在集热器内受热后又上升。这样不断对流循环,水温逐渐提高,直到集热器吸收的热量与散失的热量相平衡时,水温不再升高。这种热水利用循环加热的原理,因此又称循环热水器。
集热器是一种利用温室效应,将太阳能辐射转换为热能的装置,该装置与一般热水交换器不一样,热交换器通常只是液体到液体,或是液体到气体的热交换过程,而平板行集热器时直接将太阳辐射传给液体或气体,是一个复杂的传热过程。平板型集热器结构形式很多,世界上已实用的集热器就有直管式、瓦楞式、扁管式、铝翼式等二十多种。
3.1.太阳能控制器硬件结构
根据控制要求,采用80C51单片机的智能控制器结构框图如图1所示。由于本系统运算量不是很大, 没有太多的中间数据需要处理、保存,因此不再外扩数据存储器。仅使用80C51 内部RAM已完全能够满足要求。系统的硬件接口电路包括:控制器实时时钟接口电路,蓄水箱温度和水位检测接口电路、设定键和
串行显示接口电路、看门狗和复位接口电路以及继电器输出接口电路等。
图3-1 太阳能控制器硬件结构图
3.2. 控制器实时时钟接口电路
为实现热水器24小时供应热水的目的,控制器必须有一个实时时钟来为系统提供准确的基准时间;在软件设计上则要实时地读出当前时间,同设定时间比较,以决定系统工作状态。本系统采用美国DALLA S半导体公司最新推出的时钟芯片DS12887,该芯片采用CMOS 技术,把时钟芯片所需的晶振和电池以及相关的电路集成到芯片内部,并与MC146818管脚完全兼容。DS12887芯片具有微功耗、外围接口简单、精度高,工作稳定可靠等优点。它与80C51单片机的接口电路见下图3-2。
图3-2 DS12887与单片机接口电路
模式选择脚MOT接地, 选择IN TEL时序。DS12887 的高位地址用80C51 的P2.4 选择,则时钟芯片的高8位地址为EFH,而其低8 位地址则由芯片内部各单元的地址来决定(00H~80H),DS12887 的中断输出端IRQ 接上拉电阻,同80C51中断线IN TO相连,为单片机提供中断信号。SQW端口编程为2Hz方波输出,经二分频后,驱动两个LED发光二极管作为时钟的秒闪烁显示。
3.3.水位检测和温度检测接口电路
蓄水箱水位和温度检测部分是实现温度智能控制的重要环节,只有准确地检测出水位和温度,才能通过软件计算提前开始辅助加热的预加热时间。要实现辅助加热提前时间的精确计算,最好是采用连续液位传感器,但考虑系统成本,本设计仍采用分段式液位传感器(通过软件来提高精度),在水位显示上也仍采用分段显示。水位检测部分的硬件连接如图3所示。
图3-3 水位监测及显示接口电路
检测原理如下:当水箱中无水时,8个非门均由1M欧姆电阻上拉成高电平, 所以图中各“非”门(CD4069) 输出均为低电平,LED1~ LED8 均不亮。当水位高于“非”门1 的输入探针时,由于水的导电作用,使“非”门1 的输入变为低电平,所以其输出变为高电平,LED点亮,依此类推。随着水位的上升,各“非”门输出相继为高电平,LED依次点亮。这里要注意的是上拉电阻不能选择太小,因为水的电阻在100k8 左右,所以上拉电阻选择太小的话,将在水位升高时,无法把“非”门输入端拉成低电平。实验表明, 上拉电阻选择在500k~1M欧姆左右能很好地满足电路的工作要求。为了使80C51 随时能够读出当前的水位情况,这里选用74L S244 作为状态输入缓冲器。蓄水箱温度检测电路采用DS18B20芯片使其换成脉冲信号,送到80C51的I/O 口(编程为计数器工作模式),通过测量输出脉冲频率的大小来换算成水温高低信号。
3.4 看门狗和复位接口电路的设计
控制器的看门狗电路由两级74LS123芯片组成。用P1.7作为单稳态触发器的定时脉冲发生端,当P1.7 口线超过一定时间不对74L S123发正脉冲时,系统将自动复位(附录)。
3.5 键盘和显示接口电路的设计
3.5.1 键盘电路
下图为80C51单片机P1口构成的中断方式4*4键盘电路。P1.0-P1.3为行线,P1.4-P1.7为列线,行线与4输入与门74HC21的一组输入端相连,输出端与外部中断INT1相连。16个键号Ki(I=0-15)次序如图中标注。
图3-4 80C51 P1口构成的4*4中断方式键盘
行列式键盘处理程序较为复杂,当有键按下时74HC21输出端出现低电平请求中断;在中断服务程序中要再次确认是否真有键按下,真有键按下时,再查出是哪个键按下,把该键的键号送入堆栈保护,等待键释放后再将键号弹出A中。该键盘输入处理程序的出口状态是键号在A中。设计中断程序时,先在主程序中将中断系统初始化,并开中断。在试验演示中通常开中断都设置循环等待。
3.5.3 显示接口电路的设计
键盘和显示电路是人机交互的重要手段。控制键是用户干预系统运行的唯一接口,也是用户比较关心的问题。为了实现控制器对时间与温度的设定及显示功能,串行显示电路采用串入并出芯片74LS164驱动4位数码管实现时间与温度的静态显示。
该电路只使用80C51的3个端口,配接4片串入并出移位寄存器74LS164 与1片三端可调稳压器LM317T。其中74LS164 的引脚Q0~Q7为8位并行输出端;引脚A、B 为串行输入端;引脚CL K为时钟脉冲输入端,在CLK 脉冲的上升沿作用下实现移位,在CLK = 0 、清除端MR =1时,74LS164保持原来数据状态;MR =0 时,74LS164输出清零,其显示电路如3.5.3图。
图3-5 串行口扩展的4位LED显示电路
其工作过程如下:80C51的串行口设定在方式0移位寄存器状态下,串行数据由P3.0发送,移位时钟由P3.1 送出。在移位时钟的作用下,串行口发送缓冲器的数据一位一位地移入74LS164中。4片74LS164 串级扩展为4个8 位并行输出口,分别连接到4个LED显示器的段选端作静态显示。需要指出的是,由于74LS164 无并行输出控制端,因而在串行输入过程中,其输出端的状态会不断变化,造成不应显示的字段仍有较暗的亮度,影响了显示的效果。以往的做法是在74LS164 的输出端加接4片锁存器或三态门,使移位寄存器串行输入数据时其输出端的变化不反映到LED
上,待串行输入结束后再打开锁存器或三态门,将稳定的显示数据 送给LED。
本设计电路的独特之处在于仅采用了1片三端可调稳压器LM317T,317T 的3、2 脚分别是电压输入、输出端,317T 的1脚是电压调整端,脚2输出电压随脚1电压而变化。脚1与接地电阻之间并一个NPN 三极管,它的基极受P1.7 口线控制,串行输入时P1.7 口线为高电平,三极管饱和导通使317T 的脚1约为0.3 V,脚2输出电压随之下降到1.5 V,不足以使共阳极LED发光,故此时串行输入的影响不会反映到LED上;串行输入结束后,使P1.7口线为低电平,三极管截止,脚2输出电压因脚1电压增高便上升到2.0V使LED正常发光。因此,1片三端可调稳压器LM317T起到了4片锁存器的作用使LED 显示不会闪烁。本电路的另一优点是通过可调电位器P1可在线调整脚2的输出电压,使LED的显示亮度均匀可调,而且省掉了大量的LED限流电阻。
3.6 光电隔离与辅助加热电路设计
图3-6 辅助加热电路图
上图为太阳能热水器光电隔离与辅助加热电路设计。当室外光强不足(阴天、下雨)时,对水箱的水提前加热是很必要的,这一电路恰好能完成这一功能。工作原理:当单片机80C51P2.1口输出高电平时,三极管T1导通,致使发光二极管发光,同时光敏三极管T2导通,继电器闭合,电阻丝R1~R4发热,这样就完成了加热任务,此电路虽然简单,但在太阳能热水器中是必不可少的。
控制器的软件设计
4.1 主程序设计
热水器不论在什么样的天气里,都能够在设定的时间向用户提供设定温度的热水,从而给用户带来便利。当控制器在设定的时间使水温达到设定温度时,将通过声光报警提醒用户。
根据这一要求,程序、DS12887子程序等。一些初始化功能。在主程序中采用了查表方法进行辅助加热提前量预算。系统主程序流程图如图4所示。
图4-1 系统程序流程图
对于温度和时间设定, 每次设定结束后, 就将设定值存入DS12887 的非易失性RAM中,下次开机时进行读取。这样作至少有两个优点:一是系统在不进行设定时,就认定该设定值和先前一次一样,解决了每次开机总要从头设定的问题,另一个是若系统在运行中间停电而再次来电时,可以不用重新设定, 就能按原设定值对温度进行控制,增强了控制器适应外界变化的能力。对提前加热时间的计算,则是系统能否实现预定功能的重要一环。因为系统采用分段式水位检测,若采用能量守恒的方法对提前加热时间进行预算,也同样得不到精确的结果。为了避开繁琐的计算过程,本系统中采用了模糊控制思想,使用了如下一些控制语句:
IF 水位高AND 温度差大THEN 加热时间长
IF 水位适中AND 温度差适中THEN 加热时间适中
IF 水位低AND 温度差低THEN 加热时间少
采用这种思想后,可以用实验方法获得各种情况下需要加热的时间, 编制5 的方法。
11
图4-2 水位监测处理示意图
实验中,用水位达到B1时的结果代替水位达到A1时的结果,B2代替A2,B3 代替A3,B4代替A4。这样,CPU 读入的A1水位查表后得到的预加热时间是实验中水位在B1 处的时间。经过这种处理,会把由于分段检测而产生的计算误差减小一半,由原来的h变成了h/2(h为分段水位检测间隙)。如果水箱水深为40cm,分8段检测,此种处理方法的计算将使水位误差由原来的5cm变成了2.5cm。这种误差对于民用的热水器来说,已完全能够满足要求了。
4.2显示子程序
分析表明,移位寄存器74LS164仅有串入并出作用没有译码功能。因此,在编写显示驱动程序之前,首先需要计算列写出与本电路对应的LED段选码 ,然后由80C51的P3.0口送入74LS164的串行输入端,再并行输出到LED 的段选端。需要指出的是,上面显示电路采用TOS28106BHK型号的共阳极LED显示器,根据PCB印制线路板的连线方便,其LED的8个段选端与74LS164的并行输出口即8根段选线的连接没有遵照通常的规律,而是如图3-5所示的段排列为7、6、4、2、1、9、10、5,相应的段选码也要重新计算,如显示字符0的段选码为11H,显示字符1的段选码为D7H等。另外,这种稳定的静态显示方式也省去了CPU的动态扫描过程,此为上述电路的又一特点。电路中设计了4位LED显示器,其功能为:左首位为百位数或标志位,左二位为十位数,左三位为个位数,左四位为小数点后的十分位数。据此,给出如图
12
13
太阳能热水器的组成及工作原理
2.1 系统总体结构设计
图2-1系统结构图
图2-1为系统设计的结构图,该图的系统控制原理图如下图2-2:
T3
T2
图2-2 系统控制原理图
注释:T1:热水箱的温度传感器
T2:循环水管中的温度传感器 T3:集热器中的温度传感器 F1:循环水阀门 F2:冷水阀门 F3:热水阀门
此款热水器利用微机控制主要有以下几种控制功能:晨水加热控制、温水循环控制、冷水集热控制、水箱加热控制。 1. 早晨水温控制
由于清晨太阳光较弱,所以太阳能热水器从系统发挥作用。为了提供温度不低于30摄氏度的水,热水器在清晨4-7点之间对水箱进行电加热,具体控制过程如下:
首先,关闭冷水阀门F2和循环水阀门F1,然后微机开始进行水箱的温度采集,同时进行温度的比较,当水箱的温度小于30摄氏度时,电热器D接通进行加热,同时微机继续对热水箱的温度进行采集。当温度加热到大于30摄氏度时电热器断开,如此反复循环保证了温度的稳定。 2. 循环水集热过程
早晨水温控制之后(7~9点),设定当日的水箱温度N(由两位BCD次齿轮开关设定),输入微机,再利用微机控制系统,通过太阳光能对热水箱加热以达到理想温度N。具体控制过程如下:
打开循环阀门F1,关闭冷水进水阀门F2,热水阀门F3处于空控状态。然后开始比较温度,若(T3-T1>5摄氏度,T2>T1)为止。如若T1=N,那么循环水集热过程结束,进入冷水集热控制过程。 3. 冷水集热控制
此时热水箱温度已达到了N,冷水要进入太阳能集热器,这时温度为T3,和当日的设定温度值相比较,若T3>N则将已加热的水送入热水箱,每天的控制时段大概为9点~20点。具体控制过程如下:
关闭循环水阀门F2,打开冷水阀门F2,热水阀门F3处于可控状态。若T3>N,打开热水阀门F3并将保持一段时间,若T3N阀门F3继续保持打开状态,否则关闭F3。可见,次过程充分利用太阳光能转化为热能,方便快捷。 4. 水箱加热控制
此时,也许你会问如果没有日照或者日照较弱时,到了晚上我们是否还能洗上热水澡吗?答案是肯定的,不要忘了这款热水器还有一个从系统,这时它就要发挥作用了。热水箱温度为T1相比较,从而控制是否打开电若表一
时间(时) 温度比较 加热值(度) 15 T1
最终热水箱的温度加热到设定值N。由此可见,即使没有日照我们照样可以洗上热水澡了。
综上所述,太阳能供热控制系统不仅节约而且高度只能化,方便省事,不论日常家居,还是对宾馆、学校等都是最佳选择。
2.2太阳能热水器组成及原理
2-3 热水器装置简图
1-集热器 2-下降水管 3-循环水管
4-补给水箱 5-上升水管 6-自来水管 7-热水出水管 热水器主要由集热器、循环管道和水箱等组成,图中为典型的热水器装置图。图中集热器1按最佳倾角放置,下降水管2的一端与循环水箱3的下部相连,另一端与集热器1的下集管接通。上升水管5与循环水箱3上部相连,另一端与集热器1的上集管相接。补给水箱4供给循环水箱3所需的冷水。
当集热器吸收太阳辐射后,集热器内温度上升,水温也随之升高。水温升高后,水的比重减轻,便经上升水管进入循环水箱上部。而循环水箱下部的冷水比重较大,就由水箱下流到集热器下方,在集热器内受热后又上升。这样不断对流循环,水温逐渐提高,直到集热器吸收的热量与散失的热量相平衡时,水温不再升高。这种热水利用循环加热的原理,因此又称循环热水器。
集热器是一种利用温室效应,将太阳能辐射转换为热能的装置,该装置与一般热水交换器不一样,热交换器通常只是液体到液体,或是液体到气体的热交换过程,而平板行集热器时直接将太阳辐射传给液体或气体,是一个复杂的传热过程。平板型集热器结构形式很多,世界上已实用的集热器就有直管式、瓦楞式、扁管式、铝翼式等二十多种。
3.1.太阳能控制器硬件结构
根据控制要求,采用80C51单片机的智能控制器结构框图如图1所示。由于本系统运算量不是很大, 没有太多的中间数据需要处理、保存,因此不再外扩数据存储器。仅使用80C51 内部RAM已完全能够满足要求。系统的硬件接口电路包括:控制器实时时钟接口电路,蓄水箱温度和水位检测接口电路、设定键和
串行显示接口电路、看门狗和复位接口电路以及继电器输出接口电路等。
图3-1 太阳能控制器硬件结构图
3.2. 控制器实时时钟接口电路
为实现热水器24小时供应热水的目的,控制器必须有一个实时时钟来为系统提供准确的基准时间;在软件设计上则要实时地读出当前时间,同设定时间比较,以决定系统工作状态。本系统采用美国DALLA S半导体公司最新推出的时钟芯片DS12887,该芯片采用CMOS 技术,把时钟芯片所需的晶振和电池以及相关的电路集成到芯片内部,并与MC146818管脚完全兼容。DS12887芯片具有微功耗、外围接口简单、精度高,工作稳定可靠等优点。它与80C51单片机的接口电路见下图3-2。
图3-2 DS12887与单片机接口电路
模式选择脚MOT接地, 选择IN TEL时序。DS12887 的高位地址用80C51 的P2.4 选择,则时钟芯片的高8位地址为EFH,而其低8 位地址则由芯片内部各单元的地址来决定(00H~80H),DS12887 的中断输出端IRQ 接上拉电阻,同80C51中断线IN TO相连,为单片机提供中断信号。SQW端口编程为2Hz方波输出,经二分频后,驱动两个LED发光二极管作为时钟的秒闪烁显示。
3.3.水位检测和温度检测接口电路
蓄水箱水位和温度检测部分是实现温度智能控制的重要环节,只有准确地检测出水位和温度,才能通过软件计算提前开始辅助加热的预加热时间。要实现辅助加热提前时间的精确计算,最好是采用连续液位传感器,但考虑系统成本,本设计仍采用分段式液位传感器(通过软件来提高精度),在水位显示上也仍采用分段显示。水位检测部分的硬件连接如图3所示。
图3-3 水位监测及显示接口电路
检测原理如下:当水箱中无水时,8个非门均由1M欧姆电阻上拉成高电平, 所以图中各“非”门(CD4069) 输出均为低电平,LED1~ LED8 均不亮。当水位高于“非”门1 的输入探针时,由于水的导电作用,使“非”门1 的输入变为低电平,所以其输出变为高电平,LED点亮,依此类推。随着水位的上升,各“非”门输出相继为高电平,LED依次点亮。这里要注意的是上拉电阻不能选择太小,因为水的电阻在100k8 左右,所以上拉电阻选择太小的话,将在水位升高时,无法把“非”门输入端拉成低电平。实验表明, 上拉电阻选择在500k~1M欧姆左右能很好地满足电路的工作要求。为了使80C51 随时能够读出当前的水位情况,这里选用74L S244 作为状态输入缓冲器。蓄水箱温度检测电路采用DS18B20芯片使其换成脉冲信号,送到80C51的I/O 口(编程为计数器工作模式),通过测量输出脉冲频率的大小来换算成水温高低信号。
3.4 看门狗和复位接口电路的设计
控制器的看门狗电路由两级74LS123芯片组成。用P1.7作为单稳态触发器的定时脉冲发生端,当P1.7 口线超过一定时间不对74L S123发正脉冲时,系统将自动复位(附录)。
3.5 键盘和显示接口电路的设计
3.5.1 键盘电路
下图为80C51单片机P1口构成的中断方式4*4键盘电路。P1.0-P1.3为行线,P1.4-P1.7为列线,行线与4输入与门74HC21的一组输入端相连,输出端与外部中断INT1相连。16个键号Ki(I=0-15)次序如图中标注。
图3-4 80C51 P1口构成的4*4中断方式键盘
行列式键盘处理程序较为复杂,当有键按下时74HC21输出端出现低电平请求中断;在中断服务程序中要再次确认是否真有键按下,真有键按下时,再查出是哪个键按下,把该键的键号送入堆栈保护,等待键释放后再将键号弹出A中。该键盘输入处理程序的出口状态是键号在A中。设计中断程序时,先在主程序中将中断系统初始化,并开中断。在试验演示中通常开中断都设置循环等待。
3.5.3 显示接口电路的设计
键盘和显示电路是人机交互的重要手段。控制键是用户干预系统运行的唯一接口,也是用户比较关心的问题。为了实现控制器对时间与温度的设定及显示功能,串行显示电路采用串入并出芯片74LS164驱动4位数码管实现时间与温度的静态显示。
该电路只使用80C51的3个端口,配接4片串入并出移位寄存器74LS164 与1片三端可调稳压器LM317T。其中74LS164 的引脚Q0~Q7为8位并行输出端;引脚A、B 为串行输入端;引脚CL K为时钟脉冲输入端,在CLK 脉冲的上升沿作用下实现移位,在CLK = 0 、清除端MR =1时,74LS164保持原来数据状态;MR =0 时,74LS164输出清零,其显示电路如3.5.3图。
图3-5 串行口扩展的4位LED显示电路
其工作过程如下:80C51的串行口设定在方式0移位寄存器状态下,串行数据由P3.0发送,移位时钟由P3.1 送出。在移位时钟的作用下,串行口发送缓冲器的数据一位一位地移入74LS164中。4片74LS164 串级扩展为4个8 位并行输出口,分别连接到4个LED显示器的段选端作静态显示。需要指出的是,由于74LS164 无并行输出控制端,因而在串行输入过程中,其输出端的状态会不断变化,造成不应显示的字段仍有较暗的亮度,影响了显示的效果。以往的做法是在74LS164 的输出端加接4片锁存器或三态门,使移位寄存器串行输入数据时其输出端的变化不反映到LED
上,待串行输入结束后再打开锁存器或三态门,将稳定的显示数据 送给LED。
本设计电路的独特之处在于仅采用了1片三端可调稳压器LM317T,317T 的3、2 脚分别是电压输入、输出端,317T 的1脚是电压调整端,脚2输出电压随脚1电压而变化。脚1与接地电阻之间并一个NPN 三极管,它的基极受P1.7 口线控制,串行输入时P1.7 口线为高电平,三极管饱和导通使317T 的脚1约为0.3 V,脚2输出电压随之下降到1.5 V,不足以使共阳极LED发光,故此时串行输入的影响不会反映到LED上;串行输入结束后,使P1.7口线为低电平,三极管截止,脚2输出电压因脚1电压增高便上升到2.0V使LED正常发光。因此,1片三端可调稳压器LM317T起到了4片锁存器的作用使LED 显示不会闪烁。本电路的另一优点是通过可调电位器P1可在线调整脚2的输出电压,使LED的显示亮度均匀可调,而且省掉了大量的LED限流电阻。
3.6 光电隔离与辅助加热电路设计
图3-6 辅助加热电路图
上图为太阳能热水器光电隔离与辅助加热电路设计。当室外光强不足(阴天、下雨)时,对水箱的水提前加热是很必要的,这一电路恰好能完成这一功能。工作原理:当单片机80C51P2.1口输出高电平时,三极管T1导通,致使发光二极管发光,同时光敏三极管T2导通,继电器闭合,电阻丝R1~R4发热,这样就完成了加热任务,此电路虽然简单,但在太阳能热水器中是必不可少的。
控制器的软件设计
4.1 主程序设计
热水器不论在什么样的天气里,都能够在设定的时间向用户提供设定温度的热水,从而给用户带来便利。当控制器在设定的时间使水温达到设定温度时,将通过声光报警提醒用户。
根据这一要求,程序、DS12887子程序等。一些初始化功能。在主程序中采用了查表方法进行辅助加热提前量预算。系统主程序流程图如图4所示。
图4-1 系统程序流程图
对于温度和时间设定, 每次设定结束后, 就将设定值存入DS12887 的非易失性RAM中,下次开机时进行读取。这样作至少有两个优点:一是系统在不进行设定时,就认定该设定值和先前一次一样,解决了每次开机总要从头设定的问题,另一个是若系统在运行中间停电而再次来电时,可以不用重新设定, 就能按原设定值对温度进行控制,增强了控制器适应外界变化的能力。对提前加热时间的计算,则是系统能否实现预定功能的重要一环。因为系统采用分段式水位检测,若采用能量守恒的方法对提前加热时间进行预算,也同样得不到精确的结果。为了避开繁琐的计算过程,本系统中采用了模糊控制思想,使用了如下一些控制语句:
IF 水位高AND 温度差大THEN 加热时间长
IF 水位适中AND 温度差适中THEN 加热时间适中
IF 水位低AND 温度差低THEN 加热时间少
采用这种思想后,可以用实验方法获得各种情况下需要加热的时间, 编制5 的方法。
11
图4-2 水位监测处理示意图
实验中,用水位达到B1时的结果代替水位达到A1时的结果,B2代替A2,B3 代替A3,B4代替A4。这样,CPU 读入的A1水位查表后得到的预加热时间是实验中水位在B1 处的时间。经过这种处理,会把由于分段检测而产生的计算误差减小一半,由原来的h变成了h/2(h为分段水位检测间隙)。如果水箱水深为40cm,分8段检测,此种处理方法的计算将使水位误差由原来的5cm变成了2.5cm。这种误差对于民用的热水器来说,已完全能够满足要求了。
4.2显示子程序
分析表明,移位寄存器74LS164仅有串入并出作用没有译码功能。因此,在编写显示驱动程序之前,首先需要计算列写出与本电路对应的LED段选码 ,然后由80C51的P3.0口送入74LS164的串行输入端,再并行输出到LED 的段选端。需要指出的是,上面显示电路采用TOS28106BHK型号的共阳极LED显示器,根据PCB印制线路板的连线方便,其LED的8个段选端与74LS164的并行输出口即8根段选线的连接没有遵照通常的规律,而是如图3-5所示的段排列为7、6、4、2、1、9、10、5,相应的段选码也要重新计算,如显示字符0的段选码为11H,显示字符1的段选码为D7H等。另外,这种稳定的静态显示方式也省去了CPU的动态扫描过程,此为上述电路的又一特点。电路中设计了4位LED显示器,其功能为:左首位为百位数或标志位,左二位为十位数,左三位为个位数,左四位为小数点后的十分位数。据此,给出如图
12
13