White paper

Sviluppo di sistemi di batterie con Simulink e Simscape

Workflow di sviluppo di sistemi di batterie

L’elettrificazione sta stimolando l’utilizzo delle batterie per una serie di applicazioni, tra cui veicoli elettrici (come automobili e autobus), navi, velivoli elettrici, sistemi di accumulo dell’energia collegati alla rete e sistemi fotovoltaici. Queste applicazioni prevedono requisiti diversi per la progettazione di sistemi di batterie in termini di selezione delle celle, densità di potenza/energia, volume, peso e durata.

La simulazione della progettazione di sistemi di batterie prima della fase di test fornisce informazioni sul comportamento dinamico del pacco batteria. Inoltre, consente di:

  • Esplorare e confrontare algoritmi software.
  • Ampliare i casi di test operativi.
  • Accelerare il ciclo di sviluppo tecnologico dalla cella di batteria al sistema di batterie.

Il workflow di sviluppo di un sistema di batterie ha inizio con la realizzazione della cella di batteria. Il passaggio dalla cella di batteria al sistema di batterie avviene poi in cinque fasi, ovvero:

  • Progettazione di pacchi batteria
  • Progettazione dei componenti elettrici e termici del pacco batteria
  • Sviluppo di algoritmi per sistemi di gestione delle batterie (BMS)
  • Integrazione dei componenti per l’esecuzione di simulazioni desktop
  • Test Hardware-In-the-Loop (HIL) e distribuzione

Sviluppo di un ponte dalla cella di batteria al sistema di batterie.

Con Simulink® e Simscape™, il workflow di sviluppo di un sistema di batterie ha inizio con l’integrazione dei componenti del sistema in modo da poter eseguire la simulazione desktop per la convalida delle progettazioni dei componenti e degli algoritmi (vedi Simulazione desktop). La fase successiva consiste nella simulazione in tempo reale dei modelli mediante la prototipazione rapida e i test Hardware-In-the-Loop (vedi Simulazione in tempo reale di sistemi di batterie). Le fasi finali dello sviluppo prevedono l’implementazione, la distribuzione e il test dell’hardware (vedi Implementazione hardware).

Diagramma di un workflow di sviluppo che mostra, da sinistra a destra, la simulazione desktop, la simulazione in tempo reale e l’implementazione hardware.

Workflow di sviluppo di un sistema di batterie con Simulink e Simscape.

sezione

Progettazione di pacchi batteria

Mediante l’API (Application Programming Interface) di Simscape Battery™ in MATLAB® è possibile sviluppare un pacco batteria. Gli elementi fondamentali della progettazione includono la progettazione delle celle, il gruppo parallelo, il modulo, il gruppo modulo e la progettazione del pacco batteria.

Piano di coordinate con il numero di celle sull’asse delle x, l’energia in kWh sull’asse delle y e l’incremento lineare della progettazione delle celle, del gruppo parallelo, del modulo, del gruppo modulo e del pacco batteria, in questo ordine.

Progettazione di un pacco batteria dalla cella al pacco.

Con Simscape Battery è possibile:

  • Modellare il comportamento elettrotermico e includere la dinamica di carica, l’invecchiamento, gli effetti termici e il trasferimento termico in modelli di celle di batteria.
  • Parametrizzare le celle in base alle schede tecniche del produttore.
  • Sviluppare e visualizzare modelli di batterie con diverse geometrie e topologie, dalla cella al modulo e dal modulo al pacco.
  • Modellare delle piastre di raffreddamento con percorsi del fluido e collegamenti al pacco batteria personalizzabili.
  • Analizzare la variazione di temperatura da una cella all’altra e misurare l’efficienza di raffreddamento.
  • Generare un modello di libreria Simulink personalizzato per la progettazione del pacco batteria.
  • Impostare una risoluzione dei modelli adeguata per trovare un equilibrio tra la fedeltà dei modelli e la velocità di simulazione.

Punti chiave

  • Sviluppa un pacco batteria personalizzato con varie risoluzioni di modello.
  • Aggiungi effetti termici al modello di batteria.
  • Genera modelli di pacchi batteria ed eseguine la simulazione con una sola riga di codice.

