Livre blanc

Développer des systèmes de batterie avec Simulink et Simscape

Workflow de développement d'un système de batterie

L'électrification entraîne l'utilisation de batteries pour toute une série d'applications, notamment les véhicules électriques (voitures, bus, par exemple), les navires, les avions électriques, les systèmes de stockage d'énergie couplés au réseau et les systèmes photovoltaïques. Ces applications présentent différentes exigences pour le design du système de batterie en termes de sélection de cellules, de puissance/densité énergétique, de volume, de poids et de durée de vie.

La simulation du design du système de batterie avant les tests permet de mieux comprendre le comportement dynamique du bloc de batteries. Elle vous permet également :

  • D’explorer et de comparer les algorithmes software.
  • D’étendre les cas de tests opérationnels.
  • De raccourcir le cycle de développement technologique, de la cellule de batterie au système de batterie.

Le workflow du développement d'un système de batterie commence par la création de la cellule de batterie. Cinq tâches principales permettent de passer de la conception d'une cellule de batterie à un système de batterie. Ces étapes sont les suivantes :

  • Design du bloc de batteries
  • Design des composants électriques et thermiques du bloc de batteries
  • Développement des algorithmes du système de gestion des batteries (BMS)
  • Intégration des composants pour exécuter des simulations desktop
  • Tests HIL (Hardware-in-the-Loop) et déploiement

Créer une passerelle entre la cellule de batterie et le système de batterie.

