Contenido principal

Estimación del estado de carga de una batería en Simulink utilizando una red neuronal prealimentada

En este ejemplo se muestra cómo utilizar una red de deep learning prealimentada dentro de un modelo de Simulink® para predecir el estado de carga (SOC) de una batería. Puede incluir la red dentro del modelo de Simulink utilizando un bloque Predict, que predice el SOC en cada paso de la simulación.

El SOC de una batería es el nivel de carga de una batería eléctrica en relación con su capacidad, medido como un porcentaje. El SOC es información fundamental para el sistema de gestión de energía de un vehículo y debe estimarse de manera precisa para garantizar vehículos electrificados fiables y asequibles. Los métodos basados en el algoritmo del filtro de Kalman (EKF) son los enfoques tradicionales para este problema, pero normalmente requieren parámetros precisos y conocimientos sobre la composición de la batería, así como su respuesta física. En cambio, el uso de redes neuronales es un enfoque basado en datos que requiere un conocimiento mínimo sobre la batería o su comportamiento no lineal [1].

En este ejemplo se utiliza el conjunto de datos preprocesado LG_HG2_Prepared_Dataset_McMasterUniversity_Jan_2020 de [1]. En el ejemplo se utiliza una red neuronal prealimentada entrenada para predecir el SOC de una batería de iones de litio, dados los datos de series de tiempo que representan distintas características de la batería, como voltaje, corriente, temperatura, voltaje medio y corriente media. Para un flujo de trabajo de extremo a extremo completo para estimar el estado de carga de una batería, consulte Estimación del estado de carga de una batería utilizando deep learning.

Modelo de Simulink para predecir un SOC

Abra el modelo de Simulink BatterySOCSimulinkEstimation.slx.

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

El modelo utiliza dos bloques From Workspace para cargar los predictores para la red entrenada y el SOC objetivo de los datos de prueba, un bloque Predict de la biblioteca de Deep Learning Toolbox™ y dos bloques Scope para mostrar la salida predicha y las señales de entrada.

El bloque Predict predice las respuestas de los datos de la entrada utilizando la red entrenada que se especifica utilizando los parámetros del bloque. El bloque acepta una señal de entrada con una dimensionalidad de la capa de entrada de la red neuronal y genera como salida la predicción.

Ejecutar una simulación

Para predecir el estado de carga de la batería y verificar la eficiencia de la predicción, ejecute la simulación.

sim('BatterySOCSimulinkEstimation');

Puede integrar este sistema dentro de un marco de trabajo mayor, por ejemplo, en un sistema de gestión de baterías que monitoriza continuamente el estado de la batería y establece medidas de precaución si la batería funciona fuera de su área operativa segura.

Representar entradas

Para representar las entradas, utilice el script soc_estimation_plot_inputs.m.

BatterySOCSimulinkEstimation_plot_inputs;

Representar y analizar salidas

Para analizar el rendimiento de la red, compare los resultados de predicciones obtenidas de la red con los datos de prueba.

Para representar las salidas, utilice el script soc_estimation_plot_outputs.m.

BatterySOCSimulinkEstimation_plot_outputs;

La gráfica muestra las predicciones de la red neuronal del SOC a lo largo del tiempo. Las predicciones de la red están más cerca de los valores del SOC obtenidos a partir de los datos de prueba. La red predice el estado de carga con una precisión de 3 dentro de un intervalo de temperatura entre –10 ˚C y 25 ˚C.

Referencias

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

Consulte también

| | | |

Temas