基于STM32的多节锂电池管理系统的设计
电路在电池管理过程发挥着至关重要的作用,我们所做的一切,都是为了方便管理电池电压、电量的平衡,电路的作用就在于保持电池电压的平衡,这样就保护了电池。电路如图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是一款非常优秀的电池管理芯片,在电池管理过程中能准确获取电池组单体电池电压、电池温度,有效地对电池电压进行均衡,实现锂电池组的动态保护,它可以对长串锂电池组电池芯进行电压测量与监视,也可以通过对电池进行充放电来达到电池组电压均衡的目的。可广泛用于电瓶车、备用电源等场所。当然,在本文中,有关系统功耗和电流检测还有待改善。
- 难逃魔掌系列!RC电路用作芯片复位电路原理(12-24)
- 认识LED1642GW:完全可设置的智能16粒LED光源驱动器(05-12)
- 完全可设置的智能16粒LED光源驱动器(05-16)
- 电流型BUCKBOOST的传递函数(09-07)
- MPQ2645X系列助力电动汽车人更好管理电池(09-09)
- (技术贴)快速充电主流技术及解决方案盘点(09-09)