Dalla cella di batteria al sistema di batterie

sezione

Sistema di gestione termica delle batterie

Gli ingegneri possono utilizzare MATLAB e Simulink per progettare un sistema di gestione termica delle batterie al fine di regolare la temperatura di un pacco batteria nel rispetto di determinate specifiche e garantirne prestazioni ottimali in diverse condizioni operative. 

Diagramma di un sistema di raffreddamento per batterie e pacchi batteria.

Confronto basato su analisi termica tra una batteria agli ioni di litio nuova e una invecchiata con Simscape Battery.

Con Simscape e Simscape Battery è possibile creare modelli a partire dal livello della cella di batteria e aggiungere successivamente effetti in relazione alla temperatura ambiente, materiali di interfaccia termica e collegamenti di piastre di raffreddamento per creare un modello più rappresentativo. Il trasferimento termico può essere esaminato dal punto di vista di cella-cella, cella-piastra e cella-ambiente, definendo percorsi termici verso l’ambiente, il refrigerante e la posizione della piastra di raffreddamento. Simscape Battery fornisce blocchi di piastre di raffreddamento predefiniti che supportano diverse configurazioni di flusso, tra cui canali paralleli, canali rettangolari a U e raffreddamento dei bordi.

Blocco canale parallelo in Simscape Battery.

Blocco canale parallelo in Simscape Battery.

Blocco canale a U in Simscape Battery.

Blocco canale a U in Simscape Battery.

Blocco raffreddamento dei bordi in Simscape Battery.

Blocco raffreddamento dei bordi in Simscape Battery.

Un modello termico a livello di pacco batteria può essere sviluppato raggruppando le celle in moduli con effetti termici e successivamente i moduli in un pacco. È possibile eseguire l’analisi delle prestazioni termiche su pacchi batteria con diversi livelli di invecchiamento al fine di soddisfare i criteri di garanzia al termine del ciclo di vita.

Cella di batteria accanto a un modello termico della cella.

Modellazione termica dettagliata in 1D di una singola cella di batteria con Simscape mediante la libreria Thermal Elements.

Modello di una serie di celle di batteria collegato a una porta termica del refrigerante.

Definizione del percorso termico del refrigerante per il modulo batteria con Simscape Battery.

È possibile utilizzare Simscape e i blocchi di Simscape Fluids™ nei domini del gas, liquido e termico per modellare soluzioni di raffreddamento/riscaldamento attivo, passivo o ibrido. È inoltre possibile esplorare varie architetture dei sistemi di raffreddamento/riscaldamento tracciando delle rappresentazioni schematiche per posizionare tubi, valvole, scambiatori di calore e serbatoi.

Nel caso di un sistema a circuito liquido, è possibile modellare un serbatoio di espansione che contiene il fluido di riserva; piastre di raffreddamento che convogliano il fluido di lavoro vicino alle celle della batteria; un sistema di circolazione a motore con pompa, percorso del flusso e valvole; inoltre, diversi tipi di scambiatori di calore, come riscaldatori cablati o radiatori.

Dopo aver creato un modello del sistema di raffreddamento/riscaldamento, è possibile eseguire simulazioni, perfezionare il progetto esplorando il dimensionamento dei componenti e i parametri del sistema e soddisfare requisiti quali la dissipazione del calore e il consumo energetico.

Rappresentazione schematica di un sistema di raffreddamento per le batterie di un veicolo elettrico.

Modello di sistema di raffreddamento/riscaldamento attivo a circuito liquido per le batterie di un veicolo elettrico (EV) creato con Simulink e Simscape.

Simulink facilita la progettazione di controlli a circuito chiuso che combinano tecniche di feedforwarding e PID per i controlli del sistema di circolazione, come il controllo del flusso di alimentazione (valvola), il controllo del flusso di massa (pompa) e il controllo della selezione del percorso di scambio termico. Con Simscape Battery è possibile utilizzare blocchi predefiniti, come Battery Coolant Control e Battery Heater Control, per costruire algoritmi di controllo della gestione termica delle batterie. Con Stateflow® è inoltre possibile progettare una logica di controllo di supervisione per passare da una modalità di funzionamento all’altra, come il riscaldamento o il raffreddamento, in base alla temperatura ambiente e alla temperatura della batteria.

