Articoli tecnici

Ricarica rapida della batteria con Simscape Battery e About:Energy

Di Darryl Doyle e Yashraj Tripathy, About:Energy; Steve Miller e Sebastián Arias, MathWorks


L'integrazione di TSPMe di About:Energy e dei modelli elettrici con modelli di pacchetto dettagliati abilitati da Simscape Battery garantisce precisione e sicurezza nei sistemi di gestione delle batterie, aumentando i progressi continui nel campo della ricarica delle batterie.

Il tempo di ricarica rapida della batteria è un indicatore chiave delle prestazioni nella progettazione dei veicoli elettrici (EV) e una delle principali preoccupazioni dei clienti di veicoli elettrici. Questo articolo dimostra come generare profili di ricarica rapida sicuri e robusti per sistemi di batterie di diverse dimensioni utilizzando Simscape Battery™, insieme a blocchi e parametri di modelli di celle personalizzati sviluppati da About:Energy. Ciò include i profili di ricarica rapida della batteria CC di livello 1 (fino a 80 kW) e di livello 2 (fino a 400 kW, indicato anche come livello 3) secondo SAE J1772. Questo articolo mostra anche come ingrandire modelli personalizzati di celle di batteria utilizzando Simscape™ e il flusso di lavoro Battery Pack Builder di Simscape Battery (Figura 1).

Un diagramma del flusso di lavoro che mostra come le celle della batteria vengono assemblate in pacchi per un'applicazione di ricarica rapida utilizzando Simscape.

Figura 1. Flusso di lavoro di ricarica rapida della batteria da cella a pacco utilizzando blocchi di modelli di celle Simscape personalizzati in Battery Builder.

Diversi processi all’interno di una cella della batteria agli ioni di litio di un veicolo elettrico influenzano la velocità massima alla quale la cella può caricarsi, come la diffusione del litio nell’elettrodo negativo e il trasporto degli ioni di litio nell’elettrolita. Questi processi avvengono su scala microscopica e sono regolati dalla temperatura locale, dallo stato di carica (SOC) e dallo stato di salute (SOH) delle singole celle della batteria, nonché dalla chimica cellulare. Altri fattori entrano in gioco anche a livello di modulo e pacco batteria, come i limiti di corrente del sistema e del caricabatterie CC, gli spread di temperatura tra le celle dovuti alla strategia di gestione termica, gli spread SOC dovuti alla progettazione elettrica, alla strategia di controllo, al posizionamento del sensore, alla resistenza elettrica non-cella e variabilità produttiva. Questi fattori aggiuntivi possono limitare ulteriormente le velocità di ricarica rapida. Pertanto, è fondamentale considerare tutte queste variabili in qualsiasi flusso di lavoro di progettazione e convalida delle batterie.

Modelli di celle a batteria

La funzionalità Battery Builder in Simscape Battery consente la creazione automatizzata di modelli di moduli e pacchi batteria da blocchi Simscape definiti dall'utente di una singola cella di batteria, inclusi i blocchi di celle di batteria forniti da About:Energy. In questo articolo, mostriamo due tipi di modelli di batteria precedentemente convalidati di una cella 2170 ricca di nichel e ad alta energia fornita da About:Energy:

  • Un modello termico a particella singola con elettrolita (TSPMe), che fornisce l'accesso agli stati elettrochimici interni o alle variabili necessarie per eseguire attività come il controllo rapido della carica.
  • Un modello di circuito equivalente (ECM) parametrizzato specificamente per la carica rapida, che fornisce tempi di calcolo relativamente più rapidi una volta scalato a livello di modulo o pacchetto.

La libreria Simscape Battery contiene anche blocchi di modelli di celle di batteria che utilizzano l'approccio del circuito equivalente e un modello elettrochimico a singola particella (Figura 2). Questi sono disponibili in Simscape Battery a partire da R2023b e R2024a.

I modelli delle celle di batteria per i clienti di About:Energy e i modelli di celle di batteria Simscape con approccio a circuito equivalente e un modello elettrochimico a singola particella.

