Djinious
Sistemi a batteriaMobilità

Pacco batteria per veicoli elettrici

Un pacco batteria per veicolo elettrico come un unico modello multi-dominio — celle a circuito equivalente, una rete termica accoppiata, un controllore di carica CC-CV e un bilanciatore attivo, composti cella → modulo → pacco ed eseguiti end-to-end.

DjiniousLab
Un modulo di bilanciamento a 4 celle sul canvas di DjiniousLab — quattro celle a circuito equivalente che partono da diversi stati di carica, collegate tramite un bilanciatore attivo a trasferimento di carica a oscilloscopi di stato di carica per ogni cella
≈345 V · pacco da 3,5 kWh
96S2P≈345 V · pacco da 3,5 kWh
domini accoppiati
3domini accoppiati
notebook di progettazione
11notebook di progettazione
composizioni .djl
3composizioni .djl
errore SoC EKF
0.07%errore SoC EKF
ricarica rapida all’80%
3,1Cricarica rapida all’80%

Un pacco batteria per veicolo elettrico, modellato dove le discipline si incontrano.

L’elettrochimica della cella, la termica del pacco e il sistema di gestione della batteria qui non vivono in strumenti separati. Un pacco NMC 96S2P è costruito come un’unica composizione — celle a circuito equivalente accoppiate a una rete termica, racchiuse in un caricatore CC-CV a ciclo chiuso e un bilanciatore attivo — e risolto insieme, elettrico, termico e controllo in un’unica elaborazione.

Un pacco, composto a partire da una cella.

Una singola cella a circuito equivalente è l’atomo; il modulo e il pacco ne sono composizioni. Ogni livello è un proprio modello eseguibile, e tutti condividono un’unica definizione di cella.

Cella a circuito equivalente

Una cella Thevenin 1-RC — resistenza serie, una coppia di polarizzazione RC, una curva OCV(z) non lineare e uno stato di carica calcolato per conteggio coulombiano — scritta una volta e riutilizzata a ogni livello.

Nodo termico

Le perdite ohmiche e di polarizzazione diventano calore che alimenta una massa termica concentrata con dispersione convettiva verso l’ambiente. La temperatura è uno stato di prim’ordine, non un ripensamento.

Controllo di carica BMS

Una legge di controllo proporzionale saturato legge la tensione di pacco e comanda una corrente di carica — riproducendo il classico inviluppo corrente costante → tensione costante senza alcun evento di commutazione di modalità.

Bilanciatore attivo

Un bilanciatore a trasferimento di carica sposta carica tra celle sbilanciate verso la media del modulo — conservando la carica totale mentre lo scarto collassa in pochi minuti.

Stima dello stato

Un filtro di Kalman esteso fonde tensione rumorosa e corrente affetta da bias per tracciare il SoC online, dove un semplice contatore coulombiano andrebbe alla deriva.

Inviluppo di sicurezza

Un limitatore di sovratemperatura con isteresi riduce la corrente di carica per mantenere la cella più calda al suo limite — il BMS che protegge il pacco, nel ciclo.

DjiniousLab
Un modulo di bilanciamento attivo a 4 celle sul canvas di DjiniousLab: quattro blocchi BalCell a SoC 1,00 / 0,92 / 0,85 / 0,80 collegati tramite un blocco Balancer4 a quattro oscilloscopi di SoC per cella
Il modulo di bilanciamento come composizione sul canvas — quattro celle che partono con uno scarto del 20%, un bilanciatore attivo a trasferimento di carica, e un oscilloscopio per cella. Eseguilo e lo scarto collassa dal 20% a meno dello 0,5% in venti minuti mentre il SoC medio resta invariato; l’alternativa a dissipazione passiva richiederebbe circa dieci ore.

Elettrico, termico e controllo, risolti insieme.

La rete elettrica acausale, il percorso termico per cella e il ciclo di controllo nel dominio dei segnali vengono elaborati in un unico sistema differenziale-algebrico che un risolutore stiff Rodas5P integra nel suo insieme — nessun passaggio di consegne per co-simulazione, nessun passo temporale manuale tra strumenti. Una scarica a 1C della cella fa scendere il SoC dal pieno al 16,7%, fa calare la tensione ai terminali da 4,10 V a 3,21 V, e innalza la temperatura della cella di circa 1,4 °C, tutto dalle stesse equazioni accoppiate. Lo stesso modello si esporta come unità di co-simulazione FMI 2.0 per Simulink, dSPACE e altri host FMI.

DjiniousLab
Un notebook di DjiniousLab che rappresenta |dOCV/dz| in funzione dello stato di carica per una cella NMC e una LFP — la curva NMC ha un picco netto, la curva LFP resta bassa e piatta
Perché la chimica decide l’osservabilità. La pendenza della tensione a circuito aperto rispetto allo stato di carica stabilisce quanto un errore di SoC si manifesti in una lettura di tensione — il plateau notoriamente piatto dell’LFP è il classico grattacapo della stima, e il modello lo rende visibile prima di impegnarsi su una chimica.

Un EKF che tiene dove un contatore va alla deriva.

Esegui il pacco su un profilo misto di carica/scarica con un voltmetro rumoroso e un amperometro affetto da bias. Un contatore coulombiano puro — la baseline economica — si allontana fino a circa il 5% di errore di SoC. Il filtro di Kalman esteso sullo stato [SoC, polarizzazione] della cella corregge a partire dal residuo di tensione e finisce entro lo 0,07% dal valore vero, restando sotto ~0,7% dopo i primi minuti — comodamente entro un budget di accuratezza del 2%.

