基于BQ77PL900的多节锂电池充放电管理系统
2013-04-25胡国民周志景
胡国民,周志景
(1.南京康尼机电股份有限公司 轨道交通事业总部,江苏 南京210013;2.东南大学 自动化学院,江苏 南京210096)
锂离子电池因具有高能量密度、高工作电压、无记忆效应等特点[1],在电动吸尘器、电动自行车、割草机等产品中备受青睐。
由于生产工艺限制,锂离子电池单体的存储容量、电压、内阻等参数即使在同一批电池中也会存在差异,且这种不一致会在使用过程中逐渐增加。锂离子电池组中单体不一致会造成电池组无法发挥最大容量,而且会大幅缩短电池组的使用寿命。此外,由于锂离子电池的特殊性,在使用中如果发生过充、过放或过流等问题,会对电池造成不可逆的损坏,甚至将造成安全事故[2]。因此,设计安全可靠的充放电管理系统是多节锂离子电池组使用中的重要环节。
本文设计了一款基于TI电池管理芯片BQ77PL900的多节锂离子电池组充放电管理系统,采用嵌入式开发技术与通讯技术,可实时监测电池工作状态,测量电池的电压、电流及温度,并保持电芯间电压一致性等功能,实现对多节锂电池的智能管理与保护。
1 系统总体方案设计
本系统总体电路由CPU模块、电池管理模块、电池包、电源、RS232通讯接口、外围设备和调试下载接口等模块组成,系统硬件框图如图1所示。
图1 系统硬件框图
图1中,充电器通过电源接口在管理芯片控制下对电池包充电。充电采用恒流-恒压(CC-CV)模式。充电过程中,电池禁止放电。
此外,电池管理芯片随时监测电池总电压与单节电池电压以避免过压或欠压,并实现电池组内各电池电压的平衡。
CPU通过下载口实现程序的调试、参数的读取、程序的下载;通过RS232接口与上位机进行通讯,可实时获取相关数据,实现系统监测。此外,主控电路板还带有温度传感器、LED指示灯等外设。
2 关键器件选型
图1中,CPU和电池管理芯片是系统的核心。
2.1 电池管理芯片选型
目前市场上的电池管理芯片较多,其中TI公司的BQ77PL900电池管理与保护器件可管理4~10节电池组,通过级联可保护11~20节电池组,因而在多节电池组应用中备受关注[3]。该器件可为电动自行车、电动踏板车、便携式园艺工具以及不间断电源提供简化的电池组管理方案。
BQ77PL900不仅可以通过监控单个电池电压实施保护,还可在发生故障时,驱动2个N通道功率MOSFET来中断电流。产品的故障检测与恢复标准可在非易失性存储器中全面编程,从而适用于所有类型的锂离子电池系统。主要特性:低功耗工作,低静态电流(典型值为50μA,判断模式下为2.5μA)可以在闲置期减少电池放电,从而可较大限度地延长电池使用寿命。
2.2 CPU选型
考虑到充电设备产品一般对低功耗和通讯等要求较高,本设计选取PIC18LF4520芯片为CPU[4],芯片主要特性如下:(1)低功耗,处于空闲模式时电流降至5.8μA(典型值),处于休眠模式时电流降至0.1μA。(2)高灌/拉电流25 mA/25 mA。(3)最多13路通道的10位模数转换模块(A/D),可在休眠模式下进行转换。(4)主同步串口(Master Synchronous Serial Port,MSSP)模块支持3线SPI和I2C主从模式。(5)增强型可寻址USART模块。支持RS-485、RS-232和LIN 1.2。
3 硬件电路设计
3.1 电流检测及充、放电控制电路设计
BQ77PL900芯片带有电流检测功能,可测量电池回路的电流,并通过测量SRBGND与SRPGND两脚间的电压差,经运算放大器进行电压信号的放大,最后输出电流值。如图2所示。
图2 电流检测电路
BQ77PL900芯片通过CHG和DSG脚控制电池充、放电功能。当CHG输出高电平时,充电MOSFET关断,停止充电;当CHG输出低电平时,充电MOSFET导通,进行充电。DSG、CHG开关工作原理,如图3所示。
图3 充放电控制电路
3.2 I2C通讯电路设计
PIC18LF4520带有主从同步串口模块,支持3线SPI(共4种模式)和I2C主从通讯模式。I2C通讯电路图如图4所示。
图4 I2C通讯电路
图中,PIC18F4520的SDATA(RC4)、SCLK(RC5)脚分别与BQ77PL900的SDATA与SCLK脚相连,通过4.7 kΩ的电阻上拉。
3.3 温度检测电路
考虑到电池包安装与测量精度的要求,本电路采用NTC负温度系数温度传感器。电路图如图5所示。
图5 温度检测电路
使用TL431设计稳压源作为A/D转换的参考高电压,地电位作为参考低电压,以提高测量精度。
3.4 RS232串口通讯电路
设计使用MAX3232E作为RS232串口通讯的电平转换芯片,实现与上位机的通讯,如图6所示。
图6 RS232串口通讯电路
4 系统软件设计
4.1 总体软件实现
系统总体软件设计使用有限状态机编程思想[5],其假设系统具有有限个状态,状态的转变是对输入事件的响应。系统在任何时刻始终处于某一确定的状态上,且其行为确定。其总体实现流程图如图7所示。
图7 总体软件实现流程图
程序启动后,通过I2C通讯修改BQ77PL900的相关EEPROM寄存器,进行过压阈值、欠压阈值、过流/短路阈值设定。
阈值设定完成后进入状态机程序。状态机程序开始后,进行看门狗定时器的清0。清0完成后,系统进行当前状态判断。所有工作状态可分为:充电状态、故障状态和空闲状态。确定状态后进入相应状态处理程序并执行相应处理动作。
4.2 充电管理软件实现
处于充电状态时,系统检测每节电池电压、电池总电压、电池工作温度,定时器记录充电时间。而系统进行电池平衡、过压保护、充电完成指示、过温保护等动作。其中,充电过程流程图如图8所示。
状态机初次进入充电状态时,初始化充电相关寄存器,以后则不再进行初始化以提高程序执行速度。电池平衡过程包括:判断电压是否达到开始平衡电压值;电芯间电压是否平衡;若电池电压不平衡,进行电池平衡过程。充电超过6小时表明电池已损坏,并停止充电。
4.3 故障状态与空闲状态软件程序
系统进入故障状态后,断开充、放电开关,指示灯指示故障状态。空闲状态时,断开充、放电开关,关闭指示灯,PIC18LF4520进入休眠。每隔一段时间,系统唤醒控制芯片,进行状态查询,重新回到状态机。
图8 充电管理软件流程图
5 实验测试
实验时首先对过充、过放及过流等保护进行了测试验证。另外,还测试了温度保护、电池电压检测、上位机通讯、LED指示等诸多功能。下面重点介绍电池平衡的实验测试,这也是多节电池组管理中的重要部分。
以10节电池作为实验对象,通过测量10节电池的电压来分析电池平衡结果。
首先,设置电池平衡开始电压为单节电池电压超过4.05 V;所有电池电压在3.9~4.05 V之间时,不再进行电池平衡动作。实测数据如表1所示。由表1可见,所有电池电压未达到4.05 V,此次实验未进行电池平衡。
表1 充电测试1电压数据
然后,重新设置电池平衡开始电压为单节电池电压超过4.1 V;所有电池电压在4.0~4.1 V之间时,不进行电池平衡动作。实测数据如表2所示。
表2 充电测试2电压数据
由表2可知,本次实验进行了电池平衡,并成功控制所有电池电压在4.0~4.1 V范围之间,且电池最高电压接近4.1 V。
6 结束语
本文设计了一种基于BQ77PL900的充放电管理系统,采用PIC18LF4520作为核心处理器,成功完成10节电池的充放电管理功能,包括电池电量平衡、过流/短路保护、欠压保护、过温保护等。并给出了系统详细的软、硬件设计及实验测试,经测试验证,本系统完全达到了预期设计要求。同时该系统对多节锂电池供电的电子产品设计也具有良好的参考价值。
[1] 戴永年,杨斌,姚耀春,等.锂离子电池的发展状况[J].电池,2005(3):193-195.
[2] 陈玉红,唐致远,卢星河,等.锂离子电池爆炸机理研究[J].化学进展,2006(6):823-831.
[3] 卢林.电池管理设计及发展趋势[J].电子测试,2007(12):7-11.
[4] 李学海.PIC单片机实用教程[M].北京:北京航空航天大学出版社,2012.
[5] 徐卫林,罗林.有限状态机的可靠性设计研究[J].现代电子技术,2007(1):93-94.