静态修正
BMS处于静态模式(不带载),查询OCV表格,根据OCV曲线得出现在电压和温度下对应的SOC值,再等待下个带载时刻开始修正SOC,以一定速率加快或者减慢安时积分平滑修正至目标值;
优点:方案简单容易实现;
缺点:必须要求电流约等于静态功耗附近,且持续一定时间等待带载电压回弹至空载电压,下个带载时刻再进行修正,条件较多,适用工况有限,无法带载时在线修正;
充满修正
充电模式下SOC等于99.4%,则先停止安时积分保持 SOC 不变, 直至达到满充条件(单节最高电压达到当前温度下满电电压及充电电流是最小充电允许电流),SOC跳变至100%;
优点:可以满足充电完成,电流停止,SOC恰好修正至100%;
缺点:满电条件各厂家定义不同,由于电芯老化压差变大,仅判断单体最高是否到达充满电压的策略不全面,所以有的厂家不仅判断单体最高还判断单体最低是否到达充满电压,这样就可能发生充满失败,SOC就只能停在99.4%,无法修正至100%;
极限修正
放电模式下单节最低电压持续一定时间低于阀值边界点SOC_Bms直接跳变到 0, SOC_Disp 以较快速度快速平滑跟踪至 0%;
充电模式下单节最高电压持续一定时间高于阀值高于满充电压点但低于安全保护点SOC_Bms、 SOC_Disp 直接修正到 100%;
优点:SOC满足充满为100%;放空0%的显示值
缺点:由于充电时只关注最高单体,放电时至关注最低单体,如果触发极限修正直接修正至100%或0%很可能没充满或者没放空;
动态修正
重点介绍动态修正,在实际工程中应用较多,限制条件少可实现在线修正,随时随地想修就修。要想做动态修正就得建立电池模型也就是电池的等效电路。
上图为电池二阶等效电路模型,至于它的来源我们暂且不做讨论,那么如何得到图中的参数呢?放心肯定不是笔算啦。我们可以用电池组做一个有代表性实验,通过一系列充电放电我们可以得到上图中电流I和电压U关系,这样就相当于知道输入输出,下一步找出输入和输出的函数表达式那么未知数自然就知道了。
上述中提到这个实验就是HPPC即Hybrid PulsePower Characteristic(混合动力脉冲能力特性):是用来体现动力电池脉冲充放电性能的一种特征。HPPC测试一般采用专用电池检测设备完成(来自百度百科)。HPPC测试可以完成对电池直流内阻的测试。充放电制式为1C放电10s静置40S然后0.75C充电10S;
这样充放电对应的电压曲线为
现在已知输入输出我们有两种方法得到二阶表达式,第一种是使用MATLAB Curve Fitting Tool得出输入输出的函数表达式,第二种是使用最小二乘法,最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。(来自百度百科);如此得出表达式的各项未知数。
此时,已经具备了在线修正的所有条件,不论此时以多大电流放电,我们只要带入上式就可以反推出此时OCV的值,再根据OCV查表便可以得出此时的SOC值。
优点:不受条件限制,随时可以修正SOC;
缺点:算法实现起来稍有复杂,内阻随温度和老化变化大,必须考虑温度和老化影响及时更新阻抗表;
生命不息、学习不止,加油!