微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于AVR的太阳能控制器设计

基于AVR的太阳能控制器设计

时间:07-09 来源:作者:广西师范大学 闭金杰 罗晓曙 杨日星 张露 点击:
随着能源危机和环境污染的加深,太阳能的研究和利用受到广泛的关注。太阳能是人类取之不尽用之不竭的可再生能源,也是清洁能源,不产生任何的环境污染,在太阳能的有效利用中,太阳能充电是近些年发展最快,最具活力的研究领域,是其中最受瞩目的项目之一。太阳能电池发电是基于"光生伏打效应"原理,将太阳能转化为电能,利用充电效应将太阳辐射直接转化为电能。它具有永久性、清洁性和灵活性大的优点,是其他能源无法比拟的。

1 太阳能控制器的设计

1.1 太阳能电池的输出特性


由它的输出特性曲线(见图1) 可知,太阳能电池的伏安特性具有很强的非线性,即当日照强度改变时,其开路电压不会有太大的改变,但所产生的最大电流会有相当大的变化,所以其输出功率与最大功率点会随之改变。然而当光强度一定时,电池板输出的电流一定,可以认为是恒流源。因此,必须研究和设计性能优良的太阳能发电控制器,才能更有效地利用太阳能。

1.2 系统的硬件结构

太阳能控制器硬件结构图如图2所示。该控制器以AVR mega 32为控制核心,外围电路主要由蓄电池电压及环境温度检测与充放电控制电路、电池板电压检测与分组切换电路、负载电流检测与输出控制电路、状态显示电路、串口数据上传和键盘输入电路构成。

电压检测电路用于识别光照的强度和获取蓄电池端电压。温度检测电路用于蓄电池充电温度补偿。该系统采用PWM方式驱动充电电路,控制蓄电池的最优充放电。电池板分组切换控制电路用于不同光强度和充电模式下电池板的切换,该系统实现对3组电池板阵列控制。负载电流检测电路用于过流保护及负载功率检测。状态显示电路用于系统状态的显示,包括电压、负载状况及充放电状态的显示。串行口上传数据电路用于系统运行参数的上传,实现远程监控。键盘输入电路用于充电模式设定及LCD背光开启。该控制器在有阳光时接通电池板,向蓄电池充电;当夜晚或阴天阳光不足时,蓄电池放电,以保证负载不停电。

1.3 AVR单片机

AVR微处理器是Atmel公司的8位嵌入式RISC处理器,具有高性能、高保密性、低功耗等优点。程序存储器和数据存储器可独立访问的哈佛结构,代码执行效率高。系统采用的mega 32处理器包含有32 KB片内可编程FLASH程序存储器;1 KB的E2PROM和2 KBRAM;同时片内集成了看门狗;8路10位ADC;3路可编程PWM输出;具有在线系统编程功能,片内资源丰富,集成度高,使用方便。AVR mega 32可以很方便地实现外部输入参数的设置,蓄电池及负载的管理,工作状态的指示等。

1.4 蓄电池的充放电控制

阀控密封铅酸蓄电池具有蓄能大,安全和密封性能好,寿命长,免维护等优点,在光伏系统中被大量使用。由阀控密封铅酸蓄电池充放电特性图(见图3)可知,蓄电池充电过程有3个阶段:初期(OA)电压快速上升;中期(ABC)电压缓慢上升,延续时间较长;C点开始为充电末期,电压开始上升;接近D点时,蓄电池中的水被电解,应立即停止充电,防止损毁电池。所以对蓄电池充电,通常采用的方法是在初期、中期快速充电,恢复蓄电池的容量;在充电末期采用小电流长期补充电池因自放电而损失的电量。

蓄电池放电过程主要有三个阶段:开始(OE)阶段电压下降较快;中期(EFG)电压缓慢下降且延续较长的时间;在最后阶段G点后,放电电压急剧下降,应立即停止放电,否则将会给蓄电池照成不可逆转的损坏。因此,如果对阀控密封铅酸蓄电池充放电控制方法不合理,不仅充电效率降低,蓄电池的寿命也会大幅缩短,造成系统运行成本增加。在蓄电池的充放电过程中,除了设置合适的充放电阈值外,还需要对充放电阈值进行适当的温度补偿,并进行必要的过充电和过放电保护。

根据阀控密封铅酸蓄电池的特点,控制器利用MCU的PWM功能对蓄电池进行充电管理。若太阳能电池正常充电时蓄电池开路,控制器将关断负载,以保证负载不被损伤;若在夜间或太阳能电池不充电时蓄电池开路,由于自身控制器得不到电力,不会有任何动作。当充电电压高于保护电压(15 V)时,自动关断对蓄电池的充电;此后当电压掉至维护电压(13.2 V)时,蓄电池进人浮充状态,当低于维护电压(13.2 V)后,浮充关闭,进入均充状态。当蓄电池电压低于保护电压(10.8 V)时,控制器自动关闭负载,以保护蓄电池不受损坏。若出现过放,应先进行提升充电,使蓄电池的电压恢复到提升电压后再保持一定时间,防止蓄电池出现硫化。通过PWM控制充电电路(智能三阶段充电),可使太阳能电池板发挥最大功效,提高系统充电效率。

1.5 温度补偿

采用数字温度传感器DS18820检测蓄电池环境温度。对蓄电池的充电阈值电压温度补偿系数取-4mV/(℃·单体)。补偿后的电压阈值可以用以下公式表示:Ve=V+(t-25)αn。其中,Ve为补偿后的电压阈值;V为25℃下的电压阈值;t为蓄电泄环境温度;α为温度补偿系数;n为串联的单体数。控制器对过放电压阈值不做补偿。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top