• Non ci sono risultati.

4.5

Elaborazione in

Real Time

Si è già anticipata la decisione di limitare l’elaborazione in real time al minimo per non appesantire ulteriormente il software, pertanto si è preferito rendere tutti i dati acquisiti disponibili ed operare su essi in modo più approfondito in un secondo momento utilizzando un programma dedicato.

L’obiettivo di questa seconda fase di operazioni è quello di fornire all’utente una serie di …les contenenti una matrice di pressioni con la risoluzione an- golare scelta. L’esecuzione singola delle routines descritte equivale infatti all’acquisizione di m cicli di pressione corrispondenti ad una …ssata condizione di funzionamento, il calcolo del ciclo medio e la misura delle condizioni a con- torno alla prova (regime, anticipo, dosatura, temperature, dati ambiente) e la realizzazzione di una matrice che contenga tali dati.

Un passo ulteriore è quello di ripetere continuamente l’esecuzione delle istruzioni in modo da ottenere un software che monitori e registri una prova completa in un singolo …le, che va intesa come l’acquisizione di cicli di pressione ottenuti variando un singolo parametro di funzionamento e las- ciando costanti gli altri parametri. Il risultato registrato sarà quindi un’unica matrice-prova costituita dalle matrici singole che si ottengono dalle singole ripetizioni del programma. La matrice-prova contiene tutti i dati necessari per le successive elaborazioni ed è realizzata in un formato elaborabile dalla maggior parte dei software di analisi in commercio.

In 4.6 sono mostrati i blocchi delegati alla maggior parte di quanto appena descritto. Da sinistra a destra:

 Sub crea matrice: confronta il segnale dell’encoder e quello del sensore di pressione e campiona solo i dati in corrispodenza degli angoli di manovella. Il blocco calcola anche la velocità angolare.

 Sub anticipo: con un metodo simile al blocco precedente individua in corrispondenza di quale angolo di manovella si veri…ca il picco del segnale letto dal sensore che misura l’anticipo di accensione.

 Sub Ciclo Medio: calcola il ciclo medio come de…nito precedentemente e crea una matrice di m + 1 colonne contenenti il ciclo medio e gli m cicli acquisiti.

Figura 4.6: Sezione del programma di acquisizione: i blocchi per l’analisi in Real Time

Il procedimento sfrutta la funzione di LabVIEW Threshold peak detector applicata al segnale proveniente dall’encoder. Si è già discusso della caratter- istica forma del segnale di tensione dell’encoder. Esso è un’onda quadra con un picco di intensità nota che si veri…ca quando il sensore passa attraverso le tacche graduate che corrispondono alla risoluzione della misurazione. Perchè funzioni in modo corretto, il blocco thereshold peak detector richiede infatti la completa caratterizzazione del tipo di segnale analizzato:

 un valore dell’intensità di tensione che identi…chi quando si veri…ca con certezza il picco (nel caso in esame si è scelta una soglia di poco inferiore al picco rilevato osservando il segnale nell’oscilloscopio);

 indicazioni sulla ’larghezza’ del picco: ossia il numero di campioni con- secutivi durante i quali il segnale si trova ancora al di sopra del valore di picco, informazione che impedisce al blocco di contare per errore più di un picco per ogni intervallo r#.

Il blocco fornisce in uscita gli indici corrispondenti alle posizioni dei picchi all’interno dell’array di dati analizzato e, se richiesto, il numero complessivo di picchi validi rilevati.

4.5. ELABORAZIONE INREAL TIME 49

Figura 4.7: Blocco per il passaggio da p(t) a p(#) mediante l’uso della fun- zione Threshold peak detector (a sinistra nell’immagine)

Nel presente lavoro la risoluzione dell’encoder può essere scelta fra Ris 2 f1;0; 5g, nota la risoluzione, in gradi, e noti gli indici è su¢ciente leggere nell’array che contiene le pressioni soltanto i valori corrispondenti agli indici appena trovati per conoscere ciclo per ciclo gli n = 720Ris valori di pressione corrispondenti ai valori da 0 a 4 Ris di angolo di manovella presi con passo pari alla risoluzione. Gli indici ottenuti, inoltre, possono essere usati per conoscere il tempo impiegato da ogni ciclo e quindi per calcolare la velocità angolare corrispondente durante lo stesso.

Come precedentemente anticipato, la velocità angolare del motore è un dato iniziale necessario per acquisire correttamente. Quanto visto …nora è stato compresso in un blocco che calcola tutto quanto il necessario per il cal- colo della velocità omettendo tutti i calcoli non indispensabili a quest’unico scopo. Tale blocco si trova a monte di tutte le operazioni e di¤erisce da quanto appena illustrato perchè, riesce a calcolare la velocità angolare in- dipendentemente dalla frequenza di campionamento con cui acquisisce e dal numero di punti acquisiti.

All’interno del blocco è inoltre inserita una routine di controllo che si accerta che il trigger abbia fornito il corretto valore di angolo di manovella. Il trigger è impostato in modo da attivarsi in corrispondenza del P M S, in un ciclo però il P M S è attraversato due volte, una in compressione ed una in aspirazione. In questo caso si è deciso che tutti i cicli dovranno iniziare a partire dal P M S in aspirazione e pertanto la routine si occupa di veri…care che questo sia vero per ogni acquisizione e, nel caso non sia così, di agire di conseguenza non considerando il primo mezzo ciclo letto e l’ultimo mezzo

ciclo. E’ bene sottolineare che tale intervento non in…cia con l’acquisizione ed in nessun caso ci si troverà ad acquisire meno cicli di quanto richiesto poichè si prevede già di acquisire sempre un ciclo in più di quanto richiesto nel caso in cui (ad esempio durante i transitori) i punti acquisiti non siano su¢cienti a garantire la richiesta dell’untenza.

Figura 4.8: L’andamento nel tempo dei segnali in tensione del sensore di pressione in camera di combustione e (in basso) del sensore per l’anticipo di accensione.

Un procedimento simile a quello utilizzato per determinare p(#) si applica per determinare l’angolo di anticipo. Il sensore fornisce un segnale di ten- sione in corrispondenza dell’istante in cui la bobina che alimenta la candela scarica innescando l’accensione. Poichè il segnale dell’anticipo è contenuto nella stessa task di encoder e sensore di pressione, varranno le stesse consid- erazioni: il segnale di anticipo sarà sempre un array delle stesse dimensioni degli altri. Determinando il picco del segnale analogamente al caso precedente e confrontandolo con il vettore dei picchi dell’encoder si potrà determinare l’angolo di manovella nel quale avviene l’accensione. Il confronto avviene in questo modo:

4.6. VISUALIZZAZIONE E SALVATAGGIO DEI DATI 51

Documenti correlati