APP下载

基于STM32的锂电池管理系统

2014-08-22苏震宇

科技视界 2014年9期
关键词:节电池电芯时序

苏震宇

(淮南市矿用电子技术研究所,安徽 淮南232001)

0 引言

近年来,环保和节能的问题日益突出,锂离子电池(简称锂电池)由于其具有能量密度高使用寿命长自放电小无记忆效应及单节电池电压高等诸多优点,迅速成为市场的主流电池产品。在矿用产品中,锂电池逐步替代了铅酸电池和镍氢电池。但锂电池在使用时也存在一个重要的问题,它在过充电或是在过放电时电池可能会发生爆炸,因此需要良好的保护电路来配合使用,这样可以杜绝电池爆炸的问题。为此,本文提供了一种以STM32F103为核心的电池管理系统,它通过对8节锂电池组单体电池状态的检测,实现对电池组的管理,防止过充电和过放电,并完成SOC估算和均衡,同时通过485总线与外部通讯。

1 LTC6802简介[3]

LTC6802是一款电池监测芯片,内部包括12位分辨率的模数转换器,高精度电压参考源,高电压输入多路转换器和串行接口。每片LTC6802可测量12节串联电池电压,最大允许测量电压60伏。可同时监测全部电池电压或单独监测串联电池中的任一节电池。芯片采用独特的电平移动串行接口,多片LTC6802可直接串联,芯片之间无需光耦或隔离器件。

多片LTC6802串联时可同时工作,全部串联电池的电压测量时间在13ms以内。为减小功耗,LTC6802还可对每节电池的过电压与欠电压状态进行实时监控。芯片每个电池输人端内部连接有MOS开关用于对过充电池放电。

图1

单片机可以通过SPI总线从LTC6802读取数据,并控制相应电池输入的MOS管的导通和关闭,以实现电芯均衡。输入通路中插入100Ω的串联电阻,而不会引入重大的测量误差,为了保护LTC6802电压采集引脚,防止电压高出最大输入电压,在每一个电芯采输入端口并联一个7.5V稳压管,并在每个电压采集引脚前加阻容滤波电路,从而有效地滤除高频干扰,保证电压采集的正确性。

2 STM32简介[1-2]

采集控制和信号调理模块的核心处理器使用STM32F103VET6芯片,STM32是意法半导体公司推出的基于ARM32位Cortex-M3CPU,片内自带512K高速FLASH程序存储器高达64K的SRAM;2.0~3.6V供电和IO管脚兼容5V电平STM32多达13个通信接口;CAN、USB、双I2C、3个SPI、5个USART接口片内 2个 12位逐次逼近型AD转换器,它有18个通道,各通道的AD转换可以单次连续或间断模式执行其最大转换速率达1MPS电压转换范围0~3.6V,转换精度±0.8mV。由于LTC6802不能满足检测每个电池电芯温度的要求,所以电池电芯的温度将使用STM32片内AD进行检测;而电池的充放电电池也将由STM32来进行采集,而电池的温度、电流信号变化缓慢,STM32可以达到系统的要求。

3 电压采集和均衡部分[4-5]

STM32可以通过SPI总线从LTC6802读取数据,根据所采集到锂电池电芯电压,判断当前电池电芯电压是过压或者是欠压。当电池欠压时,STM32发出报警信号,并通过控制管脚打开充电MOS管,对电池进行充电,并实时监控充电电流,防止充电电流过大,同时监测电池各个电芯电压以防止有电芯充过压。

当电池电芯过压时,STM32通过配置LTC6802的寄存器,打开相应的和电池电芯并联的MOS管,对过充电电芯进行放电。TM32通过控制相应电池输入的MOS管的导通和关闭,以实现电芯均衡。均衡程序流程图如图1所示。

4 温度采集和RS485总线通信部分

由于LTC6802只有两个引脚作为温度传感器的输入用来检测电池电芯的温度,不能满足8节电芯每节电芯温度的检测,因此使用STM32进入温度传感器的数据采集。

STM32的内部ADC是12位的逐步逼近型模拟数据字转换器,最快转换时间达到1us,完全满足温度检测。对温度传感器进行实时数据采集,并通过软件处理转换为对应的温度值。当电池电芯的温度超过60度时,发出报警信号,温度低于50度时解除报警信号。

STM32通过SPI总线与LTC6892进行通信同时,通过RS485总线将电压、电池充放电电流、温度数据及均衡状态上传到上级控制系统。当电池发生故障时,也会通过RS485将故障信息上传到上级控制系统,以便于上级控制系统可以做出进一步的处理和故障记录。

图2 写时序

图3 读时序

图4

5 系统软件设计

由于在设计中采用了微处理器做控制核心,所以软件设计非常重要为了增加程序的可维护性,方便今后的扩展和程序移植,所以采用C语言编写,软件设计采用模块化设计思路,功能模块包括监控程序及初始化模块参数测量模块数据计算模块保护模块等。

在软件设计中,STM32与LTC6802之间 的SPI通信是最为关键的一步。因为只有保 证可靠的通信,STM32才能够控制LTC6802进行电芯电压采集以及控制均衡电路的开 启和关闭。为了实现SPI通信,首先要清楚 LTC6802的读写时序。LTC6802的写时序如 图2所示,读时序如图3示。

软件设计流程图如图4所示。

6 结论

本文采用STM32F103VET和LTC6802设计了磷酸铁锂动力电池组状态监测系统。该系统采集8只串联动力电池电芯的电压 和温度,对电芯进行均衡,并通过485总线上传待测电芯的电压、温度以及均衡状 态。经过实际测试,该系统的电压采集精度 为±4mV,温度采集误差为±1℃。该系统 工作稳定可靠,具有重要的应用价值。

[1]王永虹,徐炜,郝立平.STM32 系列 ARM Cortex.M3 微控制器原理及实践[M].北京:北京航空航天大学出版社,2008:318-338.

[2]李宁.基于MDK的STM32处理器开发与应用[M].北京:北京航空航天大学出版社,2008,10.

[3]LTC6802-1 多节电池的电池组监视器[Z].2009.

[4]张金顶,王太宏,龙泽,雷晶晶,李进.基于MSP430单片机的12节锂电池管理系统[J].电源技术研究与设计,2011,5.

[5]王有琚,张维戈,王占国.LTC6802在电池管理 系统中的应用[J].微处理机,2011,4(2).

猜你喜欢

节电池电芯时序
星恒2系列电池介绍
锂电池不同连接方式下的针刺测试探究
基于Sentinel-2时序NDVI的麦冬识别研究
磷酸铁锂并联电池组充电安全性界定
基于FPGA 的时序信号光纤传输系统
一种毫米波放大器时序直流电源的设计
魔力按摩贴
锂离子电芯和电池组被外物刺破后的影响研究
DPBUS时序及其设定方法