Whitepaper

Entwickeln von Batteriesystemen mit Simulink und Simscape

Workflow zur Entwicklung von Batteriesystemen

Die Elektrifizierung trägt maßgeblich zur vermehrten Nutzung von Batterien für eine Reihe von Anwendungen bei, darunter Elektrofahrzeuge (u. a. Autos, Busse) und Schiffe, elektrisch angetriebene, senkrecht startende und landende Luftfahrzeuge (eVTOL) sowie netzgebundene Energiespeichersysteme (BESS). Diese Anwendungen stellen unterschiedliche Anforderungen an die Entwicklung von Batteriesystemen hinsichtlich Zellauswahl, Batteriepackdesign, Leistungs-/Energiedichte, Volumen, Gewicht, Lebensdauer und Batteriemanagement-Systemen (BMS).

Die Simulation des Batteriesystementwurfs vor Testbeginn gibt Aufschluss über das dynamische Verhalten des Batteriepacks. Außerdem können Sie damit BMS-Algorithmen untersuchen und vergleichen, operative Testfälle erweitern und den technologischen Entwicklungszyklus von der Batteriezelle bis zum Batteriesystem verkürzen.

Der Workflow für die Entwicklung von Batteriesystemen beginnt mit der Batteriemodellierung und setzt sich folgendermaßen fort:

Ein Diagramm eines Entwicklungsworkflows, das von links nach rechts die Desktop-Simulation, die Simulation in Echtzeit und die Hardware-Implementierung zeigt.

Mit Simulink® und Simscape Battery beginnt der Entwicklungsablauf für Batteriesysteme mit der Modellierung der Batterie, gefolgt vom Entwurf des Batteriepacks und der Entwicklung von BMS-Algorithmen. Anschließend können Sie eine Closed-Loop-Simulation auf dem Desktop durchführen, um den Entwurf des Batteriepacks und die BMS-Algorithmen zu validieren. Der nächste Schritt besteht in der Echtzeitsimulation von Modellen mithilfe von Rapid Prototyping und Hardware-in-the-Loop-Tests. Die letzten Phasen der Entwicklung umfassen die Hardware-Implementierung, die Bereitstellung und Testverfahren.

Ein Diagramm eines Entwicklungsworkflows, das von links nach rechts die Desktop-Simulation, die Simulation in Echtzeit und die Hardware-Implementierung zeigt.

Simulation auf Systemebene zur Entwicklung von Batteriesystemen.

Abschnitt

Batteriemodellierung

Es gibt drei unterschiedliche Arten von Batteriemodellen: Ersatzschaltbildmodelle (ECMs), elektrochemische Modelle und datengetriebene Modelle. Sie können diese Modelle mithilfe der Produkte Simscape Battery und Simulink erstellen und Simulationen durchführen. Zudem lassen sich all diese Modelle in Simulink integrieren, wobei auch Codegenerierung unterstützt wird.

Ersatzschaltbildmodelle

Batterie-ECMs verwenden elektrische Schaltungselemente wie Widerstände, Kondensatoren und Spannungsquellen, um das dynamische Verhalten einer Batteriezelle nachzubilden. Aufgrund ihrer Einfachheit und Recheneffizienz werden ECMs für die Entwicklung von Batteriemanagementsystemen (BMS) und für Systemsimulationen eingesetzt. Simscape Battery bietet einen vorgefertigten ECM-Block, den Battery Equivalent Circuit Block, der die elektrothermische Dynamik einer Batterie modelliert und die Batteriehysterese bei der Leerlaufspannung (Open-Circuit Voltage, OCV), die Batteriealterung (Zyklenalterung und Kalenderalterung) sowie die Fehlersimulation einschließlich des thermischen Durchgehens unterstützt.

Elektrochemische Batteriemodelle

Elektrochemische Batteriemodelle sind mathematische Modelle, die die internen physikalischen und chemischen Prozesse einer Batterie während des Ladens und Entladens beschreiben. Im Vergleich zu ECMs liefern elektrochemische Batteriemodelle detaillierte Einblicke in die internen Batterieprozesse; dadurch eignen sie sich besonders für die Zellauslegung, für Degradationsstudien, für die Optimierung von Schnellladeströmen sowie für eine genauere Leistungsprognose unter extremen Betriebsbedingungen.