Modello Simulink di un sistema di controllo del refrigerante.

Modello Simulink di un sistema di controllo del refrigerante che calcola il flusso in base alle temperature delle celle della batteria e alla temperatura ambiente.

Punti chiave

  • Realizza un modello termico a livello di pacco batteria raggruppando le celle in moduli con effetti termici.
  • Utilizza blocchi di piastre di raffreddamento predefiniti.
  • Sviluppa modelli di sistemi di raffreddamento/riscaldamento utilizzando diversi fluidi di lavoro.
  • Simula condizioni di temperatura estreme per progettare scenari “what-if”.
  • Esegui studi di scenario per valutare l’impatto termico di diverse opzioni di progettazione.
  • Effettua la selezione e il dimensionamento dei componenti con la modellazione e la simulazione.

Progettazione di un sistema di gestione termica delle batterie

Mahindra Electric usa la simulazione a livello di sistema per ottimizzare il sistema di gestione termica delle batterie per un veicolo elettrico 

sezione

Algoritmi per sistemi di gestione delle batterie

Un sistema di gestione delle batterie (BMS) ben progettato garantisce prestazioni massime, funzionamento sicuro e durata ottimale in diverse condizioni ambientali e di carica-scarica. Simulink e Simscape consentono di comprendere il comportamento dinamico del pacco batteria, esplorare le architetture software, testare vari casi operativi e avviare tempestivamente il test dell’hardware, riducendo così gli errori di progettazione. Gli ingegneri possono utilizzare i blocchi di controllo BMS integrati in Simscape Battery per valutare le prestazioni del pacco batteria progettato, sviluppare un sistema di gestione termica ed eseguire simulazioni a livello di sistema.

Al fine di raggiungere questi obiettivi, il BMS è supportato da algoritmi che controllano il comportamento e le prestazioni del pacco batteria.

Diagramma dei componenti di un sistema di gestione delle batterie.

Funzioni del sistema di gestione delle batterie.

Lo sviluppo di algoritmi per la stima dello stato di carica (SOC) richiede modelli di batteria accurati. Gli approcci tradizionali alla stima del SOC, come la misurazione della tensione a circuito aperto (OCV) e l’integrazione delle correnti (Coulomb Counting), sono in alcuni casi relativamente accurati. Tuttavia, la stima del SOC per le moderne batterie chimiche che presentano firme di scarica OCV-SOC piatte richiede un approccio diverso. Il filtro di Kalman esteso (EKF) e il filtro di Kalman unscented (UKF) sono approcci che hanno dimostrato di fornire risultati accurati con un relativo sforzo computazionale.

Simscape Battery contiene tre stimatori del SOC: Coulomb Counting, filtro di Kalman adattivo e filtro di Kalman. Rispetto allo stimatore del SOC con filtro di Kalman, lo stimatore con filtro di Kalman adattivo presenta la resistenza terminale come stato aggiuntivo. Sia lo stimatore del SOC con filtro di Kalman adattivo che lo stimatore con filtro di Kalman offrono la possibilità di selezionare EKF o UKF per sviluppare un osservatore per la stima del SOC. Tali osservatori includono generalmente un modello del sistema non lineare di interesse (la batteria), che utilizza la corrente e la tensione misurate dalla cella come input, oltre a un algoritmo ricorsivo che calcola gli stati interni del sistema (tra cui il SOC) sulla base di un processo di previsione/aggiornamento in due fasi.

Grafico delle percentuali di stato di carica reali rispetto a quelle stimate, con il tempo sull’asse delle x e lo stadio di carica sull’asse delle y.

SOC reale e SOC stimato con EKF da Simscape Battery.

Rispetto all’uso di un filtro di Kalman, il ricorso a una rete neurale per sviluppare uno stimatore del SOC non richiede informazioni dettagliate sulla batteria o sul suo comportamento non lineare. La rete viene addestrata con dati sulla corrente, la tensione e la temperatura e il SOC come risposta.

Diagramma di una rete neurale che mostra gli input, i layer nascosti e l’output.

