• Non ci sono risultati.

3.2 Dati in uscita

3.2.6 Consumi energetici

Nelle tabelle 3.12 e 3.13 sono mostrati i consumi energetici. Come si pote- va intuire, sia quelli meccanici che quelli idraulici sono maggiori per le fasi del ciclo pi`u avanzate. Si nota tuttavia che l’energia utilizzata per il flusso di backleak `e sempre maggiore di quella utilizzata per la portata iniettata, tranne che nell’ultima fase.

Fase Durata (s) Idle (s) Hm kJ Low 589 155 157,35 Middle 433 48 185,47 High 455 31 227,23 Extra-H 323 7 361,56

Fase Durata (s) Idle (s) Ht kJ Hi kJ Hb kJ Low 589 155 8,254 2,491 5,763 Middle 433 48 11,482 5,011 6,470 High 455 31 15,415 7,354 8,070 Extra-H 323 7 29,926 17,635 12,291

Capitolo 4

Conclusioni e sviluppi futuri

Durante il lavoro di tesi sono stati sviluppato l’apparato sperimentale ed il software dedicato che ha permesso di effettuare le misurazioni necessarie alla caratterizzazione del sistema pompa-iniettori.

Il banco cos`ı messo a punto ha dimostrato di essere in grado di carat- terizzare, a partire da dei dati prelevati da un’autovettura sottoposta alla procedura WLTP, molti aspetti del sistema Common Rail. `E stato possibi- le rendere nel dettaglio gli andamenti sia delle grandezze misurate diretta- mente, come portate e coppia, sia di quelle misurate indirettamente come i rendimenti ed i consumi energetici.

L’ostacolo principale ad un’approfondita analisi dei dati in uscita `e con- sistita nella discrepanza esistente tra gli iniettori utilizzati sull’autovettura e quelli utilizzati sul banco, appartenenti ad una generazione precedente. Que- sta generazione `e caratterizzata da una minore reattivit`a dell’ancora dell’i- niettore allo stimolo elettromagnetico e da una diversa pressione di threshold per generare la spinta sullo spillo.

Tuttavia, in termini di consistenza delle prove, i dati si sono dimostra- ti del tutto coerenti e il banco molto affidabile. Questo infatti, rispetto ad una sala prova tradizionale, permette di effettuare misurazioni in condizioni che prescindono dal contesto motoristico in cui il Common Rail `e sempre

utilizzato. Sarebbe infatti possibile sperimentare diverse strategie di iniezio- ne, termostatazione e utilizzare diversi fluidi combustibili senza il rischio che comporterebbe l’utilizzo di un intero motore o autovettura. Inoltre il banco potrebbe essere utilizzato per valutare il comportamento di iniettori ancora allo stadio prototipale.

Il banco ha mostrato che il sistema Common Rail ha ancora margine di miglioramento, in particolare nella gestione delle irreversibilit`a (SCV, DRV) e nella limitazione del flusso di backleak che, come si `e visto, costa per buona parte del ciclo all’incirca la met`a della potenza complessiva.

Potrebbe essere interessante perci`o confrontare il comportamento del si- stema al variare di diversi parametri quali:

– Temperatura: sebbene il funzionamento reale non sia affatto termosta- tato, potrebbe essere utile vedere come la variabile termica influenzi i rendimenti, per la modifica dei giochi e della viscosit`a del fluido.

– Iniettori: come gi`a detto gli iniettori sono in continua evoluzione, per cui ci pu`o essere la necessit`a di caratterizzarli anche con transitori pi`u o meno forti prima che escano dallo stadio di prototipazione; si potrebbe in tal caso utilizzare i dati operativi di iniettori simili.

– Controllo: strategie diverse di controllo della pressione del rail possono risultare in diversi rendimenti del sistema ma anche diverse velocit`a di risposta.

– Combustibile: prescindendo dalla combustione, si pu`o analizzare il comportamento di qualsiasi coppia pompa-iniettore utilizzando combu- stibili puri o blend dalle caratteristiche pi`u diverse (dai grassi vegetali all’etanolo).

Bibliografia

[1] Regolamento (ce) n. 715/2007 del parlamento europeo e del consiglio. Gazzetta ufficiale dell’Unione europea, 2007.

[2] DENSO. Service Manual - Common Rail System Operation. 2007.