Grâce à Simulink® et Simscape™, le workflow du développement d'un système de batterie commence par l'intégration des composants du système afin de vous permettre d’effectuer une simulation desktop pour valider les designs et les algorithmes des composants (voir Simulation desktop). L'étape suivante consiste à simuler les modèles en temps réel à l'aide du prototypage rapide et des tests Hardware-in-the-Loop (voir Simulation temps réel d'un système de batterie). Les dernières étapes du développement concernent l'implémentation, le déploiement et le test du hardware (voir Implémentation hardware).

Diagramme d'un workflow de développement montrant, de gauche à droite, la simulation desktop, la simulation temps réel et l’implémentation hardware.

Workflow de développement d'un système de batterie avec Simulink et Simscape.

section

Design du bloc de batteries

En utilisant l'interface de programmation d’applications (API) Simscape Battery™ dans MATLAB®, vous pouvez concevoir un bloc de batteries. Les éléments fondamentaux du design incluent le design des cellules, l'assemblage parallèle, le module, l'assemblage du module et le design du bloc de batteries.

Un plan de coordonnées avec le nombre de cellules en abscisse, l'énergie en kWh en ordonnée. La cellule, l'assemblage parallèle, le module, l'assemblage du module et le design du bloc augmentent linéairement dans cet ordre.

Design d'un bloc de batteries de la cellule au bloc.

Avec Simscape Battery, vous pouvez :

  • Modéliser le comportement électrothermique et inclure la dynamique de charge, le vieillissement ainsi que les effets thermiques et de transfert de chaleur dans les modèles de bloc de batteries.
  • Paramétrer les cellules selon les spécifications des fiches techniques des fabricants.
  • Développer et visualiser des modèles de batterie avec différentes géométries et topologies, de la cellule au module et du module au bloc.
  • Modéliser des plaques de refroidissement avec des trajectoires de fluides paramétrables et des connexions thermiques au bloc de batterie.
  • Explorer la variation de température d'une cellule à l'autre et mesurer l’efficacité du refroidissement.
  • Générer un modèle de bibliothèque Simulink personnalisé pour le design de votre bloc de batteries.
  • Définir une résolution de modèle appropriée pour trouver un équilibre entre la fidélité du modèle et la vitesse de simulation.

Principaux points à retenir

  • Développez un bloc de batteries personnalisé avec différentes résolutions de modèle.
  • Ajoutez des effets thermiques dans le modèle de batterie.
  • Générez des modèles de bloc de batteries pour la simulation en utilisant une seule ligne de code.

De la cellule de batterie au système de batterie

section

Système de gestion thermique de la batterie

Les ingénieurs peuvent utiliser MATLAB et Simulink pour concevoir un système de gestion thermique de la batterie afin de réguler la température du bloc de batteries dans le respect des spécifications et de garantir des performances optimales dans diverses conditions de fonctionnement. 

Schéma du système de refroidissement de la batterie et du bloc de batteries.

Comparaison de l’analyse thermique d'une batterie lithium-ion neuve et usagée avec Simscape Battery.

Grâce à Simscape et Simscape Battery, vous pouvez créer des modèles en commençant par la cellule de la batterie, puis ajouter les effets de la température ambiante, les matériaux de l'interface thermique et les connexions aux plaques de refroidissement pour créer un modèle plus représentatif. Le transfert de chaleur peut être considéré de différents points de vue, à savoir d’une cellule à l’autre, de la cellule à la plaque et de la cellule à l’environnement, en définissant les trajectoires thermiques vers l'environnement, le liquide de refroidissement et l'emplacement de la plaque de refroidissement. Simscape Battery comprend des blocs de plaques de refroidissement prédéfinis qui supportent différentes configurations de flux, notamment les canaux parallèles, les canaux rectangulaires en forme de U et le refroidissement des bords.

Bloc Parallel channels dans Simscape Battery.

Bloc Parallel channels dans Simscape Battery.

Bloc U-shaped channels dans Simscape Battery.

Bloc U-shaped channels dans Simscape Battery.

Bloc Edge Cooling dans Simscape Battery.

Bloc Edge Cooling dans Simscape Battery.

Il est possible de créer un modèle thermique au niveau du bloc en assemblant des cellules en modules avec des effets thermiques et en disposant les modules à l'intérieur d’un bloc. Vous pouvez effectuer une analyse de performance thermique sur des blocs de batteries avec différents niveaux de vieillissement pour répondre aux critères de garantie au moment de la fin de la durée de vie.

Cellule de batterie à proximité d'un modèle thermique de cellule de batterie.

Modélisation thermique 1D détaillée d'une seule cellule de batterie avec Simscape en utilisant Thermal Elements library.

Modèle d'une série de cellules de batterie connectées à un port de refroidissement.

Définir la trajectoire thermique du liquide de refroidissement pour le module de batterie avec Simscape Battery.

Vous pouvez utiliser les blocs de Simscape et Simscape Fluids™ dans les domaines gazeux, liquide et thermique pour modéliser des solutions de refroidissement/chauffage actives, passives ou hybrides. Vous pouvez également explorer les architectures de systèmes de refroidissement/chauffage en dessinant des schémas pour placer les tuyaux, les valves, les échangeurs thermiques et les réservoirs.

Dans le cas d'un système de liquide en boucle, vous pouvez modéliser un vase d'expansion qui conserve le fluide de réserve ; des plaques froides qui font circuler le fluide de travail près des cellules de la batterie ; un système de circulation motorisé avec une pompe, la trajectoire d'écoulement et les valves ; et différents types d'échangeurs thermiques tels que des chauffages ou des radiateurs câblés.

Après avoir créé un modèle du système de refroidissement/chauffage, vous pouvez exécuter des simulations, affiner le design en explorant le dimensionnement des composants et les paramètres du système, et satisfaire aux exigences telles que la dissipation de chaleur et la consommation d'énergie.

Schéma du système de refroidissement de la batterie d'un véhicule électrique.

Modèle de système de refroidissement/chauffage à boucle liquide active pour les batteries d'un véhicule électrique créé à l'aide de Simulink et de Simscape.

Simulink facilite le design de contrôles en boucle fermée qui combinent des techniques à propagation avant et PID pour les contrôles de systèmes de circulation, telles que le contrôle du flux d’entrée (valve), le contrôle du débit massique (pompe) et le contrôle de sélection de la trajectoire d'échange de chaleur. Avec Simscape Battery, vous pouvez utiliser des blocs prédéfinis, tels que Battery Coolant Control et Battery Heater Control, pour créer des algorithmes de contrôle de la gestion thermique des batteries. Avec Stateflow®, vous pouvez également concevoir une logique de supervision pour passer d'un mode de fonctionnement à un autre (chauffage ou refroidissement, par exemple) en fonction de la température ambiante et de la température de la batterie.

Modèle Simulink de système de contrôle du liquide de refroidissement.

Modèle Simulink d'un système de contrôle du liquide de refroidissement qui calcule le débit en fonction des températures parmi les cellules de la batterie ainsi que de la température ambiante.

Principaux points à retenir

  • Créez un modèle thermique au niveau du bloc en assemblant les cellules en modules avec des effets thermiques.
  • Utilisez des blocs de plaques de refroidissement prédéfinis.
  • Créez des modèles pour les systèmes de refroidissement/chauffage en utilisant différents fluides de travail.
  • Simulez des conditions de température extrêmes pour concevoir différents scénarios de simulation.
  • Menez des études de scénarios pour évaluer l'impact thermique de différentes options de design.
  • Effectuez la sélection et le dimensionnement des composants à l'aide de la modélisation et de la simulation.

Design du système de gestion thermique de la batterie

Mahindra Electric utilise la simulation au niveau système pour optimiser le système de gestion thermique de la batterie (BTMS) d'un véhicule électrique 

section

Algorithmes du système de gestion des batteries

Un système de gestion des batteries (BMS) bien conçu garantit des performances maximales, un fonctionnement sûr et une durée de vie optimale dans des conditions diverses de charge-décharge et d’environnements. Simulink et Simscape vous permettent de maîtriser le comportement dynamique du bloc de batteries, d’explorer les architectures du software, de tester les cas opérationnels et d’anticiper les tests sur hardware, réduisant ainsi le nombre d'erreurs de design. Les ingénieurs peuvent utiliser les blocs de contrôle BMS prédéfinis dans Simscape Battery pour évaluer les performances du bloc de batteries conçu, développer un système de gestion thermique et exécuter des simulations au niveau du système.

Pour atteindre ces objectifs, le BMS se compose d'algorithmes qui contrôlent le comportement et les performances du bloc de batteries.

Diagramme des composants du système de gestion des batteries.

Fonctions du système de gestion des batteries.

Des modèles de batterie précis sont essentiels au développement d'algorithmes d'estimation de l'état de charge (SOC). Les approches traditionnelles d’estimation de l'état de charge, telles que la mesure de la tension en circuit ouvert (OCV, Open Circuit Voltage) et l'intégration du courant (comptage de coulombs), sont raisonnablement exactes dans certains cas. Toutefois, l’estimation de l'état de charge pour les batteries chimiques modernes qui présentent des courbes de décharge OCV-SOC plates nécessite une approche différente. Le filtre de Kalman étendu (EKF) et le filtre de Kalman sans parfum (UKF) sont des approches éprouvées qui offrent des résultats précis pour un effort de calcul raisonnable.

Simscape Battery contient trois estimateurs de l'état de charge : le comptage de coulombs, le filtre de Kalman adaptatif et le filtre de Kalman. L'estimateur de l'état de charge à filtre de Kalman adaptatif présente une résistance finale comme état supplémentaire par rapport à l'estimateur de l'état de charge à filtre de Kalman. Ces estimateurs offrent tous deux la possibilité de sélectionner les approches EKF ou UKF pour développer un observateur permettant d’estimer l'état de charge. Ces observateurs comprennent généralement un modèle du système non linéaire concerné (la batterie), qui utilise le courant et la tension mesurés à partir de la cellule comme entrées, ainsi qu'un algorithme récursif qui calcule les états internes du système (dont l'état de charge) en s’appuyant sur une procédure de prédiction/mise à jour en deux phases.