Simscape Battery beinhaltet folgende Funktionen:

  • Der Battery Single Particle Block bildet eine Batterie mithilfe eines Einteilchenmodells mit Elektrolytdynamik (SPMe) einschließlich Lithium-Abscheidung (Lithium Plating) und SEI-Wachstum (Bildung der Feststoff-Elektrolyt-Grenzphase) ab.
  • Das Doyle-Fuller-Newman-Batteriemodell (DFN), auch als Pseudo-2D-Modell (P2D) bekannt, simuliert detaillierte physikalisch-elektrochemische Prozesse, die im Inneren einer Batterie ablaufen, darunter die Lithiumdiffusion, elektrochemische Reaktionen, Ladungserhaltung und die Dynamik der Wärmeentwicklung.

Datengetriebene Batteriemodelle

Datengetriebene Batteriemodelle nutzen empirische Daten sowie Methoden wie Systemidentifikation, Machine Learning und Deep Learning, um das Verhalten von Batterien zu simulieren und vorherzusagen. Sie lassen sich in Simulink integrieren, um Simulationen auf Systemebene durchzuführen, und unterstützen die Codegenerierung. Datengetriebene Batteriemodelle eignen sich besonders, wenn interne Dynamiken analytisch nur schwer zu erfassen sind, wie etwa bei Degradationsmechanismen von Batterien in der Alterungsmodellierung. Datengetriebene Batteriemodelle eignen sich für das Flottenmanagement von Elektrofahrzeugen, die Predictive Maintenance, komplexe Diagnosen und weitere Anwendungen, bei denen große Datensätze verfügbar sind und die Prognose der Batterielebensdauer präzisieren.

Mithilfe von Deep Learning können Sie nichtlineare Zustandsraummodelle niedriger Ordnung erstellen. Die Trainingsdaten für solche Modelle können aus Experimenten oder aus Simulationen hochgenauer Modelle stammen, etwa aus FEA-Batteriemodellen.

Die wichtigsten Aspekte

  • Verwenden Sie einen vorgefertigten ECM-Block (Equivalent Circuit Model) mit Batteriedegradation (Zyklenalterung und kalendarische Alterung) sowie Fehlersimulation (thermisches Durchgehen).
  • Simulieren Sie elektrochemische Prozesse mithilfe von SPMe- und DFN-Batteriemodellen.
  • Erstellen Sie datengetriebene Batteriemodelle, die sich in Simulink integrieren lassen und die Codegenerierung unterstützen.
Abschnitt

Entwicklung von Batteriepacks

Mithilfe der Battery Builder-App oder der API für Simscape Battery in MATLAB® können Sie ein Batteriepack entwickeln. Zu den Grundelementen der Entwicklung gehören das Zellendesign, die Parallelmontage, das Modul, die Modulmontage und die Entwicklung des Batteriepacks.

Eine Koordinatenebene mit der Anzahl der Zellen auf der x-Achse, der Energie in kWh auf der y-Achse und der Zelle, der Parallelmontage, dem Modul, der Modulmontage und der Entwicklung des Packs, die in dieser Reihenfolge linear ansteigen.

Entwicklung von Batteriepacks von der Zelle bis zum fertigen Pack.

Die Battery-Builder-App oder -API ermöglicht Ihnen Folgendes:

  • Erstellen und Visualisieren von Batteriemodellen mit verschiedenen Geometrien und Topologien – von der Zelle zum Modul und vom Modul zum Pack.
  • Modellieren von Kühlplatten mit individuell erstellbaren Flüssigkeitspfaden und thermischen Anschlüssen am Batteriepack
  • Erstellen von Batteriemodellen aus benutzerdefinierten Zellenkomponenten
  • Modellieren des Wärmeaustausches zwischen Zellen
  • Untersuchen von Temperaturschwankungen zwischen Zellen und Messen der Kühleffizienz
  • Generieren eines individuellen Simulink-Bibliotheksmodells für Ihre Batteriepackentwicklung.
  • Wählen einer angemessenen Modellauflösung, um ein Gleichgewicht zwischen Modelltreue und Simulationsgeschwindigkeit zu finden.

