White paper

Desarrollo de sistemas de baterías con Simulink y Simscape

Flujo de trabajo de desarrollo de sistemas de baterías

La electrificación está impulsando el uso de baterías en diversas aplicaciones, tales como vehículos eléctricos (automóviles y autobuses), barcos, aeronaves eléctricas, sistemas de almacenamiento de energía de red y sistemas fotovoltaicos. Cada una de estas aplicaciones tiene sus propios requisitos de diseño de sistemas de baterías en cuanto a selección de celdas, densidad de potencia/energía, volumen, peso y vida útil.

Simular el diseño de un sistema de baterías antes de probarlo proporciona información sobre el comportamiento dinámico del paquete de baterías, a la vez que permite:

  • Explorar y comparar algoritmos de software
  • Ampliar los casos de pruebas operacionales
  • Acortar el ciclo de desarrollo de tecnología, desde la celda hasta el sistema de baterías

El flujo de trabajo de desarrollo de sistemas de baterías comienza creando la celda de batería. Estas cinco tareas principales tienden un puente entre el diseño de la celda y el sistema de baterías :

  • Diseño de paquetes de baterías
  • Diseño de componentes eléctricos y térmicos de paquetes de baterías
  • Desarrollo de algoritmos de sistemas de gestión de baterías (BMS)
  • Integración de componentes para ejecutar simulaciones en escritorio
  • Pruebas de hardware-in-the-loop (HIL) y despliegue

Puente entre celda de batería y sistema de baterías.

Con Simulink® y Simscape™, el flujo de trabajo de desarrollo de sistemas de baterías comienza con la integración de los componentes del sistema, a fin de realizar simulación en escritorio para validar los algoritmos y el diseño de los componentes (consulte Simulación en escritorio). El siguiente paso es la simulación de modelos en tiempo real con prototipado rápido y pruebas de hardware-in-the-loop (consulte Simulación de sistemas de baterías en tiempo real). Las etapas finales del desarrollo incluyen implementación, despliegue y pruebas de hardware (consulte Implementación en hardware).

Diagrama de un flujo de trabajo de desarrollo que muestra, de izquierda a derecha, simulación en escritorio, simulación en tiempo real e implementación en hardware.

Flujo de trabajo de desarrollo de sistemas de baterías con Simulink y Simscape.

partición

Diseño de paquetes de baterías

Puede diseñar un paquete de baterías utilizando la interfaz de programación de aplicaciones (API) de Simscape Battery™ en MATLAB®. Los elementos fundamentales son: diseño de la celda, ensamblaje en paralelo, módulo, ensamblaje de módulos y diseño del paquete de baterías.

Plano de coordenadas con número de celdas en el eje x, energía en kWh en el eje y, con elementos en este orden: celda, ensamblaje en paralelo, módulo, ensamblaje de módulos y diseño de paquete

Diseño de paquete de baterías, desde la celda hasta el paquete.

Con Simscape Battery, puede:

  • Modelar comportamiento electrotérmico e incluir dinámica de carga, degradación, y efectos térmicos y de transferencia de calor en modelos de celdas de batería.
  • Parametrizar las celdas según las fichas técnicas de los fabricantes.
  • Crear y visualizar modelos de baterías con diferentes geometrías y topologías, de celda a módulo y de módulo a paquete.
  • Modelar placas de enfriamiento con rutas de fluido y conexiones térmicas al paquete de baterías personalizadas.
  • Explorar la variación de temperatura entre celdas y medir la eficiencia de la refrigeración.
  • Generar un modelo de librería de Simulink personalizado para el diseño de un paquete de baterías.
  • Establecer una resolución de modelo adecuada para alcanzar un equilibrio entre la fidelidad del modelo y la velocidad de simulación.

Puntos principales

  • Desarrolle un paquete de baterías personalizado con diferentes resoluciones de modelo.
  • Agregue efectos térmicos al modelo de batería.
  • Genere modelos de paquetes de baterías para simulación con una sola línea de código.

