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