基于PIC16F883的锂电池智能充电器设计

分享到:

    随着全球工业化的进程,人类对能源的需求在不断增长,能源危机日益加剧。太阳能是资源最丰富的可再生能源,它分布广泛、可再生、不污染环境,是国际公认的理想替代能源。随着太阳能技术的发展,近年来超薄、超轻的光伏电池在便携式电子设备中的应用也得到了很大发展。

   内置锂离子电池的太阳能充电器摆脱了传统充电方式的束缚,节能与环保,具有良好的发展前景。本文的研究目标是设计一个基于单片机智能控制的,能够为手机、MP3、PDA等电子设备提供直充电源的太阳能充电器。

 

1 系统的总体结构

整个充电器主要包括太阳能电池、锂离子电池、充电电路、放电电路、控制电路5个组成部分。系统整体框图如图1所示。该充电电路是一个Buck变换器及其驱动,由它把太阳能电池发出的电能进行变换后对锂离子电池充电,Buck的驱动脉冲由单片机输出,并由单片机控制其工作。

放电电路是一个有关闭模式的集成Boost变换器,它将锂离子电池的端电压进行升压,使充电器输出的电压适合于给手机、MP3等电子产品充电。控制电路主要包括单片机及其外围电路、驱动电路、采样电路和供电电源。控制电路实现的功能是:单片机根据采样的充电电流信号,调节Buck变换器占空比以实现充电电流的控制,当没有充电电流输出时关闭Buck以减少电路损耗;根据采样的锂离子电池电压信号进行充电过程的控制,实现脉冲方式的充电,并进行过充保护,以及使能或关闭放电电路防止过放;根据采样的锂离子电池温度信号实现超温保护,当温度超出正常工作范围时,暂停充电。

001

2系统硬件电路设计

本文采用的锂离子电池充电方法包括预充电、快速充电、脉冲充电三个阶段。当锂离子电池端电压低于3 V时,先对其进行预充电处理。当锂离子电池端电压≥3 v时,可直接进人快速充电阶段。当锂离子电池端电压达到4.2 V时,进入脉冲充电阶段,在此阶段间歇关闭充电电路使电池电压保持在4.2 V左右。锂离子电池的放电电压区间设为3.3~4.2 V,当电池端电压低至3.3 V时关闭放电电路,防止过放电。

充电主回路如图2所示,包括太阳能电池、屏蔽二极管、Buck变换器和锂离子电池。

002

Buck变换器设计的关键是确保“磁路”不会饱和,因此电感应该在最不利工作条件下设计,即电感电流最大。对于Buck变换器,电感平均电流总是等于负载电流J。,因此它的最恶劣情况还要考虑输入电压最高的情况,此时电感电流的峰值最大。对本设计来说,最不利条件发生在变换器输人功率最大,锂离子电池端电压最小,此时输出负载电流最大。可得电感量L:

003

放电电路的输人电压为锂离子电池的端电压,其工作范围从3.3 V~4.2 V,为保护锂离子电池,当电压低至3.3 V时,关闭放电回路。放电电路的输出为手机、PDA等设备提供5 V~5.5 V的直充电源,因此放电电路需要用一个Boost变换器,选择LINEAR公司的集成Boost变换器LTC3402,如图3所示。放电电路稳压输出为5.3 V/500 mA。电路有两种关闭模式。第一种模式由手动控制开关S。当充电器需要输出电源为手机等设备充电时,闭合S;当充电完毕后,断开S,防止放电电路继续消耗功率。第二种模式由单片机自动控制。单片机对锂离子电池的端电压进行采样,经过内部比较器比较后输出高电平或低电平。当电压在3.3~4.2 V之间时,PICl6F883单片机的6脚输出高电平,Boost电路正常工作。当电压小于3.3 V时,6脚输出低电平,关闭Boost电路,防止电池继续放电。同时给出电池缺电指示灯,等待手动切断S,开关。

