用AT89C52制作太阳能电池数显充放电控制器
时间:05-21 10:20 阅读:1036次
*温馨提示:点击图片可以放大观看高清大图
简介:本文介绍太阳能电池对铅酸蓄电池充放电过程中,用单片机对充放电电压进行数据采集、数字控制等电路设计制作。该电路具有结构简单、数字显示电压值和无触点充放电控制等功能。
一、硬件电路.
太阳能电池数显充放电控制器原理电路见附图所示。该电路主要由单片机89C52与ADC0809模数转换器组成。ADC0809具有①~⑤脚和(26)~(28)脚8路模拟输入端口,(23)~(25)脚地址线可决定对哪一路模拟输入作A/D转换。(22)脚是地址锁存控制端,当输入高电平时,对地址信号进行锁存;(6)脚是测试控制端,当输入一个2μs宽的高电平脉冲时,就开始A/D转换;(7)脚是A/D转换结束标志控制端,当A/D转换结束时,(7)脚输出高电平;(9)脚是A/D转换数据输出允许控制端,当(9)脚为高电平时,A/D转换数据从端口输出;(10)脚是时钟输入端,在精度要求不高的条件下,可将单片机(30)脚直接接该端。
单片机的P1、P3端口作三位数码管的显示控制,Po端口作A/D转换数据读入,P2.0~P2.5端口作A/D转换控制,P2.6和P2.7端口作输出信号控制。R13、R19、R20、C6和ADC0809的IN0端口组成单路电压数据采集输入电路。功率场效应管Q10作蓄电池无触点放电开关,Q11作蓄电池无触点充电开关。
二、工作原理
为了使软件编程简单、不用作运算,根据ADC0809能将0~5V电压转换成数字量0~255的原理。假设太阳能电池对铅酸蓄电池充电和铅酸蓄电池对负载放电过程中,铅酸蓄电池的端电压变化范围是0~25.5V,经过电阻R19、R20串联分压后,在R20的两端得到≤5.0V的电庄,又经过A/D转换变为数字量0~255,送到89C52控制处理后,并转由1ED数码管显示数字量0~25.5,刚好能使电压变化范围值与数字变化量相对应。显示的数字量就是实际电压值。例如显示12.0,就可以读作12.0V。
根据铅酸蓄电池性能,在充电过程中通过软件设置停止充电电压为14.5V、恢复充电电压为13.5V;同样在放电过程中设置停止放电电压为11.5V、恢复放电电压为12.5V。铅酸蓄电池的端电压被电阻分压后送入A/D变换成数字量,89C52一方面将数字量送给1ED数码管显示,另一方面对数字量进行比较判断,如果比较结果超过14.5V时,P2.6口输出高电平,Q6截止、1ED2熄灭、Q11也截止,使太阳能电池停止对铅酸蓄电池充电;如果比较结果低于11.5V时,P2.7口输出高电平、Q4截止、1ED1熄灭、Q10也截止,使铅酸蓄电池停止对负载放电。
这样就达到对铅酸蓄电池过充电、过放电的保护目的。
三、源程序
整个源程序需设有电压采集、显示程序以及比较判断、控制程序等。为了简化硬件设计,程序中还要注意提高控制器的抗干扰能力,需设置软件陷阱和软件看门狗等。