微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 基于STM32的多节锂电池管理系统的设计

基于STM32的多节锂电池管理系统的设计

时间:03-17 来源:互联网 点击:

电路在电池管理过程发挥着至关重要的作用,我们所做的一切,都是为了方便管理电池电压、电量的平衡,电路的作用就在于保持电池电压的平衡,这样就保护了电池。电路如图5所示,这里只给出了部分电路。

图5 均衡电路

电池测温单元电路

每个芯片都有自己的工作温度范围,LTC6802的温度范围是85℃,而且当其内部温度超过105℃时,LTC6802采样性能就会降低,更为严重的是,如果其温度达到150℃,LTC6802芯片极有可能被烧坏。因此,为了保护LTC6802芯片,必须要用温度检测电路,其图如6所示。

图6 电池测温单元电路

这里VTEMP2处接NTC,我们通过NTC就可以获得实际温度值。

通信电路

STM32F103与LTC6802的通信电路比较简单,主要是SPI通信。如图7所示。

图7 通信电路

软件设计

本电池管理系统采用模块化编程方式,利用高级语言编程,主要流程图如图8所示。

图8中给出的是单个LTC6802进行数据处理的软件编程,LTC6802芯片可以连接成链式电路,这时,通过STM32F103由高到低逐次向各级LTC6802发送读写指令,写指令时,数据由高到低传送,读数据则相反。

LTC6802有多个指令寄存器,如电压寄存器、温度寄存器、标志寄存器、命令寄存器。每个寄存器都有其特殊的功能,如通过配置电压寄存器,我们可以设置过压大小、欠压大小等;配置命令寄存器,我们可以设置电池测量个数等。表1列出了命令寄存器。

表1 命令寄存器

图8 程序流程图

图9 LTC6802的管理效果

系统中采用单片机作为主控制器,利用其本身自带的SPI外设与LTC6802进行数据交换。这里给出一部分程序清单,如下:

void Ltc6802_Init(void)

{

GPIO_Configuration();

SPI_Configuration();

Ltc6802_Write();

}

测试结果

我们可以使用专门的软件来查看LTC6802的管理效果,从图9我们可以看出电池组中共 有12节电池,也就是说这里只使用了一个我们可以使用专门的软件来查看LTC6802芯片来管理电池,电芯电压CELL1到CELL12电压均在1.89V左右,从这个软件中我们也可以看到采样的温度电压:如2.487V,当然需要自己手动将其转换成温度值。还有一个比较重要的是,可以利用这个软件来设定电池组中电芯的过欠压值。

通过这款软件,我们能实时监测锂电池组的运行状态,准确判断是否有单体电池处在过压或欠压状态。

结论

本文详细介绍了STM32F103单片机和LTC6802的联合使用情况,给出了一种锂电池的管理方法,LTC6802是一款非常优秀的电池管理芯片,在电池管理过程中能准确获取电池组单体电池电压、电池温度,有效地对电池电压进行均衡,实现锂电池组的动态保护,它可以对长串锂电池组电池芯进行电压测量与监视,也可以通过对电池进行充放电来达到电池组电压均衡的目的。可广泛用于电瓶车、备用电源等场所。当然,在本文中,有关系统功耗和电流检测还有待改善。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top