Rete neurale feedforward per il calcolo del SOC che utilizza temperatura, tensione e corrente.

Punti chiave

Come stimare lo stato di carica delle batterie mediante il Deep Learning

Tutte le batterie, anche quelle che soddisfano le specifiche di prestazione al momento della produzione, si deteriorano nel tempo per ragioni di durata e a causa dei cicli ripetuti, subendo una graduale perdita di capacità di riserva e un aumento della resistenza interna. Mentre l’aumento della resistenza interna è relativamente semplice da stimare utilizzando misurazioni di breve durata, la stima del deterioramento richiede un’escursione di carica o scarica completa per un calcolo accurato, il che non è sempre realizzabile. Questa sfida ha determinato un crescente interesse per la stima dello stato di salute (SOH) e lo sviluppo di formulazioni del filtro di Kalman adattivo ampliate per includere i parametri delle batterie oltre agli stati. Una stima accurata della resistenza interna istantanea è molto utile al BMS per stabilire i limiti di potenza.

Tre grafici che mostrano lo stato di carica reale e stimato, la resistenza terminale e lo stato di salute nel tempo.

Stima del SOH di una batteria con un filtro Kalman adattivo in Simscape Battery.

La stima dello stato di salute è più soggettiva rispetto alla stima dello stato di carica e non esiste un accordo universale sulla definizione di stato di salute. Di conseguenza, ciascuna organizzazione potrebbe utilizzare un proprio metodo specifico per quantificare una stima del SOH, rendendo impossibile l’impiego di soluzioni generiche e standard. Utilizzando Simulink e Simscape, è possibile sviluppare e simulare algoritmi di stima del SOH personalizzati, in linea con l’interpretazione specifica di salute della batteria da parte della propria organizzazione.

Punti chiave

  • Simscape Battery fornisce un blocco stimatore del SOH che utilizza un filtro di Kalman.

Identificazione dei parametri basata su modelli di batterie agli ioni di litio in buono stato di salute e invecchiate per applicazioni su veicoli elettrici

Simscape Battery fornisce blocchi di libreria predefiniti per il bilanciamento delle celle, la carica delle batterie e la protezione delle batterie.

Le funzionalità di bilanciamento delle celle mantengono un SOC simile in tutte le celle dissipando la carica in eccesso attraverso un resistore di dispersione. Il bilanciamento è necessario per prolungare la vita utile delle celle, che possono essere danneggiate da sovraccarichi o scariche. Il bilanciamento delle celle migliora la capacità di diverse celle. 

Grafico che confronta lo stato di carica di due celle nel tempo.

Bilanciamento delle celle in Simscape Battery in funzione del SOC e del tempo.

La carica della batteria è controllata con un algoritmo a corrente costante/tensione costante (CC-CV). Si tratta di un approccio comune che mantiene la durata della batteria evitando sovracorrenti e sovratensioni durante la carica. La corrente è limitata durante la carica fino al raggiungimento di una tensione preimpostata.

Grafico che mostra il funzionamento dell’algoritmo CC-CV in modalità a corrente costante e a tensione costante.

Carica di una batteria rispetto al tempo utilizzando un algoritmo CC-CV in Simscape Battery.

Per proteggere la batteria è necessario monitorare la corrente, la tensione e la temperatura. Simscape Battery fornisce blocchi che possono essere incorporati negli algoritmi BMS.

Diagramma di un modello di monitoraggio delle batterie.

Blocchi di monitoraggio delle batterie implementati in un modello di BMS.

Punti chiave

  • Simscape Battery fornisce blocchi per il bilanciamento delle celle, il controllo della corrente e della tensione e il monitoraggio di tensione, corrente e temperatura.

Sviluppo di sistemi di gestione delle batterie in Simulink

sezione

Simulazione desktop

La simulazione desktop in Simulink consente di verificare gli aspetti funzionali della progettazione del sistema di batterie. Sul desktop, il sistema di batterie, l’ambiente e gli algoritmi vengono simulati utilizzando modelli comportamentali. Ad esempio, è possibile esplorare le configurazioni e gli algoritmi di bilanciamento attivo e passivo delle celle per valutare l’idoneità di ciascun approccio di bilanciamento per una determinata applicazione. È possibile utilizzare la simulazione desktop per esplorare nuove idee di progettazione e testare diverse architetture di sistema prima di procedere con un prototipo hardware. È inoltre possibile eseguire il test dei requisiti nelle simulazioni desktop: ad esempio, è possibile verificare che i contattori non si aprano o si chiudano quando viene rilevato un guasto di isolamento.