De la celda al sistema de baterías

partición

Sistema de gestión térmica de baterías

Los equipos de ingeniería pueden utilizar MATLAB y Simulink para diseñar un sistema de gestión térmica de baterías que regule la temperatura del paquete según las especificaciones y garantizar que proporciona un rendimiento óptimo en diversas condiciones de funcionamiento. 

Diagrama de un batería y un sistema de enfriamiento de paquete de baterías.

Comparación del análisis térmico de una batería de iones de litio nueva y una degradada con Simscape Battery.

Con Simscape y Simscape Battery, puede crear modelos comenzando en el nivel de celda de batería y luego incorporar efectos de temperatura ambiente, materiales de interfaz térmica y conexiones de placas de enfriamiento para crear un modelo más representativo. La transferencia de calor se puede considerar desde las perspectivas de celda a celda, celda a placa y celda a entorno, definiendo las rutas térmicas hacia el ambiente, el refrigerante y la ubicación de la placa de enfriamiento. Simscape Battery proporciona bloques de placas de enfriamiento prediseñados que permiten distintas configuraciones de flujo, tales como canales paralelos, canales rectangulares en forma de U y enfriamiento perimetral.

Bloque de canales paralelos de Simscape Battery.

Bloque de canales paralelos de Simscape Battery.

Bloque de canales en forma de U en Simscape Battery.

Bloque de canales en forma de U en Simscape Battery.

Bloque de enfriamiento perimetral de Simscape Battery.

Bloque de enfriamiento perimetral de Simscape Battery.

Puede crear un modelo térmico en el nivel de paquete agrupando celdas en módulos con efectos térmicos y organizando los módulos dentro de un paquete. Puede realizar análisis de rendimiento térmico de paquetes de baterías con diferentes niveles de degradación para cumplir con criterios de garantía al fin de la vida útil (EOL).

Celda de batería junto al modelo térmico de una celda de batería.

Modelado térmico en 1D detallado de una sola celda de batería con Simscape utilizando la librería Thermal.

Modelo de una serie de celdas de batería conectadas a un puerto térmico del refrigerante.

Definición de la ruta térmica del refrigerante del módulo de una batería con Simscape Battery.

Puede utilizar bloques de Simscape y Simscape Fluids™ en los dominios térmicos de gas y líquido para modelar sistemas de refrigeración/calentamiento activos, pasivos o híbridos. También puede explorar arquitecturas de sistemas de refrigeración/calentamiento desarrollando esquemas para colocar tuberías, válvulas, intercambiadores de calor y depósitos.

En el caso de un sistema de lazo de líquido, puede modelar un depósito de expansión que contiene fluido de reserva; placas de enfriamiento que canalizan el fluido de trabajo cerca de las celdas de la batería; un sistema de circulación accionado por motor con bomba, ruta del flujo y válvulas, y diferentes tipos de intercambiadores de calor, tales como radiadores o calentadores con resistencia eléctrica.

Después de crear un modelo del sistema de climatización, puede ejecutar simulaciones, perfeccionar el diseño ajustando el tamaño de componentes y parámetros del sistema, y cumplir con los requisitos de disipación térmica y consumo de potencia.

Esquema de un sistema de enfriamiento de baterías de un vehículo eléctrico

Modelo de un sistema de climatización de lazo de líquido activo para baterías de vehículos eléctricos creado con Simulink y Simscape.

Simulink facilita el diseño de sistemas de control de lazo cerrado que combinan técnicas de feedforward y PID para controles de sistemas de circulación, tales como control del flujo de alimentación (con válvula), control de flujo másico (con bomba) y control de selección de ruta de intercambio de calor. Con Simscape Battery, puede utilizar bloques prediseñados, tales como Battery Coolant Control y Battery Heater Control, para crear algoritmos de control de gestión térmica de baterías. Con Stateflow®, también puede diseñar lógica de control de supervisión para alternar entre distintos modos de funcionamiento, tales como calefacción y refrigeración, en función de la temperatura ambiental y la temperatura de la batería.