Figura 2. Blocchi fondamentali del modello di cella della batteria in Simscape.

Esempio di funzionamento da cella a modulo

Possiamo utilizzare la funzionalità di creazione di batterie in Simscape Battery per prototipare rapidamente modelli di sistemi di batterie e valutare i tempi di ricarica rapida della batteria per diversi livelli di sottocomponenti in un'ampia gamma di condizioni limite termiche ed elettriche e stati operativi iniziali (SOC e temperatura).

Innanzitutto, dobbiamo definire un oggetto cella della batteria e collegare questo oggetto cella al corrispondente blocco del modello di cella fornito da About:Energy. Per prima cosa aumentiamo l’ECM. Per utilizzare il blocco ECM, carichiamo prima i parametri elettrotermici forniti da About:Energy, che sono contenuti in una struttura denominata cellData.

 run("CellModelParameters.mlx") % Load cell ECM parameters (e.g., capacity, energy) 

Per definire l'oggetto della cella della batteria, dobbiamo istanziare la classe Cell dal pacchetto Battery Builder in Simscape Battery come segue:

import simscape.battery.builder.* % Import battery builder package 

battCell = Cell(Geometry = CylindricalGeometry(... 
    'Height',simscape.Value(cellData.cellHeight,'m'),... 
    'Radius',simscape.Value(cellData.cellRadius,'m')), ... 
    Capacity = simscape.Value(cellData.cellCapacity,"A*hr"), ... 
    Energy = simscape.Value(cellData.cellNominalEnergy,"W*hr")); % Cell object 

Possiamo collegare il nostro oggetto cella batteria ai blocchi personalizzati About:Energy modificando la proprietà CellModelOptions come segue:

battCell.CellModelOptions.CellModelBlockPath = "AE_Mathworks_lib/AE_mathworks_ECM";
disp(battCell.CellModelOptions)

CellModelBlock with properties:

CellModelBlockPath: "AE_Mathworks_lib/AE)_mathworks_ECM"
    BlockParameters: [1x1 struct]

Per questo esempio, creiamo una batteria di trazione di tipo automobilistico da 400 volt composta da 16 moduli batteria. Ciascun modulo batteria è costituito da 36 celle cilindriche collegate elettricamente in parallelo e quindi sei di questi gruppi paralleli collegati elettricamente in serie (36p6s). Il codice per ingrandire il componente cella in un assemblaggio parallelo e quindi in un modulo è mostrato di seguito:

battPSet = ParallelAssembly(Cell = battCell, NumParallelCells = 36,...
    Rows = 9, ModelResolution="Detailed",...
    NonCellResistance = "on",...
    AmbientThermalPath="CellBasedThermalResistance", ...
    CoolantThermalPath="CellBasedThermalResistance",...
    CoolingPlate="Bottom"); % Parallel assembly object

battModule = Module(ParallelAssembly = battPSet, NumSeriesAssemblies = 6,...
    NonCellResistance = "on",...
    ModelResolution="Grouped",...
    SeriesGrouping = [1,4,1],...
    ParallelGrouping = [36,1,36],...
    AmbientThermalPath="CellBasedThermalResistance", ...
    CoolantThermalPath="CellBasedThermalResistance",...
    CoolingPlate="Bottom"); % Module object

In alternativa, possiamo anche definire lo stesso design e gli stessi oggetti della batteria utilizzando l'app Battery Builder (Figura 3).

Uno screenshot dell'app Battery Builder che mostra come vengono scelte le varie proprietà del modulo per modellare e progettare un pacco batteria.

Figura 3. L'interfaccia dell'app Battery Builder per la progettazione della batteria.

Possiamo generare automaticamente modelli Simscape dagli oggetti batteria definiti sopra chiamando la funzione buildBattery. Quando chiamiamo questa funzione, possiamo anche definire la coppia nome-valore MaskParameters in “VariableNamesByType“ per generare uno script con tutti i parametri necessari per eseguire il modello. Prima della creazione del modello, possiamo verificare la definizione e il design della nostra batteria utilizzando l’oggetto BatteryChart, che aiuta a visualizzare la geometria e il posizionamento delle celle della batteria in uno spazio 3D. La tabella 1 mostra i risultati tipici dell'utilizzo di queste funzioni per il nostro modulo e gli oggetti di assemblaggio parallelo.