[3] European Environment Agency (EEA). National emissions reported to the convention on long-range transboundary air pollution (lrtap convention), 2015.

[4] Kyusoo J. et al. Effect of two-stage fuel injection parameters on nox reduction characteristics in a di diesel engine. 2011.

[5] Lakshminarayanan P. A. et al. Modelling diesel combustion. 2009.

[6] Nuyttens D. et al. Effect of nozzle type, size and pressure on spray droplet characteristics. Biosystem Engineering, 2006.

[7] G. Ferrari. Motori a combustione interna. 2005.

[8] Roberto Gentili. Macchine: dispense del corso per ingegneria energetica. 2012.

[9] Robert Bosch GmbH. Bosch Automotive Handbook - Updated 6th Edition. 2005.

[10] Robert Bosch GmbH. Diesel Engine Management Systems and Components. 2014.

[11] C.J. Brace Hawley, J.G. and F.J. Wallace. Combustion-related emissions in ci engines. 1998.

[12] Mark Musculus Jacqueline O’Connor. Post injections for soot reduction in diesel engines: A review of current understanding. 2013.

[13] Ubertini Stefano. Motori Diesel a iniezione diretta: alimentazione del combustibile e moto della carica. 2011.

[14] Inc. Volkswagen of America. 2.0 Liter TDI Common Rail BIN5 ULEV Engine. 2008.

Appendice A

La forza di Coriolis

Si consideri un punto materiale in un sistema di riferimento assoluto inerziale e la sua posizione in funzione di un altro sistema di riferimento rotante.

La posizione assoluta del punto P si indica con:

~

R = ~r + ~R0 (A.1)

dove ~r `e la posizione nel sistema di riferimento relativo rotante e ~R0 la posizione dell’origine del sistema di riferimento rotante rispetto al fisso.

Derivando rispetto al tempo si ottiene la velocit`a tenendo presente che applicando la derivazione di Poisson ad un vettore nel sistema di riferimento rotante, occorre tener conto che i versori ruotano.

~

v = ~vr+ ~ω × ~r + ~v0 (A.2)

Derivando ancora si ottiene:

~a = ~ar+ ~ω × ~vr+ ~α × ~r + ~ω × (~ω × ~r) + ~ω × ~vr+ ~ao (A.3)

