Implementazione su FPGA di un algoritmo per la stima dello Stato di Carica di batterie al litio-polimero
Dipartimento
INGEGNERIA DELL'INFORMAZIONE
Corso di studi
INGEGNERIA ELETTRONICA
Relatori
relatore Ing. Baronti, Federico relatore Prof. Saletti, Roberto
Parole chiave
identificazione dei parametri
modello di batteria
open circuit voltage
stima dello stato di carica
Data inizio appello
21/02/2014
Consultabilità
Completa
Riassunto
Le batterie al litio, grazie alla elevata densità di energia che le caratterizzano, costituiscono un'ottima fonte di energia per applicazioni high-power come smart grids e veicoli elettrici. La tecnologia che consente di ottenere più elevata energia e densità di potenza mantenendo i costi ridotti è quella delle batterie agli ioni di litio, tra le quali emergono le batterie al litio-polimero, più leggere e meno ingombranti delle altre. Un efficace sistema di gestione della batteria è indispensabile per garantire elevate prestazioni e lungo tempo di vita, nonché un adeguato livello di sicurezza ed affidabilità. Ciò richiede una stima accurata dello stato della batteria, solitamente espresso in termini di stato di carica (SoC) e stato di salute (SoH). Per effettuare questa stima è necessario un modello accurato della batteria che ne rappresenti il comportamento sia statico che dinamico; tale modello, dovendo tenere conto di fattori variabili nel tempo e dipendenti dall’utilizzo, richiede un'identificazione on-line dei parametri della batteria. In questa tesi è presentato un algoritmo di stima del SoC con identificazione dei parametri che risulta essere piuttosto efficace se paragonato con gli altri algoritmi di stima presenti in letteratura. Di tale algoritmo è stata effettuata un'implementazione della parte di stima su un FPGA Altera (Cyclone IV) ed è stato svolto uno studio sulle tecniche più comuni di risoluzione dei problemi dei minimi quadrati, necessario per una successiva implementazione della parte di identificazione dei parametri. Per la risoluzione di tali problemi, sono stati proposti alcuni algoritmi adatti ad essere implementati efficacemente su FPGA. Si è scelto di realizzare il sistema utilizzando un FPGA in quanto esso risulta particolarmente adatto per applicazioni di tipo digital signal processing. Infatti, sebbene gli FPGA non riescano a raggiungere le frequenze di clock di processori general-purpose o di DSPs, essi consentono tuttavia di ottenere ottime prestazioni in particolare in casi, come quello in questione, in cui sia possibile realizzare una significativa parallelizzazione del flusso dei dati. Un ulteriore motivo che giustifica la scelta consiste nel fatto che il flusso di progetto su FPGA può essere notevolmente semplificato rispetto alla tradizionale descrizione hardware in linguaggio HDL grazie all'utilizzo dei moderni design tools che consentono di sviluppare l'algoritmo in un ambiente ad alto livello e successivamente di effettuare una sintesi HDL automatica. Nel caso in questione è stato utilizzato il tool DSP builder di Altera che traduce l'algoritmo sviluppato e simulato ad alto livello su Simulink, in ambiente Matlab, in un hardware a basso livello ottimizzato per l'FPGA (Altera) specificato. Il progetto prosegue con una proposta di un possibile partizionamento hardwaresoftware di un sistema di monitoraggio della batteria (BMS) interamente realizzabile su FPGA, di cui il modulo di stima del SoC costituisce un componente. Il partizionamento proposto consente di rendere il processo di stima del SoC di ciascuna cella della batteria completamente indipendente dalle operazioni svolte dal processore, in quanto tale processo è eseguito interamente in hardware in un modulo dedicato. Sono infine mostrati gli esiti delle prove sperimentali svolte su una cella di batteria NMC della Kokam, necessarie per una verifica della validità sia dell’algoritmo di stima presentato, sia delle scelte implementative compiute. L'algoritmo è dunque messo alla prova in tests che simulano le condizioni di funzionamento di un veicolo elettrico, utilizzando il profilo di velocità standard Urban Dynamometer Driving Schedule (UDDS) che simula un percorso urbano. L'uscita del sistema è poi confrontata sia con il valore esatto del SoC (e ne viene valutato l’errore), sia con i valori di SoC ottenuti dalle simulazioni. L'esito di tali tests è stato soddisfacente: il comportamento del sistema risulta del tutto coerente con quanto ottenuto a livello simulativo in Simulink. La presenza di un errore nella stima del SoC è imputabile principalmente a due fattori: da un lato al tipo di algoritmo che inevitabilmente presenta un errore, dall'altro al fatto che il modello della cella non riesce a rappresentarne accuratamente il comportamento. Questo avviene in quanto, nella realizzazione svolta, non è presente la parte di identificazione dei parametri. Ciò costituisce dunque un'ulteriore prova dell'importanza dell'identificazione dei parametri nel processo di stima del SoC e un invito a proseguire questo progetto per arrivare a realizzare su FPGA il sistema comprensivo della parte di identificazione dei parametri.