• Non ci sono risultati.

Appendice 1  Listato della funzione irregolarità.m

N/A
N/A
Protected

Academic year: 2021

Condividi "Appendice 1  Listato della funzione irregolarità.m"

Copied!
9
0
0

Testo completo

(1)

Appendice 1 

Listato della funzione irregolarità.m

function[ ]=irregolarità() load g6820ma1.txt load g6820ma2.txt; ... ... load g6820ma50.txt; pressione1=g6820ma1(:,2); [pmax(1),Ind(1)]=max(pressione1); pressione2=g6820ma2(:,2); [pmax(2),Ind(2)]=max(pressione2); ……… ……… pressione50=g6820ma50(:,2); [pmax(50),Ind(50)]=max(pressione50); pmaxmax=max(pmax); pmaxmin=min(pmax); pmaxmean=mean(pmax); risultatip = [pmaxmax,pmaxmean,pmaxmin]; disp(' '); disp(' ');

disp(' Pmax_max Pmax_mean Pmax_min'); disp(risultatip); somma=0; for i = 1:50 scartoq=(pmax(i)-pmaxmean)*(pmax(i)-pmaxmean); somma=somma+scartoq; end sigma=sqrt(somma/50); COV=sigma/pmaxmean*100; Statp=[sigma,COV];

disp(' Sigma_Pmax COV_Pmax'); disp(Statp); lambda1=g6820ma1(:,3); lambda(1)=mean(lambda1); lambda2=g6820ma2(:,3); lambda(2)=mean(lambda2); ………. ………. lambda50=g6820ma50(:,3); lambda(50)=mean(lambda50); lambda50=mean(lambda);

disp(' Lambda medio'); disp(lambda50); angolo1=g6820ma1(:,1); angolo2=g6820ma2(:,1); ……… ……… angolo50=g6820ma50(:,1); Imep(1)=imep(angolo1,pressione1); Imep(2)=imep(angolo2,pressione2); ………. ………. Imep(50)=imep(angolo50,pressione50); imepmax=max(Imep); imepmean=mean(Imep); imepmin=min(Imep); Risultati_im=[imepmax,imepmean,imepmin]; disp(' Imep_max Imep_mean Imep_min'); disp(Risultati_im);

somma=0; for i = 1:50

(2)

somma=somma+scartoq; end

sigma_i=sqrt(somma/50); COV_i=sigma_i/imepmean*100; stat_i=[sigma_i,COV_i]; disp(' Sigma_i COV_i') disp(stat_i); AngPmax(1)=angolo1(Ind(1)); AngPmax(2)=angolo2(Ind(2)); ………. ………. AngPmax(50)=angolo50(Ind(50)); AngPmaxmean=mean(AngPmax); AngPmaxmax=max(AngPmax); AngPmaxmin=min(AngPmax); Risultati_a=[AngPmaxmax,AngPmaxmean,AngPmaxmin]; disp(' An_max_Pmax An_mean_Pmax An_min_Pmax'); disp(Risultati_a); somma=0; for i = 1:50 scartoqang=(AngPmax(i)-AngPmaxmean)*(AngPmax(i)-AngPmaxmean); somma=somma+scartoqang; end sigma_a=sqrt(somma/50); COV_a=sigma_a/AngPmaxmean*100; stat_a=[sigma_a,COV_a];

disp(' Sigma_a COV_a') disp(stat_a);

Listato della funzione imep.m

function[imep]=imep(angolo,pressione) % Dati motore alesaggio=71; lman=49.33/2; lbiel=88.70; lam=lman/lbiel;

%Fine dati motore

angolorad=angolo*pi/180;

s=lman*(1+lam/4-cos(angolorad)-lam/4*cos(2*angolorad));

% Calcolo del lavoro indicato

Li=0;

for i = 2:3600,

dV(i)=pi*(alesaggio^2)/4*(s(i)-s(i-1));

Li=Li+pressione(i-1)*dV(i)+(pressione(i)-pressione(i-1))*dV(i)/2; end

% Fine calcolo del lavoro indicato

(3)

Appendice 2 