Graphique des pourcentages de l'état de charge réel par opposition à l'état de charge estimé, avec le temps en abscisse et l'état de charge en ordonnée.

État de charge réel et état de charge estimé en utilisant EKF de Simscape Battery.

Contrairement à un filtre de Kalman, l'utilisation d'un réseau de neurones pour développer un estimateur d’état de charge ne nécessite pas d'informations détaillées sur la batterie ou son comportement non linéaire. À la place, le réseau est entraîné avec des données de courant, de tension et de température et l’état de charge en réponse.

Schéma d’un réseau de neurones montrant les entrées, les couches cachées et la sortie.

Réseau de neurones à propagation avant pour calculer l’état de charge à partir de la température, de la tension et du courant.

Principaux points à retenir

  • Simscape Battery contient trois estimateurs de l'état de charge (SOC) : le comptage de coulombs, un filtre de Kalman adaptatif et un filtre de Kalman.
  • Les estimateurs de l'état de charge à filtre de Kalman adaptatif et ceux à filtre de Kalman offrent tous deux la possibilité de sélectionner les approches EKF ou UKF.
  • Un estimateur de l'état de charge à filtre Kalman adaptatif présente une résistance finale comme état supplémentaire.
  • Il est possible de développer un estimateur d’état de charge à l'aide d'un réseau de neurones sans avoir besoin d'informations détaillées sur la batterie.