La capacità di eseguire simulazioni realistiche, fondamentali per lo sviluppo di software di controllo BMS, ha inizio con un modello accurato del pacco batteria. Le batterie sono spesso progettate utilizzando modelli di analisi degli elementi finiti (FEA) che tengono conto della configurazione fisica delle batterie e ne acquisiscono le proprietà elettrotermochimiche. Sebbene questi modelli siano eccellenti per la progettazione e l’ottimizzazione della chimica e della geometria di un pacco batteria, gli ingegneri di sistemi di controllo hanno bisogno di modelli più idonei alla progettazione a livello di sistema e allo sviluppo software. 

"Molti dei nostri modelli di batteria iniziali erano empirici, con una sorgente di tensione ideale e un’impedenza fissa. Ora utilizziamo modelli basati sui principi primi molto più sofisticati e, di conseguenza, abbiamo acquisito conoscenze inestimabili sulla batteria come dispositivo elettrochimico. Abbiamo utilizzato Simulink per costruire modelli avanzati di circuiti equivalenti in grado di prevedere le prestazioni a diversi stati di carica, velocità di scarica, temperature e livelli di invecchiamento.

"Abbiamo adottato un approccio simile per eseguire simulazioni fondamentali per la sicurezza al fine di prevedere le prestazioni di raffreddamento all’interno della batteria e garantire che i pacchi batteria non si surriscaldino. Per acquisire tutti gli effetti fisici, chimici e di trasferimento termico multidominio sarebbe necessario uno strumento di analisi degli elementi finiti e notevoli sforzi. Con gli strumenti MathWorks abbiamo eseguito analisi e acquisito conoscenze che hanno portato a progressi significativi nella tecnologia delle batterie.”

Punti chiave

  • Simscape Battery fornisce un modello di pacco batteria più accurato.

Nello sviluppo di algoritmi BMS in Simulink, è possibile utilizzare circuiti equivalenti per simulare il comportamento termoelettrico della cella di batteria. Il circuito equivalente comprende tipicamente una sorgente di tensione, una resistenza in serie e una o più coppie resistore-condensatore in parallelo. La sorgente di tensione fornisce la tensione a circuito aperto, mentre gli altri componenti modellano la resistenza interna e il comportamento della cella in funzione del tempo. Questi elementi del circuito equivalente dipendono, in generale, dalla temperatura e dallo stato di carica (SOC). Poiché queste dipendenze derivano dalla chimica di ciascuna batteria, devono essere determinate utilizzando misurazioni eseguite su celle di batteria dello stesso tipo di quelle impiegate per la progettazione del controller. È possibile utilizzare le ottimizzazioni di Simulink e MATLAB per parametrizzare un circuito equivalente tramite correlazione del modello con i dati sperimentali.

Screenshot di Simulink che mostra il circuito equivalente di una batteria.

Circuito equivalente di una batteria con tre costanti di tempo, resistenza interna e potenziale a circuito aperto.

Punti chiave

  • Utilizza l’ottimizzazione in Simulink e MATLAB per parametrizzare un circuito equivalente della cella di batteria.

Automazione della stima dei parametri di un modello di batteria

Stima dei parametri di un modello di batteria mediante una tecnica a più livelli: esempio di utilizzo di una cella al litio-ferro-fosfato

Oltre al modello di pacco batteria, le simulazioni realistiche dei sistemi di batterie richiedono modelli accurati dei componenti dei circuiti che collegano il sistema di batterie alla fonte di alimentazione e al carico. Simscape Electrical, un prodotto complementare Simulink, fornisce librerie complete dei componenti elettrici attivi e passivi necessari per assemblare un circuito completo per sistemi di batterie, come il front-end analogico per il bilanciamento delle celle. La sorgente di carica può essere costituita da un’alimentazione in corrente continua, come un impianto fotovoltaico (PV), o da una sorgente in corrente alternata, per la quale viene eseguito il raddrizzamento della corrente. 