Modelo de Simulink de un sistema de control de refrigerante.

Modelo de Simulink de un sistema de control de refrigerante que calcula el caudal en función de las temperaturas entre las celdas de la batería y la temperatura ambiente.

Puntos principales

  • Cree un modelo térmico en el nivel de paquete de batería agrupando celdas en módulos con efectos térmicos.
  • Utilice bloques de placas de enfriamiento prediseñados.
  • Cree modelos para sistemas de refrigeración/calentamiento con diversos fluidos de trabajo.
  • Simule condiciones de temperatura extrema para diseñar escenarios hipotéticos.
  • Realice estudios de escenarios para evaluar el impacto térmico de distintas opciones de diseño.
  • Seleccione y dimensione componentes con modelado y simulación.

Diseño de un sistema de gestión térmica de baterías

Mahindra Electric utiliza simulación en el nivel de sistema para optimizar el sistema de gestión térmica de baterías de un vehículo eléctrico 

partición

Algoritmos de sistemas de gestión de baterías

Un sistema de gestión de baterías (BMS) bien diseñado garantiza máximo rendimiento, funcionamiento seguro y vida útil óptima en diversas condiciones ambientales y de carga y descarga. Simulink y Simscape permiten obtener información sobre el comportamiento dinámico del paquete de baterías, explorar arquitecturas de software, probar casos de funcionamiento y realizar pruebas en hardware desde etapas tempranas de desarrollo, lo que reduce los errores de diseño. Los equipos de ingeniería pueden utilizar bloques de control de BMS integrados en Simscape Battery para evaluar el rendimiento del paquete de baterías diseñado, desarrollar un sistema de gestión térmica y ejecutar simulaciones en el nivel de sistema.

Para cumplir con estos objetivos, el BMS consta de algoritmos que controlan el comportamiento y rendimiento del paquete de baterías.

Diagrama de componentes del sistema de gestión de baterías.

Funciones del sistema de gestión de baterías.

Es indispensable contar con modelos de batería precisos para desarrollar algoritmos de estimación del estado de carga (SOC). Los enfoques de estimación del SOC tradicionales, tales como la medición de la tensión de circuito abierto (OCV) y la integración de las corrientes (conteo de culombios), suelen ser precisos para algunos casos. Sin embargo, estimar el SOC de la química de baterías modernas que tienen curvas de descarga OCV-SOC planas requiere un enfoque diferente. Los enfoques EKF (filtro de Kalman extendido) y UKF (filtro de Kalman unscented) han producido resultados demostrados con carga computacional moderada.

Simscape Battery incluye tres estimadores de SOC: conteo de culombios, filtro de Kalman y filtro de Kalman adaptativo. En comparación con el filtro de Kalman, el estimador de SOC con filtro de Kalman adaptativo incluye un estado adicional: resistencia terminal. Ambos estimadores permiten seleccionar EKF o UKF con el fin de desarrollar un observador para estimar el SOC. Normalmente, estos observadores incluyen un modelo del sistema no lineal de interés (la batería), que utiliza la corriente y la tensión medidas en la celda como entradas, así como un algoritmo recursivo que calcula los estados internos del sistema (entre ellos, el SOC) a partir de un proceso de predicción/actualización de dos pasos.

Gráfica de comparación entre porcentajes de estado de carga real y estimado, con el tiempo en el eje x y el estado de carga en el eje y.

SOC real y SOC estimado con EKF de Simscape Battery.

A diferencia de un filtro de Kalman, utilizar una red neuronal para desarrollar un estimador de SOC no requiere mucha información sobre la batería o su comportamiento no lineal. La red se entrena con datos de corriente, tensión y temperatura, y proporciona el SOC como respuesta.

Diagrama de red neuronal que muestra entradas, capas ocultas y salida.

Red neuronal prealimentada para calcular el SOC a partir de temperatura, tensión y corriente.

