赵雅芸 (酒泉职业技术学院机电工程系,甘肃 酒泉 735000)
在地球环境污染和能源变化形势日趋严峻的背景下,清洁能源太阳能引起了全球的广泛关注。光伏技术的关键在于如何把太阳能转换为电能并且储存下来,而太阳能充电控制器是核心部件之一。下面,笔者基于脉宽调制技术 (PWM)[1],把每一脉冲宽度均相等的脉冲列作为PWM波形,通过调整PWM的占空比控制充电电流,选用STC12C5412AD单片机设计了一种太阳能充电控制器。
太阳能充电控制器主要由单片机、充电电路、放电电路、检测电路、人机接口电路以及串口[2]几部分组成。
太阳能充电控制器的核心元器件是STC12C5412AD单片机,是单时钟/机器周期、高速/低功耗/超强抗干扰的8051单片机,指令代码完全兼容传统的8051,但速度快8~12倍,内部集成MAX810专用复位电路,4路PWM,8路高速10位A/D转换,可做温度检测、电池电压检测、按键扫描、频谱检测等,针对电机控制,强干扰场合。
人机接口是计算机与人机交互设备之间实现信息传输的控制电路,人机接口与人机交互设备共同完成2个任务,即信息的转换和信息传输的控制[3]。
图1 键盘电路设计
1)人机接口电路组成及功能 人机接口电路主要由单片机、按键以及LED组成,由于系统的输入简单,只需设计一个按键,按键接单片机的一条I/O线,通过对输入线的查询即可识别按键的状态,系统采用一个LED作输出显示。键盘电路设计如图1所示。
利用单片机的引脚P3.7接一个下拉电阻,电阻一端接地。在无按键按下的情况下,由于下拉电阻的作用,P3.7线上输入为低电平,当按键按下时得到高电平输入,这样即能识别是否有键按下。另外通过对按键次数的循环检测,可以判断按键输入是0、1或5,定义为按键次数为1则输入0,按键次数为2则输入1,按键次数为3则输入5,其中0和1用来设置开关模式,5是针对定时模式为系统的时间作调整。
系统时间是采用定时器作为模拟时钟来进行调整的。当检测到按键次数为3时按键输入5,此时进入对系统时间的调整,一旦按键输入为5系统就认为当前时间为中午12∶00,然后以此为基点完成计时工作,虽然利用定时器会产生误差,但误差在允许范围内。系统利用软件在中午12∶00准时定时,既简化了硬件电路,也降低了成本。
2)按键编码 通过按键将命令输入单片机,单片机根据输入的信息控制充电控制器的工作,同时也可通过LED了解系统的工作情况。具体编码如表1所示。
3)LED显示 充电控制器的输出显示是通过扩展74LS164驱动LED静态显示实现的,其中P1.6脚输出段选码,P1.7脚输出移位同步时钟,图2所示为LED显示电路。其中74LS164是串行输入,并行输出的8位移位寄存器,其引出端含义为:CLOCK为时钟输入端;CLEAR为同步清除输入端 (低电平有效);A、B为串行数据输入端,引脚按逻辑与运算规律输入信号,共一个输入信号时可并联,在该系统中就采用并联方式;QA-QH为输出端。
表1 按键编码
图2 LED显示电路
利用单片机的PWM端口,通过调整PWM的占空比控制充电电流[5-6]。在调整充电电流前,单片机先快速读取充电电流的大小,然后把充电电流的设定值与实际值作比较,若实际电流偏小则向增加充电电流的方向调整PWM的占空比;若实际电流偏大则向减小充电电流的方向调整PWM的占空比。
1)充、放电电路 图3为充、放电电路图。白天太阳能电池板经充电电路给蓄电池充电,充电电路输入接太阳能电池,输出接蓄电池,因为太阳能电池板在低输出电压阶段具有电流源特性,因此用它作电源可以不考虑负载的过流问题,另外在主回路中加入二极管可以防止蓄电池对太阳能电池的反向放电。
图3 充、放电电路图
放电电路提供了白天/晚上开关和定时开关2种模式。系统以白天/晚上开关模式工作时,天黑后太阳能电池板的输出电压降低到了1V以下,此时控制电路关闭充电电路,开启放电电路开始为负载供电,白天控制电路关闭放电电路,停止供电;由于控制电路的定时功能使得放电电路具有定时开关模式,可以通过串口利用ISP对软件进行改写,从而设定工作时间和停止工作时间,在到达工作时间时,开启放电电路开始供电,到停止工作时间时放电电路关闭,供电结束。
系统运行包括充电、放电和等待3种工作状态[8]。系统工作状态的控制转换和蓄电池能量管理是通过单片机的控制电路实现的,其控制信号为太阳能电池板的输出电压。在白天光照条件下,控制电路检测到太阳能电池板有正常输出则开启充电电路,关闭放电电路,此时系统工作在充电状态下;天黑后,太阳能电池板的输出电压降低到1V以下,此时控制电路关闭充电电路,开启放电电路,系统开始供电。控制电路保证系统稳定工作,另外控制电路具有定时功能,可以设定系统的供电时间及停止供电时间。
图4为太阳能充电控制器的系统流程图。首先电量检测电路通过检测光照强度对白天或晚上进行判断,若判断为白天则将检测的蓄电池电压值与设定值作比较,当电压值等于最大设定值时,表示蓄电池电量满,则关闭充电电路以防止过充电,当电压值小于最大设定值即蓄电池未满时,则开启充电电路为蓄电池充电;若判断为晚上也检测蓄电池电压值,当电压值小于最小设定值时表示蓄电池电量不足,为防止过放电必须关闭放电电路,当电压值大于最小设定值时则开启放电电路开始供电。上述过程均要不断循环,以便对白天还是晚上以及是否满足充、放电的条件反复进行判断。
图4 系统软件流程图
以STC12C5412AD单片机为核心的太阳能充电控制器,适用于大多数的光伏系统,可以直接驱动直流节能灯,也可以驱动一些直流低压负载供照明使用,不仅照明时间和开关模式都可以灵活设置,而且解决了有效管理蓄电池及负载的问题,另外采用了脉宽调制技术,工作效率高,运行稳定,既提高了太阳能电池板的使用效率,又延长了蓄电池的使用寿命。
[1]崔岩,李大勇,胡宏勋 .光伏充电控制器温度补偿的研究 [J].太阳能学报,2004,25(1):92-94.
[2]何朝阳,戴君,吴立琴 .太阳能路灯控制器的设计 [J].电力电子技术,2006(12):69-72.
[3]林邦怀,周文灵 .一种基于单片机的智能充电器设计 [J].仪表技术,2007(2):27-29.