基于Atmega16的智能太阳能充电器设计
1 Atmega16 系列单片机概述
美国英特梅尔(ATMEL)公司的Atmega16 系列单片机是基于增强的AVR RISC 结构的低功耗8 位CMOS 微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。ATmega16 AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算术逻辑单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。
在开发工具上,ATmega16 系列单片机支持先进的JTAG 调试,其硬件仿真工具(仿真器)只是一个非常简单的USB 转换器,其软件集成开发环境由著名的IAR 公司提供,在实际调试使用时非常方便,能对相应的数据进行实时观测和对程序的执行情况进行判断,在系统整合方面,ATmega16 系列单片机根据不同产品系列,集成了多种不同的功能模块,包括定时器、模拟比较器、多功能串行接口、硬件乘法器、ADC、看门狗定时器(WDT)、I/O 端口、RAM、PWM 以及丰富的中断功能。使用户根据自己的需求,选择合适的ATmega16 单片机。
系统主要实现独立光伏路灯太阳电池板的最大功率跟踪功能。在太阳电池板处于工作状态,即整个光伏系统处于充电状态时,控制器在光电流达到一定值后(本系统设定为0.3A),实现对电压、电流数据的检测,通过快速的控制算法,调节蓄电池两端的充电电压,实现太阳电池板的输出功率的最大功率跟踪,提高铅酸蓄电池的充电电流,缩短充电时间,提高充电效率。系统的实现主要应解决如下几个方面的问题:
(a)太阳电池板输出电压的检测:检测太阳电池板不同的输出电压,并根据不同的电压,系统作出不同的控制处理。如系统处于默认工作状态,太阳电池开路电压低于8 V 时,因为其低于电池的充电要求,因而进行卸载处理。
(b)铅酸蓄电池容量的检测:系统为了尽可能地保护蓄电池,延长其寿命,将根据不同的容量和蓄电池不同的状态采取相应的充电控制策略。
(c)太阳电池板输出电流检测:据此得出输出功率,使系统通过一定的算法和控制手段,使系统工作在最大功率点。
(d)PWM 输出控制:根据输入输出检测模块的数据实时调整蓄电池的充电电压和电流和卸载放电功能,实现智能充放电控制。
(e)中央处理系统:实现高效的信息处理和各个功能模块的控制。
由此,我们设计出了系统整体硬件电路结构模型,见图1。从图中可以看出,整个电路由六个功能模块组成:核心控制模块、前级检测模块、Boost 电路控制模块、后级检测模块、PWM 输出模块和卸载模块构成。
当太阳电池板正常工作输出时,其过程为:首先检测该电压能否达到电池的充电要求,在满足基本充电要求的情况下通过控制器对电池两端的电压进行实时监控在适合电池工作的三种情况下,通过ATmega16 微处理器的PWM 模块输出控制充电电压和电流。
评论