Comment estimer l'état de charge d'une batterie à l'aide du Deep Learning

Toutes les batteries, y compris celles qui répondent aux spécifications de performance au moment de leur fabrication, se dégradent dans le temps en raison de la durée de vie calendaire et de la durée de vie en cyclage, enregistrant une perte progressive de la capacité de réserve et une augmentation de la résistance interne. Si cette dernière est relativement simple à estimer à l'aide de mesures de courte durée, la première nécessite un cycle de charge ou de décharge complet pour un calcul précis, ce qui n'est pas toujours pratique. Ce défi a suscité un intérêt croissant pour l'estimation de l'état de santé (SOH) ainsi que le développement de formulations de filtres de Kalman adaptatifs augmentées pour inclure les paramètres de la batterie en plus des états. Une estimation précise de la résistance interne instantanée est très utile au BMS pour établir les limites de puissance.

Trois tracés indiquant le pourcentage réel et estimé de l'état de charge, la résistance finale et l'état de santé dans le temps.

Estimation de l'état de santé d'une batterie en utilisant un filtre de Kalman adaptatif dans Simscape Battery.

L'estimation de l'état de santé est plus subjective que celle de l’état de charge ; aucun consensus n'a pu être atteint quant à la manière de définir l'état de santé. Par conséquent, chaque entreprise peut avoir sa propre méthode spécifique pour quantifier une estimation de l'état de santé, ce qui rend impossible l'utilisation de solutions généralistes sur étagère. Grâce à Simulink et à Simscape, vous pouvez développer et simuler des algorithmes d'estimation de l'état de santé personnalisés, conformes à l'interprétation spécifique de l'état de santé des batteries de votre entreprise.

Principaux points à retenir

  • Simscape Battery comprend un bloc d’estimation de l'état de santé à l’aide d’un filtre de Kalman.

Identification basée sur la modélisation des paramètres de batteries lithium-ion en bon état et usées dans le domaine des véhicules électriques

Simscape Battery propose des blocs de bibliothèque prédéfinis pour l'équilibrage de cellules, la charge de la batterie et la protection de la batterie.

Les capacités d'équilibrage de cellules maintiennent un état de charge similaire dans toutes les cellules en dissipant l'excès de charge à travers une résistance de purge. L'équilibrage est nécessaire pour prolonger la durée de vie des cellules qui peuvent être endommagées par une surcharge ou une décharge. Les cellules multiples améliorent la capacité lorsque les cellules sont équilibrées. 

Graphique comparant l'état de charge de deux cellules dans le temps.

Équilibrage de cellules dans Simscape Battery en fonction de l'état de charge et du temps.

La charge de la batterie est contrôlée par un algorithme de courant constant/tension constante (CC-CV). Il s'agit d'une approche courante qui préserve la durée de vie des batteries en évitant les surintensités et les surtensions lors de la charge. Le courant est limité pendant la charge jusqu'à ce qu'une tension prédéfinie soit atteinte.

Un graphique illustrant le fonctionnement de l'algorithme CC-CV en mode courant constant et tension constante.

Charge de la batterie en fonction du temps de charge avec un algorithme CC-CV dans Simscape Battery.

Pour protéger la batterie, il faut surveiller le courant, la tension et la température. Simscape Battery propose des blocs que vous pouvez intégrer dans des algorithmes BMS.

Diagramme d'un modèle de surveillance de la batterie.

Blocs de surveillance de la batterie implémentés dans un modèle BMS.

Principaux points à retenir

  • Simscape Battery propose des blocs pour l'équilibrage de cellules, le contrôle du courant et de la tension, et la surveillance de la tension, du courant et de la température.

Développement de systèmes de gestion des batteries dans Simulink

section

Simulation desktop

