介绍一个以51系列单片机为主控单元的串联锂离子电池组监测系统。采用差分放大器和模拟开关轮流检测单体电池电压,利用单片机的IO接口和DS18B20实现单总线多点温度检测。系统简单经济,经过试验,能可靠、准确地对串联锂离子电池组进行监测。
具有高电压、高容量、循环寿命长、安全性能好等优点的锂离子电池,在便携式电子设备、电动汽车、空间技术、国防工业等多方面具有广阔的应用前景。由若干节锂离子电池经串联组成的动力锂离子电池组目前应用最为广泛。由于每节单体电池的电压不一致,使用中电池不允许过充电、过放电,电池的性能和寿命受温度影响较大等特点,必须对串联锂离子电池组进行监测,确保在使用中锂离子电池具有良好的状态,或者使用中电池出现问题立即报警,电源管理系统立即采取保障措施,并提醒相关人员检修。单体电压和电池组的温度是辨别串联锂离子电池组是否正常工作的主要技术指标。文献[1]采用直接采样法,将要测量的单体电池电压存储在非电容上进行测量。该方法反应时间慢、误差较大、控制复杂;文献[2]采用运放和光藕继电器来测量串联电池组的单体电压。该方法对光耦的线性度要求很高,导致硬件成本较高。目前,直接采用集成芯片的串联锂离子电池组监控系统受到青睐,但该方法串联电池的数目固定,导致应用不灵活、硬件成本高等缺点。文中研制了一种动力锂离子电池组监测系统,对串联锂离子电池组的单体电压和电池组的温度进行在线监测,当单体电池电压偏离规定区间时,监测系统启动报警程序进行声、光报警;当电池组温度偏离规定的区间时,监测系统启动风扇或加热控制电路,并存储有关数据,确保电池组正常工作。整个监测系统具有连续测量分量、简单经济、精度高和可靠性高的特点。
1 技术和方案
1.1 系统结构
串联锂离子电池组监测系统包括采用51系列单片机的核心控制模块、锂离子电池组状态采集模块、信号调理模块,报警及处理系统模块,监测系统可以通过RS485接口与PC机组成分布式监测系统,实现一台PC监测多个串联电池组,系统结构框图如图1所示。
状态采集模块包括对单体电池的电压和电池组的温度等参数进行采集,然后待测量信号进行处理,通过A/D转换器采样后传输给单片机进行数据处理,将有效数据通过串口传到本地PC机,监测人员可以通过对状态数据的进行分析从而掌握电池组的工作情况,对不安全的状态进行及时的处理,确保其工作的可靠性。
图1 串联锂离子电池组监测系统结构图
1.2 串联锂离子电池组的共地问题
串联锂离子电池组电压测量的方法有多种,最简单的是电阻分压测量方法,该方法缺点是大阻值电阻的漂移误差和电阻漏电流导致测量精度低,且影响电池组的一致性。另外一种较为常用的方法是每一个单体电池用一个隔离运算放大器,但是它的体积大且价格高,适于测量精度要求高且不考虑漏电流和成本的场合。设计选用德州仪器公司的INA117来解决串联锂离子电池组的共地问题[3]。INA117的失真为0.001%;共模拟制比最小86dB,共模输入电压范围±200V,适合于高精度的测量。
INA117内置了380kΩ、20kΩ和21.1kΩ 3个电阻,因此外部电路省去精密电阻,减少了精密电阻带来的误差和系统复杂程度。图2是INA117输出1节电池电压的接法,6脚和1脚之间的电压就是1节电池两端的电压差。
图2 INA117输出电压是两输入电压之差的接法
该检测系统采用16个INA117分别把16节锂离子电池的单体电压挑选出来。如果它们的1脚都接相同的地,就可以使16个INA117都有相同的信号地,A/D转换器进行采样。共地点选在第8节电池负极和第9节电池正极的连接处。
每节锂离子电池最高电压为5V,由图3可得,第1个INA117的3脚的输入电势最高为40V。同理,第16个INA117的2脚输入电势最低为-40V。第1至8个INA117的输出电压为正,第9至16个INA117的输出电压为负,所以多选一模拟开关和A/D转换器都要求可以输入正、负电压。多选一模拟开关选用MUX16,为16选1可正负电压输入模拟开关,因此16节电池只需1个MUX16.但由于单片机IO口有限,文中用一片74LS154扩展了IO口,仅用单片机的4个IO口即可控制MUX16分别选通单节锂离子电池进行电压采样。
图3 16个INA117的共地点接法
1.3 A/D转换器
监测电池组无需用很高的采样速度采样每节电池的电压,16节电池电压的采样共用1个A/D转换器[4]。各节电池输入的测量电压通过多选一模拟开关MUX16与A/D转换器连接。根据电池电压的更新周期和电压要求,A/D转换器传送给单片机的电压转换值误差最大为10mV。选择美信公司MAX1272。
MAX1272是具有故障保护、可通过软件选择输入范围的12位串行模拟数字转换器,使用SPI三线通信协议,+5V供电,模拟输入电压范围0~10V,0~5V,±10V,±5V。内部自带+4.096V参考电压。当采用内部+4.096V参考电压时,理想情况下模拟电压输入对应的数字输出,如表1所示。
表1 理想情况下模拟电压输入对应的数字输出
由表1可知,MAX1272输出的数字量最高位是符号位,余下的11位是数据。负数以补码的形式给出。
参考电压为+4.096V时,1LSB=1.2207mV。
MAX1272的最大量化误差,加上非线性、失调等误差的影响,总误差约为5mV。INA117精度高,正常情况下,误差在1mV以内。因此,使用INA117和MAX1272的组合,可以满足串联锂离子电池组电池监测系统在电压误差10mV以下的要求。需要更高的电压精度,需要选用更高分辨率的A/D转换器。
MAX1272的线路连接图如图4所示。
图4 MAX1272的线路连接图
图4中MAX1272采用了内部参考电压,6脚VREF 和地之间接2.2μF钽电容和0.1μF陶瓷电容。
PCB布线时,这两个电容都要求尽量接近MAX1272。
1.4 温度监测
针对串联电池组,传统的测温方法多采用模拟温度传感器进行测量,在数据的采集和传输过程中易受外界环境的干扰,从而使测得的结果误差较大,且当测量点较多时,连线较复杂。文中采用单片机和单总线数字式温度传感器DS18B20来解决上述问题[5]。其原理如图5所示。
图5 温度巡回检测系统框图
采用外部5V供电,总线上可挂接多片DS18B20,且可以同时进行精确的温度转换,而无需外接驱动电路。测温范围-55~ +125℃;测温精度:在-10~ +85℃范围内的精度为±0.5℃;在温度采集过程中,单片机芯片需对DS18B20发命令字,同时也需要读取由DS18B20采集到的温度。因此,单片机控制器的I/O必须被设置为具有双向传输数据能力。
本检测系统每隔一节锂离子电池在总线上挂接一片DS18B20,设置8个温度监测点,同时检测8点温度。实际应用时由单片机软件判断出需要显示的温度值:当温度高于10℃时,显示8个温度点中最高的温度值;当温度低于10℃时,显示8个温度点中最低的温度值,达到有效合理的温度监控效果。
1.5 风扇及加热控制电路
对于电池的散热问题,设计了风扇控制电路,通过对测量到的电池温度值进行判断,决定风扇的开启或关闭。当温度过高时,单片机将发出信号开启风扇。
电路如图6所示,FAN为低电平时,晶体管9014不导通,此时继电器无动作;当FAN为高电平时,晶体管9014导通,使得继电器触点吸合,风扇在24V电源电压的供电下开始工作。
图6 风扇控制电路
对于应用环境复杂的串联锂离子电池组,除了要考虑温度过高的情况,还要考虑温度过低的情况。因为电池在温度过低的环境下运行时,会使锂离子活性变差,嵌入和脱出能力下降,容易在石墨晶体表面沉积,形成锂金属。形成的锂金属会与电解液发生不可逆的反应。
如果锂离子电池长期在低温下工作,则将使电池的容量下降明显。因此根据需要设计了加热器控制电路,原理如风扇控制电路。
2 监测系统的性能
实测证明,使用INA117、16选1模拟开关MUX16、MAX1272、51单片机和DS18B20的串联锂离子电池组监测系统监测16节3.7V锂离子电池,电压的测量误差完全在10mV以内。温度方面,由于DS18B20精度较高,温度误差在1℃以内。电压和温度的测量均达到要求,系统运行可靠。当串联锂离子电池组任何一节电池电压<2.2V时,单片机调用轻度报警程序进行声光报警,并通报存在问题的电池。
当串联锂离子电池组任何一节电池电压>5V时,单片机调用严重报警程序进行声光报警。如果温度值超出预设温度值的容许范围,串联锂离子电池组监测系统进行声光报警。风扇和加热控制电路均能根据设定温度正常启动控制电路。当温度低于5℃时,启动加热控制电路;温度高于50℃时,启动风扇控制电路。
3 结束语
串联锂离子电池组检测系统,采用高共模抑制比差分运放INA117解决了共地问题,监测电压误差正负10mV,如要进一步提高检测精度,可以选用高位A/D转换器。检测时,锂离子电池是串联接在检测模块上的,要保证接线正确。根据实际应用,可把几个检测系统串接起来检测更多的串联锂离子电池组,但要确保共模电压不超过INA117的最大保护共模电压范围。 |