Tabella 1. Codice per visualizzare oggetti batteria e generare automaticamente modelli in Simscape Battery, costruiti utilizzando i blocchi About:Energy.
Codice Visualizzazione Batteria Codice di creazione del modello di batteria
f = uifigure(Color="w");
BatteryChart(Battery=battPSet);
buildBattery(battPSet, Library= "detailedPSet",...
    MaskParameters = "VariableNamesByType"); 
f = uifigure(Color="w");
BatteryChart(Battery=battModule);
buildBattery(battModule, Library= "groupedModule",...
    MaskParameters = "VariableNamesByType"); 

Successivamente, definiamo il carico elettrico a carica rapida, che viene utilizzato per testare i modelli di batteria generati. Per raggiungere questo obiettivo, dobbiamo prima stimare la capacità di ricarica rapida delle celle della batteria.

Ricarica rapida a livello di cella

Durante un evento di ricarica rapida, esiste un rischio maggiore di placcatura al litio a seconda delle condizioni operative della batteria e della sua elettrochimica. In definitiva, la forza trainante principale dietro la placcatura al litio è la differenza di potenziale locale tra le fasi solida e liquida all’interfaccia dell’anodo elettrolitico, che è influenzata da molti fattori, come la temperatura, i limiti di diffusione, il SOC e la velocità di carica. Le temperature fredde portano generalmente a fenomeni di trasporto lenti e a maggiori differenze di potenziale durante la ricarica. Pertanto, le differenze di temperatura intracella e SOC faranno naturalmente sì che diverse regioni della cella siano maggiormente a rischio di placcatura al litio. Queste differenze saranno sempre presenti dato il design specifico della cella e le condizioni al contorno termico che circondano la cella. La tabella 2 presenta le principali variabili interne e le condizioni al contorno che devono essere considerate per ottenere un profilo di carica sicuro e veloce.

Tabella 2. Vincoli, condizioni operative e condizioni al contorno per simulazioni di carica rapida.
Variabile Descrizione & Codice
Potenziale anodico

Utilizzeremo il potenziale elettrostatico dell'elettrodo negativo rispetto a un elettrodo di riferimento Li/Li+ come indicatore di un aumento del rischio di placcatura al litio e di un degrado accelerato. Durante la carica, questo potenziale diminuisce a causa del trasporto di massa e dei processi di reazione chimica che avvengono all'interno della cella. Per ridurre il rischio di placcatura al litio, questo potenziale non deve scendere troppo al di sotto di 0 V. In questo esempio, questa soglia potenziale sarà impostata arbitrariamente su 50 mV.

 AnodePotentialThreshold = 0.05; % Unit: V 
Temperatura della batteria

La temperatura della cella deve rimanere al di sotto del limite operativo per limitare il degrado e ridurre il rischio di fuga termica.

 TemperatureThreshold = 55 + 273.15; % Unit: K 
Temperatura iniziale della batteria

Le temperature più calde consentono correnti più elevate. Se viene raggiunta la temperatura operativa massima, il sistema di controllo ridurrà la corrente e allungherà il tempo di ricarica. Le temperature iniziali più fredde forniscono un maggiore delta termico per smorzare l'elevata generazione di calore, ma temperature più fredde limitano anche la corrente massima. Pertanto, esiste una temperatura iniziale ottimale e può essere trovata utilizzando la simulazione o test fisici.

 InitialCellTemperature = 35 + 273.15; % Unit: K 
Condizioni al contorno della gestione termica

In questo esempio, consideriamo una cella della batteria “raffreddata dal basso” inserita in una piastra di raffreddamento, come mostrato nel diagramma seguente. Assumeremo una resistenza termica costante di 5 K/W definita dalla superficie inferiore della cella al liquido refrigerante nel canale di raffreddamento.

 CellThermalPathResistance = 5; % Unit: K/W 