La simulation desktop dans Simulink vous permet de vérifier les aspects fonctionnels du design de systèmes de batterie. Sur desktop, le système de batterie, l'environnement et les algorithmes sont simulés à l'aide de modèles comportementaux. Par exemple, vous pouvez explorez les différences entre les configurations et algorithmes d'équilibrage passif et actif des cellules afin d'évaluer la pertinence de chaque approche d'équilibrage pour une application donnée. Vous pouvez utiliser la simulation desktop pour explorer de nouvelles idées de design et tester plusieurs architectures système avant de vous engager dans un prototypage sur hardware. Vous pouvez également tester des exigences dans le cadre de simulations sur desktop ; par exemple, vous pouvez vérifier que les contacteurs ne peuvent pas s'ouvrir ou se fermer lorsqu'un défaut d'isolement est détecté.

Pour pouvoir effectuer les simulations réalistes qui sont essentielles pour le développement du software de contrôle d'un BMS, vous devez disposer d'un modèle précis du bloc de batterie. Les batteries sont souvent conçues à l'aide de modèles d'analyse par la méthode des éléments finis (FEA) qui prennent en compte la configuration physique des batteries et capturent leurs propriétés électrothermochimiques. Même si ces modèles sont excellents pour concevoir et optimiser la chimie et la géométrie d'un bloc de batterie, les ingénieurs en contrôle ont besoin de modèles mieux adaptés pour le design au niveau système et le développement software. 

« Nos premiers modèles de batterie étaient souvent empiriques, avec une source de tension idéale et une impédance fixe. Nous utilisons désormais des modèles basés sur les principes fondamentaux beaucoup plus sophistiqués et, par conséquent, [nous] avons acquis des connaissances inestimables sur la batterie en tant que dispositif électrochimique. Nous avons utilisé Simulink pour créer des modèles avancés de circuits équivalents capables de prédire les performances à différents états de charge, taux de décharge, températures et niveaux de vieillissement.

« Nous avons utilisé une approche similaire pour réaliser des simulations critiques dans le but de prédire les performances de refroidissement dans la batterie et de s'assurer que les blocs de batterie ne surchauffent pas. La capture des effets de transfert thermique, chimiques et physiques multidomaines nécessite généralement un outil d'analyse par éléments finis et demande des efforts considérables. Avec les outils MathWorks, nous avons effectué des analyses et acquis des connaissances qui ont permis de réaliser des avancées spectaculaires en matière de technologies de batterie. »

Principaux points à retenir

  • Simscape Battery offre un modèle de bloc de batterie plus précis.

Lorsque vous développez des algorithmes de BMS dans Simulink, vous pouvez utiliser des circuits équivalents pour simuler le comportement thermoélectrique de la cellule de batterie. Le circuit équivalent se compose généralement d'une source de tension, d'une résistance en série et d'une ou plusieurs paires de résistances-condensateurs en parallèle. La source de tension fournit la tension de circuit ouvert, tandis que les autres composants modélisent la résistance interne et le comportement en fonction du temps de la cellule. Ces éléments de circuit équivalent sont, en général, dépendants de la température et de l'état de charge (SOC). Ces dépendances étant uniques à la chimie de chaque batterie, elles doivent être déterminées à l'aide de mesures réalisées sur des cellules de batterie du même type que celles pour lesquelles le contrôleur a été conçu. Vous pouvez utiliser les optimisations dans Simulink et MATLAB pour paramétrer un circuit équivalent, grâce à la corrélation de modèle avec des données expérimentales.

Capture d'écran de Simulink montrant le circuit équivalent d'une batterie.

Circuit équivalent d'une batterie avec trois constantes de temps, une résistance interne et un potentiel de circuit ouvert.

Principaux points à retenir

  • Utilisez l'optimisation dans Simulink et MATLAB pour paramétrer un circuit équivalent de la cellule de batterie.

Automatisation de l'estimation des paramètres d'un modèle de batterie

Estimation des paramètres d'un modèle de batterie avec une technique multicouche : un exemple avec une cellule lithium fer phosphate

Outre le modèle de bloc de batteries, les simulations de systèmes de batterie réalistes nécessitent des modèles précis de composants de circuit reliant le système de batterie à la source d'énergie et à la charge. Simscape Electrical, un produit complémentaire de Simulink, offre des bibliothèques exhaustives de composants électriques actifs et passifs nécessaires pour assembler un circuit complet de système de batterie, tels que le dispositif frontal analogique pour l'équilibrage des cellules. La source de charge peut être un système d'alimentation DC, comme un système photovoltaïque, ou encore une source AC, pour laquelle le courant est rectifié. 