Puntos principales

Cómo estimar el estado de carga de una batería con Deep Learning

Todas las baterías, incluso aquellas que cumplen con las especificaciones de rendimiento en el momento de su fabricación, se degradan con el paso del tiempo debido a la vida útil y los ciclos de carga/descarga, y sufren una pérdida gradual de capacidad de reserva y un aumento de resistencia interna. Aunque es relativamente sencillo estimar el aumento de resistencia interna empleando breves mediciones temporales, calcular con precisión la pérdida gradual de capacidad requiere una carga o descarga completa, lo que no siempre es práctico. Este desafío ha propiciado un creciente interés en la estimación del estado de salud (SOH), así como el desarrollo de formulaciones de filtros de Kalman adaptativos aumentados para incluir otros parámetros de batería además de los estados. La estimación precisa de la resistencia interna instantánea es muy útil para que el BMS pueda establecer limitaciones de potencia.

Tres gráficas que muestran el porcentaje de estado de carga real y estimado, la resistencia terminal y el estado de salud a lo largo del tiempo.

Estimación del SOH de una batería con un filtro de Kalman adaptativo en Simscape Battery.

La estimación del SOH es más subjetiva que la del SOC. Debido a que no existe un consenso general sobre cómo definir el SOH, cada organización tiene su propio método para cuantificar una estimación del SOH, lo que imposibilita recurrir a soluciones comerciales de uso general. Con Simulink y Simscape, puede desarrollar y simular algoritmos de estimación adaptados a la definición particular de SOH de su empresa.

Puntos principales

  • Simscape Battery proporciona un bloque estimador de SOH con un filtro de Kalman.

Identificación de parámetros basada en modelos de baterías de iones de litio saludables y degradadas para aplicaciones de vehículos eléctricos

Simscape Battery proporciona bloques de librería prediseñados para equilibrado de celdas, carga y protección de baterías.

Las prestaciones de equilibrado de celdas mantienen un SOC similar en todas las celdas mediante la disipación del exceso de carga a través de un resistor de sangrado. El equilibrado es necesario para prolongar la duración de las celdas que puedan dañarse por sobrecarga o descarga. La capacidad de varias celdas mejora cuando están equilibradas. 

Gráfica que compara el estado de carga de dos celdas a lo largo del tiempo.

Equilibrado de celdas en Simscape Battery como función de SOC y tiempo.

La carga de la batería se controla con un algoritmo de corriente constante/tensión constante (CC-CV). Se trata de un enfoque común que preserva la batería, ya que evita sobrecorriente y sobretensión durante la carga. La corriente se limita durante la carga hasta que se alcanza una tensión preestablecida.

Gráfica que muestra el funcionamiento del algoritmo CC-CV en los modos de corriente constante y tensión constante.

Carga de batería y tiempo con un algoritmo CC-CV en Simscape Battery.

Para proteger la batería es necesario supervisar corriente, tensión y temperatura. Simscape Battery proporciona bloques que se pueden incorporar en los algoritmos de BMS.

Diagrama de un modelo de supervisión de batería.

Bloques de supervisión de batería implementados en un modelo de BMS.

Puntos principales

  • Simscape Battery proporciona bloques para equilibrado de celdas, control de corriente y tensión, y supervisión de tensión, corriente y temperatura.

Desarrollo de sistemas de gestión de baterías en Simulink

partición

Simulación en escritorio

La simulación en escritorio con Simulink permite verificar aspectos funcionales del diseño del sistema de baterías. En el escritorio, se simulan el sistema de baterías, el entorno y los algoritmos, empleando modelos de comportamiento. Por ejemplo, puede explorar configuraciones y algoritmos de equilibrado de celdas activo y pasivo con el fin de evaluar cada enfoque de equilibrado y determinar su idoneidad para una aplicación determinada. Puede utilizar la simulación en escritorio para explorar nuevas ideas de diseño y probar varias arquitecturas de sistema antes de crear un prototipo de hardware. También puede realizar pruebas de requisitos con simulaciones en escritorio; por ejemplo, puede verificar que durante un fallo de aislamiento los contactores no se abran o cierren.