Voltaggio del terminale della batteria

Durante la ricarica la tensione della cella aumenta. Per evitare condizioni di sovratensione o sovraccarico, la tensione della batteria non può superare il massimo specificato dal fornitore della cella.

 MaximumBatteryVoltage = 4.2; % Unit: V 
Batteria completamente carica

Al termine della fase di carica, la tensione ai terminali sale verso il suo livello massimo. Per garantire una carica rapida ottimale ed evitare condizioni di sovraccarico, la corrente deve essere ridotta in un gradino di tensione costante (CV). In questo articolo, la condizione di carica completa (100% SOC) viene raggiunta quando il valore corrente scende al di sotto di 1/10 della capacità nominale della cella.

 FullyChargedCurrentThreshold = cellData.cellCapacity/10; % Unit: A 
Corrente di carica massima

Questo valore dovrebbe essere specificato dal produttore della batteria per una serie specifica di condizioni (SOC, SOH, temperatura). In generale, le batterie possono accettare correnti di carica più elevate per brevi periodi di tempo e correnti di carica inferiori per periodi di tempo più lunghi.

 MaximumChargeCurrent = 30; % @ 0% SOC, instantaneous limit, Unit: A 

Metodologia del profilo di ricarica rapida

Per monitorare il potenziale dell'anodo nell'intero rotolo di gelatina, è stato creato un modello di livello di cella elettrotermica discretizzata in altezza utilizzando il linguaggio Simscape e il modello TSPMe di About:Energy come base (Figura 4). Il modello termico è discretizzato lungo l'altezza per catturare i gradienti termici che derivano dal raffreddamento della base. Gli elementi discretizzati sono collegati elettricamente in parallelo e termicamente in serie in modo da replicare gli interni della cella e consentire una maggiore risoluzione dello stato interno. È possibile ottenere risoluzioni di stato più elevate e più accurate anche dividendo gli elementi radialmente. About:Energy fornisce anche blocchi di modelli termici 2D Simscape .

Un modello di un livello di cella elettrotermica creato utilizzando Simscape.

Figura 4. Modello di cella della batteria discretizzato creato utilizzando Simscape e Simulink.

Tre controller PI declassano la corrente massima consentita e mantengono condizioni operative sicure (Figura 5):

Un modello Simulink della strategia di controllo per mantenere condizioni operative sicure nel modello di cella della batteria discretizzata.

Figura 5. Strategia di controllo Simulink per il modello di cella di batteria discretizzata.

La derivazione della corrente di carica ottimale utilizza questa strategia (Figura 6):

  • Caricare la batteria alla velocità più veloce consentita dal fornitore allo 0% di SOC e alla temperatura iniziale selezionata.
  • Declassare la corrente se il potenziale dell'anodo raggiunge il valore di soglia specificato.
  • Declassare se il punto più caldo della cella della batteria raggiunge la temperatura operativa massima.
  • Declassare se la tensione del terminale raggiunge il limite di tensione massimo per evitare il sovraccarico.
  • Se necessario, aggiungere altre condizioni di declassamento basate su altri stati, come la concentrazione di litio nell'elettrolita.
  • La carica si interrompe quando il gradino di tensione costante raggiunge C/10.
  • Memorizzare il segnale di corrente finale erogato come profilo di corrente di ricarica rapida finale.
cellSimulation = sim("CellLevelFastCharge.slx","StartTime","0","StopTime","3600");
run("PlotCellSimulation.mlx"); 
Diversi grafici che tracciano le variabili, come la temperatura, la tensione e lo stato di carica della batteria, nel tempo per la simulazione del modello di cella della batteria discretizzata.

Figura 6. Risultati della simulazione del modello di cella della batteria discretizzata.

La tabella 3 riassume i risultati discretizzati della simulazione a livello di cella dati le nostre ipotesi.

Tabella 3. Tempi di ricarica rapida della cella.
Finestra SOC Tempo di ricarica rapida (min) Condizioni
0–80% 14 Temperatura iniziale @ 35 °C, BoL e vincoli assunti
0–100% 30 Temperatura iniziale @ 35 °C, BoL, condizione C/10 CV