La simulation au niveau système avec Simulink et Simscape vous permet de créer une source de charge élaborée autour de la batterie et de valider le système de batterie dans différentes plages de fonctionnement et lors de défaillances. Il est également possible de modéliser et simuler la charge d'un bloc de batterie. Par exemple, le bloc de batterie peut être connecté via un onduleur au moteur PMSM (Permanent Magnet Synchronous Motor) d'un véhicule électrique. La simulation vous permet de faire varier le fonctionnement du véhicule électrique tout au long des cycles de conduite et d'évaluer l'efficacité du système de gestion de batterie (BMS) dans des conditions de fonctionnement variables.

Principaux points à retenir

  • Utilisez les optimisations dans Simulink et MATLAB pour paramétrer un circuit équivalent de la cellule de batterie.

Batterie haute tension alimentant le moteur IPMSM via un onduleur triphasé contrôlé

Lorsque vous intégrez la simulation desktop dans vos procédures de test, vous pouvez créer et exécuter des cas de test afin d'expérimenter le système de batterie selon toutes les branches possibles de la logique et le contrôle en boucle fermée, un niveau de couverture rarement atteint lors des tests réalisés avec du hardware. Dans cette approche, le modèle de simulation sert de spécification exécutable pour le design et les tests du système de batterie. Simulink supporte les tests via la simulation desktop grâce à tout un ensemble de fonctionnalités qui vous permettent :

  • D'intégrer des exigences dans le modèle, comme par exemple des limites, des tolérances, des contrôles logiques et des conditions temporelles, avec une traçabilité vers les spécifications d'origine
  • De créer des séquences complexes de tests basées sur des simulations pour réaliser des tests fonctionnels, de référence, d'équivalence et comparatifs
  • De suivre des métriques standard telles que la décision, la condition, la couverture des conditions/décisions modifiées (MC/DC) et la couverture des opérateurs relationnels
  • De générer des tests en entrée afin d'atteindre une couverture complète du modèle et des objectifs personnalisés
  • D'utiliser des méthodes formelles pour identifier les erreurs de design cachées qui aboutissent à un dépassement d'entier, une logique morte et une division par zéro
Schéma des algorithmes du système de gestion des batteries.

Algorithmes BMS et dynamique du système physique, comprenant un bloc de batterie, un contacteur, un onduleur et un chargeur, modélisés dans Simulink.

Lorsque le système de batterie en cours de développement doit répondre à des exigences de sécurité, vous pouvez intégrer des tests basés sur des méthodes formelles dans votre processus de développement logiciel, conformément à des normes telles que IEC 61508, IEC 61851 et ISO® 26262.

section

Simulation temps réel d'un système de batterie 

Une fois validés via la simulation desktop, les modèles Simulink peuvent être utilisés afin de générer du code C et HDL pour le prototypage rapide ou les tests HIL (Hardware-in-the-Loop) dans le but de poursuivre la validation temps réel des algorithmes BMS. Pour le prototypage rapide, au lieu d'écrire à la main le code du software de contrôle pour les tests temps réel, vous le générez à partir de votre modèle de contrôleur et le déployez sur un ordinateur temps réel qui remplit les fonctions du microcontrôleur de production. Avec la génération automatique de code, les modifications apportées aux algorithmes dans le modèle peuvent être testées sur du hardware temps réel en quelques heures au lieu de plusieurs jours. Vous pouvez également interagir avec du hardware de contrôle temps réel depuis Simulink pour modifier les paramètres des algorithmes et enregistrer les données de test.

Tout comme le prototypage rapide, les tests HIL impliquent de générer du code depuis un modèle Simulink et de le déployer sur un ordinateur temps réel. Dans le cas des tests HIL, le code est généré à partir des modèles de systèmes de batterie et non des modèles d'algorithmes de contrôle, ce qui offre un environnement temps réel virtuel représentant le bloc de batterie, les éléments actifs et passifs du circuit, les charges, le chargeur et d'autres composants du système. L'environnement virtuel vous permet de valider les fonctionnalités du contrôleur du BMS en temps réel avant de développer un prototype hardware et dans un environnement où le hardware ne sera pas endommagé.

