使用Simulink和Simscape建模电池
从系列:混合动力电动汽车
了解等效电路以及你为什么想要使用它们。在本视频中,你将学习:
- 用等效电路来表示电池的动态行为。
- 识别如何使用参数估计,基于测量数据参数化等效电路。
- 改进和完善一个估计,通过使用更精细的等效电路拓扑来增加模型的保真度。
你好,每个人。我叫哈维尔·加扎里。我是MathWorks的一名应用工程师,专门从事使用建模和仿真的电池系统的设计和分析。我是一名机械工程师,本科毕业于布宜诺斯艾利斯大学,硕士和博士毕业于英属哥伦比亚大学。
7年前,在加入MathWorks之前,我为加拿大政府公司工作了4年,在BC省温哥华的国家研究委员会燃料电池创新研究所研究低温燃料电池。
锂离子电池是现代电动汽车和混合动力汽车的首选电池类型,因为其比能高,循环寿命好,电池放电极低。然而,伴随着所有这些优势,需要仔细的电池管理,以确保安全运行和可接受的耐久性。例如,温度和电压应保持在可接受的范围内,以避免过早退化,电力交付和验收也应如此。
今天我将和大家分享一些关于如何创建一个用于电池系统设计和控制的电池的Simulink模型的想法。首先,我们将展示如何使用等效电路来表示电池单体的动态行为。这一点很重要,因为BMS和任何控制器一样,都需要根据其所连接的电厂的动态进行调优。一个好的电池模型将告诉我它是如何作为环境条件和充电状态的函数而运行的。
其次,我们将看到如何使用参数估计(参数估计是一种基于优化来拟合模型与实验数据的技术)来参数化基于测量数据的等效电路。最后,我们将看到如何改进和细化一个估计,通过使用更精细的等效电路类型学来增加模型的保真度,用曲线拟合补充研究,并使用并行计算加速计算。
使用基于模型的设计开发电池系统需要一个电池的模型,准确地代表其真实生活行为和对环境和操作条件的依赖。例如,它需要在电流放电事件(如脉冲)之后的时间依赖性恢复中再现电压降。尽管捕获电池中存在的电化学现象的所有细节是可取的,但面向控制的应用需要一种更有效的方法,该方法可以放大到电池组级别,并最终能够实时模拟。
在保真度和仿真时间之间被广泛接受的折衷方法是等效电路。等效电路是一种电化学类比,旨在使用一个相对简单的电路来表示电化学电池的行为,该电路包含一个电压源和几个电阻和电容,这些电阻和电容共同反映了实际电池的开代电势、内阻和弛豫时间。
在使用任何给定电路对电池进行建模时,重要的是选择电路拓扑和参数化,使其响应尽可能与物理电池相似。
典型的等效电路包括与开路电位相关的电压源,与分离器和电解质的离子电导率相关的串联电阻,以及一个或多个模拟锂离子在多孔电极内外插补和解插过程中的扩散过程的电阻电容对。
就参数化而言,捕获在测试真正电池时观察到的电化学和耗散现象以及它们对状态和环境条件的依赖性是至关重要的。这些要求要求使用矩阵而不是标量参数,作为构成锂离子化学感兴趣的物理指纹的查找表。
确定等效电路特征参数的一种可能途径是进行参数估计。参数估计是一种基于优化的过程,通过它将仿真结果与实验测量结果进行比较,并以仿真与实验相匹配的方式确定模型的参数。这一切都从提出一个等效电路架构开始,基于对系统的先前知识,我们认为该电路架构可以代表真实系统的行为。
等效电路的初始参数化是使用基于我们经验的暂定值完成的。模拟设置为再现放电实验的条件,通常在控制温度的环境中进行。
我们先来看看实验数据。在保持25摄氏度恒定温度的情况下,一个31 in功率的镍锰芯电池组从充满电的状态一直放电到0 SOC。当电流从电池中流出时,测量到的电压下降,然后在脉冲后恢复。恢复过程中电压降的形状是这些特殊电池化学物质的特征。
而这个程序的目标是能够使用具有正确参数的等效电路来再现它。更具体地说,串联电阻需要占到恢复的瞬时部分。组合RC对需要解释恢复的指数部分。作为SOC的函数,电压源必须提供正确的OCV。
另外,我们可以观察到,响应是不同的电荷水平状态。因为我们不能直接控制电荷的状态,但当我们将电流从电池中释放出来时,它是变化的状态,我们需要允许所有的参数都是查找表,而不是标量,以解释SOC依赖性。
这是一个为此目的而设计的Simulink模型。从这个块内部的等效电路中绘制出一系列放电电流脉冲,方法与在实验室中所做的相同。同时,使用该电压传感器测量跨终端的电压,并由优化器与实验测量的电压进行比较。
往锂离子电池块内部看,我们可以看到一个简单的等效电路,有一个电压源、一个内阻和一个RC对。之后,我们会观察到,只有一个时间常数是不足以捕捉这个特定电池的所有动态的。如果我们使用初始猜想作为参数运行模型,我们就会观察到模拟和实验测量之间的这种不匹配。
Simulink将与MATLAB的优化函数一起工作,通过调整等效电路的参数,试图将仿真和实验数据之间的差异最小化。这是通过一个叫做Simulink Design Optimization的库来完成的。这个工具充当了Simulink和MATLAB优化函数之间的桥梁。
在左手边,我们可以看到要估算的四个参数。我们需要记住,它们中的每一个实际上都是10个元素的向量,对应10个能级的电荷状态。其次,我们指定要用于每个估计的实验。我们总是建议至少保留一组独立测量的数据用于验证。
当我们开始估算时,Simulink会一遍又一遍地运行模型。而每运行几次,它就会评估它离目标的距离,也就是实验曲线。虽然距离不够近,但它会对待估计参数的值施加扰动,并评估这种变化是否改善了情况。这是通过使用先进的优化算法以一种非常高效的方式完成的。
目前的计算需要几分钟才能收敛,因此为了演示目的,我们将加快速度。
在右边,我们可以看到参数的演变。每一种颜色代表四个等效电路元件中的一个。而每一种颜色中的每一条线都对应着特定的充电状态水平。
让我们来评估一下最终的结果。我们可以看到,在大多数情况下,优化器在拟合电压降事件和松弛方面做得很好。然而,在某些地方,拟合显然不够好。现在是时候评估一下我们一开始提出的等效电路拓扑的有效性了。
在某些情况下,指数电压弛豫显然比单一的时间常数指数曲线更复杂,这让我们认为等价电路需要更精细。一个很容易尝试的方法是增加更多的时间常数。
让我们看一个单独的松弛事件,看看我们用简单的曲线拟合发现了什么。回到实验测量,我们选择一个弛豫区间。现在让我们将数据导出到一个变量中,并使用曲线拟合工具箱来查看它。因为我们感兴趣的是相当具体的函数形式,所以我们需要使用一个自定义的方程,特别是一个具有指数项和的方程。
它不需要超过三个指数项就能比以前更精确地拟合松弛。这表明,在选择等效电路拓扑时,三个RC分量是更好的选择。让我们试试。
这个模型和我们之前看到的类似,但是现在的等效电路包含三个时间常数而不是一个。现在要计算的参数数量是80个,8个等效目标元件每个都有10个。对于这么大的一个问题,使用并行计算来分配计算负载是有意义的。
Simulink设计优化,让我们可以毫不费力地做到这一点,在选项中选择使用并行计算。同样,出于演示的目的,我们将以加速的速度展示这个过程。以下是实验结果。
这一过程必须在每一个感兴趣的温度和有实验数据的情况下重复。用这种技术确定的每个参数向量将被堆叠起来,以组成查找表,该查找表稍后将对一般的非等温模型进行参数化。我们将在单独的一节课中看到这个建模的细节。
综上所述,我们已经看到了如何使用Simulink模型与Simulink组件结合等温放电数据,找到描述给定锂离子电池电池行为的最佳等效电路和参数。为了进行这个计算,我们利用了Simulink的设计优化。
在本视频中,我们看到了一种方法,通过结合实验测量、模拟和优化,创建和参数化锂离子电池的等效替代品。我们开始提出一个等效电路拓扑和初始参数的猜测。我们看到了MATLAB和Simulink如何一起工作来创建一个优化问题来计算参数值。结果是一个电池块,其中包含建模真实电池行为的信息,并且基于所研究的设备类型,它在任何系统级的储能安排模型中都是可重用的。
从这里开始的下一步是创建整个电池组的模型,并围绕它设计电池管理系统。这将是一个单独的视频的主题。
你也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。