DjiniousLab
Un grafico del notebook del SoC vero contro una stima del contatore coulombiano che deriva contro una stima EKF che segue il valore vero su un profilo misto di carica/scarica
SoC vero (linea continua) contro il contatore coulombiano alla deriva (tratteggiata) contro la stima EKF — stessa ipotesi iniziale errata e stesso bias di corrente, ma il filtro converge e insegue mentre il contatore ad anello aperto accumula errore.

L’inviluppo CC-CV, da un’unica legge di controllo.

Il controllore di carica comanda una corrente proporzionale allo scarto tra la tensione di pacco e il set-point CV, limitata a un massimo. Lontano dal set-point satura — questa è la fase a corrente costante; man mano che il pacco si riempie, il comando esce dalla saturazione e si riduce gradualmente — questa è la fase a tensione costante. Esplorando il limite di corrente contro la temperatura di picco si trova il ginocchio: circa 3,1C raggiunge l’80% dello stato di carica in 25 minuti restando entro il limite termico.

DjiniousLab
Un grafico del notebook del profilo di ricarica rapida raccomandato — la tensione di pacco che sale verso il set-point mentre la corrente di carica si riduce — annotato con l’80% di SoC a 25,1 minuti
La ricarica rapida raccomandata: la tensione di pacco sale mentre la corrente resta al suo limite, poi si riduce gradualmente quando subentra la fase a tensione costante — 80% dello stato di carica in 25,1 minuti, verificato contro il requisito di ≤45 minuti.

I dettagli che decidono la correttezza.

Convenzione del segno positivo in carica

La corrente ai terminali è definita positiva entrante nel pin +, quindi una corrente positiva carica. Un carico di scarica forza +I nel proprio pin e la legge di Kirchhoff fa sì che la cella veda −I — invertire questo fa sì che il pacco si carichi silenziosamente invece di scaricarsi.

Percorso termico causale

Il motore del canvas rifiuta un singolo componente che faccia da ponte tra due domini acausali, quindi la cella non può portare sia una porta elettrica sia una porta termica acausale. Il calore viene invece emesso come segnale e integrato da un blocco termico — stessa fisica, un modello che compila davvero.

Il ciclo algebrico del BMS

La corrente di carica compare nella tensione di pacco misurata attraverso la caduta ohmica, chiudendo un ciclo algebrico. La legge proporzionale saturata lo mantiene ben posto, e il risolutore lo risolve a ogni passo — confermato con una verifica incrociata analitica CC→CV.

Bilanciamento a conservazione della carica

Ogni cella scambia una corrente proporzionale alla propria distanza dalla media del modulo. Le correzioni sommano a zero, quindi il SoC medio è preservato esattamente mentre lo scarto decade — trasferimento attivo, non dissipazione bruciata.

Ogni affermazione è un numero che puoi rieseguire.

I notebook e gli studi .djl sono subordinati a risultati verificati dal worker dal vivo, con la fisica verificata incrociando un’integrazione indipendente delle stesse equazioni.

Risultato

  • Errore SoC EKF: 0,07%
  • Scarto di bilanciamento attivo (20 min): 0,3%
  • Ricarica rapida all’80% SoC: 25,1 min
  • Vita a cicli all’80% a 25 °C: 781 cicli
  • Rigenerazione recuperata nel ciclo di guida: 28%

Obiettivo

  • Errore SoC EKF: ≤ 2%
  • Scarto di bilanciamento attivo (20 min): da 20%
  • Ricarica rapida all’80% SoC: ≤ 45 min
  • Vita a cicli all’80% a 25 °C: ≥ 500
  • Rigenerazione recuperata nel ciclo di guida: —

Dal modello testuale al gemello di progettazione.

La cella, il modulo e il pacco sono DJL puro testo. Il parser li traduce in una rappresentazione intermedia piatta, poi in un sistema simbolico ModelingToolkit che il worker Julia integra — trasmettendo oscilloscopi dal vivo di nuovo nel browser — e i circuiti a catalogo si esportano come unità FMI funzionanti. Undici notebook portano la narrazione ingegneristica end-to-end: caratterizzazione OCV, identificazione del circuito equivalente, risposta termica al C-rate, stima del SoC, bilanciamento, controllo BMS, compromessi di ricarica rapida, invecchiamento a cicli e a calendario, e un ciclo di guida completo — un gemello di iterazione progettuale che eserciti molto prima che una cella sia mai assemblata.

Fedeltà a circuito equivalente, di livello progettuale.

La cella è un surrogato a circuito equivalente, non un modello elettrochimico (Newman P2D / a particella singola) — cattura tensione, stato di carica e calore concentrato, non gradienti di concentrazione, placcatura o chimica di degradazione dettagliata. L’OCV è una curva analitica liscia nell’atomo .djl, e le forme realistiche NMC/LFP vivono nei notebook; l’invecchiamento è empirico (leggi di Arrhenius sul throughput e a calendario). Ciò per cui è utile è esattamente ciò di cui ha bisogno prima la progettazione di pacco e BMS: dimensionare i conteggi serie/parallelo, scegliere il budget termico, tarare la strategia di carica e bilanciamento, e scambiare la velocità di ricarica rapida contro il calore — sui tuoi numeri di cella, in pochi minuti, prima che esista qualsiasi hardware.