Die wichtigsten Aspekte

  • Entwickeln Sie einen individuell gestalteten Batteriepack mit verschiedenen Modellauflösungen.
  • Ergänzen Sie das Batteriemodell um thermische Effekte.
  • Erstellen Sie Batteriepackmodelle für Simulationen.
Abschnitt

Wärmemanagementsysteme für Batterien

Mit MATLAB und Simulink können Ingenieure ein Wärmemanagementsystem für Batterien entwerfen, um die Temperatur des Batteriepacks entsprechend den Spezifikationen zu regeln und eine optimale Leistung unter verschiedenen Betriebsbedingungen zu gewährleisten. 

Ein Diagramm des Kühlsystems der Batterie und des Batteriepacks.

Vergleich der thermischen Analyse einer neuen und einer alten Lithium-Ionen-Batterie mithilfe von Simscape Battery.

Erfassen des thermischen Verhaltens einer Batterie

Mit Simscape Battery können Ingenieure das thermische Verhalten von Batterien auf verschiedenen Detailebenen von der Zelle bis zum Batteriepack modellieren, um Temperaturunterschiede und deren Auswirkungen auf Leistung, Sicherheit und Alterung zu erfassen.

Auf Zellebene können Sie das thermische Modell entlang der Zellenhöhe diskretisieren, um die Genauigkeit der thermischen Modellierung zu erhöhen und den Temperaturgradienten im Inneren der Zelle zu modellieren.

Auf Modul- und Packebene ermöglichen konfigurierbare Wärmepfade zwischen den Zellen die Darstellung von Leitungs-, Konvektions- und Strahlungseffekten. Dies unterstützt die Analyse von Temperaturschwankungen zwischen den Zellen sowie der Wärmeausbreitung.

Um ein Gleichgewicht zwischen Genauigkeit und Simulationsgeschwindigkeit herzustellen, unterstützt Simscape Battery auch thermische Modelle reduzierter Ordnung, die aus hochpräzisen Finite-Elemente- oder Finite-Volumen-Analysen abgeleitet wurden. Dabei bleiben die wesentlichen thermischen Dynamiken erhalten, während gleichzeitig Simulationen auf Systemebene, Echtzeitausführung und Hardware-in-the-Loop-Tests ermöglicht werden.

Diese thermischen Modelle lassen sich direkt mit detaillierten Kühlmodellen koppeln, wie beispielsweise flüssigkeitsgekühlten Platten mit konfigurierbaren Strömungswegen, wodurch die Temperaturverteilung und die Kühlleistung unter realistischen Betriebsbedingungen bewertet werden können. Simscape Battery verfügt über vorgefertigte Kühlplattenblöcke, die verschiedene Durchflusskonfigurationen unterstützen, darunter parallele Kanäle, U-förmige rechteckige Kanäle und Randkühlung.

Block für parallele Kanäle in Simscape Battery.

Block für U-förmige Kanäle in Simscape Battery.

Randkühlungsblock in Simscape Battery.

Entwicklung von Regelungen für das Wärmemanagement von Batterien

Mit Simulink können Sie geschlossene Regelkreise (Closed Loops) entwerfen, die Feedforward- und PID-Techniken für die Steuerung von Zirkulationssystemen kombinieren, wie beispielsweise die Regelung des Zuflusses (Ventil), des Massenflusses (Pumpe) und der Wahl des Wärmeaustauschpfads. In Simscape Battery stehen Ihnen vorgefertigte Blöcke wie Battery Coolant Control und Battery Heater Control zur Verfügung, mit denen Sie Regelungsalgorithmen für das Wärmemanagement von Batterien erstellen können. In Verbindung mit Stateflow lässt sich zudem eine Überwachungslogik für das Umschalten zwischen verschiedenen Betriebsmodi – z. B. Heizen oder Kühlen – in Abhängigkeit von der Umgebungs- und der Batterietemperatur entwickeln.

Abschnitt

Algorithmen für Batteriemanagementsysteme