La simulazione a livello di sistema con Simulink e Simscape consente di sviluppare una sorgente di carica elaborata intorno alla batteria e di convalidare il sistema di batterie in vari intervalli di funzionamento e condizioni di guasto. Il carico del pacco batteria può essere modellato e simulato in modo analogo. Ad esempio, il pacco batteria può essere collegato tramite un inverter a un motore sincrono a magneti permanenti (PMSM) di un veicolo elettrico (EV). Attraverso la simulazione è possibile variare il funzionamento del veicolo elettrico attraverso i cicli di guida e valutare l’efficacia del BMS in condizioni operative diverse.

Punti chiave

  • Utilizza le ottimizzazioni di Simulink e MATLAB per parametrizzare un circuito equivalente della cella di batteria.

Batteria ad alta tensione che alimenta l’IPMSM tramite un inverter trifase controllato

Integrando la simulazione desktop nelle procedure di test, è possibile creare ed eseguire casi di test per addestrare il sistema di batterie lungo tutti i possibili rami della logica e del controllo a circuito chiuso, un livello di copertura raramente disponibile nei test con l’hardware. Con questo approccio, il modello di simulazione funge da specifica eseguibile per la progettazione e il test del sistema di batterie. Simulink supporta i test attraverso la simulazione desktop con una serie di funzioni che consentono di:

  • Incorporare i requisiti come limiti, tolleranze, controlli logici e condizioni temporali nel modello con la tracciabilità delle specifiche originali
  • Sviluppare complesse sequenze di test basati sulla simulazione per eseguire test funzionali, di base, di equivalenza e back-to-back
  • Tracciare metriche standard del settore come decisione, condizione, copertura di condizione/decisione modificata (MC/DC), oltre alla copertura di limiti relazionali
  • Generare input di test per raggiungere una copertura completa del modello e obiettivi personalizzati
  • Utilizzare metodi formali per identificare gli errori di progettazione nascosti che causano integer overflow, logica morta e divisione per zero
Rappresentazione schematica degli algoritmi di un sistema di gestione delle batterie.

Algoritmi BMS e dinamica dell’impianto, comprendente pacco batteria, contattore, inverter e caricabatterie, modellati in Simulink.

Quando il sistema di batterie in fase di sviluppo deve soddisfare requisiti di sicurezza, è possibile integrare nel processo di sviluppo software test basati su metodi formali, in conformità a standard quali IEC 61508, IEC 61851 e ISO® 26262.

sezione

Simulazione in tempo reale di sistemi di batterie 

In seguito alla convalida tramite simulazione desktop, i modelli Simulink possono essere impiegati per generare codice C e HDL per la prototipazione rapida (RP) o i test Hardware-In-the-Loop (HIL) al fine di convalidare ulteriormente gli algoritmi BMS in tempo reale. Con l’RP, invece di scrivere il codice del software di controllo manualmente per i test in tempo reale, il codice viene generato dal modello di controller e viene distribuito su un computer in tempo reale che svolge le funzioni del microcontroller di produzione. Grazie alla generazione automatica del codice, le modifiche apportate agli algoritmi nel modello possono essere testate su hardware in tempo reale in poche ore, anziché in giorni. Inoltre, è possibile interagire con l’hardware di controllo in tempo reale direttamente da Simulink per modificare i parametri dell’algoritmo e registrare i dati di test.

Come nel caso della prototipazione rapida, i test HIL prevedono la generazione di codice da un modello Simulink e la relativa distribuzione su un computer in tempo reale. Nel caso dei test HIL, il codice viene generato dai modelli di sistema di batterie piuttosto che dai modelli di algoritmi di controllo, fornendo un ambiente virtuale in tempo reale che rappresenta il pacco batteria, gli elementi attivi e passivi del circuito, i carichi, il caricabatterie e altri componenti del sistema. Tale ambiente virtuale consente di convalidare la funzionalità del controller BMS in tempo reale prima dello sviluppo di un prototipo hardware e in un ambiente in cui l’hardware non viene danneggiato.