Mappa di ricarica rapida delle celle

Il controller di carica rapida stabilito nella sezione precedente produrrà un profilo di corrente che è valido solo per la temperatura iniziale e il SOC presunti e non considera le disuniformità nei valori iniziali o dinamici di questi stati. Possiamo ricavare una mappa bidimensionale più generale della corrente di carica massima in funzione della temperatura e del SOC (all'inizio della vita) eseguendo più simulazioni in diverse condizioni iniziali.

Utilizzando la logica di Stateflow®, per ogni serie di condizioni iniziali, possiamo eseguire una simulazione in cui aumentiamo rapidamente la corrente da zero amps fino a raggiungere la soglia del potenziale anodico o la soglia della tensione terminale (Figura 7). Quando viene raggiunta una di queste soglie, declassiamo la corrente per mantenere la variabile limitante costante alla sua soglia per una determinata durata. In questo articolo, questa durata sarà definita arbitrariamente a 60 secondi (a volte noto come limite continuo) per simulare un evento di lunga durata come una carica.

Un modello Stateflow di una cella di batteria discretizzata utilizzato per ottenere i limiti di corrente di carica della cella.

Figura 7. Simulazione del modello di cella della batteria discretizzata utilizzata per ottenere i limiti della corrente di carica della cella.

In generale, durate più lunghe si traducono in limiti di corrente inferiori o più restrittivi. La simulazione si interrompe all'intervallo di tempo specificato e quindi salviamo il valore corrente finale come limite (Figura 8). La mappa risultante può essere utilizzata come input per le nostre simulazioni a livello di sistema precedentemente definite, che non hanno accesso agli stati elettrochimici interni come i potenziali anodici.

InitialCellTemperatureVector = [5,15,25,35,45,50] + 273.15; % Unit: K
InitialSOCVector = [0,0.05,0.1,0.2,0.5,0.6,0.8,0.95]; % Unit: -

for initTempIdx = 1:numel(InitialCellTemperatureVector)
    for initSOCIdx = 1:numel(InitialSOCVector)
        InitialCellTemperature = InitialCellTemperatureVector(initTempIdx);
        InitialSOC = InitialSOCVector(initSOCIdx);
        cellSimulations(initTempIdx).SOCPoint(initSOCIdx).Data = sim("CellLevelFastChargeLimitsStateFlow.slx","StartTime","0","StopTime","60");
        cellCurrentLimit(initTempIdx,initSOCIdx) = cellSimulations(initTempIdx).SOCPoint(initSOCIdx).Data.simout.Data(end);
        save cellCurrentLimit
    end
end

newCellCurrentLimit = [cellCurrentLimit, zeros(1,numel(cellCurrentLimit(:,1)))'];

figure("Color","w")
[xq,yq]= meshgrid([5:1:50]+273.15, 0:0.05:1);
vq = griddata(InitialCellTemperatureVector,[InitialSOCVector,1],newCellCurrentLimit',xq,yq);
mesh(xq,yq,vq)
xlabel('Temperature (°C)')
ylabel('State of Charge (-)')
zlabel('Current Limit (A)')
view([-5 3.5 5])
Un grafico che traccia il limite di carica attuale della batteria in funzione della sua temperatura e dello stato di carica.

Figura 8. Mappa del limite della corrente di carica continua in funzione della temperatura e del SOC.

Carica rapida a livello di gruppo parallelo

Quando si producono pacchi batteria per veicoli elettrici, una cella della batteria viene in genere prima collegata elettricamente in parallelo ad altre celle per formare un insieme parallelo, aumentando così la capacità e l'energia della batteria. Per calcolare il profilo di carica rapida per un sottosistema di assemblaggio parallelo, dobbiamo semplicemente moltiplicare il profilo di carica rapida delle celle ottenuto per il numero di celle in parallelo. A seconda di questo numero P, la corrente di carica rapida risultante potrebbe superare il limite massimo di corrente dei comuni caricabatterie CC presenti nelle stazioni di ricarica. Questo è un vincolo importante da tenere presente quando si tenta di prevedere i tempi di ricarica rapida a livello di sistema.

Data l'energia specifica della batteria con un numero totale fisso di celle, i pacchi batteria da 400 volt avranno in genere un numero maggiore di celle collegate in parallelo rispetto ai sistemi da 800 volt. Se vogliamo utilizzare il profilo ottimale di carica rapida delle celle derivato nella prima sezione, ne consegue che un numero maggiore di celle in parallelo si tradurrà in correnti di carica rapida più elevate. Per i tipici sistemi a 400 volt, correnti più elevate o numeri P indicano che è più probabile che siano vincolati dalla stazione di ricarica (quando si avvia la carica allo 0% SOC). Questa limitazione può portare a una capacità di ricarica rapida delle celle non sfruttata e a velocità di ricarica più lente. La tabella 4 mostra le correnti massime tipiche per diversi caricabatterie per veicoli elettrici CC.

Tabella 4. Specifiche del caricabatterie rapido.
Potenza tipica del caricabatterie esterno Corrente continua massima tipica
100 chilowatt 100–250 A
350 chilowatt 350–500 A

La Figura 9 mostra il limite di corrente del compressore di 500 A rispetto ai tipici profili di carica rapida a livello di assemblaggio parallelo ingranditi per tipici sistemi a 400 e 800 volt. Poiché un numero maggiore di celle in parallelo è correlato a sistemi a 400 volt (per una data energia della batteria), definiremo arbitrariamente un assemblaggio parallelo “36 P” come rappresentativo di un sistema a 400 volt. Quindi confronteremo questo sistema con un assemblaggio parallelo “18 P”, rappresentativo di un sistema da 800 volt a 35 °C.

 run("parallelAssemblyProfile.m") 
Un grafico, con la corrente della batteria sull'asse y e lo stato di carica massimo sull'asse x, che confronta la corrente della batteria e lo stato di carica massimo.

Figura 9. Confronto tra i profili di carica da 800 V e 400 V per 35 °C.

Come mostrato nel grafico, il sistema a 400 volt non sarà inizialmente in grado di sfruttare tutta la capacità di carica della cella, il che potrebbe portare a tempi di ricarica più lenti rispetto allo 0–80% previsto in 14 minuti.

In generale, la velocità di carica di un insieme di batterie collegate elettricamente è regolata dal punto più freddo sulla cella più fredda e dal punto SOC più alto all'interno della cella con il SOC più alto. Pertanto, il controllo della carica rapida sarà basato sulla temperatura minima della cella e sui segnali SOC più alti ottenuti dal modello di impianto di assemblaggio parallelo.

Le celle della batteria sono generalmente disposte sopra un materiale di interfaccia termica a contatto con la piastra di raffreddamento (che contiene anche uno strato di isolamento elettrico). Definiremo una variazione casuale in questo percorso termico assumendo alcune irregolarità (ad esempio, l'applicazione di materiale di interfaccia termica tra le celle e una piastra di raffreddamento).

 ParallelAssembly1.CoolantResistance = 14 + (30-14)*rand(36,1)'; % Cell level coolant thermal path resistance, K/W 

Altri aspetti importanti da considerare che possono essere modellati con Simscape ma non sono esplicitamente trattati in questo articolo sono:

  • Resistenza interna cellula-cellula e variabilità di capacità derivanti dalla produzione di celle.
  • Il design della piastra collettore può causare lievi squilibri di corrente se non progettato correttamente.
  • Differenti percorsi termici rispetto all'ambiente (queste dinamiche sono solitamente più lente).
  • Controllo del liquido di raffreddamento: Normalmente, i veicoli elettrici avrebbero un refrigeratore fisso o una capacità di raffreddamento (ad esempio, 5 kW) per la rimozione del calore dal sistema di batterie (e da altri componenti). Un controllo realistico del liquido di raffreddamento avrà anche un effetto importante sul tempo di ricarica rapida della batteria.

Possiamo integrare il nostro blocco di assemblaggio parallelo in Simulink® e aggiungere la mappa di carica 2D ingrandita che abbiamo appena derivato con la capacità elettrochimica della cella. Abbiamo anche aggiunto un controller PI per limitare la temperatura massima della cella nell'assemblaggio in parallelo (Figura 10).

Un modello del blocco di controllo del profilo di carica rapida con assemblaggio parallelo.

Figura 10. Simulazione dell'assemblaggio parallelo (sopra) e blocco di controllo del profilo di carica rapida dell'assemblaggio parallelo (sotto).

Esecuzione della simulazione dell'assemblaggio parallelo e tracciamento dei risultati (Figura 11).

run("detailedPSet_param.m");
set_param("ParallelAssemblyLevelFastCharge","SimscapeLogType",'all')
pSetSimulation = sim("ParallelAssemblyLevelFastCharge.slx","StartTime","0","StopTime","5200");
run("PlotParallelAssemblySimulation.mlx"); % Plot results
Quattro grafici che mostrano i risultati della simulazione dell'assemblaggio in parallelo per corrente, tensione, stato di carica e temperatura della batteria nel tempo.

Figura 11. Risultati della simulazione dell'assemblaggio parallelo.

Come mostrato nel grafico di riepilogo, il gruppo in parallelo è vincolato dalla corrente massima di 500-amp del caricatore all'inizio della simulazione. Inoltre, la temperatura più calda della cella raggiunge i 55 °C, innescando un declassamento termico che rallenta il tempo di simulazione. Per visualizzare le temperature dinamiche della batteria, possiamo creare un oggetto registro di simulazione della batteria come mostrato nel codice seguente (Figura 12).

pSetSimLog = BatterySimulationLog( battPSet, pSetSimulation.simlog.ParallelAssembly1);
pSetSimLog.SelectedVariableUnit = "degC";
f = uifigure("Color","w");
g = uigridlayout(f, [1,1]);
parallelAssemblyChart = BatterySimulationChart(Parent = g, ...
    BatterySimulationLog = pSetSimLog);
parallelAssemblyChartColorBar = colorbar(parallelAssemblyChart);
ylabel( parallelAssemblyChartColorBar, strcat("Cell temperature", " (", pSetSimLog.SelectedVariableUnit,")") ,'FontSize',14 );
parallelAssemblyChartColorBar = colormap(parallelAssemblyChart);
Una visualizzazione dei risultati della simulazione dell'assemblaggio parallelo che mostra un pacco batteria con singole celle, ciascuna a una temperatura specifica.

Figura 12. Risultati della simulazione della dinamica dell'assemblaggio parallelo BatteryChart.

Come mostrato nel grafico dinamico della batteria, tra le celle c'è una differenza di temperatura di circa 5 °C. La differenza è dovuta principalmente alla variazione casuale del percorso termico rispetto all'assunzione del refrigerante. La tabella 5 mostra i risultati della simulazione dell'assemblaggio parallelo. I tempi di ricarica rapida SOC 0–80% sono aumentati di 10 minuti principalmente a causa delle limitazioni a livello di sistema e delle ipotesi termiche.

Tabella 5. Tempi di ricarica dell'assemblaggio in parallelo.
Finestra SOC Tempo di ricarica rapida (min) Condizioni
0–80% 24 Temperatura iniziale @ 35 °C, BoL
0–100% 43 Temperatura iniziale @ 35 °C, BoL, condizione C/10 CV

Linee guida per blocchi di celle personalizzati fino a R2024a

Simscape Battery Pack Builder presenta alcune linee guida per utilizzare in modo efficace i blocchi di celle personalizzati:

  • Il modello di cella personalizzato non può avere una variabile chiamata power_dissipated.
  • Se sono richiesti effetti termici, il modello deve avere almeno una porta o nodo di tipo: dominio termico.
  • Se una variabile di blocco del modello di cella chiave deve essere visibile nel canvas Simulink (ad esempio, utilizzando il blocco Probe), allora questa variabile deve essere impostata pubblica senza alcuna restrizione su ExternalAccess. In caso contrario, la variabile sarà visibile solo nel registro della simulazione per la post-elaborazione.

Modulo per simulazioni di imballi

Seguendo lo stesso processo di sopra, possiamo creare modelli Simulink per il blocco modulo generato sopra e per blocchi batteria più grandi, come un pacco. Quindi possiamo accoppiare questi blocchi allo stesso blocco di controllo di carica dell'assemblaggio parallelo, che si basa sulla mappa di carica delle celle 2D. La tabella 6 contiene un riepilogo di queste simulazioni. In generale, il tempo di ricarica rapida aumenta leggermente con gli attuali modelli di moduli e pacchi a causa dell'aumento della differenza di temperatura e delle temperature più elevate su alcune celle.

Tabella 6. Modulo e pacchetto risultati di ricarica rapida.
Modello Risultati/Grafico dinamico della batteria

0–80%: 25 minuti
0–100%: 44 minuti

0–80%: 27 minuti
0–100%: 46 minuti

Conclusioni

  • La nostra indagine sui tempi di ricarica rapida della batteria utilizzando Simscape Battery e i blocchi e i parametri About:Energy ha dimostrato l’importanza di un approccio metodico multiscala dalla modellazione delle singole celle alle simulazioni dei pacchetti. Sottolineiamo l'importanza di integrare i modelli TSPMe di About:Energy TSPMe e i modelli elettrici con modelli di pacchetto dettagliati abilitati da Simscape Battery per garantire precisione e sicurezza nei sistemi di gestione delle batterie, aumentando i progressi continui nel campo della ricarica delle batterie. Le principali incertezze su questi tempi di carica rapida previsti sono principalmente dovute alla risoluzione del modello (ad esempio, discretizzazione elettrotermica), alle ipotesi di modellazione e all'accuratezza del modello elettrochimico/ECM utilizzato. In generale, una maggiore discretizzazione o risoluzione del modello produrrà risultati più accurati.
  • Come mostrato nel flusso di lavoro “cell-to-pack”, i tempi di ricarica rapida delle batterie dipendono da un’ampia gamma di variabili e la progettazione dei pacchi batteria può avere un impatto sostanziale. Partendo a livello di cella, la velocità più rapida alla quale una cella di batteria può caricarsi dipende dalla diffusione del litio e dai processi di trasporto che avvengono su piccola scala. A livello di modulo e pacco, altre variabili diventano importanti, come il limite di corrente del caricabatterie CC, il numero di celle in parallelo, la tensione nominale del pacco batteria (400 volt contro 800 volt), gli spread di temperatura intracella e intercella, gli spread SOC intracella e intercella, resistenza non cellulare, tra gli altri. Come mostrato in questo articolo, queste variabili, in particolare le differenze di temperatura, possono avere un effetto importante sulle velocità di ricarica, quindi è fondamentale che vengano prese in considerazione nei flussi di lavoro di progettazione e verifica virtuale della batteria.

Il diagramma seguente mostra i tempi di ricarica rapida previsti per la batteria da cella a pacco per il sistema a 400 volt studiato in questo articolo (Figura 13).

batteries = ["Cell","Parallel Assembly","Module", "Pack"];
batteries0To80ChargeTimes = [ChargeTime0To80 pSetChargeTime0To80  moduleChargeTime0To80 packChargeTime0To80];
batteries0To100ChargeTimes = [ChargeTime0To100 pSetChargeTime0To100  moduleChargeTime0To100 packChargeTime0To100];
figure("Color","w")
subplot(1,2,1)
bar(batteries,batteries0To80ChargeTimes)
ylabel("0 to 80% SOC Charge Time (min)")
grid on
subplot(1,2,2)
bar(batteries,batteries0To100ChargeTimes)
ylabel("0 to 100% SOC Charge Time (min)")
grid on
Due grafici a barre affiancati che mostrano il tempo di ricarica di diverse configurazioni di batteria allo stato di carica dallo 0 all'80% e dallo 0 al 100%.

Figura 13. Tempi di ricarica rapida da cella a pacco.

Pubblicato nel 2024

Visualizza articoli per funzionalità correlate

Visualizza articoli per settori correlati