ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

锂电池二阶RC模型参数辨识:从HPPC测试到Simulink仿真

锂电池二阶RC模型参数辨识:从HPPC测试到Simulink仿真 刚做完一套完整的锂电池二阶RC模型参数辨识流程从HPPC实验设计到Simulink仿真搭建前前后后踩了不少坑也积累了一些实操经验。正好有朋友在问这套流程到底怎么串起来我把整个过程整理成文希望对做电池管理系统BMS算法、电池仿真相关工作的朋友有帮助。这套流程解决的核心问题很直接怎么从电池实测数据出发得到一套能用的电池模型参数然后在Simulink里搭出仿真模型。它不仅适用于电芯研发阶段的性能评估也适用于BMS算法开发中的模型验证、SOC估计策略的仿真测试。如果你正在做整车能量管理仿真、电池热管理联动仿真那这套流程更是基础中的基础。1. 为什么是二阶RC模型HPPC测试又解决了什么问题1.1 等效电路模型的选型逻辑锂离子电池的建模思路有好多条路电化学模型如P2D模型、等效电路模型ECM、数据驱动模型神经网络、支持向量机等。电化学模型精度高但参数极其复杂运算量大在工程仿真里太贵了。数据驱动模型效果不错但需要大量工况数据泛化能力在不同温度、老化状态下堪忧。工程中真正用得最多的还是等效电路模型也叫戴维南模型。等效电路模型的思路是把电池看成一个含有电压源、电阻、电容的电路网络其中电压源代表电池开路电压OCV它和SOC、温度强相关欧姆内阻代表电解液、集流体、极耳等引起的瞬时压降RC并联网络代表电池的极化效应包括电化学极化、浓度极化等一阶RC模型只有一个RC网络优点是简单但它在描述电池的中低频动态特性时精度不够尤其在动态工况比如急加速、能量回收下误差明显。二阶RC模型比一阶多了一个RC网络能更好区分电化学极化和浓度极化两种不同时间常数的动态行为精度和计算量之间取得了较好的平衡。这里补充一个实践中得到的结论在车载工况下如果只做SOC估计一阶RC模型配合卡尔曼滤波器也能凑合但如果要做功率预测SOP估计、低温工况仿真二阶RC是性价比最高的选择三阶以上的RC网络精度提升幅度很小而计算复杂度和参数辨识难度大幅上升不划算。1.2 HPPC测试为什么是行业标准做法有了模型结构下一步就要解决参数从哪来的问题。HPPCHybrid Pulse Power Characterization测试最早来源于FreedomCAR电池测试手册后来被大量沿用和扩展可以说是电池参数辨识领域最经典、最通用的实验方案。HPPC的核心思想是把电池调整到某个SOC点静置到平衡然后给它施加一个脉冲电流激励同时记录电压响应曲线。脉冲电流的施加会产生特定形式的电压响应这个响应恰好包含了欧姆内阻、极化内阻、极化电容的所有信息。找一个生活中的类比这道工序就像给一个人做体检——平时看不出身体有什么问题只有跑个步、做个负荷测试心率、血压的变化数据才暴露出来。HPPC就是电池的“负荷测试”通过可控的电流扰动把电池内部的阻抗特性“压”出来。HPPC工况的设计要点普遍遵循以下约定SOC区间覆盖范围100%到10%或5%步长一般取10%左右放电脉冲10秒1C倍率然后静置40秒充电脉冲10秒0.75C倍率模拟再生制动回充场景脉冲前后的静置时间1小时以上确保电化学状态恢复平衡静置1小时这个参数是有讲究的。脉冲结束后电池内部的极化电压会逐渐衰减衰减过程其实对应RC网络的零输入响应。如果把静置时间缩短极化没完全消除就做下一个SOC点OCV测量会偏大或偏小直接影响后续所有参数的准确性。我在实际测试中发现对于三元锂电池极化完全衰减到可忽略往往需要2小时以上磷酸铁锂因为极化特性不同1小时基本够用。1.3 测试前的电池准备HPPC测试之前电池的预处理步骤别省略先做几个标准充放电循环活化电池让电化学状态稳定充满电后静置2~4小时再开始测试全程在恒温箱中进行温度波动控制在正负2摄氏度以内温度特别影响电解液电导率和反应动力学不同温度下的参数差异很大温度的影响有多大呢我实测过同一批电芯23摄氏度和0摄氏度下辨识出的欧姆内阻能差到3倍以上。所以测试报告里必须标明温度条件后续仿真也要按温度维度做参数表。2. HPPC测试实操从设备准备到数据采集完整记录2.1 测试设备选型与接线要点做HPPC测试核心设备是电池测试柜充放电设备常见的品牌有Arbin、Maccor、新威等。选择设备时主要看几个指标电流精度和纹波电流精度至少0.1%FS纹波太大会污染电压数据采样频率至少1Hz最好能到10Hz以上因为欧姆内阻的辨识依赖电压突变的采样通道数如果一次性测多只电池通道数决定了效率我建议在脉冲切换瞬间用更高的采样率去记录数据比如10Hz以上。为什么不建议低频采样呢因为欧姆内阻是通过电流突变瞬间的电压跳变量来计算的如果采样率太低电压跳变的峰值会被漏掉计算出来的内阻偏小。这个细节很容易被忽略但会直接影响最终模型精度。接线方面四线制接法也叫开尔文接法是必须的。电流线和电压采样线要分开直接接在极柱上。电流线走大电流回路电压线只采样电压几乎不流过电流这样采样电压里就不会包含线束电阻引起的压降。没有用四线制接法的话测出来的电压会偏高辨识出的内阻也会偏大而且线束越长、越细误差就越明显。2.2 工况设计关键参数的计算方法以下是我在项目中常用的一组工况参数供参考假设电芯额定容量是50Ah充电截止电压4.2V放电截止电压2.8V环境温度25摄氏度。设计流程如下第一步确定脉冲电流。1C放电电流 50A0.75C充电电流 37.5A。因为电池是满电状态开始先用小电流0.33C放电10分钟把SOC调整到目标值附近然后静置。第二步确定脉冲时长。这里有个权衡脉冲太短RC网络还没被充分激励参数辨识的置信度低脉冲太长SOC变化大影响数据的SOC一致性。FreedomCAR手册推荐的放电10秒、静置40秒、充电10秒是经过验证的经典参数可以直接用。第三步确定SOC间隔。SOC每下降10%做一个脉冲测试点。从100%到10%共10个脉冲循环。如果在每个SOC点都需要静置到平衡整个测试的耗时大约在24到36小时。第四步最后补一个低SOC段的脉冲测试。10%以后继续放电到5%再做一次脉冲用于低SOC区域的模型校准。2.3 测试流程的执行顺序和细节整个HPPC测试的执行顺序我在实际操作中固定为以下六步恒温箱设定到目标温度电池放入后静置4小时以上确保电池内部温度和环境温度一致以0.33C恒流充电到4.2V转恒压充电截止电流为0.05C2.5A然后静置2小时开始100%SOC点的HPPC脉冲循环先10秒1C放电脉冲静置40秒再10秒0.75C充电脉冲静置1小时以0.33C放电调整SOC下降约10%静置30分钟重复脉冲循环重复步骤4直到SOC低于10%导出数据按SOC点整理电压电流曲线流程中有一个容易被忽视的处理每次调整SOC的放电过程实际上是给RC网络充入了状态等静置结束后虽然电压稳定了但SOC已经变了。所以记录OCV时要看静置结束前的电压值而不是脉冲结束时的电压值。还有一个实操要点测试时最好用两只同型号电池做平行样。一只跑HPPC另一只定期做容量标定。为什么要这样呢因为HPPC测试周期长电池自放电会导致SOC估算偏移定期标定可以修正这个偏移。平行样测试还能验证参数的重复性。3. 参数辨识把测试数据变成二阶RC模型参数3.1 辨识目标的数学表达先写一下二阶RC模型的数学表达后面所有的辨识工作都围绕这几行公式展开端电压方程U_t OCV(SOC) - i * R_0 - U_1 - U_2两个RC网络的电压动态方程dU_1/dt i / C_1 - U_1 / (R_1 * C_1)dU_2/dt i / C_2 - U_2 / (R_2 * C_2)其中U_t是端电压OCV是开路电压是SOC的函数R_0是欧姆内阻R_1、C_1是第一个RC网络一般代表电化学极化时间常数较小R_2、C_2是第二个RC网络一般代表浓度极化时间常数较大需要辨识的参数包括不同SOC下的OCV、R_0、R_1、C_1、R_2、C_2。有些建模方法还把参数做成SOC的三次多项式或五次多项式函数这样在Simulink中可以用查表块直接读取。3.2 开路电压OCV的提取HPPC数据里的每个SOC点静置结束前的一小段电压平均值就是该SOC下的OCV。实操中我从不会直接取单个时刻的电压值因为电压采集总有微小波动。我的做法是取静置阶段最后10秒的电压平均值然后作为OCV。如果静置时间不够长导致电压还在缓慢爬升那这个OCV会偏小放电后或偏大充电后需要对静置时间做加长处理。整理所有SOC点的OCV后用三次样条插值interp1函数spline方法把OCV拟合成连续曲线。如果有多个温度的数据每个温度单独拟合一条OCV-SOC曲线。3.3 欧姆内阻R_0的辨识欧姆内阻辨识是参数辨识中我做得比较得意的一步因为这里有很多细节。看放电脉冲开始瞬间的电压曲线电流从0切换到50A的瞬间电压会有一个几乎垂直的跌落。这个跌落分为两部分第一部分是欧姆内阻引起的瞬时压降电流突变瞬间就完成第二部分是RC网络极化引起的逐渐压降随时间常数慢慢发展所以辨识R_0的方法就是找到脉冲开始前最后稳定的电压值U_a再找到电流刚建立后的电压值U_b则有R_0 (U_a - U_b) / I_pulse实际操作中U_b怎么取有讲究。不要取电流刚变的第1个采样点因为测试柜的电流响应不是理想的阶跃电流需要几十毫秒才能建立稳定这会造成误差。我的做法是取电流稳定后刚开始的那一段电压值。更严谨的做法是用电流突变时刻后0.1秒到0.5秒内的电压平均值。另外一个坑是采样频率如果不够高U_b会被平滑掉取到的电压比实际值低或高导致R_0偏大或偏小。所以前面才反复强调采样率要足够高。3.4 RC参数辨识基于指数拟合与最小二乘实现RC参数辨识有几种常见方法这里我直接分享我用得最顺的一种把零输入响应阶段拟合为指数函数再用lsqcurvefit做整体优化。放电脉冲结束后的40秒静置阶段电流为0两个RC网络处于零输入响应状态。根据电路理论此时端电压的恢复过程为U_t(t) OCV - U_1(0) * exp(-t / tau_1) - U_2(0) * exp(-t / tau_2)其中tau_1 R_1 * C_1tau_2 R_2 * C_2。U_1(0)、U_2(0)是脉冲结束时两个RC网络的电压初值。那么待辨识参数就是U_1(0)、U_2(0)、tau_1、tau_2一共四个。而且这四个参数可以分成两步辨识第一步先做双指数拟合。用MATLAB曲线拟合工具箱cftool或fit函数对静置阶段的电压恢复曲线做双指数拟合得到初始估计值。第二步再结合放电脉冲段数据做整体最小二乘优化。为什么还要做第二步呢因为第一步只用到了零输入响应阶段的数据没有充分利用整个脉冲周期内的全部信息。把放电脉冲阶段和静置恢复阶段的数据放在一起拟合参数辨识的置信度更高。以下是完整的MATLAB辨识脚本框架% 参数辨识脚本 - 以单个SOC点为例 % data_t: 时间向量 % data_i: 电流向量放电为正 % data_u: 端电压向量 % soc_point: 当前SOC点 %% 数据切片提取放电脉冲和静置恢复段 i_dch_idx find(data_i 0.5); % 放电电流大于0.5A的索引 i_dch_start min(i_dch_idx); i_dch_end max(i_dch_idx); % 取脉冲开始前30秒到静置结束 t_seg data_t(i_dch_start-30*fs : i_dch_end40*fs); u_seg data_u(i_dch_start-30*fs : i_dch_end40*fs); i_seg data_i(i_dch_start-30*fs : i_dch_end40*fs); u_seg u_seg - mean(u_seg(1:10*fs)); % 归一化 %% 提取欧姆内阻 u_before mean(data_u(i_dch_start-10*fs : i_dch_start-1)); u_after mean(data_u(i_dch_start0.1*fs : i_dch_start0.5*fs)); R0 (u_before - u_after) / 50; % 50为脉冲电流值 %% 定义二阶RC模型响应函数 model_2rc (x, t) ... x(1) - x(2)*50*(1-exp(-t/x(4))) ... % 放电脉冲段RC网络充电 - x(3)*50*(1-exp(-t/x(5))); % 注意这里简化为放电段表达式 % 实际需要判断时间属于脉冲段还是静置段分别用零输入响应和零状态响应公式 %% 非线性最小二乘拟合 x0 [3.8, 0.01, 0.02, 20, 500]; % 初值[OCV, R1, R2, tau1, tau2] options optimoptions(lsqcurvefit, Display, off, MaxFunctionEvaluations, 3000); x_fit lsqcurvefit((x, t) model_2rc(x, t), x0, t_seg, u_seg, [], [], options); %% 保存结果 R1 x_fit(2); C1 x_fit(4)/R1; R2 x_fit(3); C2 x_fit(5)/R2;这里我特别想提醒的是初值选择的问题。双指数拟合对初值非常敏感如果tau_1和tau_2的初值和真实值差太远迭代很容易发散到局部最优解。我踩过这个坑后来固定在初值估算前先用快速傅里叶变换或偏自相关函数大致估计时间常数的量级再进行拟合。总体而言对于三元锂电池tau_1电化学极化通常在1到10秒tau_2浓度极化通常在50到300秒在设置初值时tau_1给5秒、tau_2给100秒是相对稳妥的起点。3.5 参数随SOC的变化规律与平滑处理将所有SOC点的辨识结果画出来R_0、R_1、R_2、C_1、C_2都是SOC的函数。实际数据会有些毛刺直接使用时会造成模型参数跳变。我的一般做法是先做分段三次样条插值然后做数据平滑。可以用movmean或Savitzky-Golay滤波。最后得到的一组参数曲线存入MAT结构体或Excel表格后续导入Simulink查表模块。典型变化规律是R_0整体随SOC下降而增大尤其低SOC段20%以下上升明显R_1和C_1变化相对平缓R_2和C_2在低SOC段会有显著变化如果辨识出某个SOC点的R_1是负值或C_2是负值多半说明拟合出了问题需要重点排查。这些违背物理常识的结果不能直接使用。4. Simulink仿真模型搭建从参数到可运行模型4.1 模型总体架构设计参数辨识完成后进入Simulink建模环节。这里我建议的模型架构是自上而下的分层设计底层是一个电池单体模型输入为电流和SOC初值输出为端电压、SOC、功率等信号。上层是测试场景比如HPPC工况、US06工况和结果观测模块。在Simulink中搭建二阶RC电池模型常用的实现方式有三种用Simscape Electrical的电池模块用基础数学模块搭建全部自己实现用状态空间模块结合S-Function实现我个人更推荐第二种方式因为SE的电池模块虽然方便但它内部封装了很多假设有时不够透明出了问题不好排查。用基础数学模块自建模型每一步都看得见参数怎么进去的、状态怎么迭代的全都可控。模型的核心部分包括四个子系统或模块SOC计算模块基于安时积分法使用积分器模块OCV-SOC查表模块查表块读取OCV曲线欧姆内阻压降模块直接计算I*R_0RC网络模块两个RC并联网络用传递函数或积分器实现4.2 SOC和OCV模块的实现细节SOC计算用安时积分法SOC(t) SOC_0 - (1 / Q_max) * ∫ i(t) dt在Simulink中用法简单Integrator模块输入为电流初始条件设为SOC初值0到1之间的标量除以容量Q_max单位换算为Ah乘以3600得到库仑量用Saturation模块限制SOC在0到1之间这里有三个注意点第一注意电流方向约定。我建议统一定义放电电流为正这样SOC表达式里是减号。如果后面接的负载模型输出的是充电电流为正那就要处理符号问题。第二Initial condition不要设成0或1这样的极端值。如果电池实际SOC不是0或1仿真开始阶段就会有一大段偏差。尤其是模型验证时SOC初值应该与HPPC测试时对应SOC点一致。第三安时积分的前提是初始SOC已知且容量准确。如果电池老化了容量下降安时积分会越来越偏。做长仿真时这个误差会积累所以工程上经常配合卡尔曼滤波做SOC校正。但做HPPC这种短期工况仿真安时积分足够用。OCV-SOC查表模块用Lookup Table (n-D)模块或者1-D Lookup TableBreakpoints 1设为SOC向量0到1Table data设为对应的OCV向量插值方法选三次样条建议不要直接用Interpolation Using Prelookup除非你非常熟悉它的工作方式因为它对断点表的格式要求更严格。1-D Lookup Table简单直接处理单变量插值绰绰有余。4.3 RC网络模块搭建传递函数和积分器两种方式RC网络的频域传递函数是H(s) R / (1 R * C * s) 1 / (C*s 1/R)在Simulink里实现有两种常用方式方式一传递函数块Transfer Fcn分子系数[1/C]分母系数[1, 1/(R*C)]例如R 0.02欧姆C 500法拉则分子 [1/500] [0.002]分母 [1, 1/(0.02*500)] [1, 0.1]方式二积分器模块搭建状态空间方程dU_rc/dt (i - U_rc/R) / C直接用Gain、Sum、Integrator搭几个模块就能完成。这种方式更灵活可以方便地加入非线性修正或状态约束。我推荐用方式二原因很简单后期如果要给模型增加温度依赖、SOC依赖时方式二的改写成本更低。传递函数块在变参数仿真中还需要额外处理。两个RC网络并联后和R_0、OCV源串联完整电压计算式是U_t OCV(SOC) - I*R_0 - U_rc1 - U_rc24.4 查表参数的导入从Excel和MAT到Simulink参数表导入Simulink也有技巧。如果不做任何预处理直接把参数写死在模块参数里每次改参数都要重新打开模块配置效率很低。推荐的做法是在Model Workspace或Base Workspace中定义参数结构体然后把Simulink模块参数设为对应的变量名。% 在初始化脚本中定义 BattParam.R0_table [0.0015 0.0014 0.0014 0.0015 0.0016 0.0018 0.0022]; BattParam.SOC_breakpoints [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0]; BattParam.RC1_R [0.0012 0.0011 ...]; BattParam.RC1_C [850 900 ...]; BattParam.RC2_R [0.0008 0.0008 ...]; BattParam.RC2_C [4500 4300 ...];然后Lookup Table的Table Data参数直接写BattParam.R0_tableBreakpoints写BattParam.SOC_breakpoints。模型初始化脚本用Model Callbacks里的InitFcn来执行这样每次打开模型或仿真开始前都会自动加载参数不会出现参数残留的错误。这里强烈建议把参数初始化脚本独立成.m文件然后在模型的InitFcn回调里调用。不要在命令行里手动执行脚本不然换个环境打开模型、忘了执行脚本各种莫名其妙的错误就来了。4.5 仿真验证跑HPPC工况对比端电压模型搭完后必须做验证。验证方法最直接把HPPC测试的电流数据作为模型输入把模型输出的端电压与实测端电压对比。在Simulink中用From Workspace模块读取实测电流数据% 结构体格式 sim_input_i.time data_t; sim_input_i.signals.values data_i; sim_input_i.signals.dimensions 1;或者直接用timeseries格式更简洁sim_input_i timeseries(data_i, data_t);跑完仿真后把模型输出端电压和实测端电压都导回MATLAB计算误差统计量平均绝对误差MAE最大绝对误差MAX均方根误差RMSE对于HPPC验证我一般是分SOC区间来统计误差。一个判断经验如果模型端电压对HPPC脉冲工况的MAE在20mV以内说明参数辨识精度不错可以放心用于后续的算法开发如果MAE超过50mV就要回头排查参数辨识的某个环节了。值得注意的是不要只看整体平均误差一定要看每个SOC点的误差分布。有时某个SOC点的模型电压在中SOC段拟合得好但在10%SOC附近偏差很大这是参数在低SOC段辨识不准的典型信号。5. 常见问题与排查技巧实录5.1 辨识出的参数不符合物理常识常见问题之一辨识出的R_1或C_2为负值或者数值大得离谱。排查思路先检查数据质量。脉冲电流是否稳定、电压采样是否有毛刺、静置时间是否足够。数据没问题再检查辨识方法。双指数拟合的初值如果不合理负值的概率非常高。还有一个隐藏问题两个RC网络的时间常数如果过于接近比如都是10秒左右双指数拟合存在严重的参数相关性问题这时应当适当拉开初值差距或者重新审视脉冲时长设计。5.2 仿真端电压误差大如果模型输出和实测电压误差很大不要急着改模型按这个顺序排查检查OCV表是否准确OCV有偏差端电压在静置阶段就不贴合检查欧姆内阻R_0是否合理主要看脉冲切换瞬间的电压跳变是否贴合检查RC网络时间常数主要看静置恢复段的曲线形态是否贴合检查SOC计算是否正确容量是否用错、电流符号是否反了我曾经遇到过一个案例排查了很久发现是某个SOC点的R_0和R_1值在导入查表时错位了一个索引导致端电压在脉冲切换处差了30mV。这个问题肉眼很难发现建议在导入参数后把查表输出和原始辨识值放一起画个对比图检查。5.3 查表模块数据越界和警告Simulink的Lookup Table在查询点超出断点范围时会外推默认情况下可能会产生不合理的电压值。比如SOC跑到1.03OCV被外推成4.8V完全不合理。解决方案有两个把SOC的Saturation模块范围设得比查表断点范围更窄比如断点是0到1Saturation设为0.001到0.999在Lookup Table模块中设置外推方法为Linear Extrapolation或直接设置为不对断点外的查询做外推这种问题在单独跑电池模型时很少见但在整车上电压跟随模型联合仿真时容易发生因为其它控制器模型里的SOC计算逻辑不完全一致。5.4 HPPC数据的噪声和滤波处理测试柜采集的电压数据一般不会太脏但偶尔会有电磁干扰导致的毛刺。这些毛刺在做指数拟合时会造成很大麻烦因为拟合算法会努力把毛刺也“解释”进去。建议在辨识之前对电压数据做一次轻量的平滑处理比如movmean窗口在0.5秒左右或者sgolayfilt做三阶五点平滑。但注意不要平滑过度否则脉冲切换瞬间的电压突变会被拉平R_0辨识会偏小。5.5 HPPC测试问题速查表现象可能原因排查方向OCV波动大静置时间不足加长静置至少1小时R0偏大采样率低、线束压降提高采样率、检查四线制接线R0偏小电流未稳定时取值取值延迟0.1秒以上RC参数无规律两个时间常数耦合调整脉冲时长、加平行样测试低SOC误差大极化未充分激励增加低SOC点脉冲时长模型电压整体偏高OCV表偏大或R0偏小单独校验OCV静置值模型电压整体偏低容量设置错误检查Q_max和符号方向5.6 参数结果整理的通用建议我一般建议把最终辨识结果整理成一张总表包括每个SOC点的OCV、R0、R1、C1、R2、C2并同时记录测试温度、电池编号、循环次数、测试日期。这个做法的价值在于当以后遇到参数异常或电池老化分析时有一份完整的溯源记录能大幅缩短排查时间。做工程仿真久了你会发现花在“查数据来龙去脉”上的时间往往比模型本身还多。文件夹管理也值得规范一下project/ ├── 01_raw_data/ # 测试柜原始数据 ├── 02_processed_data/ # 清洗和切片后的数据 ├── 03_identification/ # 辨识脚本和结果图 ├── 04_simulink_model/ # Simulink模型和初始化脚本 └── 05_validation/ # 验证结果和报告这套整理习惯帮我省了很多重复劳动。我的经验是在项目开跑之前就把这套目录结构建好比事后整理高效太多。说实话这套流程从头到尾做下来最大的体会是参数辨识不是一个纯粹的数学拟合问题而是实验设计、数据处理、模型结构、辨识算法四者的综合工程。任何一个环节做得不细致最终模型精度都会打折扣。尤其在数据采集环节很多细节决定了辨识结果的上限——比如采样率、静置时间、四线制接法这些看似基础的东西往往比高级的辨识算法更能决定最终效果的优劣。如果你也准备跑这套流程我的建议很简单先不要急着追求算法的复杂度把HPPC测试本身做扎实把数据质量控到位再用最小二乘配合良好的初值你就能得到一套足够可靠的二阶RC模型参数。后面在Simulink里搭建的模型精度自然水到渠成。等这套基础流程跑通了你再根据使用场景逐步增加温度维度、老化维度、或者扩展到更精细的电化学模型有了这套参数辨识的经验打底后面做什么都能事半功倍。
返回列表