电池单元平衡和荷电状态(SOC)估计
从系列:混合动力电动汽车
探索电池组电热建模与仿真。在本视频中,您将学习:
- 列出电池管理系统的任务。
- 确定如何仿真软件®可以为电池组及其平衡电路建模物理设备和控制器,并提供电和热行为方面的结果。
- 使用控件库中的一个非线性观察者块来跟踪电池的充电状态。
你好,每个人。我叫Javier Gazzarri,是MathWorks的一名应用工程师,专门从事电池系统的设计和分析,使用建模和仿真。我是一名机械工程师,本科毕业于布宜诺斯艾利斯大学,硕士、博士毕业于英属哥伦比亚大学。
在七年前加入MathWorks之前,我曾在加拿大政府公司工作多年,在位于BC省温哥华的国家研究委员会的燃料电池神经研究所研究低温燃料电池。现代电池系统,特别是基于锂离子化学的电池系统,需要仔细监测和控制每个单体电池的状态,以确保操作安全、良好的性能和可接受的耐用性。
这项任务委托给电池管理系统,该系统测量每个电池的电流、电压和温度,控制电池组的冷却、平衡和电源元件,以及操作启动和关机的断开断路器。
该视频展示了典型的电池管理系统任务的例子,如平衡,热分析和SOC估计。我们将从一个简单的三年1P电池组架构模型开始,从低SOC和自动平衡开始。我们将展示Simulink如何为电池组塑造物理设备和控制器,以及它的平衡电路,并提供电和热行为方面的结果。
其次,我们我们将展示一个非线性观察者如何跟踪电池的电荷状态。在前面的例子中使用的同样的单位细胞,在这个例子中被用来创建真实植物的模型。
在之前的视频中,我们展示了如何创建一个电池等效电路,以及如何使用控制温度的实验数据参数化它。我们看到,每个估计过程的结果都是等效电路参数的向量。对于不同的SOC水平有不同的值。
在不同温度下重复估计过程会产生一个查找类型的矩阵,该矩阵输出元素的OCV、电阻和电容作为电荷状态和温度的函数。用这种方法创建的电池块现在可以成为系统的一部分,就像一个模型,其架构反映了我们的设计需求和规格。
今天我们将与大家分享的第一个例子反映了BAMS的一个重要任务,细胞平衡。循环使用一个电池组最终会导致单个电池失去平衡。不同细胞的热量效率是这个问题的一个典型原因,这表现为不同细胞的SOC水平的差异。
这种情况是不可取的,因为它限制了可以进入或退出电池组的总能量,因为最弱的电池限制了可以从整个系统提取的电量。而最强的电池则限制了整个系统的充电范围。
通常,平衡是通过两种方式之一来实现的。使用一种欺骗性的方法,通常被称为被动平衡,在这种方法中,来自顶部电池的多余电荷通过连接的电阻流出
与每个单独的细胞并行。并使用一种尼尼耗散法,通常称为主动平衡,在这种方法中,来自一些细胞的多余电荷被重新分配到其他需要速率的细胞中。
今天我们来看一个被动平衡的例子。平衡系统的设计师决定何时平衡,充电时,放电时,或两者都平衡,以及在什么SOC范围内进行平衡。在这种情况下,我们将在整个SOC范围内的充电期间进行平衡。
我们来看看模型结构。这个Simulink模型使用Simscape组件来表示一个3S 1P拓扑的小型电池组,3个电池组串联连接,一个并联串。中间的电池组从左边的任何一个电源接收充电。
我们在这里展示的充电剖面被称为CCCV充电,恒流、恒压。在恒流控制下,初始充电阶段通常以C / 2的速率进行。而一旦跨终端测量的电压达到标称全充电OCV,系统将以该电压值为设定值进行电压控制。
持续充电,直到电流达到预定的低阈值。从电流控制到电压控制的变化是通过我们在左下方看到的开关完成的。进入电池块内部,我们可以看到三个电池系列的连接。在右边,我们看到的是平衡电路,其中包括放电电阻和晶体管,它们根据电池单元的相对SOC选择性地开关旁路分支。
在适当的时候,电阻器转移部分充电电流,从而降低它们所连接的电池的充电速率,让下面的电池赶上来。控制信号,即MOSFET门中的命令从右侧的逻辑块到达,我们稍后将返回该逻辑块。
细胞左侧的橙色方块代表相邻细胞之间的对流换热。这些方块连接到每个单元的热部分,导致等效电路的热部分。产生的热量被假设仅仅是双效应的结果。
热连接是不对称的,因为底部的电池在一侧是隔热的,而顶部的电池是通过对流换热块与大气连接的。在电池单元中再往下走一步,我们看到了3 RC电路,其参数是我们在之前的视频中解释的Mollica关系技术中发现的。
每个元件都有温度和电荷状态的输入端口。在这些输入端,是块内部二维查找磁带孔的入口点。来自内部电阻的输出板对应于每个电阻内部的参与。
这种功率被转换为热块内部的热流源,该热流源又与热质量进行热连接。让我们运行这个模型,看看它是如何工作的。左上角的图显示了总电压和电流,在这里我们可以识别恒流和恒压周期。在右上方,我们标出了SOC水平。
最初很低,彼此之间相差10%,随着它们的增加,它们慢慢接近彼此,直到它们的值足够接近,充电可以在不平衡的情况下进行。左下方的图表显示了电池的温度演化。温度的积累是不均匀的,因为流经每个电阻的电流在每个时刻都不像在右边的范围中观察到的那样相同。也因为前面描述的不对称热拓扑。
观察他们的结果,我们可以看到,虽然从安全的角度来看,最高温度并不值得关注,但很可能是温度的差异会导致温度最高的细胞比温度较低的细胞降解得更快,加剧不平衡。
这表明,需要积极的热管理,将温差保持在尽可能低的水平。最后,让我们来探索一下控制平衡过程的逻辑。Stateflow是在Simulink之上的一个add on库,专门为建模状态逻辑算法而设计。
这里的每个块表示一些变量被赋值的状态。在这种情况下,尽管输出信号馈送MOSFET门。基于对应于每个单元的OCV值,MATLAB函数将其源化,并基于它们的相对SOC状态流决定激活哪个MOSFET以减缓该单元的充电。
需要注意的是,这里的OCV很容易获得,因为植物是模拟的。在实际应用中,OCV应该根据由估计的压降除以内阻修正的终端电压测量来估计。
一旦在仿真中实现了状态流逻辑,我们就可以使用c核自动生成来在硬件中实现算法,而不需要在c中重写算法。在我们的第二个例子中,我们将看到单元单元块的另一个应用,这一次是模拟电池中的循环充放电剖面和非线性基于卡尔曼滤波器的SOC估计方法。
由于各种原因,对电池SOC的准确估计在宝马汽车中至关重要。其中,药物范围焦虑。如果你开着你的电动汽车,你需要知道你需要多长时间才能给电池充电。与传统汽车油箱的液位可以直接测量不同,电池的SOC不能用间接的方法来测量。例如,OCV估计,库仑计数,或两者的结合。
这些方法都有缺点,有时不能有效地应用。例如,对于放电曲线非常平坦的电池。估计电荷状态的一种更高级的方法是使用观察者。通常是一个卡尔曼滤波器,它接收来自电池的输入和输出信号,并使用电池的模型和递归算法计算内部状态。
在本例中,我们使用了来自控制系统工具箱的一种非线性估计器——无气味卡尔曼滤波器。由于OCV和SOC之间的关系,我们需要一个非线性观测器。UKF要求至少有两个函数作为参数。一个状态转换函数和一个测量函数。
前者描述的是状态和输入之间的关系,阶梯产生的系统输出是状态和输入的函数。这些函数可以是MATLAB或Simulink的函数块,本例使用了梯形。状态转移函数根据当前输入计算状态的演化。
这个计算需要先前使用温度和电流信号来计算等效电路参数,这些信号通过我们在之前的视频中估计的描述电池的非线性查找表。在这个块内部,有一个故障,有四个状态的状态更新方程,即SOC和RC组件上的三个电压。
测量函数将终端电压计算为OCV和其他等效电路元件的个别电压降之和之间的差值。在这种情况下不需要额外的函数,因为测量函数和没有内存。
运行该模型,我们观察到电池单体处于交替充放电电流循环中。SOC估计值初始值为60%,但实际值为50%。经过大约两小时的模拟时间后,算法收敛到真实值。
最后,我们来说说控制算法的硬件实现。在硬件中实现Simulink算法的一个必要步骤是生成一个可嵌入的C代码。我们可以自动完成这一步
从控制器块使用构建的命令。这将把框图转换成C,为双向导航的代码添加注释。
在本视频中,我们展示了如何创建一个电池系统的模型,该模型具有信任给电池管理系统的典型任务。电池平衡和SOC估计。在之前的视频中创建的单元电池单元现在被用于不同的设计案例。Simulink中的物理建模库元素提供了一种直观的方法,可以以灵活的方式创建电池电路,并在单一环境中组合设备和控制器。
在第一个例子中,一个简单的3S 1P电池组,启动时SOC很低,失去平衡。Simulink、statflow和Simscape使充电和平衡策略的设计成为可能,包括用于嵌入式实现的自动核心生成。
最后,我们展示了一个非线性卡尔曼滤波应用程序,用于对从上一个例子中重用的单位电池电池的充电状态估计。感谢收看。
下载代码和文件
了解更多
您也可以从以下列表中选择一个网站:
如何获得最佳网站性能
选择中国站点(中文或英文)获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。