摘要:介绍了以ISL9208为核心的大容量锂电池组管理系统的工作原理,给出了通过ISL9208实现对电池组中单体电池的电压、电流、温度等参数的实时检测,并通过单片机对单体电池进行过压、过流、欠压、温度保护以及充放电均衡的实现方法。关键词:ISL9208;p87LpC768;电池组管理系统;电池均衡
0引言锂离子电池以其优异的性能在实际中得到了广泛的应用。随着电池制造水平的提高,锂电池的安全性能逐步提高,价格也不断下降,因此,在一些大容量储能设备中,也越来越多地使用锂电池作为电源。锂电池自身对充放电的要求很高,一旦过冲很容易引起爆炸,而过放则会造成电池的永久损坏,因此,使用不当极易造成人员财产损失。特别是在大容量的串联锂电池组的使用上,必须设计和安装相关的监测、控制设备,以杜绝上述情况的发生。另外,由于单体电池在生产过程中所存在的不一致性,串联使用之后的多次充放电会加剧这种不一致性,从而极大地影响整个电池组的寿命,因此,电池组的均衡控制极为重要。为此,本文使用Intersil公司的锂电池微控模拟前端芯片ISL9208和philips公司的小型封装系列控制芯片p87LpC768(OTp单片机)为主要元件,给出了一种大容量锂电池组管理系统的设计方法。该系统可实现锂电池组中单体电池的电压监测和过冲、过放保护,以及锂电池组充放电的过冲电流保护,同时可对锂电池组的温度进行监控以保证每个电池最大200mA的充电平衡电流。
1系统硬件设计本文给出的电池组管理系统的硬件结构如图1所示。图2所示是其实际电路连接图。
当系统接入外部负载或者充电器时,使用一个外部开关将ISL9208的WKUp引脚拉到高电平,从而唤醒微控制器模拟前端ISL9208,唤醒后的ISL9208则通过内置的3.3V稳压器从RGO口输出3.3V电压来驱动控制芯片p87LpC768,这样,MCU上电后就可使整个系统开始运转。MCU可通过I2C接口与ISL9208进行通信,以设置好ISL9208的内部寄存器,同时监控单体电池的电压状况,并根据每个电池的具体参数判断电池的状态,再通过均衡模块对单体电池进行保护,以防止过冲和过放。1.1控制芯片p87LpC768p87LpC7XX系列是philips公司生产的基于80C51加速处理器结构的小型OTp单片机,它的性能是标准80C51MCU的两倍,并且价格低廉,易于成本控制。p87LpC768内部集成有4KB的OTp程序存储器和可编程的I/O端口,4通道多路8位A/D转换器和I2C通信接口。由于ISL9208有I2C接口,因此,使用p87LpC768可直接相连,而不需要软件模拟,故较为方便。
1.2ISL9208ISL9208IRZ是Intersil公司生产的多节串锂电池包过流保护器件和微控制器模拟前端,可支持5~7节串联电池组。它内部集成了过流保护电路、短路保护、内部3.3V稳压器、电芯平衡开关、电压监测电平转换器和I2C通信接口。ISL9208的内部结构如图3所示。
(1)ISL9208的电压测量和充放电电压保护ISL9208通过VCELL1~7可直接测量每个电池的电压,但是,每个电池的电压都比稳压器的电压要高,特别是高处的电池电压可能高于MCU所能接受电压,所以,在MCU测量和外部A/D转换时,必须进行电平转换和分压。为了进入外部电路要求的电压范围,可用电平转换器把电池电压以VSS为基准都除以2。以使典型4.2V的锂电池在I/O口的电压变为2.1V输出给外部。在充电过程中,MCU将周期性地测量每个单体电池的电压,并与初始设定值相比较,如果大于初始设定值,则MCU通过控制ISL9208的CFET引脚电压,可使外置的N道沟FET关断,以使充电停止,从而保护电池组。而在放电过程中,当MCU检测到任何一个电池欠电压时,同样可对ISL9208写入一个控制位,以控制DFET引脚的电压并关断外部FET,以达到防止过放电的目的。(2)ISL9208的电流测量和过电流保护ISL9208可以选择两种方式充放电,一种是充放电电路整合到一起,另一种是分离式。它们两者的区别在于整合方式充放电电路共用一个电路,而分离方式则分别用2个引脚检测充放电电流,充电时放电检测停止,反之亦然。本系统采用整合方案,因此,CSENSE引脚直接接地,DSENSE引脚则通过一个外接电阻来测量电压,从而测量充放电电流。需要注意的是,此时的参考地是DSREF引脚。在充电过程中,当DSENSE的测量电压超过设定值且时间超过设定延时时,ISL9208将进入过流保护和短路保护模式。此时,MCU会通过芯片控制CFET引脚电压,以关断外部FET,从而断开电路,避免过流引起的电池组安全事故。同理,在放电时,如果检测到放电短路,系统也通过控制DFET引脚的电压来关断外部FET以达到控制之目的。由于本设计针对的是大容量的锂电池串联使用的场合,其充电电流和放电电流都比较高,因此,电路中的外置FET推荐使用能通过大电流而且稳定性较好的IRF540NS。(3)芯片内部温度以及外部电池组的温度测量和控制芯片的内部过热主要是由于内置均衡电流产生的热能造成的,ISL9208自身集成有内部IC过热后停止电池均衡的功能,因此不需要外置电路来监控芯片自身的温度。锂电池的正常工作温度范围在0℃至50℃之间,温度过低,电池将无法工作,而过高则容易导致爆炸,因此,对电池组的温度控制尤为重要。一旦温度达到一定程度,就必须使用外部散热设备对电池组进行散热,超过警戒温度应马上中断电路,以保证安全。ISL9208自带一个温度检测模块(TEMp3V引脚和TEMpI引脚),该电路将反复开启(TEMp3V每640ms开启5ms)。TEMp3V引脚通过外接一个电阻分压器和一个热敏电阻来实现对电池组温度的检测。TEMpI引脚用于测量热敏电阻两端的电压,当电压下降到设定门限值时,表示外部过热,此时MCU将中断电路并启动散热设备,以等待电池组散热,恢复正常温度。TEMpI的电压可以通过AO口,通过MCU设置多路复用器来实现对MCU的输出。1.3均衡模块电池均衡可定义为电池组中对单个电池的微分电流的应用,电池组接受相同的电流,每个电池需要额外的电子元件和电路来达到电池均衡。电池均衡直接影响整个电池组的使用寿命,特别是在大容量锂电池组的应用中,本身电池组成本较高,如果使用寿命很短,则很难进行推广。ISL9208只用少量外置电阻就能实现电池均衡,需要说明的是,这种均衡方式属于电压式均衡,由于电池之间的内阻和容量差异,即便每个单体电池电压达到一致,也并不代表每个电池的容量就能达到一致。实际设计是采用CB1~7引脚,并通过内部的FET,在充电时绕过单个电池并分流一小部分电流;而在放电时,则从电池分出电流,这个功能可以减小单体电池的电压。其电流最大可达200mA,并可以根据分流电阻下调均衡电流的大小。在均衡电流比较小的时候,可以开启多个均衡FET,但整体不能超过器件的功耗限制,过多的平衡电流会导致内部IC过热而中断充放电。
2系统软件设计本系统的软件部分是通过MCU实现周期性测量各个参数,并与初始化时的设定值进行比对,以判断是否需要进入保护状态或者平衡状态。整个系统的软件可采用模块化设计方法。2.1系统初始化模块系统初始化模块主要完成对ISL9208的初始化,主要设定系统的过放电保护电压、过充电保护电压、过放电电流、DFET和CFET引脚的状态、以及TEMp3V温度模块等。2.2参数测量模块参数测量模块主要用于对锂电池运行状态下的电压、电流和温度等参数进行周期性测量。因为各个参数都已经设置好了测量方法,所以,只要MCU通过I2C通信接口向ISL9208的SDA引脚发出指令,修改ISL9208内部多路复用器的寄存器(地址为03H)A03:A01的值,就可以使AO引脚向MCU输出需要得到的各种电压值。2.3状态判断模块经过参数测量模块所得到的测量值经过适当的转换,再由MCU将其与初始设定值进行比较,如果超过上下限值,则进入保护模式,如无,则进入均衡模式。2.4保护和均衡模块当MCU判定系统进入保护模式时,MCU可通过设置ISL9208的FETControl寄存器(地址:04H)后两位的值来实现对外部FET的控制。如果周期性测量的各个参数都符合正常工作范围的要求,那么则进入充放电均衡模式。若以当下电池组中电压最低的那个电池的电压为基准,均衡范围为±50mV(均衡的相差电压可根据实际需要通过电阻调节),那么,就可据此逐个排队判定其他电池是否需要均衡,然后由MCU通过修改CellBalance(地址:02H)寄存器的值来实现对CB1~7引脚电压的控制,以开启或关闭每个电池的均衡模块。
本系统的主程序流程图如图4所示。
3测试结果通过仿真电路对整个系统进行参数测试,可以得到如下结果:(1)过充电保护电压:4.2V±25mV;过充电恢复电压:4.0V±25mV。(2)过放电保护电压:2.7V±25mV;过放电恢复电压:3.0V±25mV。(3)单体电池的均衡电压:50mV(可以根据实际需要进行修改)具体的电流参数如表1所列。
4结束语本文给出了一种5~7节锂电池串联管理系统的设计方法。该方法结构简单、精度适中,能满足大多数大容量锂电储能场合的管理需要。另外,如果串联的锂电池数目更多,也可以将多个ISL9208并联,以实现更大的扩展。