Ein Batteriemanagementsystem hat direkten Einfluss auf die Sicherheit, Effizienz und Langlebigkeit der Batterie und damit auf die Gesamtleistung und Zuverlässigkeit des Systems. Die Hauptfunktionen eines Batteriemanagementsystems sind Überwachung, Zustandsschätzung, Zellausgleich, Energiemanagement, Wärmemanagement, Schutz und Kommunikation.

Diagramm der Komponenten des Batteriemanagementsystems.

Hauptfunktionen eines Batteriemanagementsystems.

Simulink und Simscape ermöglichen es Ihnen hierbei, Einblicke in das dynamische Verhalten des Batteriepacks zu gewinnen, Software-Architekturen zu untersuchen, Betriebsfälle zu testen und frühzeitig mit Hardware-Tests zu beginnen, um so Entwicklungsfehler zu vermeiden. Ingenieure können die in Simscape Battery integrierten BMS-Regelungsblöcke verwenden, um die Leistung des entwickelten Batteriepacks zu bewerten, die BMS-Algorithmen zu entwickeln und Simulationen auf Systemebene durchzuführen.

Schätzung des Ladungszustands

Die Methoden zur Schätzung des Ladezustands (State of Charge, SOC) reichen von einfacher Stromintegration (Coulomb-Zählung) und Spannungsüberwachung bis hin zu komplexen modellbasierten und datengesteuerten Methoden wie Kalman-Filter und neuronale Netze.

Genaue Batteriemodelle sind für die Entwicklung von Algorithmen zur modellbasierten SOC-Schätzung in einem Batteriemanagementsystem unerlässlich. Klassische Ansätze zur SOC-Schätzung in einem Batteriemanagementsystem, wie die Suche nach der Leerlaufspannung (Open Circuit Voltage, OCV) und die Stromintegration (Coulomb-Zählung), sind einfach zu implementieren und in bestimmten Fällen verhältnismäßig genau. Der OCV-basierte Ansatz erfordert jedoch eine OCV-Messung, der eine längere Ruhephase vorausgehen muss. Die Coulomb-Zählung hat den Nachteil einer unzureichenden Initialisierung und der Ansammlung von Strommessrauschen. Die Ansätze des erweiterten Kalman-Filters (EKF) und des Unscented Kalman-Filters (UKF) haben gezeigt, dass sie in realen BMS-Implementierungen mit einem akzeptablen Rechenaufwand genaue Ergebnisse liefern.

Simscape Battery bietet mehrere vorgefertigte SOC-Schätzer-Blöcke (optional für variable Kapazität) und unterstützt die Codegenerierung: Coulomb-Zählung, adaptiver Kalman-Filter und Kalman-Filter.

Im Gegensatz zu einem Kalman-Filter erfordert die Verwendung eines neuronalen Netzes zur Entwicklung eines SOC-Schätzers keine umfassenden Informationen über die Batterie oder ihr nichtlineares Verhalten. Stattdessen wird das Netz mit Strom-, Spannungs- und Temperaturdaten und dem SOC als Antwort trainiert. Sie können ein neuronales Netz mithilfe der Projektion komprimieren und dadurch schnellere Vorwärtsdurchläufe erzielen, wenn es auf der CPU ausgeführt oder mithilfe der bibliotheksfreien Codegenerierung von C oder C++ auf Embedded BMS-Hardware bereitgestellt wird.

Die wichtigsten Aspekte

Schätzung des Systemzustands

Alle Batterien, auch solche, die zum Zeitpunkt der Herstellung den Leistungsspezifikationen entsprechen, verschlechtern sich im Laufe der Zeit aufgrund der kalendarischen Lebensdauer und der wiederholten Ladezyklen, was zu einem allmählichen Verlust an Reservekapazität sowie zu einem Anstieg des Innenwiderstands führt. Während Letzterer relativ einfach anhand von Kurzzeitmessungen abgeschätzt werden kann, erfordert Ersterer für eine genaue Berechnung eine vollständige Lade- oder Entladeexkursion, was nicht immer praktikabel ist.

Diese Herausforderung hat zu einem wachsenden Interesse an der Schätzung des Systemzustands (State of Health, SOH) und der Entwicklung von adaptiven Kalman-Filter-Formulierungen geführt, die neben den Zuständen auch die Batterieparameter berücksichtigen. Eine genaue Schätzung des aktuellen Innenwiderstands ist für das BMS zur Festlegung von Leistungsgrenzen von großem Nutzen.

