基于STM32的多通道锂电池充放电测试系统
扫描二维码
随时随地手机看文章
本文设计了一个拥有多通道的锂电池充放电测试系统,以STM32F429为主控芯片,配合双量程的电流采集、充放电控制、双探测器的温度检测以及电压检测等电路,实现了同时对多个串联动力锂电池组的充放电测试及保护。在测试过程中,通过上位机程序,可对多个锂电池组的充放电测试过程进行监视,并将锂电池充放电测试数据实时显示。
1、系统的硬件设计
本系统采用STMicroelectronics公司所生产的高性能、低功耗、高性价比的STM32F429作为整个系统的核心控制器,通过SPI(serialperipheralin-terface)总线以及SMBus(systemmanagementbus)总线分别与电流、温度、电压检测模块通信,通过普通IO引脚控制充放电回路的开断,实现相应的保护功能,并且将采集到的数据通过串口转USB模块发送给上位机电脑,通过上位机实现采集数据的实时监控和数据分析与处理,系统结构图如图1所示。本系统拥有8个独立监控通道,每个通道能监控1~8节锂电池的充放电状态,并且通道1和2、通道3和4、通道5和6、通道7和8还可两两组合,实现监控9~16节串联的锂电池组。
系统的硬件设计主要包括锂电池电压检测模块设计、温度检测模块设计、电流检测模块设计以及充放电保护功能模块设计。
1.1、电流检测及充放电控制硬件设计
电流是锂电池组充放电状态的重要参数之一,是直接判断是否出现过流的依据,同时也是安时积分法估算充放电总量的重要参数,所以电流检测精度直接影响到充放电量的估算以及充放电数据的处理和分析。因为便携式电动工具所用的锂电池包容量、型号以及性能上的差异,系统中的电流检测模块必须具有通用性。本系统采用双量程的电流检测方案设计,这样既保证了在小电流和大电流情况下的检测精度,也提高了系统检测电流大小的能力。考虑到闭环霍尔电流传感器具有测量动态范围宽、测量精度高、响应速度快和隔离测量的特点,所以本系统各个通道均采用一个闭环电流霍尔传感器MMI-200B来实现充放电电流的采集。锂电池充放电电流Ip为原边电流从MMI-200B传感器通孔输入,副边输出电流/out与ID的关系为:
n&mes;Ia=K&mes;/Ion.(1)
式中,K为比例系数,其大小与霍尔传感器型号有关,MMI-200B中K=1000;n为原边线圈的匝数,本系统n=2。
通过测量采样电阻上的电压,即可测得充放电电流Ip的大小。系统为了保证在大小电流情况下的检测精度,通过主控芯片STM32的IO引脚的高低电平来控制三极管的通断,从而控制继电器G6K-2P的开关状态选择阻值不同的采样电阻,再经过具有两路差分输入的高精度、24位ADC芯片ADS1247进行AD转换,最后主控芯片通过SPI总线读取各个电流检测模块的ADC芯片的转换值,计算出各个通道的充放电电流大小。
锂电池充放电控制结构如图2所示。考虑到若采用充放电负极分离控制电路,锂电池组正极直接与充电器或负载正极相连,当锂电池组节数较多,总体电压较大时,存在损坏充电器或负载的风险。本系统采用充放电正极分离控制电路,即电池组、充电器和负载的负极保持连接,锂电池正极通过两路PMOS开关电路分别与充电器和负载正极相连。充放电控制电路结构基本一致,充电控制电路图如图3所示。
1.2、电压检测硬件设计
电压是锂电池组充放电状态的重要参数之一,是检测电池是否损坏最直观的参数,只有检测到足够精确的电压值,才能判断出充放电过程中电池是否过度充电或放电,及时启动系统保护功能,停止对锂电池组的充电或放电。本系统选用凌特公司的多节电池组监控芯片LTC6804-1,可测量多达12节串联电池的电压,同时还可以通过菊花链把多个LTC6804器件串接起来,实现测量12节以上串联电池电压的功能。
本系统共使用8个LTC6804-1电压检测模块,每个电压检测模块负责一个通道最多8节电池电压的测量,其中,通道1与通道2、通道3与通道4、通道5与通道6、通道7与通道8的电压检测模块均采用菊花链级联连接,因此,在通道组合情况下,可以测量多达16节电池电压,电压检测结构如图4所示。
1.3、温度检测硬件设计
锂电池对温度范围的要求很高,通常情况下,其理想的工作温度范围在20℃~35℃,当温度超过40℃后会影响电池的使用寿命,当温度低于0‘C会影响电池的充放电性能,当锂电池在过充阶段和过放阶段时,其温度也会明显上升。因此,实时监控充放电过程中电池温度才能更好地选择合适的充放电策略,更加及时地保护锂电池。
系统采用一种双探测器锂电池表面温度检测方法,来确保锂电池温度在发生突变情况下,温度检测能够及时响应,并且兼顾较高的温度检测精度,防止在极端测试条件下损坏锂电池。检测硬件包括PT1000铂热电阻温度传感器、热敏电阻转换模块、MLX90614红外温度传感器、SMBus缓冲模块以及主控芯片STM32。热敏电阻温度检测可以获取较高的温度检测精度,但其温度检测需要电池与热电双探测器温度检测结构如图5所示。
2、系统的软件设计
2.1、下位机软件设计
本系统下位机软件流程如图6所示。下位机共开启了两处中断功能,一是串口接收中断,其目的是将上位机发送的命令存储在一个环形数组中;二是定时器中断,定时器每隔50ms触发一次中断,并将tt置1,程序通过不断查询tt值来决定是否进行采样。系统在第一次运行时会进行系统的初始化,并完成与上位机的通信握手,随后在无限循环中运行。在整个循环过程中,下位机会不断解析环形数组里面的数据即上位机所发送命令,一旦有定义好的命令被解析出来后,就会进行相对应的操作,如配置通道1的充放电状态、通道1的保护参数,开启或关闭通道1采样等等。随后,通过判断变量tt值是否为1,从而选择是否进入采样、保护功能函数并将tt清零,count值加1,等待定时器刷新tt值进行下一次采样。当count值等于mulTIple值时,系统就会将采样数据发送给上位机。mulTIple值由上位机发送特定的命令修改,通过改变multiple的值,即可控制下位机发送数据的间隔,时间为50ms的multiple倍,上位机将下位机传送的数据保存并实时显示出来。
2.2、上位机软件设计
系统上位机软件是基于PyQt库设计的,运行软件后,系统将处于设备查找状态,等待下位机响应后,系统进入主界面进行锂电池充放电测试,主界面如图7所示,能实时显示各节电池单体电压、通道总电压、通道电流通道温度、充放电电量、保护参数以及测试时间等。
3、测试结果
在实际测试过程中,使用BOSCH18V5.0Ah的锂电池包作为充放电电池,大功率电子负载作为放电负载,通过不断改变电子负载放电电流,分别对8个通道进行测试。其中,通道3的测试数据如表1所示。
验证系统的检测精度达到要求后,利用BOSCH专用充电底座对锂电池进行充电,系统监控整个充电过程并自动绘制充电曲线如图8所示。从图8(a)可知,BOSCH充电器选择的充电阶段大致分为两个阶段,在电池充电的第一阶段,电池温度是持续上升的;第二阶段,由于充电电流不断减小,温度缓缓减低。从图8(b)可知,充电结束时,充电电量为4.95Ah,与电池容量5Ah相符;电池电压随着充电的进行不断上升。从图8(c)可知,系统运行稳定,能够实时准确监视电池的状态,电池组能够可靠、安全地工作。
4、结束语
本文提出和设计了一种基于STM32的多通道锂电池充放电测试系统,能够准确监视和记录锂电池组的状态,同时提供过充、过放、过温等保护。系统的电流检测设计采用双量程的设计方案,实现了小电流以及大电流检测的高精度,温度检测采用双探测器相结合的检测方案,获得了准确的温度采集以及对过温或低温的快速保护。本系统具有测试通道多、集成度高、精度高、量程大、反应快、抗干扰等优点。该设计的不足之处在于系统虽然支持组合模式,但最多也只能测试16节电池组的充放电。