La capacidad de realizar simulaciones realistas, fundamentales para el desarrollo de software de control de BMS, comienza con un modelo exacto del paquete de baterías. Con frecuencia, las baterías se diseñan utilizando modelos de análisis de elementos finitos (FEA) que tienen en cuenta la configuración física de las baterías y capturan sus propiedades electrotermoquímicas. Aunque estos modelos son excelentes para diseñar y optimizar la química y geometría de un paquete de baterías, los equipos de ingeniería de sistemas de control necesitan modelos más exactos para el diseño en el nivel de sistema y el desarrollo de software. 

“Al principio, muchos de nuestros modelos de batería eran empíricos, con una fuente de tensión ideal y una impedancia fija. Hoy en día, utilizamos modelos de principios básicos mucho más sofisticados que nos permiten una mayor comprensión sobre la batería como dispositivo electroquímico. Recurrimos a Simulink para crear modelos de circuitos equivalentes avanzados que pueden predecir el rendimiento con diferentes estados de carga, tasas de descarga, temperaturas y niveles de degradación.

Aplicamos un enfoque similar para realizar simulaciones de seguridad críticas con el fin de predecir el rendimiento del enfriamiento de la batería y asegurarnos de que los paquetes de baterías no se sobrecalentaran. Capturar todos los efectos de múltiples dominios físicos, químicos y de transferencia de calor normalmente requeriría una herramienta de análisis de elementos finitos y un esfuerzo significativo. Con las herramientas de análisis de MathWorks, obtuvimos resultados que nos permitieron realizar avances notables en la tecnología de baterías”.

Puntos principales

  • Simscape Battery ofrece un modelo de paquete de baterías más preciso.

Cuando desarrolle algoritmos de BMS en Simulink, puede utilizar circuitos equivalentes para simular el comportamiento termoeléctrico de la celda de batería. El circuito equivalente normalmente consta de una fuente de tensión, una resistencia en serie y uno o varios pares de resistor-condensador en paralelo. La fuente de tensión genera la tensión del circuito abierto, mientras que los otros componentes modelan la resistencia interna y el comportamiento dependiente del tiempo de la celda. En general, estos elementos de circuito equivalente dependen de la temperatura y el estado de carga (SOC). Dado que estas dependencias son exclusivas de la química de cada batería, se deben determinar utilizando mediciones realizadas en celdas de baterías del mismo tipo que aquellas para las que se va a diseñar el controlador. Puede utilizar optimizaciones en Simulink y MATLAB con el fin de parametrizar un circuito equivalente a través de correlación de modelos con datos experimentales.

Circuito equivalente de una batería en Simulink

Circuito equivalente de una batería con tres constantes de tiempo, resistencia interna y potencial de circuito abierto.

Puntos principales

  • Utilice optimización en Simulink y MATLAB con el fin de parametrizar un circuito equivalente de la celda de batería.

Automatización de la estimación de parámetros de un modelo de batería

Estimación de parámetros de un modelo de batería utilizando una técnica por capas: Ejemplo con una celda de litio-ferrofosfato

Para realizar simulaciones realistas del sistema de baterías, además del modelo de paquete de baterías, se requieren modelos precisos de los componentes del circuito que conectan el sistema de baterías a la fuente de alimentación y la carga. Simscape Electrical, producto complementario de Simulink, ofrece librerías completas de los componentes eléctricos activos y pasivos necesarios para ensamblar un circuito completo del sistema de baterías, como un elemento analógico para el equilibrado de celdas. La fuente de carga puede consistir en un suministro de CC, como un sistema fotovoltaico (FV), o una fuente de CA, para la que se rectifica la corriente. 