Simscape Battery bietet integrierte SOH-Schätzer zur Schätzung der Batteriekapazität, darunter Kalman-Filter, kleinste Quadrate mit und ohne variable Gewichte sowie widerstandsbasierte und kapazitätsbasierte SOH-Schätzer.

Eine SOH-Schätzung ist subjektiver als eine SOC-Schätzung, wobei es jedoch keine allgemeingültige Übereinkunft darüber gibt, wie der SOH zu definieren ist. Demzufolge kann jedes Unternehmen seine eigene spezifische Methode zur Quantifizierung einer SOH-Schätzung verfolgen, sodass es unmöglich ist, Standardlösungen für alle Bereiche zu verwenden. Mithilfe von Simulink und Simscape lassen sich individuell erstellte Algorithmen zur SOH-Schätzung entwickeln und simulieren, die der unternehmensspezifischen Interpretation des Batteriezustands entsprechen.

Die wichtigsten Aspekte

  • Simscape Battery bietet vorgefertigte Blöcke zur Kapazitätsschätzung mithilfe des Kalman-Filters oder von Algorithmen für kleinste Quadrate.

Zellenausgleich, Batterieladung und Batterieüberwachung

Simscape Battery bietet vorgefertigte Bibliotheksblöcke für den Zellenausgleich, die Batterieladung und den Batterieschutz.

Zellenausgleichsfunktionen sorgen für einen einheitlichen SOC in allen Zellen, indem die überschüssige Ladung durch einen Ableitwiderstand abtransportiert wird. Solche Ausgleichsmaßnahmen sind notwendig, um die Lebensdauer von Zellen zu verlängern, die durch Überladung oder Entladung beschädigt werden können. Mehrere Zellen verbessern die Kapazität, wenn die Zellen ausgeglichen sind.

Zellenausgleich in Simscape Battery als Funktion des SOC und der Zeit.

Die Batterieladung wird mit einem Algorithmus für Konstantstrom/Konstantspannung (CC-CV) gesteuert. Dies ist ein gängiger Ansatz, der die Lebensdauer der Batterie verlängert, indem er Überstrom und Überspannung beim Laden verhindert. Während des Ladevorgangs wird der Strom begrenzt, bis eine vorgegebene Spannung erreicht ist.

Batterieladung in Abhängigkeit von der Zeit mithilfe eines CC-CV-Algorithmus in Simscape Battery.

Der Schutz der Batterie erfordert eine regelmäßige Überwachung von Strom, Spannung und Temperatur. Simscape Battery bietet hierfür Blöcke, die Sie in Ihre BMS-Algorithmen einbauen können.

In ein BMS-Modell implementierte Batterieüberwachungsblöcke.

Die wichtigsten Aspekte

  • Simscape Battery bietet Blöcke zum Ausgleichen von Zellen, zur Strom- und Spannungsregelung sowie zur Überwachung von Spannung, Strom und Temperatur.
Abschnitt

Desktop-Simulation

Mit der Desktop-Simulation in Simulink können Sie die funktionalen Aspekte Ihrer Batteriesystementwicklung überprüfen. Auf dem Desktop werden das Batteriesystem, die Umgebung und die Algorithmen mithilfe von Verhaltensmodellen simuliert. Beispielsweise können Sie aktive und passive Zellenausgleichskonfigurationen sowie Algorithmen untersuchen, um die Eignung jedes Ausgleichsansatzes für eine bestimmte Anwendung zu bewerten. Sie können die Desktop-Simulation verwenden, um neue Entwicklungsideen zu untersuchen und mehrere Systemarchitekturen zu testen, bevor Sie sich auf einen Hardware-Prototypen festlegen. Ebenso ist es möglich, Anforderungsprüfungen in Desktop-Simulationen durchzuführen, z. B. können Sie überprüfen, ob Schütze am Öffnen oder Schließen gehindert werden, wenn ein Isolierungsfehler erkannt wird.