I test sviluppati durante la simulazione desktop possono essere trasferiti ai test HIL per garantire che i requisiti vengano soddisfatti durante l’intera progettazione del BMS. Sebbene i test HIL siano impiegati principalmente per testare il codice in esecuzione su un microcontroller o un FPGA, è possibile utilizzare un sistema di prototipazione rapida, come Simulink Real-Time™ e l’hardware target di Speedgoat®, e collegarlo alla configurazione HIL prima di selezionare l’hardware del controller di produzione.

La simulazione in tempo reale, che comprende sia la prototipazione rapida che i test HIL, fornisce agli ingegneri di sistemi di controllo dell’elettronica di potenza ulteriori informazioni sulle prestazioni della progettazione di un BMS sull’hardware. Sia nella prototipazione rapida che nei test HIL, l’obiettivo è emulare in hardware un aspetto della progettazione complessiva: il controller BMS nella prototipazione rapida e il bilanciamento del sistema di batterie nei test HIL. La simulazione in tempo reale offre diversi notevoli vantaggi nella progettazione di BMS poiché consente di:

  • Eseguire la prototipazione rapida per iniziare a convalidare gli algoritmi prima di scegliere l’hardware definitivo del controller.
  • Sfruttare la flessibilità di un sistema di test in tempo reale per una rapida iterazione di progettazioni e test.
  • Eseguire test HIL prima che l’hardware del prototipo del sistema di batterie sia disponibile.
  • Utilizzare una combinazione di test RP e HIL per addestrare gli algoritmi BMS per i casi di test che potrebbero essere difficili, costosi o distruttivi per l’hardware reale.
Modello di impianto in Simulink distribuito su un computer Speedgoat in tempo reale e algoritmi BMS distribuiti su un microcontroller, collegati ai fini dei test.

Test Hardware-In-the-Loop (HIL) del software di un sistema di gestione delle batterie. Il codice BMS è generato da algoritmi BMS modellati in Simulink e distribuiti su un microcontroller Texas Instruments® C2000. Il modello di impianto (pacco batteria, contattore, inverter, caricabatterie) è modellato in Simulink. Il codice viene generato e distribuito per essere eseguito sulla macchina Speedgoat in tempo reale con emulatore di batteria.

Riutilizzando i modelli di simulazione desktop in Simulink per generare codice per la simulazione in tempo reale, è possibile ridurre i tempi di sviluppo complessivi. È possibile generare codice C/C++ e HDL da eseguire su computer ottimizzati per le prestazioni in tempo reale. Il codice generato dai modelli Simulink per le simulazioni in tempo reale include interfacce che consentono di regolare i parametri di controllo durante la simulazione in tempo reale.

Durante il test dell’hardware, le modifiche al codice del controller possono causare ritardi e rischi aggiuntivi. Modificare il codice a mano, ricompilarlo e distribuirlo sul microcontroller o sull’FPGA richiede tempo, anche molto tempo se si tratta di fasi separate di sviluppo e modifica di algoritmi di controllo. A seconda dell’entità delle modifiche richieste, vi è anche il rischio di introdurre nuovi problemi nel codice implementato.

Invece di scrivere manualmente gli aggiornamenti al codice del software del controller, è possibile impiegare Simulink per generare codice che viene eseguito in tempo reale su un computer dedicato e utilizza I/O ad alta velocità per comunicare con l’hardware di test. Oltre a eliminare la codifica manuale e i relativi ritardi, un altro vantaggio di questo approccio RP consiste nella possibilità di convalidare le modifiche al software BMS eseguendo il modello di simulazione prima sul desktop per verificare che non siano stati aggiunti altri problemi.

Poiché lo sviluppo e la modifica di prototipi hardware di un sistema di batterie possono richiedere un notevole sforzo e poiché tali prototipi sono spesso costosi da riparare, non possono essere sempre testati con il sistema elettrico in cui funzionerà il pacco batteria. Date queste restrizioni, anche piccole modifiche alla progettazione possono mettere a rischio i tempi di sviluppo e le progettazioni di BMS tendono a progredire lentamente poiché i team considerano troppo rischiosi gli scostamenti radicali dalla progettazione precedente.