La simulación en el nivel de sistema con Simulink y Simscape permite crear una fuente de carga sofisticada sobre la base de la batería, y validar el sistema de baterías en diversos rangos de funcionamiento y condiciones de fallo. La carga del paquete de baterías se puede modelar y simular de manera similar. Por ejemplo, el paquete de baterías se puede conectar a través de un inversor a un motor síncrono de imanes permanentes (PMSM) de un vehículo eléctrico (EV). Con simulación, puede variar el funcionamiento del EV a través de ciclos de conducción y evaluar la eficacia del BMS en condiciones de funcionamiento cambiantes.

Puntos principales

  • Utilice optimizaciones en Simulink y MATLAB con el fin de parametrizar un circuito equivalente de la celda de batería.

Alimentación de un IPMSM con batería de alta tensión a través de un inversor trifásico controlado

Cuando incorpora la simulación en escritorio a los procedimientos de prueba, puede crear y ejecutar casos de prueba para ensayar el sistema de baterías en todas las ramas posibles de lógica y control de lazo cerrado. Un nivel de cobertura semejante rara vez es posible cuando se realizan pruebas en hardware. Con este enfoque, el modelo de simulación actúa como especificación ejecutable que orienta el diseño y las pruebas del sistema de baterías. Simulink permite realizar pruebas a través de simulación en escritorio con diversas funcionalidades que permiten:

  • Incorporar requisitos en el modelo, tales como límites, tolerancias, comprobaciones lógicas y condiciones temporales, con trazabilidad hasta las especificaciones originales
  • Crear secuencias complejas de pruebas basadas en simulación para realizar pruebas funcionales, de referencia, de equivalencia y consecutivas
  • Realizar un seguimiento de métricas estándar de la industria, tales como decisión, condición, condición modificada/cobertura de decisión (MC/DC) y cobertura de límite relacional
  • Generar entradas de prueba para lograr una cobertura completa del modelo y objetivos personalizados
  • Utilizar métodos formales para identificar errores de diseño ocultos que provoquen desbordamiento de enteros, lógica fallida y división por cero
Esquema que muestra algoritmos de un sistema de gestión de baterías.

Algoritmos de BMS y dinámica de planta, incluyendo paquete de baterías, contactor, inversor y cargador, modelados en Simulink.

Cuando el sistema de baterías en desarrollo debe cumplir con requisitos de seguridad, puede integrar pruebas basadas en métodos formales en el proceso de desarrollo de software conformes con estándares tales como IEC 61508, IEC 61851 e ISO® 26262.

partición

Simulación de sistemas de baterías en tiempo real 

Una vez que los modelos de Simulink se han validado a través de simulación en escritorio, se pueden utilizar para generar código C y HDL y realizar prototipado rápido (RP) o pruebas de hardware-in-the-loop (HIL), lo que permite validar aún más los algoritmos de BMS en tiempo real. Con RP, en lugar de desarrollar manualmente código de software de control para pruebas en tiempo real, se genera código desde el modelo del controlador y se despliega en un equipo en tiempo real que realiza las funciones del microcontrolador de producción. Con la generación automática de código, los cambios en algoritmos realizados en el modelo se pueden probar en hardware en tiempo real en cuestión de horas, en vez de días. Además, puede interactuar con hardware de control en tiempo real desde Simulink para cambiar parámetros de algoritmos y registrar datos de prueba.

Al igual que ocurre con el prototipado rápido, las pruebas de HIL implican generar código desde un modelo de Simulink y desplegarlo en un equipo en tiempo real. En el caso de las pruebas de HIL, el código se genera a partir de los modelos del sistema de baterías, en lugar de los modelos de algoritmos de control, lo que proporciona un entorno virtual en tiempo real que representa paquete de baterías, elementos de circuito activos y pasivos, cargas, cargador y otros componentes del sistema. Este entorno virtual permite validar la funcionalidad del controlador de BMS en tiempo real antes de desarrollar un prototipo de hardware y en un entorno en el que el hardware no se dañará.