Wenn das zu entwickelnde Batteriesystem Sicherheitsanforderungen erfüllen muss, können Sie auf formalen Methoden basierende Tests in Ihren Softwareentwicklungsprozess gemäß Standards wie IEC 61508, IEC 61851 und ISO® 26262 integrieren.

Abschnitt

Echtzeit-Simulation von Batteriesystemen 

Nach der Validierung durch eine Desktop-Simulation können Sie Simulink-Modelle zur Generierung von C und HDL-Code für Rapid Prototyping (RP) oder Hardware-in-the-Loop-Tests (HIL) verwenden, um die BMS-Algorithmen in Echtzeit weiter zu validieren. Mit RP generieren Sie anstelle von handschriftlichem Steuerungs-Softwarecode für Echtzeittests Code aus Ihrem Reglermodell und stellen diesen auf einem Echtzeitrechner bereit, der die Funktionen des Produktionsmikrocontrollers ausführt. Mit der automatischen Codegenerierung können so im Modell vorgenommene Algorithmusänderungen innerhalb von wenigen Stunden anstatt von mehreren Tagen auf Echtzeit-Hardware getestet werden. Ferner können Sie von Simulink aus mit der Echtzeit-Regelungshardware interagieren, um Algorithmusparameter zu ändern und Testdaten zu protokollieren.

Wie beim Rapid Prototyping wird auch bei HIL-Tests Code aus einem Simulink-Modell generiert und auf einem Echtzeit-Computer bereitgestellt. Im Falle von HIL-Tests wird Code aus den Batteriesystemmodellen und nicht aus den Modellen der Regelungsalgorithmen generiert, wodurch eine virtuelle Echtzeitumgebung geboten wird, die Batteriepack, aktive und passive Schaltungselemente, Lasten, Ladegerät und andere Systemkomponenten darstellt. In dieser virtuellen Umgebung können Sie die Funktionalität des BMS-Reglers in Echtzeit validieren, bevor Sie einen Hardware-Prototyp entwickeln – und das in einer Umgebung, in der die Hardware nicht beschädigt wird.

Tests, die während der Desktop-Simulation entwickelt wurden, können in die HIL-Tests übernommen werden, um sicherzustellen, dass die Anforderungen im weiteren Verlauf des BMS-Designs erfüllt werden. Obwohl HIL-Tests in erster Linie zum Testen von Code verwendet werden, der auf einem Mikrocontroller oder FPGA läuft, können Sie stattdessen auch ein Rapid-Prototyping-System wie Simulink Real-Time™ und Speedgoat®-Zielhardware verwenden und es mit der HIL-Konfiguration verbinden, bevor die Hardware für den Produktionsregler ausgewählt wird.

Validierung der BMS-Software

Die Echtzeitsimulation, die sowohl Rapid Prototyping als auch HIL-Tests umfasst, bietet Ingenieuren der leistungselektronischen Regelungstechnik zusätzliche Erkenntnisse darüber, wie sich eine BMS-Entwicklung in der Hardware verhält. Sowohl bei RP als auch bei HIL besteht das Ziel darin, einen Aspekt des Gesamtkonzepts in Hardware zu emulieren: den BMS-Regler in RP und den Rest des Batteriesystems in HIL. Hierbei bietet die Echtzeitsimulation eine Reihe von Vorteilen bei der BMS-Entwicklung, die Ihnen Folgendes ermöglichen:

  • Durchführung von RP, um mit der Validierung der Algorithmen zu beginnen, bevor die endgültige Regler-Hardware ausgewählt wird
  • Nutzung der Flexibilität eines Echtzeit-Testsystems zur schnellen Entwicklungsiteration und für schnelle Tests
  • Durchführung von HIL-Tests, bevor die Prototyp-Hardware des Batteriesystems verfügbar ist
  • Verwendung einer Kombination aus RP- und HIL-Tests, um BMS-Algorithmen für Testfälle zu erproben, die schwierig und teuer sein oder zur Zerstörung führen können, wenn die tatsächliche Hardware verwendet wird
Ein Anlagenmodell in Simulink wird auf einem Speedgoat-Echtzeitcomputer bereitgestellt, während die BMS-Algorithmen auf einem Mikrocontroller zum Einsatz kommen. Die beiden sind zu Testzwecken miteinander verbunden.

