在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
“通过Simulink电池建模进行SOC预估,其实挺容易!”
1 声明
2 电池物理等效模型原理 有物理基础知识的童鞋们,如果有留意过电池充放电测试数据,随着电池充电、放电停止,然后静置若干时间,电池端电压呈现出来的特性是不是感觉很熟悉。如下图所示,是某电池从放电至静置过程中端电压的变化情况: - A处开始放电 - C处放电停止,电压瞬间回弹至D点(类似流经电阻的电流突然消失带来的电压反弹),然后静置时电压慢慢继续回弹到E处(类似RC的充放电效应)
所以根据上述表现出的电阻,电容特性,我们可以将电池进行物理等效模拟,下文以二阶RC模型为例。实际上,除了下面提到的二阶模型,还有PNGV模型,一阶的Thevenin模型,以及其他基于这几种模型改进的物理模型。不过归根到底,绝大部分的电池物理模型都是电容,电阻,理想电压源进行各式组合而成。 如下图所示,令n为2,则得到一个二阶的RC模型。其中E表示电池的OCV,R0为欧姆内阻,RnCn表示电池极化情况,U表示实际我们能量测到的电池电压(端电压)。 3 开始进行参数识别 等效模型有了,那如何把里面的物理参数量化出来呢?别急,听我慢慢道来。 以放电参数为例。可以先将电池充满,静置足够长时间后,进行脉冲放电,例如以10% SOC为间距,通过测量电池由工作状态变为静置状态之间的端电压变化,得到若干组类似章节2中的图的测量数据。 - OCV:静置至电压不再变化,则得到OCV - 根据C-D端电压变化,得到欧姆内阻 - 根据D-E端特性,求解两组RC(可以先用指数拟合,求出其中时间常数,再根据电容电压的响应求得C,然后反推并联的电阻阻值) 如此我们就可以得到不同SOC下的各个等效物理组件的参数。 同样的,通过脉冲充电测试也可以得到上图的参数。一般来说,温度相同的情况下,充放电的参数虽有差异,但是相比电池电流而言,差异引发的误差可以接受,在实际应用中可以选择其中一组进行电池建模。 4 Simulink中建模 回到此图(令n为2即为二阶)。 涉及到的物理组件都是可调的,可以使用到Simulink中simscape现成的一些模块: OCV可以用Controlled Voltage Source(可控电压源) + Lookup Table(导入SOC-OCV表格) 类似的电阻、电容用可调组件 + Lookup Table。
控制电源使用Controlled Current Source。 AH积分使用Integrator和一些数学运算模块进行累计和转换。 涉及到Simscape和常规库原件的交互,使用PS-S和S-PS转换模块。 搭好后总体如下: 还有一些小Tips: - 因为涉及到积分环节,所以可以将积分模块运行时间设定为定值或者总的solver设置为Fixed Step模式 - 相同或者同一类型信号可以使用同一个背景色,方便定位区分 - 同一信号可能在多处都使用到,为了布局明了,可以适当使用From和Goto模块 - 多个组件可以使用Create Sub-System功能封装为单独的模块,方便调用,以及后续创建自定义LIB模块,如下图 话不多说,来个脉冲充电测试一把: - 第一栏为端电压的变化,是不是跟前面的图形很像 - 第二栏为SOC的变化(嗯?怎么充电SOC反而减小) - 第三栏为充电电流
仔细检查一下,发现红框处应该替换为加法(此处应以充电方向为正电流)
5 进一步思考与说明
参考文献:
作者:跨界程序员Vincent
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论