Las pruebas desarrolladas durante la simulación en escritorio se pueden transferir a las pruebas de HIL para garantizar que se cumplan los requisitos a medida que avance el diseño del BMS. Aunque las pruebas de HIL se emplean principalmente para probar código que se ejecuta en FPGA o un microcontrolador, puede utilizar un sistema de prototipado rápido, tal como hardware Simulink Real-Time™ y Speedgoat® objetivo, y vincularlo a la configuración de HIL antes de seleccionar el hardware del controlador de producción.

La simulación en tiempo real, que abarca tanto prototipado rápido como pruebas de HIL, proporciona información adicional sobre cómo rendirá un diseño de BMS en hardware. Tanto en RP como en HIL, el objetivo es emular en hardware un aspecto del diseño general: el controlador de BMS en RP y el equilibrio del sistema de baterías en HIL. La simulación en tiempo real ofrece varias ventajas significativas en el diseño de BMS, que permiten:

  • Realizar RP para comenzar a validar algoritmos antes de seleccionar el hardware del controlador final.
  • Aprovechar la flexibilidad de un sistema de pruebas en tiempo real para realizar iteraciones y pruebas de diseño rápidas.
  • Realizar pruebas de HIL antes de que el hardware de prototipado del sistema de baterías se encuentre disponible.
  • Utilizar una combinación de RP y pruebas de HIL para ensayar algoritmos de BMS en casos de prueba que sean difíciles, costosos o destructivos si se utiliza el hardware real.
Despliegue de un modelo de planta de Simulink en un equipo Speedgoat en tiempo real, y despliegue de algoritmos de BMS en un microcontrolador. Ambos están conectados para realizar pruebas.

Pruebas de hardware-in-the-loop (HIL) de software de un sistema de gestión de baterías. El código de BMS se genera a partir de algoritmos de BMS modelados en Simulink y se despliega en un microcontrolador C2000 de Texas Instruments®. El modelo de planta (paquete de baterías, contactor, inversor, cargador) se modela en Simulink. El código se genera y despliega para ejecutarse en un equipo Speedgoat en tiempo real con emulador de batería.

Reutilizar modelos de simulación en escritorio en Simulink con el fin de generar código para simulación en tiempo real permite acortar el plazo de desarrollo total. Puede generar código C/C++ y HDL que se ejecute en equipos optimizados para rendimiento en tiempo real. El código generado a partir de modelos de Simulink para simulaciones en tiempo real incluye interfaces que permiten ajustar parámetros de control mientras se ejecuta la simulación en tiempo real.

Durante las pruebas en hardware, realizar cambios en el código del controlador puede provocar retrasos y riesgos adicionales. Modificar el código manualmente, recompilarlo y desplegarlo en FPGA o el microcontrolador lleva tiempo, posiblemente demasiado si es profesional de desarrollo de algoritmos de control y depende de un equipo de ingeniería de software o hardware para realizar los cambios. En función del alcance de los cambios requeridos, también corre el riesgo de introducir nuevos problemas en el código implementado.

En lugar de desarrollar manualmente actualizaciones de código de software del controlador, puede utilizar Simulink para generar código que se ejecute en tiempo real en un equipo dedicado y utilizar E/S de alta velocidad para comunicarse con hardware de prueba. Además de eliminar la codificación manual y los retrasos que conlleva, otra ventaja de este enfoque de RP es que puede validar los cambios del software de BMS ejecutando primero el modelo de simulación en el escritorio para verificar que no se han introducido otros problemas.

Dado que crear y modificar prototipos de hardware para un sistema de baterías puede suponer un esfuerzo considerable y suele resultar costoso repararlos, no siempre es factible probar tales prototipos utilizando el sistema eléctrico en el que va a funcionar el paquete de baterías. Debido a estas limitaciones, incluso pequeños cambios de diseño pueden suponer una amenaza para los cronogramas de desarrollo. Los diseños de BMS tienden a evolucionar lentamente porque los equipos de trabajo consideran que las desviaciones radicales respecto del diseño anterior son demasiado arriesgadas.