004

PICl6F883是Microchip公司于2006年推出的PICl6F88X系列单片机中的一个型号。PICl6F883单片机不仅集成了本电路所需要的PWM脉冲调制模块、A/D转换模块、模拟比较器,而且芯片设计采用纳瓦技术,具有非常良好的低功耗特性,待机电流低至50 nA。另外它还有多个可将单片机从休眠模式下唤醒的中断源,进一步减少了功耗,非常适合电池供电系统的使用。其引脚功能如图4所示。

005

在数字控制电路中,必须将模拟信号转换为单片机可以处理的数字信号,通常由A/D转换器(简称ADC)来实现。PICl6F883单片机内部集成了11通道10位分辨率的A/D转换器,因此不需要外接A/D转换芯片。

(1)电流采样电路设计

采样电流的主要作用是为了实现锂离子电池充电电流最大,因此采样电阻R,。串联在电池充电回路中,采样电阻上的压降与充电电流的大小成正比。采样电、路如图5所示。

(2)电压采样电路设计

电压采样电路对锂离子电池的电压进行采样,采样电压是充放电控制的依据。锂离子电池的最高电压为4.2 V,对其进行两次分压,第一次分压后采样信号的最大值为2.8 V,输入单片机的AN2模拟通道进行A/D转换,根据转换后的值判断锂离子电池应该进人预充电、快速充电还是脉冲充电。第二次分压后采样信号的最大值为2.16 V,该信号作为单片机内部比较器的反相输入信号,与内部参考电压比较,再通过软件设置将比较结果反转后,由单片机6脚输出给Boost变换器的引脚,控制Boost电路工作或关闭。电压采样电路如图6所示。

(3)温度采样电路设计

为了防止锂离子电池超温工作,必须采样电池温度。温度采样通过一个负温度系数(NTC)热敏电阻实现。电阻贴在电池表面中心位置,因此得到的温度是电池表面温度。采用的热敏电阻在额定温度25℃时的电阻值为47 k,热敏指数B值为3 950 K(25/50),精度±3%。温度采样电路如图7所示,热敏电阻与电阻R:。并联后再与Rz。串联,当NTC阻值变化时,送给A/D转换通道ANll的采样电压值也发生变化。若采样得到的电压值超过0.94~2.2 V的范围,单片机会关闭充电电路,暂停充电,直到电池温度恢复正常为止。

006

007

008

3系统软件设计

 

单片机是整个系统控制的核心,而所有的控制命令都要由软件来实现。系统软件要实现以下控制功能:

(1)充电过程的转换与控制。充电过程包括预充电、快速充电、脉冲充电三个阶段,必须使充电电路在这三个阶段之间正确转换,并在每个阶段执行不同的控制策略,使锂离子电池合理充电。

(2)正确判断锂离子电池是否充满,充满后充电器进入休眠状态。若充电器电源按钮一直接通,则当电池电压下降到重复充电值后自动重新开始充电过程。

(3)在整个充电过程中一直监测锂离子电池的温度,并进行过温保护。

(4)进行放电控制。

主程序流程设计如图8所示,在主程序中主要完成系统初始化、开中断、调用充电子程序、充电完成处理等功能。初始化子程序中要进行变量、I/0端口、比较器、PWM、定时器、中断的初始化。初始化完成后,启动比较器中断,并根据锂离子电池的电压转人预充、快速或脉冲充电子程序。UBATT_MAX是锂离子电池的终止充电电压,设为42 V。UBATT_MIN是快速充电的起始电压,设为3 V。当充电完成后,置充电指示灯为绿灯,然后将其余端口设为低电平,修改比较器基准电压为4 V,关闭全局中断使能位,单片机进入休眠状态。

009

 

本文设计的锂电池充电器的充电电压和电流及放电电压曲线分别如图9~图11所示,实验结果证明本方案能较好地完成对锂离子电池进行过充、过放和过温保护的功能。

010

011