主要内容

使用前馈神经网络在 Simulink 中估计电池荷电状态

此示例说明如何在 Simulink® 模型内使用前馈深度学习网络来预测电池荷电状态 (SOC)。使用 Predict 模块将该网络包含在 Simulink 模型中,该模块在每个仿真步骤预测 SOC。

电池 SOC 是指电池相对于其容量的荷电水平,以百分比测量。SOC 是车辆能量管理系统的关键信息,必须准确估计以确保电动汽车的可靠性和经济性。基于卡尔曼滤波器 (EKF) 算法的方法是解决此问题的传统方法,但使用这些方法通常需要精确的参数和有关电池成分及其物理响应的知识。相比之下,使用神经网络是一种数据驱动的方法,只需要稍微了解电池或其非线性行为即可 [1]。

此示例使用 [1] 中的预处理数据集 LG_HG2_Prepared_Dataset_McMasterUniversity_Jan_2020。该示例使用经过训练的前馈神经网络,基于表示电池各项特征(例如电压、电流、温度、平均电压和平均电流)的时间序列数据预测锂离子电池的 SOC。有关电池荷电状态估计的完整端到端工作流,请参阅使用深度学习进行电池荷电状态估计

用于预测 SOC 的 Simulink 模型

打开 Simulink 模型 BatterySOCSimulinkEstimation.slx

BatterySOCSimulinkEstimation_ini;
modelName = 'BatterySOCSimulinkEstimation';
open_system(modelName);

该模型使用两个 From Workspace 模块来加载测试数据中用于训练网络的预测变量和目标 SOC、Deep Learning Toolbox™ 库中的 Predict 模块,以及两个分别用于显示预测的输出和输入信号的 Scope 模块。

Predict 模块使用您通过模块参数指定的已训练网络来预测输入端数据的响应。该模块接受维度与神经网络输入层相同的输入信号,并输出预测结果。

运行仿真

要预测电池的荷电状态并验证预测效率,请运行仿真。

sim('BatterySOCSimulinkEstimation');

您可以将此系统集成到更大的框架中,例如,集成到电池管理系统中,该系统持续监控电池状态,并在电池超出其安全工况范围工作时采取预防措施。

绘制输入

要绘制输入,请使用 soc_estimation_plot_inputs.m 脚本。

BatterySOCSimulinkEstimation_plot_inputs;

绘制和分析输出

要分析网络的性能,请将从网络获得的预测结果与测试数据进行比较。

要绘制输出,请使用 soc_estimation_plot_outputs.m 脚本。

BatterySOCSimulinkEstimation_plot_outputs;

上图显示神经网络对 SOC 随时间变化的预测。网络预测与从测试数据获得的 SOC 值很接近。该网络在 -10˚C 至 25˚C 的温度范围内预测荷电状态,准确度为 3。

参考资料

[1] Kollmeyer, Phillip, Carlos Vidal, Mina Naguib, and Michael Skells.“LG 18650HG2 Li-Ion Battery Data and Example Deep Neural Network XEV SOC Estimator Script.”Mendeley, March 5, 2020. https://doi.org/10.17632/CP3473X7XV.3.

另请参阅

| | | |

主题