Con Simulink, è possibile generare codice C/C++ e HDL dal modello dell’hardware del sistema di batterie e del sistema più ampio di cui fa parte, compresi l’alimentazione e il carico. Una volta distribuito il codice su un computer in tempo reale, è possibile eseguire simulazioni in tempo reale dell’hardware con il codice del controller prima di testare il controller in un prototipo di sistema di batterie. Di conseguenza, è possibile individuare e correggere eventuali errori di progettazione di controlli prima che danneggino l’hardware del prototipo, costoso e difficile da sostituire. È inoltre possibile individuare errori di progettazione dell’hardware, tra cui il dimensionamento errato dei componenti.

Molti sistemi HIL in tempo reale, compreso l’hardware target Speedgoat, incorporano emulatori di batterie, che consentono di emulare alimentatori portatili, pile di batterie per veicoli elettrici o di assorbire corrente per simulare batterie sotto carica.

Test Hardware-In-the-Loop di sistemi di gestione delle batterie

sezione

Implementazione hardware

Nella fase di implementazione dell’hardware, i modelli di controllo Simulink verificati tramite simulazione desktop, prototipazione rapida e test HIL vengono utilizzati per generare un codice efficiente e pronto per la produzione del BMS. Se necessario, la generazione del codice di produzione può essere integrata in workflow conformi agli standard di certificazione formale utilizzati nel settore automobilistico, aerospaziale e in altri settori regolamentati.

Simulink genera codice C/C++ e HDL leggibile, compatto ed efficiente da modelli di controller, pronto per essere implementato su microcontroller, FPGA e ASIC di produzione. A differenza del codice generato per la prototipazione rapida, quello generato per la produzione non include le ulteriori interfacce necessarie per supportare il monitoraggio in tempo reale, la regolazione dei parametri e la registrazione dei dati. Le impostazioni di ottimizzazione consentono di controllare con precisione le funzioni, i file e i dati generati per migliorare l’efficienza del codice e facilitare l’integrazione con codice, tipi di dati e parametri di calibrazione legacy.

Nella simulazione Processor-In-the-Loop (PIL), il codice C/C++ o HDL viene eseguito sul microcontroller o sull’FPGA mentre il dispositivo è in esecuzione con un modello Simulink dell’hardware BMS, limitando il rischio di danneggiare un prototipo hardware durante le valutazioni iniziali del codice BMS. Sebbene le simulazioni PIL non vengano eseguite in tempo reale, sono bit-true e consentono di verificare il codice in una serie di condizioni e di garantire che verrà eseguito correttamente una volta distribuito sul sistema reale.

Le simulazioni desktop, la prototipazione rapida, i test HIL e i test PIL consentono di verificare e convalidare gli algoritmi di controllo del BMS. Con Simulink, è possibile utilizzare questi stessi algoritmi come base per generare codice pronto per la produzione: codice C/C++ ottimizzato e stabile per l’implementazione su microcontroller o codice HDL sintetizzabile per la programmazione FPGA o l’implementazione ASIC. La generazione automatica di codice elimina gli errori di traduzione manuale degli algoritmi e produce codice C/C++ e HDL con equivalenza numerica agli algoritmi convalidati in Simulink. Simulando gli algoritmi di controllo in tutte le possibili condizioni di funzionamento e di guasto, è possibile garantire ulteriormente che il codice generato sia in grado di gestire le stesse condizioni nel sistema reale, anche senza testarle tutte. Se in seguito i test hardware rivelano la necessità modificare gli algoritmi, è sufficiente modificare gli algoritmi nel modello, eseguire nuovamente i casi di test di simulazione per verificare la correttezza delle modifiche e generare un nuovo codice aggiornato. Tutto il codice C/C++ e HDL generato è completamente portabile, ottimizzabile con una serie di opzioni e tracciabile bidirezionalmente al modello Simulink.

Screenshot che mostrano il codice BMS distribuito sul microcontroller Texas Instruments C2000.

Codice di produzione BMS generato automaticamente da algoritmi BMS modellati in Simulink. Il codice è distribuito su un microcontroller Texas Instruments C2000. 

Generazione di codice di produzione