Listato di analisi_30.m

function[] = analisi(ciclo,velo,getto)

%Calcola la durata dell'acquisizione e il vettore angolo T=60/velo*2;

angolo=ciclo(:,1);

%Calcola il numero di campioni acquisiti N_camp=length(angolo);

%Calcola la frequenza di campionamento e quella di Nyquist freq_camp=N_camp/T;

freq_nyq=freq_camp/2;

%Estrazione dati dall'array multidimensionale ciclo detonazione=ciclo(:,4);

lambda=ciclo(:,3); pressione=ciclo(:,2);

%Calcolo grandezze di riferimento nel ciclo lambdamedio=mean(lambda)

[pmax,indice_pmax]=max(pressione); pmax

angolo_del_picco_di_pressione=angolo (indice_pmax)

[b,a] = butter(4,[6000/freq_nyq, 10000/freq_nyq]);%filtro passabanda di butterworth M è l'ordine, poi la frequenza di filtraggio/freq di nyquist

%[b,a] = butter (8, 8000/freq_nyq); detonazione=filter(b,a,detonazione); [c,d] = butter (9, 10000/freq_nyq); %pressione = filter (b,a,pressione); %Andamento delle grandezze rilevate figure(1); [Ax]=plotyy(angolo,pressione,angolo,detonazione); grid on; xlabel('Angolo [°]'); set(get(Ax(1),'Ylabel'),'String','Pressione [bar]') set(get(Ax(2),'Ylabel'),'String','Vibrazione [V]')

title(['Ciclo rilevato a ',int2str(velo),' giri e per lambda = ',num2str(lambdamedio), ' con getto = ', int2str(getto),'micron; Pmax= ', int2str(pmax),' bar ']);

%Fine

risposta=input('Si desidera limitare l''analisi della detonazione ai 120° successivi alla scintilla?(1/0) ');

if risposta==1

%Analisi in frequenza detonazione filtrata in fase %Filtro in fase (120° è un sesto di 720°)

N_fil=N_camp/6; down_fase=1; while angolo(down_fase)<(-30), down_fase=down_fase+1; end %Filtro in fase detonazione=detonazione(down_fase:(down_fase+(N_fil-1))); %Fine filtro in fase

%Analisi in frequenza del sensore di detonazione f_det=fft(detonazione);

N=length(f_det);

f_det_n=f_det(1:N_fil/2+1); a_f_det=abs(f_det_n);

(4)

i=(0:1:N_fil/2); k_freq=i*(6/T)/1000;

%Fine analisi in frequenza detonazione

%Analisi in frequenza pressione %pressione = filter (b,a,pressione);

pressione=pressione(down_fase:(down_fase+(N_fil-1))); f_pre=fft(pressione);

Np=length(f_pre);

f_pre2=f_pre(1:Np/2+1); a_f_pre=abs(f_pre2);

%Fine analisi in frequenza pressione

%Non visualizziamo le frequenze al di fuori del range di funzionamento del sensore

down=1; while k_freq(down)<1, down=down+1; end up=length(k_freq); while k_freq(up)>15, up=up-1; end

%Fine filtraggio sensore

%Grafico della risposta in ampiezza del sensore di detonazione figure(2);

plot(k_freq(down:up),a_f_det(down:up));

%Grafico di confronto dei due spettri figure(3);

subplot(2,1,1);

plot(k_freq(down:up),a_f_det(down:up)); xlabel('f [kHz]');

ylabel('Ampiezza');

title('Risposta in frequenza sensore di detonazione'); subplot(2,1,2);

plot(k_freq(down:up),a_f_pre(down:up),'g'); xlabel('f [kHz]');

ylabel('Ampiezza');

title('Risposta in frequenza sensore di pressione'); angolo=angolo(down_fase:(down_fase+(N_fil-1)));

% Grafico nel dominio del tempo dei due segnali filtrati in frequenza e % fase figure(4); [Ax]=plotyy(angolo,pressione,angolo,detonazione); grid on; xlabel('Angolo [°]'); set(get(Ax(1),'Ylabel'),'String','Pressione [bar]') set(get(Ax(2),'Ylabel'),'String','Vibrazione [V]')