Hardware-in-the-Loop (HIL)-Tests von Software für Batteriemanagementsysteme. Der BMS-Code wird aus in Simulink modellierten BMS-Algorithmen generiert und auf einem Texas Instruments® C2000 Mikrocontroller eingesetzt. Das Anlagenmodell (Batteriepack, Schütz, Wechselrichter, Ladegerät) wird dazu in Simulink modelliert. Code wird generiert und eingesetzt, um auf einem Speedgoat-Echtzeitrechner mit Batterie-Emulator zu laufen.

Durch die Wiederverwendung von Desktop-Simulationsmodellen in Simulink zur Generierung von Code für Echtzeitsimulationen können Sie die gesamte Entwicklungszeit verkürzen. Mit dem generierten C/C++ und HDL-Code können Sie auf Computern arbeiten, die für Echtzeitleistung optimiert sind. Der aus den Simulink-Modellen für Echtzeitsimulationen generierte Code enthält Schnittstellen, über die Sie die Steuerungsparameter während der laufenden Echtzeitsimulation anpassen können.

Durchführen von Rapid Prototyping

Während der Hardware-Testphase können Änderungen am Code des Reglers zu Verzögerungen und zusätzlichen Risiken führen. Die manuelle Änderung des Codes, die Neukompilierung und die Implementierung in den entsprechenden Mikrocontroller oder FPGA erfordert viel Zeit – möglicherweise sehr viel Zeit, wenn Sie als Entwickler von Regelungsalgorithmen auf einen Software- oder Hardware-Ingenieur angewiesen sind, der diese Änderungen vornimmt. Je nach Umfang der erforderlichen Änderungen besteht auch die Gefahr, dass bei der Implementierung des Codes neue Probleme auftreten.

Anstatt Code-Updates für die Regler-Software von Hand zu schreiben, können Sie mithilfe von Simulink Code generieren, der in Echtzeit auf einem speziellen Computer ausgeführt wird und zur Kommunikation mit der Testhardware Hochgeschwindigkeits-E/A verwendet. Neben dem Wegfall der manuellen Codierung und der damit verbundenen Zeitverluste besteht ein weiterer Vorteil dieses RP-Ansatzes darin, dass Sie Änderungen an der BMS-Software validieren können, indem Sie das Simulationsmodell zunächst auf dem Desktop ausführen, um zu überprüfen, ob keine weiteren Probleme aufgetreten sind.

Testen mit Hardware-in-the-Loop

Da die Konstruktion und Modifizierung von Hardware-Prototypen für ein Batteriesystem sehr aufwändig und die Reparaturen oft kostspielig sind, ist es nicht immer möglich, solche Prototypen an dem elektrischen System zu testen, in dem das Batteriesystem eingesetzt werden soll. In Anbetracht dieser Einschränkungen können selbst kleine konzeptionelle Änderungen die Entwicklungszeitpläne gefährden. Hinzu kommt, dass BMS-Konzepte in der Regel nur in kleinen Schritten weiterentwickelt werden, weil die zuständigen Teams tiefgreifende Änderungen gegenüber dem vorherigen Konzept als zu riskant ansehen.

Mit Simulink können Sie C/C++ und HDL-Code aus dem Modell der Hardware in Ihrem Batteriesystem und dem übergeordneten System, zu dem es gehört, einschließlich der Versorgung und der Last, generieren. Sobald Sie diesen Code auf einem Echtzeitrechner einsetzen, können Sie Echtzeit-Simulationen der Hardware mit Ihrem Regler-Code durchführen, bevor Sie den Regler in einem Batteriesystem-Prototypen testen. Dadurch können Sie Fehler in der Entwicklung schon finden und korrigieren, bevor diese möglicherweise teure und schwer zu ersetzende Prototyp-Hardware beschädigen. Sie können auch Hardwaredesignfehler aufdecken, wie z.B. die falsche Dimensionierung von Komponenten.

Viele HIL-Echtzeitsysteme, darunter auch die Speedgoat-Zielhardware, verfügen über Batterie-Emulatoren, mit denen Sie tragbare Batteriestromversorgungen emulieren, Batteriestapel für Elektrofahrzeuge nachbilden oder auch Stromaufnahme emulieren können, um Batterien im Ladezustand zu simulieren.