Les tests développés pendant la simulation desktop peuvent être transposés aux tests HIL afin de s'assurer que les exigences sont respectées à mesure que le design du BMS progresse. Même si les tests HIL sont employés principalement pour tester le code exécuté sur un microcontrôleur ou une carte FPGA, vous pouvez utiliser à la place un système de prototypage rapide tel que Simulink Real-Time™ et le hardware cible Speedgoat®, et l'associer à la configuration HIL avant la sélection du hardware de production du contrôleur.

La simulation temps réel (qui englobe à la fois le prototypage rapide et les tests HIL) offre aux ingénieurs en contrôle d'électronique de puissance des informations supplémentaires sur la façon dont le design du BMS se comportera sur du hardware. Avec le prototypage rapide et les tests HIL, l'objectif est d'émuler un aspect du design global sur du hardware : le contrôleur du BMS avec le prototypage rapide et l'équilibre du système de batterie avec les tests HIL. La simulation temps réel offre plusieurs avantages significatifs dans le cadre du design d'un BMS. Elle vous permet notamment :

  • De réaliser un prototypage rapide pour commencer à valider les algorithmes avant que le hardware du contrôleur final ne soit sélectionné.
  • De tirer parti de la flexibilité d'un système de test temps réel pour accélérer l'itération et le test du design.
  • De réaliser des tests HIL avant que le hardware de prototypage du système de batterie ne soit disponible.
  • D'utiliser une combinaison de prototypage rapide et de tests HIL afin d'expérimenter les algorithmes BMS pour des cas de test qui pourraient se révéler difficiles, coûteux ou destructeurs si vous utilisiez le hardware réel.
Un modèle de système physique dans Simulink est déployé sur un ordinateur temps réel Speedgoat et les algorithmes BMS sont déployés sur un microcontrôleur. Les deux sont reliés pour les tests.

Test HIL (Hardware-in-the-Loop) du software d'un système de gestion des batteries (BMS). Le code du BMS est généré à partir des algorithmes BMS modélisés dans Simulink et déployés sur un microcontrôleur C2000 de Texas Instruments®. Le modèle du système physique (bloc de batterie, contacteur, onduleur, chargeur) est modélisé dans Simulink. Le code est généré et déployé pour être exécuté sur une machine temps réel Speedgoat avec un émulateur de batterie.

En réutilisant les modèles de simulation desktop dans Simulink afin de générer du code pour la simulation temps réel, vous pouvez réduire le temps de développement global. Vous pouvez générer du code C/C++ et HDL qui s'exécute sur des ordinateurs optimisés pour la performance temps réel. Le code généré depuis les modèles Simulink pour les simulations temps réel inclut des interfaces qui vous permettent d'ajuster les paramètres de contrôle lorsque la simulation temps réel est en cours d'exécution.

Pendant le test du hardware, le fait d'apporter des modifications au code du contrôleur peut entraîner des retards et des risques supplémentaires. Modifier le code à la main, le recompiler et le déployer sur le microcontrôleur ou la carte FPGA peut s'avérer très chronophage si vous êtes un développeur d'algorithmes de contrôle et comptez sur un ingénieur software ou hardware pour effectuer les modifications. En fonction de l'étendue des modifications requises, vous risquez également d'introduire de nouveaux problèmes dans le code implémenté.

Au lieu d'écrire à la main le code des mises à jour du software du contrôleur, vous pouvez utiliser Simulink pour générer du code qui s'exécute en temps réel sur un ordinateur dédié et utilise des E/S haute vitesse pour communiquer avec du hardware de test. Outre l'élimination du codage manuel et des retards qui lui sont associés, un autre avantage du prototypage rapide est que vous pouvez valider les modifications apportées au software du BMS en exécutant d'abord le modèle de simulation sur desktop pour vérifier qu'aucun autre problème n'a été introduit.

Parce que la création et la modification des prototypes hardware d'un système de batterie peuvent demander des efforts considérables, et que leur réparation est souvent coûteuse, il n'est pas toujours possible de tester ces prototypes avec le système électrique dans lequel le bloc de batterie fonctionnera. En raison de ces limitations, même de petites modifications du design peuvent mettre en péril les calendriers de développement, et les designs de BMS ont tendance à évoluer lentement car les équipes considèrent qu'il est trop risqué de s'écarter radicalement du design précédent.