dove i primi due addendi vengono dalla derivata di ~vr, il terzo, il quarto e il quinto da quella di ~ω × ~vr (precisamente il terzo `e la derivata di ~ω che moltiplica ~r, mentre il quarto e il quinto sono dovuti a ~ω che moltiplica la derivata di ~r), l’ultimo `e la derivata di ~v0.

Quindi alla fine si ha:

~a = ~ar+ ~α × ~r + ~ao+ ~ω × (~ω × ~r) + 2~ω × ~vr (A.4)

dove il primo addendo `e la classica accelerazione relativa nel sistema ro- tante, il secondo e il terzo sono il contributo dell’accelerazione di trascina- mento del sistema mobile (uno dovuto all’accelerazione angolare l’altro a quella dell’origine del sistema mobile), il terzo `e l’accelerazione centripeta e il quarto infine l’accelerazione di Coriolis.

Appendice B

Routine Matlab

Split Cycle

Calcola di una variabile, meno i valori al disotto di un certo threshold, i valori massimi, medi e deviazione standard per l’utilizzo nel capitolo 3.

function [OUT] = splitcycle2(var, threshold)

if ~exist(’threshold’,’var’) threshold = 0.1; end var_low = var(1:5890); var_mid = var(5891:10220); var_hi = var(10221:14770); var_ehi = var(14771:18000); j = 1; for i = 1 : length(var_low) if var_low(i) > threshold*max(var_low) nnvl(j) = var_low(i); j = j + 1; end end j = 1; for i = 1 : length(var_mid) if var_mid(i) > threshold*max(var_mid) nnvm(j) = var_mid(i); j = j + 1;

end end j = 1; for i = 1 : length(var_hi) if var_hi(i) > threshold*max(var_hi) nnvh(j) = var_hi(i); j = j + 1; end end j = 1; for i = 1 : length(var_ehi) if var_ehi(i) > threshold*max(var_ehi) nnve(j) = var_ehi(i); j = j + 1; end end

maxvar = [max(var_low); max(var_mid); max(var_hi); max(var_ehi)]; meanvar = [mean(var_low); mean(var_mid); mean(var_hi); mean(var_ehi)]; meanvnn = [mean(nnvl); mean(nnvm); mean(nnvh); mean(nnve)];

stdvar = [std(var_low); std(var_mid); std(var_hi); std(var_ehi)];

OUT = [maxvar, meanvar, meanvnn, stdvar]; end

Extract Array

Quantizza un array ricordando la posizione originale di ogni valore.

function [ parting_var ] = extractarray( input, numparts )

j = 0; workarray = input; lgtarray = floor(length(workarray)/numparts); for k = 1:numparts for i = 1:lgtarray [Y, I] = min(workarray); semiout(i, :) = [Y; I];

workarray(I) = NaN; %sostituisce l’indice estratto con NaN per %mantenere l’indicizzazione originale nell’input

end

end end

Extract as Variable

Utilizza l’indicizzazione conservata con la funzione Extract Array per quan- tizzare un secondo vettore.

function [ parted_var, partingvar_mean, partedvar_mean, partingvar_std, partedvar_std ] = extractasvar( parting_var, tobeparted_var )

for n = 1:size(parting_var, 3) %numero di parti (es. 100)

for i = 1:size(parting_var, 1) %lunghezza della colonna (es, 179) % la riga i-esima di prail_bysigma(parte n) sar`a uguale a Prailbar % nella posizione data dall’indice contenuto nella seconda colonna % di sigma_parted, all’indice i.

ouput_flat(i, :, n) = tobeparted_var(parting_var(i, 2, n)); parted_var(i,n) = ouput_flat(i,:,n); %shrink

end partingvar_mean(n) = mean(parting_var(:, 1, n)); partedvar_mean(n) = mean(parted_var(:, n)); partingvar_std(n) = std(parting_var(:, 1, n)); partedvar_std(n) = std(parted_var(:, n)); end end

Show Correlation

Utilizza le due funzioni precedenti per plottare un grafico che mostri la relazione tra le due variabili manipolate.

function [X_parted_mean, Y_bysigma_mean] = showcorrelation(X, Y, N)

% Se il terzo parametro non `e specificato, gli associa il valore di 100 if ~exist(’N’,’var’)

N = 1000; end %

[~, X_parted_mean, Y_bysigma_mean, ~, ~] = extractasvar(X_parted, Y);

scatter(X_parted_mean, Y_bysigma_mean, ’x’);

xlabel(inputname(1)); ylabel(inputname(2)); grid on;

end

Splitted Plot

Visualizza due variabili sovrapposte in maniera comoda.

function [ output_args ] = splittedplot( vectorx, vectory, vectoryy )

parts = 3; partlength = length(vectorx)/parts; maxy = max(vectory); if exist(’vectoryy’, ’var’) maxyy = max(vectoryy); end figure; subplot(3,1,1); yyaxis left

plot(vectorx(1 : partlength), vectory(1 : partlength)); xlabel(’Time (s)’);

ylim([min(vectory) - 0.05*maxy, 1.05*maxy]);

if exist(’vectoryy’,’var’) hold

yyaxis right

plot(vectorx(1 : partlength), vectoryy(1 : partlength)); ylim([min(vectoryy) - 0.05*maxyy, 1.05*maxyy]);

legend(inputname(2), inputname(3)); hold else legend(inputname(2)); end subplot(3,1,2); yyaxis left

xlabel(’Time (s)’);

ylim([min(vectory) - 0.05*maxy, 1.05*maxy]);

if exist(’vectoryy’,’var’) hold

yyaxis right

plot(vectorx(partlength + 1 : 2*partlength), vectoryy(partlength + 1 : 2*partlength)); ylim([min(vectoryy) - 0.05*maxyy, 1.05*maxyy]);

hold end

subplot(3,1,3); yyaxis left

plot(vectorx(2*partlength + 1 : 3*partlength), vectory(2*partlength + 1 : 3*partlength)); xlabel(’Time (s)’);

ylim([min(vectory) - 0.05*maxy, 1.05*maxy]);

if exist(’vectoryy’,’var’) hold

yyaxis right

plot(vectorx(2*partlength + 1 : 3*partlength), vectoryy(2*partlength + 1 : 3*partlength)); ylim([min(vectoryy) - 0.05*maxyy, 1.05*maxyy]);

hold end end

Appendice C

Risultati Matlab

Documenti correlati