4.5
Elaborazione in
Real Time
Si è già anticipata la decisione di limitare lelaborazione 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.
Lobiettivo di questa seconda fase di operazioni è quello di fornire allutente una serie di les contenenti una matrice di pressioni con la risoluzione an- golare scelta. Lesecuzione singola delle routines descritte equivale infatti allacquisizione 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 lesecuzione delle istruzioni in modo da ottenere un software che monitori e registri una prova completa in un singolo le, che va intesa come lacquisizione di cicli di pressione ottenuti variando un singolo parametro di funzionamento e las- ciando costanti gli altri parametri. Il risultato registrato sarà quindi ununica 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 dellencoder 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 lanticipo 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 lanalisi in Real Time
Il procedimento sfrutta la funzione di LabVIEW Threshold peak detector applicata al segnale proveniente dallencoder. Si è già discusso della caratter- istica forma del segnale di tensione dellencoder. Esso è unonda 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 dellintensità 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 nelloscilloscopio);
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 allinterno dellarray 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 luso della fun- zione Threshold peak detector (a sinistra nellimmagine)
Nel presente lavoro la risoluzione dellencoder può essere scelta fra Ris 2 f1;0; 5g, nota la risoluzione, in gradi, e noti gli indici è su¢ciente leggere nellarray 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 questunico 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.
Allinterno 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 lultimo mezzo
ciclo. E bene sottolineare che tale intervento non in cia con lacquisizione 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 delluntenza.
Figura 4.8: Landamento nel tempo dei segnali in tensione del sensore di pressione in camera di combustione e (in basso) del sensore per lanticipo di accensione.
Un procedimento simile a quello utilizzato per determinare p(#) si applica per determinare langolo di anticipo. Il sensore fornisce un segnale di ten- sione in corrispondenza dellistante in cui la bobina che alimenta la candela scarica innescando laccensione. Poichè il segnale dellanticipo è 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 dellencoder si potrà determinare langolo di manovella nel quale avviene laccensione. Il confronto avviene in questo modo:
4.6. VISUALIZZAZIONE E SALVATAGGIO DEI DATI 51