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