title(['Ciclo rilevato a ',int2str(velo),' giri e per lambda = ',num2str(lambdamedio), ' con getto = ', int2str(getto),'micron; Pmax= ', int2str(pmax),' bar ']);

[detmax,indice_detmax]=max(detonazione); detmax

angolo_picco_detonazione=angolo (indice_detmax)

% Densità spettrale del sensore di detonazione e suo confronto con lo

(5)

% spettro del segnale medesimo %h=length(f_det);

%Pyy = f_det .*conj(f_det)/h; %Pyy(N_fil/2+2:N_fil) = [] ; %Pyy(2:N_fil/2+1) = 2*Pyy(2:N_fil/2+1); %figure(4) %plot(k_freq(down:up),Pyy(down:up),k_freq(down:up),a_f_det(down:up)); else

%Analisi in frequenza detonazione f_det=fft(detonazione); N=length(f_det); f_det2=f_det(1:N/2+1); a_f_det=abs(f_det2); i=(0:1:N/2); k_freq=i*(1/T)/1000;

%Fine analisi in frequenza detonazione %Analisi in frequenza pressione

f_pre=fft(pressione); Np=length(f_pre);

f_pre2=f_pre(1:Np/2+1); a_f_pre=abs(f_pre2);

%Fine analisi in frequenza pressione figure(2);

plot(k_freq,a_f_det); xlabel('f [kHz]'); ylabel('Ampiezza');

title('Risposta in frequenza');

%Il range scelto elimina le frequenze al di fuori della caratteristica del sensore

down=1; while k_freq(down)<5, down=down+1; end up=length(k_freq); while k_freq(up)>22 up=up-1; end

%Fine filtraggio sensore figure(3);

subplot(2,1,1);

plot(k_freq(down:up),a_f_det(down:up)); xlabel('f [kHz]');

ylabel('Ampiezza');

title('Risposta in frequenza sensore di detonazione'); subplot(2,1,2);

plot(k_freq(down:up),a_f_pre(down:up),'g'); xlabel('f [kHz]');

ylabel('Ampiezza');

title('Risposta in frequenza sensore di pressione'); end

(6)

Bibliografia: 

Capitolo 1

1) R. Gentili

Dispense del corso di Motori Termici per Trazione

2) J.B.Heywood

Internal Combustion Engine Fundamentals

McGraw-Hill ,1988

3) Michel B. Young

Cyclic Dispersion in the homogeneous-Charge Spark-Ignition Engine---A

Literature Survey

SAE Paper 810020,1982

4) Stefano Di Meo

Progetto e realizzazione di un sistema di controllo elettronico per motori a

quattro tempi aspirati di piccola cilindrata

Tesi di Laurea presso l’Università di Pisa, 2003

Capitolo 2

5) NTK L1H1 Sensor Information.doc (manuale in formato elettronico)

6) Steven M. Dues, Joseph M.Adams, George A. Shinkle (Delco Remy Div. General

Motors)

Combustion Knock Sensing: Sensor Selection and Application Issues

SAE Paper 900488

7) delphi.com/pdf/e/int_flat_knock.pdf

Capitolo 3

8) Alessandro Scipioni

Studio sperimentale del controllo in retroazione del titolo di miscela in un

motore AC

Tesi di Laurea presso l’Università di Pisa, 2004

9) Marco Luise, Giorgio M. Vitetta

Teoria dei segnali

McGraw-Hill, 1999

10) Turgay Bengisu

Computing The Optimum Knock Sensor Locations

SAE Paper 2002-01-1187

(7)

11) Leonardo Mangeruca, Alberto Ferrari, Alberto Sangiovanni-Vincentelli, Andrea

Pierantoni e Michele Pennese

System level design of embedded controllers: knock detection, a case study in

the automotive domain

12) David Scholl, Craig Davis, Stephen Russ and Terry Barash

The Volume acoustic odes of Spark-Ignited Internal Combustion Chambers

SAE Paper 980893, 1998

13) J. Wagner, J.Keane, R.Koseluk, W.Whitlock

