电池内阻动态测算方法及电池管理***
技术领域
本发明涉及电池内阻估算技术领域,尤其涉及一种电池内阻动态测算方法及电池管理***。
背景技术
在电动汽车或者储能等技术领域,通常需要对动力电池的内阻进行估算。
中国发明专利申请第201310661543.3号公开了一种电池组管理***的电池内阻测算方法及电路。其测算方法包括:分别以第一周期和第二周期实时采集并缓存电池组内单节电池的电压和电池堆负极的电流;对缓存的电压进行寻址与选择,以查找第一电压点V1和第二电压点V2并保存;对缓存的电流进行寻址与选择,以查找第一电流点I1和第二电流点I2并保存;利用以下关系式计算单节电池的内阻R=(V2-V1)/(I2-I1)。不过,该技术方案没有考虑到电流的波动,进而无法保障内阻测算的精度。
中国发明专利申请第201410073563.3号公开了一种电池管理***及电池单体的直流内阻的测量方法。该专利采用根据设定内阻检测指令为最高中断优先级的方式,每隔预设时间将指令发送至电池信息采集器,采集相应的电池电压,同时在指令发送时采集每个电池单体的电流。不过,其存在两个主要问题:首先,内阻检测只是BMS的一个子功能,设定内阻检测指令为最高中断优先级,势必会影响BMS原有任务的正常运行;此外,采用每隔预设时间发送指令的方式,在电压、电流变化不大的情况下,根据内阻计算公式:内阻R=(V2-V1)/(I2-I1),电流变化不大的情况下,作为公式分母的I2-I1过小,将影响内阻测算精度。
发明内容
本发明的目的在于提供一种电池内阻动态测算方法和电池管理***,能够保障内阻的测算精度且不会影响***的正常运行。
为了实现上述目的,本发明提供了一种电池内阻动态测算方法,包括:
周期性采集堆电流值以及通过轮循方式周期性采集所有电芯的电压值,其中,每一电芯的电压采集时间是电流采集周期的数倍;
计算当前所述电流采集周期采集到的堆电流值与上一所述电流采集周期采集到的堆电流值的堆电流差值;
当所述堆电流差值大于其预设阈值时,将该时刻记为第一时刻并下发所述第一时刻的阶跃命令给BMU单元,对所述第一时刻之前的所述电压采集周期内获取的所有堆电流值求平均得到第一电流平均值,对所述第一时刻之后的所述电压采集周期内获取的所有堆电流值求平均得到第二电流平均值,对所述第一电流平均值和所述第二电流平均值求差得到第一平均差值;
当所述第一平均差值大于其预设阈值时,对所述第一时刻之前和之后的两所述电压采集周期的各所述电压采集时间采集的数个堆电流值求平均得到各电芯的第三电流平均值和第四电流平均值,并对对应的所述第三电流平均值和第四电流平均值求差得到各电芯的第二平均差值;
将自所述第一时刻经过一个所述电压采集周期时的时刻记为第二时刻并于所述第二时刻下发各电芯的所述第二平均差值以及所述第二时刻的阶跃命令给所述BMU单元;
接收到所述第一时刻的阶跃命令后,所述BMU单元记录所述第一时刻各电芯的电压值;接收到所述第二时刻的阶跃命令后,所述BMU单元记录所述第二时刻各电芯的电压值;及
根据对应电芯于所述第二时刻的电压值和于所述第一时刻的电压值的差值与对应的所述第二平均差值的比值求得对应的内阻。
较佳地,如果所述第二平均差值大于其预设阈值,则根据对应电芯于所述第二时刻的电压值和于所述第一时刻的电压值的差值与所述第二平均差值的比值求得对应的内阻;如果所述第二平均差值不大于其预设阈值,则跳过对应电芯的内阻计算。
较佳地,接收到所述第一时刻的阶跃命令后,所述BMU单元记录在所述第一时刻被采集电压值的电芯的编号;接收到所述第二时刻的阶跃命令后,所述BMU单元记录在所述第二时刻被采集电压值的电芯的编号;及跳过所述第一时刻和第二时刻被编号的电芯的内阻计算。
较佳地,当所述堆电流差值大于其预设阈值时,将所述第一时刻之前和之后的两所述电压采集周期内采集的所有堆电流值分别存入两个缓存以对两所述缓存中的所有堆电流值分别求平均得到所述第一电流平均值和所述第二电流平均值。
为实现上述目的,本发明还提供了一种电池管理***,包括BMS主控以及BMU单元,所述BMS主控被配置为周期性采集堆电流值,所述BMU单元被配置为通过轮循方式周期性采集所有电芯的电压值,每一电芯的电压采集时间是电流采集周期的数倍;
所述BMS主控还被配置为:
计算当前所述电流采集周期采集到的堆电流值与上一所述电流采集周期采集到的堆电流值的堆电流差值;
当所述堆电流差值大于其预设阈值时,将该时刻记为第一时刻并下发所述第一时刻的阶跃命令给BMU单元,对所述第一时刻之前的所述电压采集周期内获取的所有堆电流值求平均得到第一电流平均值,对所述第一时刻之后的所述电压采集周期内获取的所有堆电流值求平均得到第二电流平均值,对所述第一电流平均值和所述第二电流平均值求差得到第一平均差值;
当所述第一平均差值大于其预设阈值时,对所述第一时刻之前和之后的两所述电压采集周期的各所述电压采集时间采集的数个堆电流值求平均得到各电芯的第三电流平均值和第四电流平均值,并对对应的所述第三电流平均值和第四电流平均值求差得到各电芯的第二平均差值;及
将自所述第一时刻经过一个所述电压采集周期时的时刻记为第二时刻并于所述第二时刻下发各电芯的所述第二平均差值以及所述第二时刻的阶跃命令给所述BMU单元;
所述BMU单元还被配置为执行:
接收到所述第一时刻的阶跃命令后,记录所述第一时刻各电芯的电压值;
接收到所述第二时刻的阶跃命令后,记录所述第二时刻各电芯的电压值;及
根据对应电芯于所述第二时刻的电压值和于所述第一时刻的电压值的差值与对应的所述第二平均差值的比值求得对应的内阻。
较佳地,如果所述第二平均差值大于其预设阈值,则根据对应电芯于所述第二时刻的电压值和于所述第一时刻的电压值的差值与所述第二平均差值的比值求得对应的内阻;如果所述第二平均差值不大于其预设阈值,则跳过对应电芯的内阻计算。
较佳地,所述BMU单元还配置为执行:接收到所述第一时刻的阶跃命令后,记录在所述第一时刻被采集电压值的电芯的编号;接收到所述第二时刻的阶跃命令后,记录在所述第二时刻被采集电压值的电芯的编号;及跳过所述第一时刻和第二时刻被编号的电芯的内阻计算。
较佳地,所述BMS主控还被配置为执行:当所述堆电流差值大于其预设阈值时,将所述第一时刻之前和之后的两所述电压采集周期内采集的所有堆电流值分别存入两个缓存以对两所述缓存中的所有堆电流值分别求平均得到所述第一电流平均值和所述第二电流平均值。
与现有技术相比,本发明电池内阻动态测算方法能同时计算多节电芯的内阻,且内阻检测任务为实时运行,无需依靠最高优先级的中断完成,不会影响***正常任务运行;且通过各预设阈值的设定,当电流波动满足预设阈值时才进行相应计算,能够有效保证内阻检测精度。
附图说明
图1是本发明实施例电池内阻动态测算方法的时序示意图。
图2是本发明实施例电池管理***的示意图。
具体实施方式
为详细说明本发明的内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1和图2,本发明公开了一种电池内阻动态测算方法,包括:
A、周期性采集堆电流值I以及通过轮循方式周期性采集所有电芯(数量为Z)的电压值,每一电芯的电压采集时间Y ms是电流采集周期X ms的Y/X倍。绝大多数情况下,由于单体电压采集需要切换开关并且等待,因此电流采集速度要明显快于单体电压采集速度,即电流采集周期X ms明显短于单体电芯的电压采集时间Y ms,单个电压采集的Y ms过程中***一共采集了Y/X个电流值(为了避免Y/X除不尽的情况,可以分别设定Y和X的值,使得二者之间正好整除),相应的,电压采集遍历所有电芯一次的总时间Y*Z ms内,一共采集了Y*Z/X个堆电流值I。
B、计算当前电流采集周期X ms采集到的堆电流值Ib与上一电流采集周期X ms采集到的堆电流值Ia的堆电流差值△I1A。
C、当堆电流差值△I
1A大于其预设阈值A时,将该时刻记为第一时刻T1并下发第一时刻T1的阶跃命令给BMU单元2,对第一时刻T1之前的电压采集周期(即第一时刻T1之前的Y*Z ms)内获取的所有堆电流值I
1(Y*Z/X个)求平均得到第一电流平均值
对第一时刻T1之后的电压采集周期(即第一时刻T1之后的Y*Z ms)内获取的所有堆电流值I
2(Y*Z/X个)求平均得到第二电流平均值
对第一电流平均值
和第二电流平均值
求差得到第一平均差值△I
2B。
D、当第一平均差值△I
2B大于其预设阈值B时,对第一时刻T1之前和之后的两电压采集周期Y*Z ms的各电压采集时间Y ms采集的数个堆电流值I
N1和I
N2求平均得到各电芯的第三电流平均值
和第四电流平均值
并对对应的第三电流平均值
和第四电流平均值
求差得到各电芯的第二平均差值△I
1,△I
2,△I
3...△I
Z。
E、将自第一时刻T1经过一个电压采集周期Y*Z ms时的时刻记为第二时刻T2并于第二时刻T2下发各电芯的第二平均差值△I1,△I2,△I3...△IZ以及第二时刻T2的阶跃命令给BMU单元2。
F、接收到第一时刻T1的阶跃命令后,BMU单元2记录第一时刻T1各电芯的电压值V11,V21,V31,...VZ1;接收到第二时刻T2的阶跃命令后,BMU单元2记录第二时刻T2各电芯的电压值V12,V22,V32,...VZ2。
G、根据对应电芯于第二时刻T2的电压值VN2和于第一时刻T1的电压值VN1的差值VN2-VN1与对应的第二平均差值△IN的比值求得对应的内阻RN。
本发明电池内阻动态测算方法能同时计算多节电芯的内阻,且内阻检测任务为实时运行,无需依靠最高优先级的中断完成,不会影响***正常任务运行;且通过各预设阈值的设定,当电流波动满足预设阈值时才进行相应计算,能够有效保证内阻检测精度。
在一些实施例中,如果第二平均差值△IN大于其预设阈值C,则根据对应电芯于第二时刻T2的电压值VN2和于第一时刻T1的电压值VN1的差值VN2-VN1与第二平均差值△IN的比值求得对应的内阻RN;如果第二平均差值△IN不大于其预设阈值C,则跳过对应电芯的内阻计算。藉此设计,进一步保证了内阻计算的精度。
在一些实施例中,接收到第一时刻T1的阶跃命令后,BMU单元2记录在第一时刻T1被采集电压值的电芯的编号N1;接收到第二时刻T2的阶跃命令后,BMU单元2记录在第二时刻T2被采集电压值的电芯的编号N2;并跳过第一时刻T1和第二时刻T2被编号的电芯的内阻计算。藉此设计,进一步保证了内阻计算的准确性。
在一些实施例中,当堆电流值差值△I
1A大于其预设阈值A时,将第一时刻T1之前和之后的两电压采集周期Y*Z ms内采集的所有堆电流值I
1和I
2分别存入两个缓存以对两缓存中的所有堆电流值I
1和I
2分别求平均得到第一电流平均值
和第二电流平均值
请参阅图1和图2,本发明还提供了一种电池管理***,包括BMS主控1以及BMU单元2,BMS主控1被配置为周期性采集堆电流值I,BMU单元2被配置为通过轮循方式周期性采集所有电芯的电压值,每一电芯的电压采集时间Y ms是电流采集周期X ms的数倍。具体而言,BMU单元2通过分立器件来进行电压的轮循采集;BMS主控1通过电流采集单元3来采集堆电流值I。
BMS主控1还被配置为:
计算当前电流采集周期X ms采集到的堆电流值Ib与上一电流采集周期X ms采集到的堆电流值Ia的堆电流差值△I1A;
当堆电流差值△I
1A大于其预设阈值A时,将该时刻记为第一时刻T1并下发第一时刻T1的阶跃命令给BMU单元2,对第一时刻T1之前的电压采集周期(即第一时刻T1之前的Y*Zms)内获取的所有堆电流值I
1(Y*Z/X个)求平均得到第一电流平均值
对第一时刻T1之后的电压采集周期(即第一时刻T1之后的Y*Z ms)内获取的所有堆电流值I
2(Y*Z/X个)求平均得到第二电流平均值
对第一电流平均值
和第二电流平均值
求差得到第一平均差值△I
2B;
当第一平均差值△I
2B大于其预设阈值B时,对第一时刻T1之前和之后的两电压采集周期Y*Z ms的各电压采集时间Y ms采集的数个堆电流值I
N1和I
N2求平均得到各电芯的第三电流平均值
和第四电流平均值
并对对应的第三电流平均值
和第四电流平均值
求差得到各电芯的第二平均差值△I
1,△I
2,△I
3...△I
Z;及
将自第一时刻T1经过一个电压采集周期Y*Z ms时的时刻记为第二时刻T2并于第二时刻T2下发各电芯的第二平均差值△I1,△I2,△I3...△IZ以及第二时刻T2的阶跃命令给BMU单元2。
BMU单元2还被配置为执行:
接收到第一时刻T1的阶跃命令后,BMU单元2记录第一时刻T1各电芯的电压值V11,V21,V31,...VZ1;
接收到第二时刻T2的阶跃命令后,BMU单元2记录第二时刻T2各电芯的电压值V12,V22,V32,...VZ2;及
根据对应电芯于第二时刻T2的电压值VN2和于第一时刻T1的电压值VN1的差值VN2-VN1与对应的第二平均差值△IN的比值求得对应的内阻RN。
在一些实施例中,如果第二平均差值△IN大于其预设阈值C,则根据对应电芯于第二时刻T2的电压值VN2和于第一时刻T1的电压值VN1的差值VN2-VN1与第二平均差值△IN的比值求得对应的内阻RN;如果第二平均差值△IN不大于其预设阈值C,则跳过对应电芯的内阻计算。藉此设计,进一步保证了内阻计算的精度。
在一些实施例中,BMU单元2还配置为执行:
接收到第一时刻T1的阶跃命令后,BMU单元2记录在第一时刻T1被采集电压值的电芯的编号N1;
接收到第二时刻T2的阶跃命令后,BMU单元2记录在第二时刻T2被采集电压值的电芯的编号N2;及
跳过第一时刻T1和第二时刻T2被编号的电芯的内阻计算。
藉此设计,进一步保证了内阻计算的准确性。
在一些实施例中,BMS主控1还被配置为执行:
当堆电流值差值△I
1A大于其预设阈值A时,将第一时刻T1之前和之后的两电压采集周期Y*Z ms内采集的所有堆电流值I
1和I
2分别存入两个缓存以对两缓存中的所有堆电流值I
1和I
2分别求平均得到第一电流平均值
和第二电流平均值
以上所揭露的仅为本发明的较佳实例而已,其作用是方便本领域的技术人员理解并据以实施,当然不能以此来限定本发明之权利范围,因此依本发明申请专利范围所作的等同变化,仍属于本发明所涵盖的范围。