概 述
如题:你以为你看到电量就是真的电量吗???
谨以此文献给那些供应商和客户相爱相杀的日子~
已知李雷是主机厂客户,韩梅梅是BMS&电池组供应商,下面我们来看一组有趣的对话?
李雷:喂~韩梅梅你们这个SOC显示不对啊,我0.5C放电至低压保护怎么还有12%的电量?
韩梅梅:对的啊,此时我根据电压查询OCV表SOC就是12%啊。
李雷:可是我都放电到保护,不应该SOC为0了吗?
韩梅梅:此时真实电量就是12%,不信你重启解除保护继续用小电流放电还是有电的。
.............................(此处省略1万字)
看到这里熊猫想和大家讨论一下,你觉得谁说得对?这时SOC应该为12%还是0%?我们带着问题继续往下看~
定 义
首先熊猫定义三个变量:
-
SOC_Real:真实SOC,表征电池组储存能量的能力,基于常温容量下, 常温最大可放电容量, 仅受电池老化影响,常用作 BMS 内部使用、 策略参考;
-
SOC_BMS:可用SOC,受温度、倍率影响,描述实时工况下实际可放出容量,仪表 SOC 计算的目标值;
-
SOC_Disp:仪表SOC,描述实时工况下用户实际可用容量,从而决策对产品的使用方式、可用SOC SOC_BMS的线性化处理后结果;
看到这里你是不是已经对李雷和韩梅梅之争有答案了?那么恭喜你关于这个问题的框架已经建立了,接下来我们针对每个变量从变化、初始值计算、估算和存储四个方面讨论。
SOC-Real
变化
BMS在上电初始化不带载时触发静态修正,这时候是允许出现跳变的;
初始值
BMS上电时对EEPROM存储进行校验和初始值计算:
1.EEPROM 存储正常且驻车时间<1h ,SOC_Real_Init 来自底层存储值;
2.EEPROM 存 储 异 常 或 存 储 正 常 时 驻 车 时 间 ≥1h 因为驻车时间较长我们不能再参考底层存储值而是要根据当前电压查询OCV表格获取SOC值充 电 模 式 下SOC_Real_Init=SOC_OCV_max,静置模式SOC_Real_Init=SOC_OCV_min;
估算
计算过程包括以下几种修正方式
1.静态修正:
BMS 处于静态模式根据驻车时间对 SOC_Real_int 和 SOC_Disp_int重新计算;
2.动态修正:
BMS 上高压后根据当前采集的电压、 电流、 温度和离线标定量, 可自动识别
当前计算值 SOC_Real 是否存在偏差, 并在一定时间内以一定速率修正至电池包真实荷电状态。
3.满电修正:
充电模式下若此时 SOC_Real、SOC_Bms、SOC_Disp>=99.4%,则先停止安时积分保持SOC不变,直至达到满充条件(单节最高电压达到当前温度下满电电压及充电电流是最小充电允许电流)各 SOC 才可以修正至 100%;
4.充放电极限修正:
放电模式下单节最低电压持续一定时间低于阀值 Vsd(正常功率使用边界点) SOC_Bms 直接跳变到 0, SOC_Disp 以较快速度快速平滑跟踪至 0%;充电模式下单节最高电压持续一定时间高于阀值 Vsc(高于满充电压点但低于安全保护点) ,SOC_Bms、 SOC_Disp 直接修正到 100%;
存储
SOC_Real每变化1%, 存储一次,且下电时进行底层存储。
SOC_BMS
变化
SOC_Bms受温度、 倍率影响, 可允许发生跳变。
初始值
BMS上电前根据当前初始值SOC_Real_int和当前温度重新计算。
估算
SOC_Bms主要以SOC_Real为基准, 根据实时采样的单节电压、 电流、 温度及离线标定量,综合计算出当前工况下, 整车实际可用SOC。
存储
不需要实时存储, 直接根据当前实时工况计算。
SOC_Disp
变化
1.SOC_Disp曲线在充电过程平滑上升,放电过程平滑下降,能量回收时允许平滑上升 ;
2.当充满结束SOC_Disp未修正至100%时允许跳变至100%。
初始值
BMS上电时对EEPROM存储进行校验和初始值计算:
1.EEPROM存储异常时, SOC_Disp_int 初始值为 SOC_Bms;
2.EEPROM存储正常且驻车时间不超过1h,SOC_Disp_int初始值为底层存储值;
3.EEPROM存储正常且驻车时间超过 1h,SOC_Disp_int=SOC_Bms;
估算
SOC_Disp主要是对SOC_Bms线性化处理,在SOC_Bms发生变化后SOC_Disp需以一定速率跟踪至目标值,为保证续驶里程均匀性、客户驾驶感受、车载充电机交互显示,速率一般在0.5~2之前也就是说SOC_BMS已经跳变到对应值SOC_Disp只不过以相对平滑的方式修正到SOC-BMS的值。
存储
SOC_Disp每变化1%, 存储一次, 且下电时对SOC_Disp进行底层存储;
总 结
SOC_Real为真实SOC它表征电池组存储能量的能力,它不会随外部应用环境变化只和电池老化有关,通常由查询OCV获得。SOC_BMS则是在SOC_Real的基础上加入温度、倍率的表征当前工况的实际可用电量值,它是允许跳变的,因为工况一直在变。SOC_Disp就是我们看到的仪表显示屏上或者通信总线上读到的值,仅仅是为了让使用者看而已,所以为了更好使用体验我们要求不能跳变要平滑显示。
举个栗子:
A电池包查OCV得出SOC_Real为45%,加入当前温度和倍率后得出SOC_BMS为40%,而此刻SOC_Disp为50%那我决定在30%时修回来也就是让两个变量相等SOC_BMS=SOC_Disp,那我向下修正速率就是2 ,当安时积分累计放电量为1Ah时我必须累计为乘以速率2累积为2Ah这样就实现了动态修正使得SOC_Disp平滑下降至30%。
现在再问:
关于李雷和韩梅梅的对话你觉得谁对呢?
你以为你看到的电量就是真实电量?
墙裂建议收藏转发分享此文当你的客户/供应商关于电量这个问题再和你讨论时就可以让他看看这篇文章。
生命不息、学习不止,加油!