Poter gestire un motore con un sistema di controllo flessibile permette di poter sviluppare e attuare strategie tali da migliorare le prestazioni, i consumi, le emissioni. La possibilità di poter accedere alle caratteristiche dell’hardware Fpga da un ambiente di programmazione di alto livello consente di implementare strategie di controllo in maniera estremamente rapida e flessibile, rendendo possibile un’efficace applicazione della metodologia del Rapid Control Prototyping.
I requisiti della Formula SAE
Per poter partecipare al campionato studentesco della Formula SAE 2010 è necessario progettare una vettura a ruote scoperte che soddisfi determinati requisiti. In particolare, nel pieno rispetto del regolamento, si è deciso di realizzare ex-novo il sistema di controllo motore; a tal fine tutte le strategie di controllo (da quelle eseguite su base Pms a quelle eseguite ad altissima frequenza, per il monitoraggio della posizione dell’albero motore e la generazione delle attuazioni) sono state definite in LabView e implementate su cRIO, destinato quindi ad essere una vera e propria Ecu, completamente accessibile da parte dell'utente e in grado di adattarsi alle specifiche richieste dal regolamento del campionato FSAE 2010. Il principio di funzionamento del sistema di controllo motore realizzato è facilmente riassumibile nelle seguenti funzioni minime ed essenziali:
- il sistema di fasatura deve individuare la posizione angolare dell'albero motore all'interno del ciclo completo di 720° con un errore di posizione inferiore a 0.1°;
- la capacità di calcolo deve essere sufficiente per eseguire l'algoritmo ogni ciclo per ogni cilindro, e i calcoli devono poter essere anche complessi senza per questo compromettere la stabilità e le tempistiche del sistema.
- il sistema di gestione delle attuazioni deve eseguire i comandi stabiliti con una risoluzione di 1μs sul tempo d'iniezione e di 0.1° sull'istante di scarica bobina.
Tali obiettivi sono stati raggiunti sfruttando appieno le potenzialità del cRIO, in particolare la modularità e la riconfigurabilità degli input e degli output. Le diverse funzioni di controllo sopra citate possono essere ulteriormente distinte sulla base delle differenti competenze necessarie per poterle eseguire correttamente.
Il problema del passaggio dal dominio temporale a quello angolare è risolto in ambiente Fpga. Essa riceve in input i segnali di fasatura (ruota fonica e segnale di fase), li elabora opportunamente e sincronizza il sistema di controllo con il motore (base angolo). L’Fpga svolge dunque tutte le operazioni di basso livello, a partire dalla acquisizione e dal trattamento dei segnali in input, fino alla gestione delle porte digitali per le attuazioni dei comandi di accensione e iniezione. “Quando attuare” (timing) e “come attuare” (durata) vengono stabiliti dal processore real-time, il quale svolge tutte le operazioni di alto livello, il calcolo deterministico e la gestione dei parametri inseriti dall'utente, ottenuti inserendo mappe o risolvendo modelli matematici che simulano il comportamento di porzioni del motore. L'esecuzione delle routine di calcolo avviene su base evento, in funzione della posizione angolare dell'albero motore, costantemente monitorata dall’Fpga; la comunicazione tra Fpga e real-time viene gestita tramite interrupt hardware, sfruttando il bus di comunicazione presente tra i due sistemi. Questo aspetto è di fondamentale importanza perché permette di sincronizzare correttamente i due sistemi, potendo così sfruttarne le diverse peculiarità.
Il primo step
Gli obiettivi prefissati per il primo step evolutivo della Ecu possono essere riassunti in:
- gestione di un motore ad accensione comandata, con frazionamento di 4 cilindri;
- controllo in catena chiusa del rapporto A/F (titolo della miscela), con sonda lambda lineare (UEGO);
- sistema di iniezione (speed, density), del tipo returnless, con un iniettore su ogni condotto di aspirazione;
- frequenza di aggiornamento dei calcoli di attuazione pari a 4 volte al ciclo motore;
- frequenza di acquisizione delle grandezze di input pari ad 8 volte al ciclo motore, in modo da operare con valori di pressione collettore e titolo mediati sul ciclo;
- velocità massima di rotazione pari a 15000 rpm.
Con questo sistema di controllo motore è possibile realizzare varie strategie in grado di ridurre i consumi e/o offrire la massima potenza che il motore è in grado di erogare a seconda della gara che si deve affrontare. Il vantaggio di utilizzare il sistema cRIO al posto di una Ecu commerciale, risiede nella completa libertà e flessibilità di gestione dei parametri di funzionamento del motore in tempo reale, caratteristica molto utile nella fase di calibrazione del sistema di controllo, ma soprattutto nella possibilità di ampliare il campo di utilizzo dell'hardware al di fuori dei confini motoristici, gestendo parallelamente algoritmi di controllo veicolo.
Il secondo step
Lo step successivo alla realizzazione della Ecu è consistito nell'utilizzo del cRIO come sistema di acquisizione dati, provenienti dai numerosi sensori disseminati nel veicolo. Tale attività ha un duplice scopo: accanto alla mera funzione di immagazzinamento dati per l'analisi off-line del comportamento della vettura nelle diverse condizioni di funzionamento, si prevede l'implementazione di strategie di controllo aggiuntive quali traction control, gestione del cambio elettroattuato, launch control, etc… tutte compatibili con il regolamento della Formula SAE.
È stata quindi impostata l’acquisizione di parametri veicolistici, utili per il set-up ottimale della vettura e per la valutazione del comportamento del pilota in pista; in sintesi, sono quindi acquisiti:
- wheel sensor, installati sulle quattro ruote per misurarne la velocità di rotazione;
- piattaforma inerziale (gps, giroscopio, accelerometro biassiale);
- pressione circuito idraulico (anteriore e posteriore) dell'impianto frenante;
- sensore traguardo;
- angolo sterzo;
- potenziometri lineari sulle sospensioni.
Questi parametri, disponibili in tempo reale oltre che in acquisizione, possono essere impiegati per lo sviluppo di strategie legate al controllo della trazione.
Il terzo step
Il terzo step evolutivo, infine, prevede l’acquisizione e l’impiego ai fini del controllo del motore, del segnale di pressione in camera di combustione: questo sensore offre informazioni particolarmente significative sull’evoluzione della combustione, e consente di gestire i parametri di attuazione per ottenere, l’ottimizzazione delle prestazioni o la minimizzazione dei consumi. Inoltre la conoscenza della pressione in camera di combustione permette di valutare le prestazioni effettivamente erogate dal motore, semplificando la gestione del motore secondo l’approccio ‘torque based’, e rende più accurata la diagnosi della detonazione. L’acquisizione del segnale di pressione è effettuata su base tempo con una scheda 9215 (100 kHz per canale) e la trasformazione da dominio temporale a dominio angolare del segnale (necessaria per il calcolo dei parametri motoristici più comuni, quali PMI, MFB50) è effettuata in real-time utilizzando l’informazione gli stessi riferimenti angolari impiegati per la gestione delle attuazioni (ruota fonica di serie). L’Fpga svolge un ruolo fondamentale in questo senso, lasciando al processore real-time il solo compito dell’analisi statistica dei dati.