Abschnitt

Hardware-Implementierung

In der Hardware-Implementierungsphase werden die mittels Desktop-Simulation, RP und HIL verifizierten Regelungsmodelle von Simulink verwendet, um effizienten, serienreifen Code für das BMS zu generieren. Bei Bedarf kann die Seriencodegenerierung in Workflows integriert werden, die den formalen Zertifizierungsstandards der Automobil-, Luft- und Raumfahrtbranche und anderen reglementierten Industriezweigen entsprechen.

Produktionsreife Codegenerierung

Simulink generiert lesbaren, kompakten und effizienten C/C++ und HDL-Code aus Reglermodellen für die Implementierung auf Produktionsmikrocontrollern, FPGAs und ASICs. Im Gegensatz zu dem für RP generierten Code enthält der für den Produktionseinsatz generierte Code nicht die zusätzlichen Schnittstellen, die zur Unterstützung der Echtzeit-Überwachung, Parameterabstimmung und Datenprotokollierung erforderlich sind. Mit den Optimierungseinstellungen lassen sich die generierten Funktionen, Dateien und Daten exakt steuern, um die Effizienz des Codes zu verbessern und die Integration mit vorhandenem Code, Datentypen und Kalibrierungsparametern zu erleichtern.

Durchführung von Processor-in-the-Loop-Simulationen

Bei der Processor-in-the-Loop (PIL)-Simulation läuft der C/C++ oder HDL-Code auf dem Mikrocontroller oder FPGA, während das Gerät mit einem Simulink-Modell der BMS-Hardware schrittweise ausgeführt wird. Dadurch wird das Risiko der Beschädigung eines Hardware-Prototyps während der ersten Evaluierungen des BMS-Codes eingeschränkt. Obwohl PIL-Simulationen nicht in Echtzeit ausgeführt werden, sind sie bitgenau und ermöglichen es Ihnen, Ihren Code unter einer Reihe von Bedingungen zu überprüfen und sicherzustellen, dass er ordnungsgemäß ausgeführt wird, sobald er auf dem realen System eingesetzt wird.

Generieren von Produktionscode

Ob Desktop-, RP-, HIL- oder PIL-Simulationen: Sie alle ermöglichen die Verifikation und Validierung der Regelungsalgorithmen für das BMS. Mit Simulink können Sie dieselben Algorithmen als Grundlage für die Generierung von produktionsfertigem Code verwenden – entweder optimierten und stabilen C/C++ Code zur Implementierung auf Mikrocontrollern oder synthetisierbaren HDL-Code für die FPGA-Programmierung oder ASIC-Implementierung. Die automatische Codegenerierung eliminiert manuelle Übersetzungsfehler der Algorithmen und erzeugt C/C++ und HDL-Code mit numerischer Äquivalenz zu den Algorithmen, die Sie in Simulink validiert haben. Indem Sie Ihre Regelungsalgorithmen unter allen möglichen Betriebs- und Fehlerbedingungen simulieren, erhöhen Sie die Sicherheit, dass der generierte Code mit denselben Bedingungen im realen System zurechtkommt, auch wenn Sie nicht auf alle Bedingungen testen können. Falls Hardwaretests später anzeigen, dass Algorithmusänderungen erforderlich sind, können Sie einfach die Algorithmen in Ihrem Modell modifizieren, Simulationstestfälle erneut ausführen, um die Richtigkeit der Änderungen zu überprüfen, und neuen, aktualisierten Code generieren. Der gesamte C/C++ und HDL-Code ist komplett portabel, lässt sich mit zahlreichen Optionen optimieren und ist bidirektional auf das Simulink-Modell zurückverfolgbar.

Screenshots, die die Bereitstellung des BMS-Codes auf dem Mikrocontroller C2000 von Texas Instruments zeigen.

Automatisch generierter BMS-Produktionscode aus in Simulink modellierten BMS-Algorithmen. Der Code wird auf einem C2000-Mikrocontroller von Texas Instruments bereitgestellt. 

Ressourcen