Tramite l’interfaccia è possibile inviare al BMS un comando che manda in ese- cuzione Task_CPU che misura il tempo percentuale di occupazione del pro-
cessore da parte di ciascun task. Sono stati raccolti questi dati durante la fase operativa del sistema, in particolare dopo un test sulle celle della durata di cir- ca sei ore, ottenendo i risultati di occupazione di CPU riassunti in Tabella 5.4.
Task Occupazione Task_IDLE 80% Task_monitor_i 8% Task_monitor_v 8% Task_soc 1% Task_monitor_T <1% Task_main <1% Task_send_soc <1% Task_monitor_v_i <1% Task_matrix <1% Task_bal <1% Task_param <1%
Validazione dell’algoritmo e test
sperimentali
Il capitolo illustrerà i risultati dei test sperimentali effettuati su un modulo di quattro celle in serie. Gli esperimenti sono stati svolti al fine di valida- re l’algoritmo implementato confrontandolo con un’implementazione che usa delle funzioni MATLAB e valutarne le prestazioni in termini di errore sul- la stima del SoC. Inoltre, per apprezzare la dipendenza dei parametri dalla temperatura, sono stati effettuati dei test a -10 °C, 0 °C, 25 °C e 40 °C.
6.1
Setup sperimentale
In Figura 6.1 viene mostrato lo schema a blocchi del setup messo a punto per realizzare i test sperimentali.
Alla scheda viene connesso un modulo di quattro celle in serie (NMC) che forniscono anche l’alimentazione al BMS; ovviamente il pacco batteria è do- tato di terminali di sense che consentono al battery monitor (LTC6803-3) di misurare le tensioni e le temperature delle singole celle. Il modulo è in grado di comunicare con un PC tramite un adattatore CAN-USB; i messaggi inviati dal BMS (tensioni, corrente, temperatura, stato di carica, ecc.) vengono rac- colti tramite un’applicazione LabVIEW (VI). Dal VI è possibile inviare anche dei comandi al BMS come, ad esempio, quello per conoscere l’occupazione di
BMS Celle Sanyo UR18650RX Host PC Applicazione LabVIEW Applicazione LabVIEW Keithley 2440 USB - CAN USB - serial Sensore di corrente LOG file.txt
Figura 6.1:Schema a blocchi del setup sperimentale utilizzato
CPU, oppure quello per effettuare il bilanciamento manuale. Questa applica- zione, chiamata main.vi, scrive inoltre su un file di testo i dati necessari per le elaborazioni MATLAB, in particolare:
• timestamp;
• tensione di modulo;
• corrente;
• tensioni di cella;
• temperature di cella;
• SoC delle celle;
• parametri del modello stimati;
• campioni inseriti nella matrice;
• ID di riga della matrice;
• ID della matrice.
In Figura 6.2 si vede come appare il pannello principale dell’interfaccia durante un test sulle celle; esso presenta gli indicatori per le grandezze d’inte- resse. Si noti che, tra le temperature di cella, solo una è attendibile, in quanto è stato posto un solo punto di misura (tramite un sensore NTC) sul modulo.
Figura 6.2:Front-panel dell’interfaccia LabVIEW
Per applicare al modulo un determinato profilo di corrente di test, si è uti- lizzato il Keithley 2440: si tratta di una source-meter unit, ovvero uno stru- mento in grado di fungere sia da generatore che da carico; quindi permette di far scorrere sulle celle correnti precise in entrambi i versi (carica e scarica). Il Keithley viene controllato tramite un altro VI dove l’utente può caricare un file testuale in cui è descritto il profilo del test; il file ha questa struttura:
1. tipo:
• charge imposta una corrente negativa, quindi carica le celle;
• discharge scarica la batteria con corrente positiva;
• measure imposta corrente nulla e si limita a misurare la tensione di modulo;
2. flag che abilita (1) o disabilita (0) il log;
3. intervallo di campionamento in secondi;
5. valore della corrente di test;
6. tensione massima di modulo tollerabile.
La comunicazione tra il PC e lo strumento avviene tramite un convertitore USB-seriale; il VI è stato progettato per valutare, ad ogni iterazione, se il valore di tensione misurato sia al di fuori dei limiti fissati. Tali limiti sono costituiti in basso dalla somma delle tensioni minime di cella e in alto dalle massime; questa situazione può verificarsi per anomalie o perché una o più celle sono a fondo scarica o a fine carica. In entrambi i casi il VI invia allo strumento un comando che stoppa il test. In Figura 6.3 viene mostrata l’interfaccia del VI.
I due VI comunicano tra di loro tramite una variabile globale condivisa; ciò permette al vi_main di acquisire informazioni da scrivere sul file di log, ovvero la corrente imposta e la tensione misurata dal Keithley. Questi dati serviranno per l’elaborazione MATLAB.
Come si vede dalla Figura 6.1 in serie allo strumento e alle celle è sta- to posto un sensore per la misura della corrente; si tratta di un sensore ad effetto Hall (DHAB S/25 di LEM) che fornisce in uscita una tensione vhall
proporzionale alla corrente che scorre sulle spire [42]:
iL = vhall− VC 2 5 G·VC
il sensore è raziometrico, ovvero la tensione d’uscita è una frazione della ten- sione di alimentazione VCche è pari a 5 V; G è la sensibilità del sensore. Il BMS
acquisisce la tensione di Hall tramite l’ADC a 12 bit del microcontrollore che, però, è alimentato a 3.3 V; quindi sul PCB è presente un partitore resistivo che porta la tensione di Hall al livello adatto per l’acquisizione. La conversione tensione→corrente viene realizzata a livello firmware.
Per quanto riguarda le celle utilizzate, come già anticipato, si tratta di un pacco batterie composto da quattro celle agli ioni di litio, NMC, poste in serie (Figura 6.4). Si tratta di celle di Panasonic, modello Sanyo UR18650RX, high-
power, adatte ad applicazioni come biciclette elettriche e robotica [43].
Capacità garantita@ 20 °C Min. 1950 mAh
Capacità@ 25 °C Min. 1950 mAh Tip. 2050 mAh
Tensione nominale 3.6 V
Tensioni di cut-off Scarica: 2.75 V Carica: 4.2 V
Peso 46.2 g
Temperature Carica: 0÷+45 °C Scarica: -20÷+60 °C Riposo: -20÷+50 °C
Densità d’energia Volumetrica: 413 Wh/l Gravimetrica: 155 Wh/kg
Correnti massime Carica: 0.7 C Scarica: 5 C
Tabella 6.1:Caratteristiche celle utilizzate [43]
In Figura 6.5 si possono vedere due fotografie scattate durante un esperi- mento sul pacco batterie; si distinguono il PC con il VI di interfaccia col BMS, la scheda dello stesso, il sensore di HALL ed il Keithley 2440.