摘要:电动汽车的发展有助于缓解能源短缺和环境污染问题,针对目前锂电池被逐渐应用在电动汽车上,提出了一种基于OZ8940芯片的电动汽车锂电池管理系统的设计方案。系统包括电压、电流、温度采集电路,均衡电路,MCU主控电路,I2 C通信电路,CAN通信电路,显示单元。该系统设计方案简单可靠,实现了对锂电池实时监测和保护的功能。
电动汽车的使用有助于保护环境和解决能源短缺问题。电池组作为电动汽车的能源,其正常地工作是安全行驶的重要保证,因此,对电池组工作状态的管理显得尤其重要。近年来,对电池管理系统的研究也越来越受到重视。电池管理系统的职能是实时监测电池组状态,实施必要的管理和保护措施,以提高电池组的利用率,确保电池组工作的安全可靠,进而确保行车安全。
1 系统基本功能介绍
设计的锂电池管理系统采用电池监测芯片对电动汽车电池的电压、电流、温度等信息进行实时监测。采集到的电压、电流、温度等信息经过微处理器处理后,相应的信息显示在显示屏上。如果电池状态信息超出正常范围,系统自动切断充放电回路并报警。均衡电路的应用,延长了电池组的使用寿命。系统结构如图1所示。
图1 电池管理系统基本结构
2 系统硬件设计
系统采用O2Micro公司的OZ8940芯片作为电池信息的采集芯片。OZ8940是一款低功耗芯片,工作时电流小于500μA,休眠模式下小于50μA.可支持6~12节串联电池的信息测量,总的电压测量范围为9~60 V.内部包括12路的12位电压采集ADC,分辨率2.44 mV.1路片内温度采集ADC,精度为12位,2路片外温度采集ADC,精度为12位,分辨率1.22mV.OZ8940可提供两级保护功能,第一级保护包括过电压、过电流、过温度等保护。第二级保护是永久性外部极高过电压故障的保护。此外,OZ8940支持内部均衡与外部均衡两种均衡方式。均衡技术的应用,使得电池组特性在充电时保持了良好的一致性,这有助于延长电池组的使用寿命。OZ8940通过I2 C接口与MCU进行通信。
2.1 单体电池电压监测
如图2所示,12节单体电池串联构成电池组,从每一节电池的正负极引出接线端子,单体电池的输入电压范围为-0.5 V~8 V.接线端子经过RC低通电路后引入到OZ8940的BAT端口,作为电池电压的输入端。RC低通电路可以消除信号中的高频干扰。在OZ8940中通过一个多路选择器分别将这12路电压信号引入到内部12位精度的ADC中进行转换,转换结果送至内部逻辑,经过I2C接口与MCU通信。
图2 电压采集。
2.2 电流监测
采用霍尔电流传感器对电池组充放电电流进行采集,如图1中电流采集部分所示。采集到的信息送至MCU进行处理。
2.3 温度监测
OZ8940内部集成了一个温度传感器。片内温度每升高1℃,内部温度传感器输出电压增加2.0976mV.内部温度传感器输出的电压量会有一定的偏差,这个偏差量可以通过片内EEPROM 中INTREF11~INTREF0位在软件上进行补偿。
此外,通过使用OZ8940的GPIO1和GPIO2两个端口可以采集片外温度信息。如图3所示,RT1和RT2是负温度系数的热敏电阻,即随着温度的升高,其阻值会降低。GPIO0端口提供3.3 V的电压,GPIO1和GPIO2 分别获得两路电压值。端口GPIO1 和GPIO1采样电压输入大小分别如式(1)和(2)。
UT1和UT2经过片内的一个多路选择器送至内部精度为12位的ADC进行转换。
图3 温度采集
2.4 均衡电路
电池组在充电过程或者空闲状态时,当满足单体电池电压高于在片内EEPROM 预先设置好的门限值,且单体电池电压互差(最高电池电压与最低电池电压之差)大于预先设置的门限值(精度可以设置为9.76mV~39 mV),则三极管T导通,均衡电路[2]开始工作。三极管T和电阻RB为单体电池提供了一个放电回路,使得电池的工作状态保持了良好的一致性,延长了电池组的使用寿命。值得注意的是,在均衡期间,当系统发生过电压、过温度或者过电流等保护事件时,均衡电路停止工作,这是由OZ8940内部结构所决定的。
均衡电路原理图如图4所示。
图4 均衡电路原理图。
2.5 保护措施
2.5.1 过电流保护
OZ8940内部集成了一个过电流监测器,它可以监测充放电电流的大小。预先在片内EEPROM 设定了过电流门限值,如果电流高于门限值,则系统在经过一定的时间延迟后自动切断充放电回路。OZ8940在休眠模式下,OZ8940的电流保护失效。实验中采用霍尔电流传感器监测电流大小。
2.5.2 过电压和低电压保护
OZ8940片内集成了一个过电压和低电压监测器。采集到的电池电压信息与EEPROM 中设置的电压门限值相比较,在充电过程中如果超出了高电压门限值,则系统在经过一定的时间延迟后,自动切断充电回路。在放电过程中如果超出了低电压门限值,则系统经过一定的时间延迟,自动切断放电回路。这两个时间延迟均可在EEPROM 中预先设置。OZ8940在休眠模式下,过电压和低电压保护不工作。此外,当过电压保护失效时,OZ8940会启动第二级过电压保护功能。即当过电压超过门限值并且存在8个ADC扫描周期时,OZ8940通过OVPF引脚发出一个PF信号给MCU,由MCU来控制切断充电回路。
2.5.3 高、低温保护
温度保护功能是暂时切断充电或者放电回路,当温度恢复正常后,则闭合充电或者放电回路。温度保护的工作原理同样是将内部温度传感器,或者是将由外部温度采集电路得到的温度信息,与OZ8940内部的高、低温门限值相比较,当超过门限值时则启动保护功能。在电池充放电状态或者闲置状态下,触发了高温保护功能,系统会同时切断充电回路和放电回路。
低温保护功能的触发发生在放电状态或者闲置状态下,此时系统仅切断放电回路。同样,OZ8940在休眠模式下,高、低温保护失效。
2.6 电池组信息的处理与显示
如图5所示,OZ8940通过I2 C接口与STC单片机(MCU)进行通信,它们之间通过光耦隔离有效地将OZ8940的高压侧与STC单片机的低压侧进行了隔离。采集到的电压信息送至STC单片机进行处理,通过CAN[3]总线送至显示器显示。在汽车运行这样一个高温、震动及电磁辐射强度高的恶劣环境下,CAN总线因其良好的检错能力和高可靠性被广泛应用。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线。通过单片机P1.0端口和一个MOSFET管,可以使充电回路中的一个熔断器熔断,起到了切断充电回路的作用。即单片机收到OVPF端口产生的一个PF信号后,可由P1.0端口控制一个MOSFET管导通,使得回路熔断器断路,进而与OZ8940的第二级过电压保护功能相配合,起到了保护系统的作用。
图5 系统通信与显示。
3 软件设计
STC单片机上电后配置各个寄存器,以及对OZ8940发送控制字命令,完成初始化。系统每隔500ms定时启动一次转换,读取电池组电压、电流、温度等信息,计算电池剩余容量,然后送至显示器进行显示。
当这些信息超出用户设定的门限值时,启动报警。当系统启动第二级过电压保护功能时,OZ8940发送一个PF信号给STC单片机,单片机收到这个信号后产生一个中断,在中断服务程序里,通过P1.0口控制外部MOSFET管导通,熔断回路熔断器,并启动报警告知用户。OZ8940将采集到的单体电压值进行处理,与预先设定的门限值进行比较,当满足均衡条件时,均衡电路开始工作。系统软件流程图如图6所示。
图6 电池管理系统软件流程。
4 实验结果及结论
实验时采用12节40 Ah的磷酸铁锂电池串联构成电池组。列举一组实验数据如下:
设计的电动汽车锂电池管理系统实现了对电池组电压、电流、温度、剩余电量等信息的监测(见表1,表2,表3),单体电压误差小于10 mV.过电压、过电流和温度保护的应用使得电动汽车在实际运行中更加安全可靠。I2C通信和CAN 总线通信简单可靠。均衡电路的应用有助于延长电池组的使用寿命。系统具有简明可靠、抗干扰能力强等特点,实验证明系统的设计是可行的。
表1 单体电池电压采集
表2 电流及温度采集
表3 锂电池管理系统参数设置