电气化正在推动电池在一系列应用中的使用,包括电动汽车(例如汽车、公交车)、船舶、电动飞机、并网储能系统和光伏系统。这些应用在电池选择、功率/能量密度、体积、重量和寿命方面对电池系统设计有不同需求。
在测试前进行电池系统设计仿真可以为电池包的动态行为提供深度信息。它还支持您:
- 探索和比较软件算法。
- 扩展运行测试用例。
- 缩短从电芯到电池系统的技术开发周期。
电池系统开发的工作流从构建电芯开始。从电芯设计到电池系统需要执行五项主要任务。这些任务包括:
- 电池包设计
- 电热电池包组件设计
- 电池管理系统 (BMS) 算法开发
- 集成组件以运行桌面仿真
- 硬件在环 (HIL) 测试和部署
您可以使用 MATLAB® 中的 Simscape Battery™ 应用程序编程接口 (API) 来设计电池包。设计的基本元素包括电池设计、并联装配、模块、模块装配和电池包设计。
使用 Simscape Battery,您可以:
- 对电热行为进行建模,包括电芯模型中的电荷动力学、老化、热效应和热传递效应。
- 根据制造商规格书对电芯进行参数化。
- 从电池到模块和从模块到电池包构建并可视化具有不同几何形状和拓扑的电池模型。
- 对具有可自定义流体路径和电池包热连接的冷却板建模。
- 研究电池间的温度变化并度量冷却效率。
- 为您的电池包设计生成自定义 Simulink 库模型。
- 设置合适的模型分辨率,以在模型保真度和仿真速度之间取得平衡。
关键要点
- 开发具有不同模型分辨率的自定义电池包。
- 在电池模型中添加热效应。
- 使用一行代码生成用于仿真的电池包模型。
从电芯到电池系统
工程师可以使用 MATLAB 和 Simulink 设计电池热管理系统来在设定范围内调节电池包温度,并确保它在各种工况下提供最优性能。
Simulink 让您可以轻松设计闭环控制功能。该功能结合前馈和 PID 方法来实现循环系统控制,例如进料流(阀门)控制、质量流量(泵)控制和热交换路径选择控制。使用 Simscape Battery,您可以通过预置的模块(例如电池冷却剂控制和电池加热器控制)来构建电池热管理控制算法。您还可以使用 Stateflow® 根据环境温度和电池温度设计用于在不同工作模式(例如加热和冷却)之间切换的监督控制逻辑。
关键要点
- 通过将电芯组合成具有热效应的模块构建电池包级热模型。
- 使用预置的冷却板模块。
- 使用各种工作流体构建冷却/加热系统模型。
- 仿真极端温度条件以针对“假设”场景进行设计。
- 进行案例研究以评估不同设计方案的热影响。
- 通过建模和仿真执行组件选择和组件选型。
设计良好的电池管理系统 (BMS) 可确保在各种充放电和环境条件下实现最优性能、安全运行和最长使用寿命。使用 Simulink 和 Simscape,您能够深入了解电池包的动态行为,探索软件架构,测试各种运行工况并尽早开始硬件测试,从而减少设计错误。工程师可以使用 Simscape Battery 中的内置 BMS 控制模块来评估设计的电池包性能,开发热管理系统,并运行系统级仿真。
为了实现这些目标,BMS 需带有控制电池包行为和性能的算法。
精确的电池模型对于开发荷电状态 (SOC) 估计算法至关重要。开路电压 (OCV) 测量和电流积分(库仑计数)等传统 SOC 估计方法在某些情况下相当精确。但是,估计具有平面 OCV-SOC 放电特征的现代化学电池的 SOC 需要使用不同的方法。实践证明,扩展卡尔曼滤波器 (EKF) 和无迹卡尔曼滤波器 (UKF) 方法能在合理的计算工作量前提下提供精确的结果。
Simscape Battery 包含三个 SOC 估计器:库仑计数、自适应卡尔曼滤波器以及卡尔曼滤波器。与卡尔曼滤波器 SOC 估计器相比,自适应卡尔曼滤波器 SOC 估计器多出一个终端电阻作为状态。自适应卡尔曼滤波器 SOC 估计器和卡尔曼滤波器 SOC 估计器都可以选择 EKF 或 UKF 来开发用于估计 SOC 的观测器。此类观测器通常包括一个非线性系统(电池)的模型和一个递归算法。该模型使用从电芯测得的电流和电压作为输入,该算法根据一个两步式预测/更新过程来计算系统(其中包括 SOC)的内部状态。
与卡尔曼滤波器相比,使用神经网络来开发 SOC 估计器不需要关于电池或其非线性行为的大量信息,而是使用电流、电压和温度数据来训练网络并给出 SOC 作为响应。
关键要点
- Simscape Battery 包含三个荷电状态 (SOC) 估计器:库仑计数估计器、自适应卡尔曼滤波器估计器以及卡尔曼滤波器估计器。
- 自适应卡尔曼滤波器 SOC 估计器和卡尔曼滤波器 SOC 估计器都可以选择 EKF 或 UKF。
- 自适应卡尔曼滤波器 SOC 估计器带有终端电阻作为附加状态。
- 可以使用神经网络来开发 SOC 估计器,而无需关于电池的大量信息。
如何使用深度学习估计电池荷电状态
所有电池,包括在出厂时符合性能规格的电池,都会由于使用寿命和充放电循环导致性能会随着时间而降低,表现为储能会逐渐损失,同时内部电阻增加。后者的测量相对简单,需要的时间也短。但前者则需要完整的充电或放电偏移来进行精确计算,而这并不始终可行。此项挑战导致健康状态 (SOH) 估计越来越受关注,从而带来了自适应卡尔曼滤波器公式的增强。该公式现已不只包括状态,还包括电池参数。精确估计瞬时内部电阻对于 BMS 建立功率限制非常有帮助。
SOH 估计比 SOC 估计更主观;对于如何定义 SOH 尚无共识。因此,每个组织可能有其自己特定的量化 SOH 估计的方法,这让通用的现成解决方案的使用成为了不可能的任务。使用 Simulink 和 Simscape,您可以开发和仿真与您的组织特定的电池健康状况的解释一致自的定义 SOH 估计算法,。
关键要点
- Simscape Battery 提供使用卡尔曼滤波器的 SOH 估计器模块。
电动汽车应用中的健康和老化锂电池的基于模型的参数识别
Simscape Battery 为电芯平衡、电池充电和电池保护提供预置的库模块。
电芯平衡功能通过泄放电阻耗散多余电荷,使所有电芯保持相似的 SOC。平衡可防止过度充电或放电损坏电芯从而延长电池寿命。当电芯平衡时,多个电池可以提高容量。
电池充电由恒流/恒压 (CC-CV) 算法控制。这是一种常见方法,它通过在充电时防止过流和过压来维持电池寿命。充电期间电流受到限制,直到达到预设电压。
保护电池需要监控电流、电压和温度。Simscape Battery 提供了可集成到 BMS 算法中的模块。
关键要点
- Simscape Battery 为电池平衡、电流和电压控制以及电压、电流和温度监控提供了模块。
Simulink 中的电池管理系统开发
Simulink 中的桌面仿真使您能够验证电池系统设计的功能方面。在桌面上,电池系统、环境和算法都是使用行为模型进行仿真的。例如,您可以探索主动式与被动式电芯平衡配置和算法,评估每种平衡方法对于给定应用场景的适用性。您可以在应用到硬件原型前使用桌面仿真探索新的设计构想,并测试多个系统架构。您还可以在桌面仿真中执行需求测试;例如,您可以验证在检测到隔离故障时接触器会被阻止打开或关闭。
执行逼真仿真的功能是开发 BMS 控制软件的核心,而这始于精确的电池包模型。电池的设计通常会使用有限元分析 (FEA) 模型来模拟电池的物理配置并捕获其电热化学属性。虽然这些模型非常适合设计和优化电池包的化学和几何结构,但控制工程师需要更加适合系统级设计和软件开发的模型。
关键要点
- Simscape Battery 提供更精确的电池包模型。
在 Simulink 中开发 BMS 算法时,您可以使用等效电路模拟电芯的热电行为。等效电路通常由一个电压源、一个串联电阻和一个或多个并联电阻电容对组成。电压源提供开路电压,而其他组件对电池的内阻和时变行为建模。这些等效电路元件通常依赖于温度和荷电状态 (SOC)。这种依赖性对于每个电池的化学原理来说是独一无二的,因此需要根据对电芯执行的测量值来确定,而且电芯的类型必须与为其设计控制器的电芯相同。通过使用试验数据的模型相关性分析,您可以使用 Simulink 和 MATLAB 中的优化来参数化等效电路。
关键要点
- 使用 Simulink 和 MATLAB 中的优化来参数化电芯的等效电路。
除了电池包模型以外,逼真的电池系统仿真还需要连接电池系统与电源和负载的电路组件的精确模型。Simscape Electrical 是 Simulink 的一个附加产品。它提供了装配完整电池系统电路所需的有源和无源电子元件(如用于电池平衡的模拟前端)的完整库。充电源可由直流电源(如光伏 (PV) 系统)组成,也可由经过整流的交流电源组成。
使用 Simulink 和 Simscape 进行系统级仿真时,您可以围绕电池构造复杂的充电源,在各种工况范围和故障条件下验证电池系统。电池包的负载也可采用类似的方法进行建模和仿真。例如,电池包可以通过逆变器连接到电动汽车 (EV) 中的永磁同步电动机 (PMSM)。利用仿真,您可以通过行驶工况改变 EV 的运行,并评估 BMS 能否有效应对不断变化的工况。
关键要点
- 使用 Simulink 和 MATLAB 中的优化来参数化电芯的等效电路。
高压电池通过受控的三相逆变器向 IPMSM 供电
将桌面仿真集成到您的测试过程后,您可以编写并执行测试用例,运用电池系统检验所有可能的逻辑分支和闭环控制 - 这是进行硬件测试时很少见的一种覆盖级别。采用这种方法,仿真模型就可以看作是推动电池系统设计和测试的可执行规范。Simulink 提供的一系列功能支持通过桌面仿真进行测试,使您能够:
- 将限制、容差、逻辑检查和时序条件等需求集成到模型中,并能将其追溯到原始设定
- 构造复杂的基于仿真的测试序列,以执行功能、基线、等效性和背靠背测试
- 跟踪行业标准指标,如决策、条件和修正条件/决策覆盖率 (MC/DC) 以及关系边界覆盖率
- 生成测试输入以实现全面的模型覆盖率和自定义目标
- 使用形式化方法来识别导致整数溢出、死逻辑和除以零的隐藏设计错误
当开发中的电池系统必须满足安全需求时,您可以将基于形式化方法的测试集成到符合 IEC 61508、IEC 61851 和 ISO® 26262 等标准的软件开发过程中。
在通过桌面仿真验证后,您可以使用这些 Simulink 模型生成 C 和 HDL 代码进行快速原型 (RP) 设计或硬件在环 (HIL) 测试,以进一步实时验证 BMS 算法。在进行快速原型化时,您将从控制器模型生成用于实时测试的控制软件代码来代替手工编写,然后将代码部署到执行生产微控制器功能的实时计算机。利用自动代码生成,只需数小时(而不是数天)即可在实时硬件上测试模型中的算法更改。您还可以在 Simulink 内与实时控制硬件交互,以更改算法参数并记录测试数据。
与快速原型一样,硬件在环测试也涉及从 Simulink 模型生成代码并将代码部署到实时计算机。硬件在环测试使用的代码是从电池系统模型而不是从控制算法模型生成的,这提供了一个代表电池包、有源和无源电路元件、负载、充电器和其他系统组件的虚拟实时环境。借助此虚拟环境,您可以在开发硬件原型之前,在不会损坏硬件的环境中实时验证 BMS 控制器的功能。
桌面仿真过程中开发的测试可以延续到硬件在环测试,以确保 BMS 设计的推进始终满足需求。虽然 HIL 测试主要用于测试在微控制器或 FPGA 上运行的代码,但您也可以在选择生产控制器硬件之前改用快速原型构建系统(例如 Simulink Real-Time™ 和 Speedgoat® 目标硬件),并将其连接到 HIL 设置。
借助实时仿真(包含快速原型设计和 HIL 测试),电力电子控制工程师能够更加深入地了解 BMS 设计在硬件上运行的情况。RP 和 HIL 的目标都是在硬件上仿真总体设计的一个方面:RP 是仿真 BMS 控制器,而 HIL 则是仿真电池系统的平衡。在 BMS 设计中,实时仿真提供了几大优势,让您能够:
- 在选择最终控制器硬件之前进行 RP 以开始算法的验证。
- 利用实时测试系统的灵活性进行快速设计迭代和测试。
- 在电池系统原型硬件可用前进行 HIL 测试。
- 结合使用 RP 和 HIL 测试,通过测试用例对 BMS 算法进行测试,避免使用实际硬件进行难以执行、成本高昂或可能损坏硬件的测试。
通过在 Simulink 中重用桌面仿真模型来生成实时仿真代码,您可以缩短总体开发时间。您可以生成 C/C++ 和 HDL 代码,在专为实时性能而优化的计算机上执行。从 Simulink 模型生成的实时仿真代码包括能够让您在实时仿真运行时调整控制参数的接口。
在硬件测试期间对控制器代码进行更改会导致延迟和额外的风险。手动修改代码、重新编译,然后将其部署到微控制器或 FPGA 也需要花费很长时间。如果您是控制算法开发者且依赖软件或硬件工程师做出更改,则可能需要更长时间。根据所需更改的程度,还要面临向实现的代码中引入新问题的风险。
您可以使用 Simulink 生成在专用计算机上实时执行并使用高速 I/O 与测试硬件通信的代码来代替手动编写控制器软件更新。这种 RP 方法不仅可以消除手动编码及其相关联的延迟,还可以让您先在桌面上运行仿真模型来验证对 BMS 软件的更改,确认没有引入其他问题。
由于构建和修改电池系统的硬件原型可能需要相当大的工作量,而且修复成本通常很高,所以在电池包所在的电子系统中测试此类原型的运行情况并不总是可行。由于这些限制的存在,即使很小的设计改动也可能会威胁到开发计划。而且 BMS 的设计往往进展缓慢,因为团队会认为对之前设计的重大修改风险过大。
借助 Simulink,您可以从电池系统及其所属的更大系统(包括电源和加载)中的硬件的模型中生成 C/C++ 和 HDL 代码。在将此代码部署到实时计算机后,您就能够在电池系统原型中测试控制器之前对您的控制器代码运行硬件实时仿真。因此,您可以提前找到并纠正控制设计错误,从而避免损坏昂贵且难以更换的硬件原型。您还可以发现硬件设计错误,例如不正确的组件选型。
许多 HIL 实时系统(包括 Speedgoat 目标硬件)都集成了电池模拟器,让您能够模拟便携式电池电源,模拟电动汽车的电池包,或馈入电流来仿真充电中的电池。
使用硬件在环测试电池管理系统
在硬件实现阶段,Simulink 控制模型已通过桌面仿真、RP 和 HIL 验证,并已准备好为 BMS 生成高效的生产代码。如有必要,您可将产品级代码生成步骤合并到汽车、航空航天和其他受监管行业中使用的正式认证标准的合规工作流中。
Simulink 从控制器模型中生成可读、紧凑、高效的 C/C++ 和 HDL 代码,可直接在生产微控制器、FPGA 和 ASIC 上实现。与为 RP 生成的代码不同,为生产用途生成的代码不包括支持实时监控、参数调节和数据记录所需的额外接口。利用优化设置,您可以精确控制生成的函数、文件和数据以提高代码效率,并有助于与已有代码、数据类型和标定参数集成。
在处理器在环 (PIL) 仿真中,C/C++ 或 HDL 代码在微控制器或 FPGA 上运行,与此同时,设备使用 BMS 硬件的 Simulink 模型步进执行,降低了在 BMS 代码的初始评估过程中损坏硬件原型的风险。PIL 仿真虽然并不实时执行,但却以真实代码运行,可让您在各种条件下验证您的代码,并有信心在实际系统上部署后即可正确执行。
桌面仿真、RP、HIL 和 PIL 仿真都能让您验证和确认 BMS 的控制算法。使用 Simulink,您可以基于这些算法来生成生产就绪代码 - 无论是用于在微控制器上实现的优化且稳定的 C/C++ 代码,或是用于 FPGA 编程或 ASIC 实现的可综合 HDL 代码。自动代码生成消除了手动算法转译错误,并且产生 C/C++ 和 HDL 代码与 Simulink 中已验证的算法具有数值等效性。通过在尽可能全面的工况和故障条件下仿真您的控制算法,即使无法面面俱到,也能让您对生成的代码在实时系统中处理同样的条件充满信心。如果以后的硬件测试表明需要更改算法,您只需在您的模型中修改算法,重新运行仿真测试用例来验证更改的正确性,然后生成经过更新的新代码。所有生成的 C/C++ 和 HDL 代码都完全可移植,并具有一系列选项对其进行优,Simulink 模型与代码直接双向可追踪,帮助您进行代码审查与故障诊断。
生成产品级代码
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)