Con Simulink, puede generar código C/C++ y HDL a partir del modelo de hardware del sistema de baterías y del sistema superior del que forma parte, incluyendo la alimentación y la carga. Una vez que despliegue este código en un equipo en tiempo real, puede ejecutar simulaciones en tiempo real del hardware utilizando el código del controlador antes de probar el propio controlador en un prototipo del sistema de baterías. Como resultado, puede identificar y corregir errores de diseño de sistemas de control antes de que puedan dañar hardware de prototipado costoso y difícil de reemplazar. Además, puede descubrir errores de diseño de hardware, tales como dimensionamiento incorrecto de componentes.

Muchos sistemas de HIL en tiempo real, incluido el hardware Speedgoat objetivo, incorporan emuladores de baterías, lo que permite emular fuentes de alimentación de baterías portátiles y pilas de baterías de vehículos eléctricos, o reducir la corriente para simular baterías bajo carga.

Prueba de sistemas de gestión de baterías con hardware-in-the-loop

partición

Implementación en hardware

En la etapa de implementación en hardware, los modelos de control de Simulink que se han verificado mediante simulación en escritorio, RP y HIL se utilizan en el BMS con el fin de generar código eficiente y listo para producción. Si es necesario, la generación de código de producción se puede incorporar en flujos de trabajo que cumplan con estándares de certificación formales utilizados en la industria de la automoción, aeroespacial y otras industrias reguladas.

Simulink genera código C/C++ y HDL legible, compacto y eficiente, a partir de modelos de controladores y listo para su implementación en microcontroladores, FPGA y ASIC de producción. A diferencia del código generado para RP, el código generado para uso en producción no incluye las interfaces extra necesarias para permitir supervisión en tiempo real, ajuste de parámetros y registro de datos. Las configuraciones de optimización permiten controlar con precisión funciones, archivos y datos generados para mejorar la eficiencia del código y facilitar la integración con tipos de datos, código y parámetros de calibración existentes.

En la simulación de processor-in-the-loop (PIL), el código C/C++ o HDL se ejecuta en FPGA o el microcontrolador mientras el dispositivo está ejecutándose con un modelo de Simulink del hardware de BMS, lo que limita el riesgo de dañar un prototipo de hardware durante las evaluaciones iniciales del código de BMS. Aunque las simulaciones de PIL no se ejecutan en tiempo real, son operaciones bit-true, lo que permite verificar el código en diversas condiciones y tener la seguridad de que se ejecutará correctamente una vez que se despliegue en el sistema real.

La simulación en escritorio y las simulaciones de RP, HIL y PIL permiten verificar y validar los algoritmos de control del BMS. Con Simulink, puede utilizar esos mismos algoritmos como base para generar código listo para producción, ya sea código C/C++ optimizado y estable para implementación en microcontroladores, o bien código HDL sintetizable para programación de FPGA o implementación en ASIC. La generación automática de código elimina los errores de traducción manual de algoritmos y produce código C/C++ y HDL con equivalencia numérica a los algoritmos que haya validado en Simulink. Simular los algoritmos de control en todas las condiciones de fallo y funcionamiento posibles aumenta la confianza en que el código generado podrá afrontar esas mismas condiciones en el sistema real, incluso si no es posible probarlas todas. Si las pruebas en hardware indican que se necesitan cambios en los algoritmos, puede modificarlos, volver a ejecutar los casos de prueba de simulación para verificar la exactitud de los cambios, y generar código nuevo y actualizado. El código C/C++ y HDL generado es totalmente portátil, optimizable con diversas opciones y trazable bidireccionalmente hasta el modelo de Simulink.

Despliegue de código de BMS en el microcontrolador C2000 de Texas Instruments.

Código de producción de BMS generado automáticamente a partir de algoritmos de BMS modelados en Simulink. El código se despliega en un microcontrolador C2000 de Texas Instruments. 

Generación de código de producción