基于AVR单片机的太阳能电池控制器设计

分享到:

作者:闭金杰 罗晓曙 杨日星 张露

  随着能源危机和环境污染的加深,太阳能的研究和利用受到广泛的关注。太阳能是人类取之不尽用之不竭的可再生能源,也是清洁能源,不产生任何的环境污染,在太阳能的有效利用中,太阳能充电是近些年发展最快,最具活力的研究领域,是其中最受瞩目的项目之一。太阳能电池发电是基于“光生伏打效应”原理,将太阳能转化为电能,利用充电效应将太阳辐射直接转化为电能。它具有永久性、清洁性和灵活性大的优点,是其他能源无法比拟的。

  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为串联的 单体数。控制器对过放电压阈值不做补偿。

  1.6 MOSFET驱动电路

  设计的控制器属于串联型,即控制充电的开关是串联在电池板与蓄电池之间的。串联型控制器相对于并联型控制器能够更有效地利用太阳能,减少系统的 发热量。设计中用MOSFET实现开关。MOSFET是电压控制单极性金属氧化物半导体场效应晶体管,所需驱动功率较小。而且MOSFET只有多数载流子 参与导电,不存在少数载流子的复合时间,因而开关频率可以很高,特别适合作为PWM控制充电开关。为此,设计中采用P沟道MOSFET。P沟道 MOSFET的导通电压Vth<0,由图4可以实现MOSFET的驱动。当Q2导通时,由于Q2的Vce很小,可以认为Q1的G极接 地,Vgs<0,当Vin达到一定值时,Q1导通。

  1.7 键盘电路

  采用单按键的输入方式,用于开液晶背光和设定充电模式。初始化时将PC7输出高电平,在程序运行过程中,通过定时中断检测是否有按键按下。当有按键按下时间不超过10 s时,则打开液晶背光,10 s后背光关闭。当有按键按下时间超过10s时,进入模式设定。在设定模式下,每按一次模式加1,按下按键10 s后或者10 s按键无任何动作,模式保存到E2PROM中,退出设定模式。

  1.8 状态显示和告警电路

  控制器用LCD1602液晶显示系统的状态信息,包括蓄电池电压、负载功率等。 LCD1602采用7线驱动法,Vo接1 kΩ电阻到地,用于调节液晶显示对比度。显示数据和指令通过LCD1602的DB4~DB7写入,同时具备有声光告警功能。当出现过压或过放时,相应的发光二极管闪烁以及蜂鸣器告警,同时相应告警继电器接通。

  1.9 数据上传

  控制器用RS 232串行口将系统电压、温度、充放电状态以及负载情况数据上传,实现远程监控。

  2 控制器的软件流程图

  主程序主要完成对I/O、定时器和PWM的初始化,同时根据电池板和蓄电池的状态调用相应的充放电子程序。控制器参数的测量主要由中断服务程序完成。

  3 结 语

  在此设计的太阳能控制器性能稳定,具有过充过放保护和温度补偿。经过测试,系统显示出良好的控制效果,不仅提高了太阳电池的工作效率,同时也保护了所使用的蓄电池,在利用绿色能源方面,具有一定的社会效益和广泛的推广价值。

继续阅读
开源门禁系统设计项目—基于ATmega328

门禁系统设计要求:基于atmega328单片机设计,具有通话、振铃、摘机、通话、开锁功能,还要有键盘和显示电路。

sam4s16c的片内flash读写

最近一直在玩sam4s16c,网上的所有论坛基本找不到atmel的资料,真心的不喜欢,但是工作需要,没办法。只能静下心来仔细研究Datasheet,别无他径。

把握MCU发展轨迹 正确选择MCU完成产品创新

面对缤纷多彩的 MCU 世界,如何在新品设计,老产品更新换代中正确的选择芯片和供应商将是要面临的一个重要的题目,因为无论是产品的更新还是 MCU 的更新速度都远远超出设计者预想,正确把握 MCU 发展趋势,利用 MCU 帮助产品创新是电子设计者正在考虑的问题。

SAM4L8教程之USB复合设备的实现

大家用usb数据线连接开发板的DEBUG USB,打开设备管理器会发现主机识别出有3个设备,这就是usb多功能的复合设备。下面是我探索将MSC,usb mouse和usb keyboard集合于1个设备的教程。

可视化的调试助手FreeRTOS+Trace

在AS开发库中,除了直接用于程序嵌入的库和内核以外,还有用来调试的工具。对于FreeRTOS而言,相对的线程和任务调度是比较难于用普通的设置断点,进行参数跟踪来实现的。因此,一种可视化的调试工具就被引入到AS中——FreeRTOS+Trace。

©2019 Microchip Corporation
facebook google plus twitter linkedin youku weibo rss