Simulink vous permet de générer du code C/C++ et HDL à partir du modèle du hardware de votre système de batterie et du système plus vaste dont il fait partie, y compris l'alimentation et la charge. Une fois ce code déployé sur un ordinateur temps réel, vous êtes en mesure d'exécuter des simulations temps réel du hardware avec le code de votre contrôleur avant de tester le contrôleur dans un prototype de système de batterie. Cela vous permet dès lors d'identifier et de corriger les erreurs de design du système de contrôle avant qu'elles n'endommagent du hardware de prototypage coûteux et difficile à remplacer. Vous pouvez également découvrir des erreurs de design du hardware, comme par exemple le dimensionnement incorrect des composants.

La plupart des systèmes temps réel HIL, comme le hardware Speedgoat, intègrent des émulateurs de batterie, ce qui vous permet d'émuler des systèmes d'alimentation de batterie portables, d'émuler des stacks de batteries pour les véhicules électriques, ou encore de faire baisser le courant pour simuler des batteries en cours de charge.

Tester des systèmes de gestion des batteries avec l'approche Hardware-in-the-Loop

section

Implémentation hardware

À l'étape de l'implémentation hardware, les modèles de contrôle Simulink qui ont été vérifiés via la simulation desktop, le prototypage rapide et les tests HIL sont utilisés pour générer du code efficace et prêt pour la production pour le BMS. Si nécessaire, la génération du code de production peut être intégrée dans des workflows conformes aux normes de certification formelles utilisées dans l'automobile, l'aérospatiale et d'autres domaines régulés.

Simulink génère du code C/C++ et HDL lisible, compact et efficace à partir de modèles de contrôleur, prêt à être implémenté sur des microcontrôleurs de production, des FPGA et des ASIC. Contrairement au code généré pour le prototypage rapide, le code généré pour une utilisation en production ne comprend pas les interfaces supplémentaires nécessaires pour supporter l'observation temps réel, le réglage des paramètres et l'enregistrement des données. Les paramètres d'optimisation vous permettent de contrôler précisément les fonctions, les fichiers et les données générés afin d'améliorer l'efficacité du code et de faciliter l'intégration avec le code existant, les types de données et les paramètres de calibration.

Dans la simulation Processor-in-the-Loop (PIL), le code C/C++ ou HDL s'exécute sur le microcontrôleur ou le FPGA pendant que le modèle hardware du BMS s'exécute dans Simulink, ce qui limite le risque d'endommager un prototype hardware lors des premières évaluations du code du BMS. Bien que les simulations PIL ne soient pas exécutées en temps réel, elles sont exactes au bit près, ce qui vous permet de vérifier votre code dans toute une série de conditions et de vous assurer qu'il s'exécutera correctement une fois déployé sur le véritable système.

La simulation desktop, le prototypage rapide et les simulations HIL et PIL vous permettent ensemble de vérifier et de valider les algorithmes de contrôle d'un BMS. Avec Simulink, vous pouvez utiliser ces mêmes algorithmes comme base pour générer un code prêt pour la production, soit un code C/C++ stable et optimisé pour une implémentation sur des microcontrôleurs, soit du code HDL synthétisable pour la programmation d'un FPGA ou l'implémentation sur un ASIC. La génération automatique de code élimine les erreurs de traduction manuelle des algorithmes et produit du code C/C++ et HDL avec une équivalence numérique aux algorithmes que vous avez validés dans Simulink. En simulant vos algorithmes de système de contrôle dans toutes les conditions de fonctionnement et d'erreur possibles, vous avez davantage confiance dans le fait que le code généré supportera ces mêmes conditions dans le système réel, même si vous n'êtes pas en mesure de toutes les tester. Si des tests sur du hardware indiquent par la suite que des modifications d'algorithmes sont nécessaires, il vous suffit de modifier les algorithmes de votre modèle, de réexécuter les cas de test de simulation pour vérifier l'exactitude des modifications et de générer de nouveau le code mis à jour. Tout le code C/C++ et HDL généré est entièrement portable, optimisable avec un ensemble d’options et traçable de manière bidirectionnelle depuis le modèle Simulink.

Captures d'écran montrant le déploiement du code d'un BMS sur le microcontrôleur C2000 de Texas Instruments.

Code de production d'un BMS généré automatiquement à partir d'algorithmes BMS modélisés dans Simulink. Le code est déployé sur un microcontrôleur C2000 de Texas Instruments. 

Générer le code de production