Engine knock detection: products, tools and emerging research,

SAE paper 980522

14) Thomas Horner

Engine Knock Detection using spectral analysis techniques with a TMS320

DSP

Documentazione tecnica fornita dalla Texas Instruments, 1995

15) Mats Jargenstedt

Detecting Start of Combustion using Knock sensor signals

Studio condotto presso l’università di Linkoping (Svezia)

Capitolo 4

16) G. Del Zotto

Considerazioni su tensione ed energia al secondario della bobina

Memoria presentata alla 1

a

Mostra Internazionale dell’Elettronica “Elettronica 1”

a Torino

17) P. Rault

SCR’s and TRIACS in automotive applications

Application Note 871 – ST Microelectronics

Capitolo 5

18) Datasheet Fairchild S1M

19) Datasheet LM2931

20) Datasheet BCR148

21) Datasheet IRF740

22) Datasheet TIP102

23) Datasheet BAS70

24) Datasheet CSTCV_X_Q 40 MHz (Risonatore ceramico Murata)

25) Seminario dsPIC 2004 (www.microchip.com)

(8)

26) Family Reference Manual dsPIC30F (www.microchip.com)

27) Datasheet del dsPIC30F2010 (www.microchip.com)

28) Mplab® Asm30,Mplab® Link30 and utilities user’s guide(www.microchip.com)

29) dsPIC Language tools getting started (www.microchip.com)

30) dsPIC30F Programmer’s reference manual (www.microchip.com)

(9)

RINGRAZIAMENTI 

 

Un lavoro di tesi richiede per la sua riuscita, una collaborazione tra le varie persone

coinvolte: per questo motivo mi sento di ringraziare i professori Roncella e Gentili e

l’ing. Frigo, che con la loro disponibilità, mi hanno permesso di approfondire il mondo

dell’elettronica applicata ai motori. Contemporaneamente ringrazio l’azienda S.E.I. snc,

nella persona dell’ing. Lasagna, per la sua grande disponibilità e per avermi

pazientemente seguito ed aiutato nella fase di progettazione hardware e software.

D’altra parte per poter effettivamente riuscire ad effettuare delle misure al banco di

prova, è stata necessaria una fruttuosa collaborazione con gli altri tesisti del corso di

Ingegneria Meccanica: in tal senso un sentito ringraziamento va ad Alessandro,

Pierpaolo, Domenico e Franco.

Infine un grande ringraziamento va a tutte quelle persone dalle quali ho sempre tratto un

grande supporto morale durante tutto il percorso di studi, ovvero la mia ragazza Jasmin,

i miei genitori, il mio compagno di studi Riccardo Coen ed i miei amici Matteo,

Riccardo, Francesco, Stefano e Francesco.

Riferimenti

Documenti correlati

Un grazie alla mia cuginetta Rebecca che nonostante mi chieda sempre se sono ancora convinta di fare l’assistente sociale, si è subita le mie ansie e le

Smentendo l’idea dell’inesistenza della nozione di individualità nel pensiero cinese diffusasi in Occidente, la prima parte della trattazione mette in luce la centralità

Sempre più spesso, invece, al dibattito sulla trasformazione del lavoro si affianca quello sul disallineamento tra mercato del lavoro e sistemi di istruzione e

In particolare esprimo gratitudine alla Professoressa Diana Toccafondi per la preziosa e puntuale assistenza e al Professor Francesco Martelli per la

Enrico Biagini per avermi guidato in ogni fase della tesi e per la pazienza e la disponibilità dimostrata.. Desidero inoltre ricordare

Desidero ringraziare anche tutti coloro che lavorano nell’ente Applicazione Motopropulsori di Ferrari S.p.A., per il meraviglioso ambiente in cui ho lavorato durante i mesi

Infatti se è vero che è riscontrabile in diversi casi una coincidenza tra breve durata e precarietà, questo avviene soprattutto in quei casi in cui le imprese utilizzano i

Nel caso di trave rettilinea vale ipotesi di Saint Venant Ad esempio per la flessione abbiamo visto:1. Trave a