• Non ci sono risultati.

C. APPENDICE AL CAPITOLO 8

N/A
N/A
Protected

Academic year: 2021

Condividi "C. APPENDICE AL CAPITOLO 8"

Copied!
44
0
0

Testo completo

(1)

251

C.

APPENDICE AL CAPITOLO 8

In questa appendice verranno riportati i programmi Matlab scritti per la realizzazione dei grafici e la soluzione dei problemi relativi al capitolo 8. Per non appesantire troppo l’appendice, verrà riportato, per ogni tipologia, un solo programma esemplificativo dal quale sarà possibile risalire agli altri semplicemente effettuando le necessarie modifiche nei dati di ingresso.

Successivamente, verranno riportati i disegni quotati dei particolari che sono stati modificati o realizzati per effettuare le prove rotodinamiche e lo schema elettrico della scatola comandi del motore secondario.

(2)

252

C.1 Listati Matlab

C.1.1 Misura dell’eccentricità e dell’offset

Si riporta il programma scritto per la verifica dell’eccentricità da utilizzare nelle prove rotodinamiche. Il solito programma, modificando semplicemente ntot e dati_prova_a, è stato utilizzato anche per il calcolo dell’offset

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Calcolo dell'eccetricità ( e dell’offset) utilizzate per le prove rotodinamiche % % % % Angelo Pasini, Luca Pecorari, Lucio Torre 2010 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% close all

clear all clc

% --- PARAMETRI INIZIALI DA IMPOSTARE ---

ntot=25000; % n°tot campionamenti per prova

cas=5000; % campionamenti al secondo

T=ntot/cas; % [s] tempo totale di acquisizione

t=linspace(0,T,ntot); % [s] vettore tempo

% --- CARICAMENT0 DATI --- dati_prova_a=load('eccentricita_6_0_1000rpm.txt'); % dati in aria

AA=load('MATRICE_AA_DEFINITIVA_ESA.txt'); % matrice di calibrazione % del dinamometro % --- CALCOLO VETTORE DELLE FORZE --- matrice_tensioni_a=(10^-3)*dati_prova_a(:,5:14)'; % matrice le cui righe sono le

% tensioni (V) misurate dai ponti % estensimetrici

% (cioè riga1=ponte1 etc) % e le cui colonne sono gli ntot % campioni presi

(3)

253

forze_a=AA\matrice_tensioni_a; % matrice le cui righe sono le forze

% (Fx,Fy,Mx,My,Mz,Fz) e le cui colonne sono % gli ntot campioni

% --- CALCOLO FORZE SIMULATE --- % Calcolo frequenza di rotazione motore

lettore_tacca_secon_pulito1=max(dati_prova_a(:,2)-1,0); lettore_tacca_secon=min(lettore_tacca_secon_pulito1,1); figure() plot(lettore_tacca_secon) grid on figure() plot(t,lettore_tacca_secon) grid on indici_tacca_secon=find(lettore_tacca_secon); k=0; for j=1:(length(indici_tacca_secon)-1) if indici_tacca_secon(j)==indici_tacca_secon(j+1)-1 else k=k+1; estremi_secon(k)=indici_tacca_secon(j); estremi_iniziale_secon(k)=indici_tacca_secon(j+1); end end if k==1 estremi_secon(2)=indici_tacca_secon(end); end frequenza_tacche_secon=estremi_secon(2)-estremi_secon(1); periodo_tacche_secon=frequenza_tacche_secon/cas;

velocita_di_rot=2*pi*(1/periodo_tacche_secon(1)); % velocità di rotazione % del motore

beta_antiorario=((estremi_iniziale_secon(1)/frequenza_tacche_secon)*360)-360; % angolo tra la tacca e il lettore di tacca all'istante iniziale % creazione della Fx ideale

(4)

254 tetha=velocita_di_rot.*t; M11=0, M12=0; M13=0; M21=0; M22=0; M23=0; M31=0; M32=0; M33=0; D1=0; D2=0; D3=0; for i=1:ntot; M11=M11+(sin(tetha(i))).^2; M12=M12+(sin(tetha(i))).*cos(tetha(i)); M13=M13+(sin(tetha(i))); M21=M21+(sin(tetha(i))).*cos(tetha(i)); M22=M22+(cos(tetha(i))).^2; M23=M23+(cos(tetha(i))); M31=M31+(sin(tetha(i))); M32=M32+(cos(tetha(i))); M33=M33+1; D1=D1+forze_a(1,i).*sin(tetha(i)); D2=D2+forze_a(1,i).*cos(tetha(i)); D3=D3+forze_a(1,i); end MM=[M11 M12 M13;M21 M22 M23;M31 M32 M33]; DD=[D1;D2;D3]; x_Fx=MM\DD; ampiezza_Fx=sqrt(x_Fx(1)^2+x_Fx(2)^2); phi_Fx=atan2(x_Fx(2),x_Fx(1)); offset_Fx=x_Fx(3); ideal_sin_Fx=ampiezza_Fx*sin(velocita_di_rot*t+phi_Fx)+offset_Fx; sigma_quadro_Fx=0; for r=1:ntot sigma_quadro_Fx=sigma_quadro_Fx+(ideal_sin_Fx(r)-forze_a(1,r)).^2; end sigma_quadro_Fx=sigma_quadro_Fx/ntot;

deviazione_standard_Fx=sqrt(sigma_quadro_Fx); % dà l'incertezza della misura % effettuata

(5)

255 D1=0; D2=0; D3=0; for i=1:ntot; D1=D1+forze_a(2,i).*sin(tetha(i)); D2=D2+forze_a(2,i).*cos(tetha(i)); D3=D3+forze_a(2,i); end DD=[D1;D2;D3]; x_Fy=MM\DD; ampiezza_Fy=sqrt(x_Fy(1)^2+x_Fy(2)^2); phi_Fy=atan2(x_Fy(2),x_Fy(1)); offset_Fy=x_Fy(3); ideal_sin_Fy=ampiezza_Fy*sin(velocita_di_rot*t+phi_Fy)+offset_Fy; sigma_quadro_Fy=0; for r=1:ntot sigma_quadro_Fy=sigma_quadro_Fy+(ideal_sin_Fy(r)-forze_a(2,r)).^2; end sigma_quadro_Fy=sigma_quadro_Fy/ntot;

deviazione_standard_Fy=sqrt(sigma_quadro_Fy); % dà l'incertezza della misura % effettuata

% creazione della Mx ideale D1=0; D2=0; D3=0; for i=1:ntot; D1=D1+forze_a(3,i).*sin(tetha(i)); D2=D2+forze_a(3,i).*cos(tetha(i)); D3=D3+forze_a(3,i); end DD=[D1;D2;D3]; x_Mx=MM\DD; ampiezza_Mx=sqrt(x_Mx(1)^2+x_Mx(2)^2); phi_Mx=atan2(x_Mx(2),x_Mx(1));

(6)

256 offset_Mx=x_Mx(3); ideal_sin_Mx=ampiezza_Mx*sin(velocita_di_rot*t+phi_Mx)+offset_Mx; sigma_quadro_Mx=0; for r=1:ntot sigma_quadro_Mx=sigma_quadro_Mx+(ideal_sin_Mx(r)-forze_a(3,r)).^2; end sigma_quadro_Mx=sigma_quadro_Mx/ntot;

deviazione_standard_Mx=sqrt(sigma_quadro_Mx); % dà l'incertezza della misura % effettuata

% creazione della My ideale D1=0; D2=0; D3=0; for i=1:ntot; D1=D1+forze_a(4,i).*sin(tetha(i)); D2=D2+forze_a(4,i).*cos(tetha(i)); D3=D3+forze_a(4,i); end DD=[D1;D2;D3]; x_My=MM\DD; ampiezza_My=sqrt(x_My(1)^2+x_My(2)^2); phi_My=atan2(x_My(2),x_My(1)); offset_My=x_My(3); ideal_sin_My=ampiezza_My*sin(velocita_di_rot*t+phi_My)+offset_My; sigma_quadro_My=0; for r=1:ntot sigma_quadro_My=sigma_quadro_My+(ideal_sin_My(r)-forze_a(4,r)).^2; end sigma_quadro_My=sigma_quadro_My/ntot;

deviazione_standard_My=sqrt(sigma_quadro_My); % dà l'incertezza della misura % effettuata

(7)

257 % creazione della Mz ideale

D1=0; D2=0; D3=0; for i=1:ntot; D1=D1+forze_a(5,i).*sin(tetha(i)); D2=D2+forze_a(5,i).*cos(tetha(i)); D3=D3+forze_a(5,i); end DD=[D1;D2;D3]; x_Mz=MM\DD; ampiezza_Mz=sqrt(x_Mz(1)^2+x_Mz(2)^2); phi_Mz=atan2(x_Mz(2),x_Mz(1)); offset_Mz=x_Mz(3); ideal_sin_Mz=ampiezza_Mz*sin(velocita_di_rot*t+phi_Mz)+offset_Mz; sigma_quadro_Mz=0; for r=1:ntot sigma_quadro_Mz=sigma_quadro_Mz+(ideal_sin_Mz(r)-forze_a(5,r)).^2; end sigma_quadro_Mz=sigma_quadro_Mz/ntot;

deviazione_standard_Mz=sqrt(sigma_quadro_Mz); % dà l'incertezza della misura % effettuata

% creazione della Fz ideale D1=0; D2=0; D3=0; for i=1:ntot; D1=D1+forze_a(6,i).*sin(tetha(i)); D2=D2+forze_a(6,i).*cos(tetha(i)); D3=D3+forze_a(6,i); end DD=[D1;D2;D3]; x_Fz=MM\DD;

(8)

258 ampiezza_Fz=sqrt(x_Fz(1)^2+x_Fz(2)^2); phi_Fz=atan2(x_Fz(2),x_Fz(1)); offset_Fz=x_Fz(3); ideal_sin_Fz=ampiezza_Fz*sin(velocita_di_rot*t+phi_Fz)+offset_Fz; sigma_quadro_Fz=0; for r=1:ntot sigma_quadro_Fz=sigma_quadro_Fz+(ideal_sin_Fz(r)-forze_a(6,r)).^2; end sigma_quadro_Fz=sigma_quadro_Fz/ntot;

deviazione_standard_Fz=sqrt(sigma_quadro_Fz); % dà l'incertezza della misura % effettuata % --- PLOTTAGGIO RISULTATI --- figure('name','Fx') plot(t,ideal_sin_Fx,t,forze_a(1,:)) legend('ideal','real') grid on figure('name','Fy') plot(t,ideal_sin_Fy,t,forze_a(2,:)) legend('ideal','real') grid on figure('name','Mx') plot(t,ideal_sin_Mx,t,forze_a(3,:)) legend('ideal','real') grid on figure('name','My') plot(t,ideal_sin_My,t,forze_a(4,:)) legend('ideal','real') grid on figure('name','Mz') plot(t,ideal_sin_Mz,t,forze_a(5,:)) legend('ideal','real') grid on

(9)

259 figure('name','Fz') plot(t,ideal_sin_Fz,t,forze_a(6,:)) legend('ideal','real') grid on % --- SCRITTURA RISULTATI --- disp('--- Fx ---') disp(sprintf('Ampiezza(N): %f',ampiezza_Fx)) disp(sprintf('Offset (N): %f',offset_Fx))

disp(sprintf('phi (deg): %f',phi_Fy*360/(2*pi))) disp(sprintf('sigma^2 (N^2): %f',sigma_quadro_Fx))

disp(sprintf('deviazione standard (N) : %f',deviazione_standard_Fx)) disp('--- Fy ---')

disp(sprintf('Ampiezza(N): %f',ampiezza_Fy)) disp(sprintf('Offset (N): %f',offset_Fy))

disp(sprintf('phi (deg): %f',180 + phi_Fx*360/(2*pi))) disp(sprintf('sigma^2 (N^2): %f',sigma_quadro_Fy))

disp(sprintf('deviazione standard (N) : %f',deviazione_standard_Fy)) disp('--- Mx ---')

disp(sprintf('Ampiezza(Nm): %f',ampiezza_Mx)) disp(sprintf('Offset (Nm): %f',offset_Mx))

disp(sprintf('sigma^2 (Nm^2): %f',sigma_quadro_Mx))

disp(sprintf('deviazione standard (Nm) : %f',deviazione_standard_Mx)) disp('--- My ---')

disp(sprintf('Ampiezza(Nm): %f',ampiezza_My)) disp(sprintf('Offset (Nm): %f',offset_My))

disp(sprintf('sigma^2 (Nm^2): %f',sigma_quadro_My))

disp(sprintf('deviazione standard (Nm) : %f',deviazione_standard_My)) disp('--- Mz ---')

disp(sprintf('Ampiezza(Nm): %f',ampiezza_Mz)) disp(sprintf('Offset (Nm): %f',offset_Mz))

disp(sprintf('sigma^2 (Nm^2): %f',sigma_quadro_Mz))

disp(sprintf('deviazione standard (Nm) : %f',deviazione_standard_Mz)) disp('--- Fz ---')

disp(sprintf('Ampiezza(N): %f',ampiezza_Fz)) disp(sprintf('Offset (N): %f',offset_Fz))

disp(sprintf('sigma^2 (N^2): %f',sigma_quadro_Fz))

disp(sprintf('deviazione standard (N) : %f',deviazione_standard_Fz)) disp('---')

(10)

260

C.1.2 Calcolo delle forze di tara

Si riporta il programma per calcolare le forze di tara (forza centrifuga e forza peso);

da questo programma si ottiene per un unico

valore di .

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Calcolo delle forze di Tara (forza peso e forza centrifuga) %

% versione 1.4 %

% funzionante al 12-03-2010 %

% Angelo Pasini, Luca Pecorari, Lucio Torre 2010 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% close all

clear all clc

g=9.81; % [m/s^2] accelerazione gravitazionale terrestre alla latitudine di ALTA %% --- PARAMETRI INIZIALI DA IMPOSTARE --- load('offset_a_6_0_2rpm_15_03_2010.mat');

offset=vettore_offset_a_6_0_2rpm_15_03_2010; % vettore contenente gli offset % [Fx; Fy; Mx; My; Mz; Fz] nel % riferimento rotante

Ncyc=250; % numero di ripetizioni del ciclo fondamentale epsilon=0.00113; % [m] eccentricità dell'orbita di whirl imposta delta_deg=128.23; % [deg] angolo tra la tacca secondario ed il vettore eccentricità J=10; % numero intero risultante da (omega/OMEGA)=(I/J)

r=0.1; % rapporto omega/Omega

ntot=600000; % n°tot campionamenti per prova

cas=5000; % campionamenti al secondo

teta_deg=195; % [deg] angolo tra il lettore di tacca principale % e l'asse X del sistema assoluto

phi_deg=170; % [deg] angolo tra il lettore di tacca

% secondario e l'asse X del sistema assoluto % ---

dt=1/cas; % [s] intervallo di campionamento

I=J*r; % numero intero risultante da (omega/OMEGA)=(I/J) T_acquisizione=ntot/cas; % [s] tempo totale di acquisizione

(11)

261

t=linspace(0,T_acquisizione,ntot); % [s] vettore tempo

teta=((teta_deg*2*pi)/360); % [rad] angolo tra il lettore di tacca principale % e l'asse X del sistema assoluto

phi=((phi_deg*2*pi)/360); % [rad] angolo tra il lettore di tacca secondario % e l'asse X del sistema assoluto

delta=((delta_deg*2*pi)/360); % [rad] angolo tra la tacca secondario ed il % vettore eccentricità

%% --- CARICAMENT0 DATI --- dati_prova_a=load('prova_a_6_0_1500rpm_0_1.txt'); % dati in aria

AA=load('MATRICE_AA_DEFINITIVA_ESA.txt'); % matrice A di calibrazione del % dinamometro [V=AF] nel SI %% --- CALCOLO VELOCITA' DI ROTAZIONE MOTORI --- % Motore principale

lettore_tacca_princ_pulito1=max(dati_prova_a(:,1)-1,0); % trasformazione onda % quadra parte inferiore lettore_tacca_princ=min(lettore_tacca_princ_pulito1,1); % trasformazione onda

% quadra parte superiore figure('Name','LETTORE DI TACCA PRINCIPALE')

plot(lettore_tacca_princ) grid on

xlabel('Samples')

ylabel('Principal Counter')

indici_tacca_princ=find(lettore_tacca_princ); % vettore contenente gli indici % degli elementi diversi da zero k=0;

for j=1:(length(indici_tacca_princ)-1)

if indici_tacca_princ(j)==indici_tacca_princ(j+1)-1 else

k=k+1;

estremi_princ(k)=indici_tacca_princ(j); % vettore contenente gli indici % di fine tacca (esclusa l'ultima) estremi_iniziale_princ(k)=indici_tacca_princ(j+1); % vettore contenente

% gli indici di inizio tacca (esclusa la prima) end

(12)

262 if k==1

estremi_princ(2)=indici_tacca_princ(end); end

Ntot=estremi_princ(Ncyc*J+1)-estremi_princ(1); % numero di campioni

% corrispondenti a Ncyc volte il periodo fondamentale N_sample_periodo_fondamentale=Ntot/Ncyc; % numero di campioni

% corrispondente al periodo fondamentale frequenza_principale=cas/N_sample_periodo_fondamentale*J; % frequenza

% motore principale [1/s] W=2*pi*frequenza_principale; % [rad/s] velocità di rotazione del motore principale OMEGA=W*60/(2*pi); % [rpm] velocità di rotazione del motore principale alfa_deg=-(((estremi_iniziale_princ(1)/...

(N_sample_periodo_fondamentale/J))*360)-360); % [deg] angolo tra la tacca % principale e il lettore di tacca principale all'istante iniziale alfa=alfa_deg*pi/180; % [rad] angolo tra la tacca principale e il lettore di tacca

% principale all'istante iniziale

W_0=teta+alfa-(pi/2); % [rad] angolo tra asse x dinamometro e asse X assoluto % all'istante 0 (inizio acquisizione)

W_0_deg=W_0*180/pi; % [deg] angolo tra asse x dinamometro e asse X assoluto % all'istante 0 (inizio acquisizione)

% Motore secondario

lettore_tacca_secon_pulito1=max(dati_prova_a(:,2)-1,0); % trasformazione onda % quadra parte inferiore lettore_tacca_secon=min(lettore_tacca_secon_pulito1,1); % trasformazione onda

% quadra parte superiore figure('Name','LETTORE DI TACCA SECONDARIO')

plot(lettore_tacca_secon) grid on

xlabel('Samples')

ylabel('Secondary Counter')

indici_tacca_secon=find(lettore_tacca_secon); % vettore contenente gli indici % degli elementi diversi da zero k=0;

(13)

263 for j=1:(length(indici_tacca_secon)-1)

if indici_tacca_secon(j)==indici_tacca_secon(j+1)-1 else

k=k+1;

estremi_secon(k)=indici_tacca_secon(j); % vettore contenente gli % indici di fine tacca (esclusa l'ultima) estremi_iniziale_secon(k)=indici_tacca_secon(j+1); % vettore % contenente gli indici di inizio tacca (esclusa la prima) end

end if k==1

estremi_secon(2)=indici_tacca_secon(end); end

Ntot_bis=estremi_secon(Ncyc*abs(I)+1)-estremi_secon(1); % numero di campioni % corrispondenti a Ncyc volte il periodo fondamentale N_sample_periodo_fondamentale_bis=Ntot_bis/Ncyc; % numero di campioni

% corrispondente al periodo fondamentale if abs(Ntot-Ntot_bis)/Ntot>10^-5

disp('ATTENTION PLEASE!!!! ALERT!!!! ALERT!!!! OH GRULLO!!!!') Ntot

Ntot_bis end

frequenza_secon=cas/N_sample_periodo_fondamentale*I; % frequenza % motore secondario [1/s] w=2*pi*frequenza_secon; % [rad/s] velocità di rotazione del motore secondario omega=w*60/(2*pi); % [rpm] velocità di rotazione del motore secondario

if r>0 % caso rotazione antioraria

beta_deg_antiorario=-(((estremi_iniziale_secon(1)/...

(N_sample_periodo_fondamentale/I))*360)-360); % [deg] angolo tra la % tacca secondario e il lettore di tacca secondario all'istante iniziale beta_antiorario=beta_deg_antiorario*pi/180; % [rad] angolo tra la

% tacca secondario e il lettore di tacca secondario all'istante iniziale w_0=phi+beta_antiorario+delta; % [rad] angolo tra

% l'eccentricità e asse X assoluto all'istante 0 (inizio acquisizione)

(14)

264 beta_deg_orario=-(((estremi_secon(1)/...

(N_sample_periodo_fondamentale/I))*360)); % [deg] angolo tra la % tacca secondario e il lettore di tacca secondario all'istante iniziale beta_orario=beta_deg_orario*pi/180; % [rad] angolo tra la

% tacca secondario e il lettore di tacca secondario all'istante iniziale

w_0=phi+beta_orario+delta; % [rad] angolo tra

% l'eccentricità e asse X assoluto all'istante 0 (inizio acquisizione) end

w_0_deg=w_0*180/pi; % [deg] angolo tra l'eccentricità e asse X assoluto % all'istante 0 (inizio acquisizione)

Tc=J/(OMEGA/60); % [s] periodo del ciclo fondamentale (cioè tempo % che impiega la girante per tornare nelle condizioni iniziali) T=Ntot/cas; % [s] tempo su cui si calcolano le forze

figure('Name','LETTORI DI TACCA') plot(t,lettore_tacca_secon,'r') hold on plot(t,lettore_tacca_princ,'g') grid on xlabel('Samples') ylabel('Counter')

legend('Secondary Counter','Principal Counter')

%% --- CALCOLO VETTORE DELLE FORZE --- matrice_tensioni_a=(10^-3)*dati_prova_a(:,5:14)'; % matrice le cui righe sono le

% tensioni (V) misurate dai ponti % estensimetrici (cioè

% riga1=ponte1 etc) e le cui % colonne sono gli ntot campioni % presi

forze_a_grezze=AA\matrice_tensioni_a; % matrice le cui righe sono le % forze (Fx,Fy,Mx,My,Mz,Fz) e le % cui colonne sono ntot (senza % aver tolto l'offset)

uni=ones(1,ntot);

matrice_offset=offset*uni;

forze_a=forze_a_grezze-matrice_offset; % matrice le cui righe sono le % forze (Fx,Fy,Mx,My,Mz,Fz) e le cui colonne sono ntot (dopo aver tolto l'offset)

(15)

265

%% --- CALCOLO F0X,F0Y,AXX,AXY,AYX,AYY --- F1_a=forze_a(1,:); %[N] vettore riga corrispondente alla Fx nel sistema rotante F2_a=forze_a(2,:); %[N] vettore riga corrispondente alla Fy nel sistema rotante F1c_J_a=0; F1s_J_a=0; F2c_J_a=0; F2s_J_a=0; F1c_JmenoI_a=0;

F1s_JmenoI_a=0; F2c_JmenoI_a=0; F2s_JmenoI_a=0; F1c_JpiuI_a=0; F1s_JpiuI_a=0; F2c_JpiuI_a=0; F2s_JpiuI_a=0; % Inizializzazione for n=1:Ntot F1c_J_a=F1c_J_a+((F1_a(n)*cos(W_0)-F2_a(n)*sin(W_0))*cos((J*(W/J)*n*dt))); F1s_J_a=F1s_J_a+((F1_a(n)*cos(W_0)-F2_a(n)*sin(W_0))*sin((J*(W/J)*n*dt))); F2c_J_a=F2c_J_a+((F1_a(n)*sin(W_0)+F2_a(n)*cos(W_0))*cos((J*(W/J)*n*dt))); F2s_J_a=F2s_J_a+((F1_a(n)*sin(W_0)+F2_a(n)*cos(W_0))*sin((J*(W/J)*n*dt))); F1c_JmenoI_a=F1c_JmenoI_a+((F1_a(n)*cos(W_0-w_0)-F2_a(n)*… sin(W_0-w_0))*cos(((J-I)*(W/J)*n*dt))); F1s_JmenoI_a=F1s_JmenoI_a+((F1_a(n)*cos(W_0-w_0)-F2_a(n)*… sin(W_0-w_0))*sin(((J-I)*(W/J)*n*dt))); F2c_JmenoI_a=F2c_JmenoI_a+((F1_a(n)*sin(W_0-w_0)+F2_a(n)*… cos(W_0-w_0))*cos(((J-I)*(W/J)*n*dt))); F2s_JmenoI_a=F2s_JmenoI_a+((F1_a(n)*sin(W_0-w_0)+F2_a(n)*… cos(W_0-w_0))*sin(((J-I)*(W/J)*n*dt))); F1c_JpiuI_a=F1c_JpiuI_a+((F1_a(n)*cos(W_0+w_0)-... F2_a(n)*sin(W_0+w_0))*cos(((J+I)*(W/J)*n*dt))); F1s_JpiuI_a=F1s_JpiuI_a+((F1_a(n)*cos(W_0+w_0)-… F2_a(n)*sin(W_0+w_0))*sin(((J+I)*(W/J)*n*dt))); F2c_JpiuI_a=F2c_JpiuI_a+((F1_a(n)*sin(W_0+w_0)+F2_a(n)*cos(W_0+w_0))*… cos(((J+I)*(W/J)*n*dt))); F2s_JpiuI_a=F2s_JpiuI_a+((F1_a(n)*sin(W_0+w_0)+F2_a(n)*cos(W_0+w_0))*… sin(((J+I)*(W/J)*n*dt))); end F1c_J_a=(2/Ntot)*F1c_J_a; F1s_J_a=(2/Ntot)*F1s_J_a; F2c_J_a=(2/Ntot)*F2c_J_a; F2s_J_a=(2/Ntot)*F2s_J_a; F1c_JmenoI_a=(2/Ntot)*F1c_JmenoI_a; F1s_JmenoI_a=(2/Ntot)*F1s_JmenoI_a; F2c_JmenoI_a=(2/Ntot)*F2c_JmenoI_a; F2s_JmenoI_a=(2/Ntot)*F2s_JmenoI_a; F1c_JpiuI_a=(2/Ntot)*F1c_JpiuI_a; F1s_JpiuI_a=(2/Ntot)*F1s_JpiuI_a; F2c_JpiuI_a=(2/Ntot)*F2c_JpiuI_a; F2s_JpiuI_a=(2/Ntot)*F2s_JpiuI_a;

F0X_a=(1/2)*(F1c_J_a-F2s_J_a); % Forza radiale lungo X (fisso col laboratorio) F0Y_a=(1/2)*(F1s_J_a+F2c_J_a); % Forza radiale lungo Y (fisso col laboratorio)

(16)

266

AXX_a=(1/(2*epsilon))*(F1c_JmenoI_a-F2s_JmenoI_a+F1c_JpiuI_a-F2s_JpiuI_a); AXY_a=(1/(2*epsilon))*(-F1s_JmenoI_a-F2c_JmenoI_a+F1s_JpiuI_a+F2c_JpiuI_a); AYX_a=(1/(2*epsilon))*(F1s_JmenoI_a+F2c_JmenoI_a+F1s_JpiuI_a+F2c_JpiuI_a); AYY_a=(1/(2*epsilon))*(F1c_JmenoI_a-F2s_JmenoI_a-F1c_JpiuI_a+F2s_JpiuI_a);

% Componenti matrice rotodinamica Frot=[A] epsilon FN_a=(1/2)*(AXX_a+AYY_a)*epsilon; % Forza normale all'orbita di whirl FT_a=(1/2)*(-AXY_a+AYX_a)*epsilon; % Forza tangenziale all'orbita di whirl massa_sospesa=-F0Y_a/g; % [kg] massa sospesa F1_ideale = -(massa_sospesa*g)*sin((W*t)+W_0)+...

(massa_sospesa*(w^2)*epsilon*cos(((W-w)*t)+(W_0-w_0))); F2_ideale = -(massa_sospesa*g)*cos((W*t)+W_0)-...

(massa_sospesa*(w^2)*epsilon*sin(((W-w)*t)+(W_0-w_0)));

% Vettori rappresentanti le forze attese nel sistema rotante % dovute ad una massa appesa in moto rotante eccentrico figure('Name','Confronto tra F1 reale e F1 simulata')

plot(forze_a(1,:),'r') hold on

plot(F1_ideale,'g') grid on

legend('F1 real','F1 simulated') xlabel('Samples')

ylabel('F1 (N)')

figure('Name','Confronto tra F2 reale e F2 simulata') plot(forze_a(2,:),'r')

hold on

plot(F2_ideale,'g') grid on

legend('F2 real','F2 simulated') xlabel('Samples')

ylabel('F2 (N)')

%% --- SCRITTURA RISULTATI --- disp('---')

disp(sprintf('T acquisizione (s): %f',T_acquisizione))

(17)

267 disp(sprintf('Tc ciclo fondamentale (s): %f',Tc))

disp(sprintf('Ncyc numero di cicli considerati : %f',Ncyc)) disp(sprintf('OMEGA (rpm) : %f',OMEGA))

disp(sprintf('omega (rpm) : %f',omega)) disp(sprintf('OMEGA_0 (deg) : %f',W_0_deg)) disp(sprintf('omega_0 (deg) : %f',w_0_deg)) disp('')

disp('--- FORZE ROTODINAMICHE ---') disp(sprintf('omega/OMEGA: %f',r)) disp(sprintf('F0X (N): %f',F0X_a)) disp(sprintf('F0Y (N): %f',F0Y_a)) disp(sprintf('AXX (N/m): %f',AXX_a)) disp(sprintf('AXY (N/m): %f',AXY_a)) disp(sprintf('AYX (N/m): %f',AYX_a)) disp(sprintf('AYY (N/m): %f',AYY_a)) disp(sprintf('FN (N): %f',FN_a)) disp(sprintf('FT (N): %f',FT_a)) disp('---') F0X_a_1500_60_0_1=F0X_a; F0Y_a_1500_60_0_1=F0Y_a; AXX_a_1500_60_0_1=AXX_a; AXY_a_1500_60_0_1=AXY_a; AYX_a_1500_60_0_1=AYX_a; AYY_a_1500_60_0_1=AYY_a; FN_a_1500_60_0_1=FN_a; FT_a_1500_60_0_1=FT_a; save('prova_a_6_0_1500rpm_0_1_ris','F0X_a_1500_60_0_1','F0Y_a_1500_60_0_1',... 'AXX_a_1500_60_0_1','AXY_a_1500_60_0_1','AYX_a_1500_60_0_1',… 'AYY_a_1500_60_0_1','FN_a_1500_60_0_1','FT_a_1500_60_0_1');

(18)

268

C.1.3 Calcolo delle forze rotodinamiche

Si riporta il programma per calcolare le forze rotodinamiche; da questo programma si

ottiene per un unico valore di .

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Calcolo delle forze rotodinamiche % % versione 1.3 % % funzionante al 17-03-2010 % % Angelo Pasini, Luca Pecorari, Lucio Torre 2010 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% close all

clear all clc

g=9.81; % [m/s^2] accelerazione gravitazionale terrestre alla latitudine di ALTA %% --- PARAMETRI INIZIALI DA IMPOSTARE --- portata_letta=11.55*10^-3; % [m^3/s] portata letta durante la prova

r=-0.1; % rapporto omega/Omega

temperatura=20.2; % [°C] temperatura a cui viene effettuata la prova load('offset_w_6_0_2rpm_18_03_2010.mat');

offset=vettore_offset_w_6_0_2rpm_18_03_2010; % vettore contenente gli offset % [Fx; Fy; Mx; My; Mz; Fz] nel riferimento rotante epsilon=0.00113; % [m] eccentricità dell'orbita di whirl imposta delta_deg=128.23; % [deg] angolo tra la tacca secondario ed il vettore eccentricità correzione=0.06*10^5; % [Pa] correzione dovuta al battente idrostatico Ncyc=250; % numero di ripetizioni del ciclo fondamentale J=10; % numero intero risultante da (omega/OMEGA)=(I/J)

ntot=600000; % n°tot campionamenti per prova

cas=5000; % campionamenti al secondo

teta_deg=195; % [deg] angolo tra il lettore di tacca % principale e l'asse X del sistema assoluto phi_deg=170; % [deg] angolo tra il lettore di tacca

% secondario e l'asse X del sistema assoluto

Rt2=0.081; % [m] raggio tip induttore

(19)

269

F_buoyancy=-9.41; % [N] forza di galleggiamento

% ---

dt=1/cas; % [s] intervallo di campionamento

I=J*r; % numero intero risultante da (omega/OMEGA)=(I/J) T_acquisizione=ntot/cas; % [s] tempo totale di acquisizione t=linspace(0,T_acquisizione,ntot); % [s] vettore tempo

teta=((teta_deg*2*pi)/360); % [rad] angolo tra il lettore di tacca % principale e l'asse X del sistema assoluto phi=((phi_deg*2*pi)/360); % [rad] angolo tra il lettore di tacca

% secondario e l'asse X del sistema assoluto delta=((delta_deg*2*pi)/360); % [rad] angolo tra la tacca

% secondario ed il vettore eccentricità %% --- CARICAMENT0 DATI --- dati_prova_w=load('prova_w_cav_6_0_1500rpm_m_0_1_0_044.txt'); % dati in acqua AA=load('MATRICE_AA_DEFINITIVA_ESA.txt'); % matrice A di

% calibrazione del dinamometro [V=AF] nel SI load('prova_a_6_0_1500rpm_m_0_1_ris.mat'); % caricamento % forze di tara (forza peso + forza centrifuga) F0X_a=F0X_a_1500_60_m_0_1; F0Y_a=F0Y_a_1500_60_m_0_1;

AXX_a=AXX_a_1500_60_m_0_1; AXY_a=AXY_a_1500_60_m_0_1; AYX_a=AYX_a_1500_60_m_0_1; AYY_a=AYY_a_1500_60_m_0_1; FN_a=FN_a_1500_60_m_0_1; FT_a=FT_a_1500_60_m_0_1;

%% --- CALCOLO VELOCITA' DI ROTAZIONE MOTORI --- % Motore principale

lettore_tacca_princ_pulito1=max(dati_prova_a(:,1)-1,0); % trasformazione onda % quadra parte inferiore lettore_tacca_princ=min(lettore_tacca_princ_pulito1,1); % trasformazione onda

% quadra parte superiore figure('Name','LETTORE DI TACCA PRINCIPALE')

plot(lettore_tacca_princ) grid on

(20)

270 ylabel('Principal Counter')

indici_tacca_princ=find(lettore_tacca_princ); % vettore contenente gli indici % degli elementi diversi da zero k=0;

for j=1:(length(indici_tacca_princ)-1)

if indici_tacca_princ(j)==indici_tacca_princ(j+1)-1 else

k=k+1;

estremi_princ(k)=indici_tacca_princ(j); % vettore contenente gli indici % di fine tacca (esclusa l'ultima) estremi_iniziale_princ(k)=indici_tacca_princ(j+1); % vettore contenente

% gli indici di inizio tacca (esclusa la prima) end

end if k==1

estremi_princ(2)=indici_tacca_princ(end); end

Ntot=estremi_princ(Ncyc*J+1)-estremi_princ(1); % numero di campioni

% corrispondenti a Ncyc volte il periodo fondamentale N_sample_periodo_fondamentale=Ntot/Ncyc; % numero di campioni

% corrispondente al periodo fondamentale frequenza_principale=cas/N_sample_periodo_fondamentale*J; % frequenza

% motore principale [1/s] W=2*pi*frequenza_principale; % [rad/s] velocità di rotazione del motore principale OMEGA=W*60/(2*pi); % [rpm] velocità di rotazione del motore principale alfa_deg=-(((estremi_iniziale_princ(1)/...

(N_sample_periodo_fondamentale/J))*360)-360); % [deg] angolo tra la tacca % principale e il lettore di tacca principale all'istante iniziale alfa=alfa_deg*pi/180; % [rad] angolo tra la tacca principale e il lettore di tacca

% principale all'istante iniziale

W_0=teta+alfa-(pi/2); % [rad] angolo tra asse x dinamometro e asse X assoluto % all'istante 0 (inizio acquisizione)

W_0_deg=W_0*180/pi; % [deg] angolo tra asse x dinamometro e asse X assoluto % all'istante 0 (inizio acquisizione)

(21)

271

lettore_tacca_secon_pulito1=max(dati_prova_a(:,2)-1,0); % trasformazione onda % quadra parte inferiore lettore_tacca_secon=min(lettore_tacca_secon_pulito1,1); % trasformazione onda

% quadra parte superiore figure('Name','LETTORE DI TACCA SECONDARIO')

plot(lettore_tacca_secon) grid on

xlabel('Samples')

ylabel('Secondary Counter')

indici_tacca_secon=find(lettore_tacca_secon); % vettore contenente gli indici % degli elementi diversi da zero k=0;

for j=1:(length(indici_tacca_secon)-1)

if indici_tacca_secon(j)==indici_tacca_secon(j+1)-1 else

k=k+1;

estremi_secon(k)=indici_tacca_secon(j); % vettore contenente gli % indici di fine tacca (esclusa l'ultima) estremi_iniziale_secon(k)=indici_tacca_secon(j+1); % vettore % contenente gli indici di inizio tacca (esclusa la prima) end

end if k==1

estremi_secon(2)=indici_tacca_secon(end); end

Ntot_bis=estremi_secon(Ncyc*abs(I)+1)-estremi_secon(1); % numero di campioni % corrispondenti a Ncyc volte il periodo fondamentale N_sample_periodo_fondamentale_bis=Ntot_bis/Ncyc; % numero di campioni

% corrispondente al periodo fondamentale if abs(Ntot-Ntot_bis)/Ntot>10^-5

disp('ATTENTION PLEASE!!!! ALERT!!!! ALERT!!!! OH GRULLO!!!!') Ntot

Ntot_bis end

(22)

272

frequenza_secon=cas/N_sample_periodo_fondamentale*I; % frequenza % motore secondario [1/s] w=2*pi*frequenza_secon; % [rad/s] velocità di rotazione del motore secondario omega=w*60/(2*pi); % [rpm] velocità di rotazione del motore secondario

if r>0 % caso rotazione antioraria

beta_deg_antiorario=-(((estremi_iniziale_secon(1)/...

(N_sample_periodo_fondamentale/I))*360)-360); % [deg] angolo tra la % tacca secondario e il lettore di tacca secondario all'istante iniziale beta_antiorario=beta_deg_antiorario*pi/180; % [rad] angolo tra la

% tacca secondario e il lettore di tacca secondario all'istante iniziale w_0=phi+beta_antiorario+delta; % [rad] angolo tra

% l'eccentricità e asse X assoluto all'istante 0 (inizio acquisizione)

else % caso rotazione oraria

beta_deg_orario=-(((estremi_secon(1)/...

(N_sample_periodo_fondamentale/I))*360)); % [deg] angolo tra la % tacca secondario e il lettore di tacca secondario all'istante iniziale beta_orario=beta_deg_orario*pi/180; % [rad] angolo tra la

% tacca secondario e il lettore di tacca secondario all'istante iniziale

w_0=phi+beta_orario+delta; % [rad] angolo tra

% l'eccentricità e asse X assoluto all'istante 0 (inizio acquisizione) end

w_0_deg=w_0*180/pi; % [deg] angolo tra l'eccentricità e asse X assoluto % all'istante 0 (inizio acquisizione)

Tc=J/(OMEGA/60); % [s] periodo del ciclo fondamentale (cioè tempo % che impiega la girante per tornare nelle condizioni iniziali) T=Ntot/cas; % [s] tempo su cui si calcolano le forze

figure('Name','LETTORI DI TACCA') plot(t,lettore_tacca_secon,'r') hold on plot(t,lettore_tacca_princ,'g') grid on xlabel('Samples') ylabel('Counter')

legend('Secondary Counter','Principal Counter')

(23)

273

matrice_tensioni_w=(10^-3)*dati_prova_w(:,5:14)'; % matrice le cui righe sono le % tensioni (V) misurate dai ponti % estensimetrici (cioè

% riga1=ponte1 etc) e le cui % colonne sono gli ntot campioni % presi

forze_w_grezze=AA\matrice_tensioni_w; % matrice le cui righe sono le % forze (Fx,Fy,Mx,My,Mz,Fz) e le % cui colonne sono ntot (senza % aver tolto l'offset)

uni=ones(1,ntot);

matrice_offset=offset*uni;

forze_w=forze_w_grezze-matrice_offset; % matrice le cui righe sono le forze % (Fx,Fy,Mx,My,Mz,Fz) e le cui colonne % sono ntot (dopo aver tolto l'offset) %% --- CALCOLO F0X,F0Y,AXX,AXY,AYX,AYY --- F1_w=forze_w(1,:); %[N] vettore riga corrispondente alla Fx nel sistema rotante F2_w=forze_w(2,:); %[N] vettore riga corrispondente alla Fy nel sistema rotante F1c_J_w=0; F1s_J_w=0; F2c_J_w=0; F2s_J_w=0; F1c_JmenoI_w=0; F1s_JmenoI_w=0; F2c_JmenoI_w=0; F2s_JmenoI_w=0; F1c_JpiuI_w=0; F1s_JpiuI_w=0; F2c_JpiuI_w=0; F2s_JpiuI_w=0; % Inizializzazione for n=1:Ntot F1c_J_w=F1c_J_w+((F1_w(n)*cos(W_0)-F2_w(n)*sin(W_0))*… cos((J*(W/J)*n*dt))); F1s_J_w=F1s_J_w+((F1_w(n)*cos(W_0)-F2_w(n)*sin(W_0))*… sin((J*(W/J)*n*dt))); F2c_J_w=F2c_J_w+((F1_w(n)*sin(W_0)+F2_w(n)*cos(W_0))*… cos((J*(W/J)*n*dt))); F2s_J_w=F2s_J_w+((F1_w(n)*sin(W_0)+F2_w(n)*cos(W_0))*… sin((J*(W/J)*n*dt))); F1c_JmenoI_w=F1c_JmenoI_w+((F1_w(n)*cos(W_0-w_0)-F2_w(n)*… sin(W_0-w_0))*cos(((J-I)*(W/J)*n*dt))); F1s_JmenoI_w=F1s_JmenoI_w+((F1_w(n)*cos(W_0-w_0)-F2_w(n)*… sin(W_0-w_0))*sin(((J-I)*(W/J)*n*dt))); F2c_JmenoI_w=F2c_JmenoI_w+((F1_w(n)*sin(W_0-w_0)+F2_w(n)*…

(24)

274 cos(W_0-w_0))*cos(((J-I)*(W/J)*n*dt))); F2s_JmenoI_w=F2s_JmenoI_w+((F1_w(n)*sin(W_0-w_0)+F2_w(n)*… cos(W_0-w_0))*sin(((J-I)*(W/J)*n*dt))); F1c_JpiuI_w=F1c_JpiuI_w+((F1_w(n)*cos(W_0+w_0)-F2_w(n)*sin(W_0+w_0))*… cos(((J+I)*(W/J)*n*dt))); F1s_JpiuI_w=F1s_JpiuI_w+((F1_w(n)*cos(W_0+w_0)-F2_w(n)*sin(W_0+w_0))*… sin(((J+I)*(W/J)*n*dt))); F2c_JpiuI_w=F2c_JpiuI_w+((F1_w(n)*sin(W_0+w_0)+F2_w(n)*… cos(W_0+w_0))*cos(((J+I)*(W/J)*n*dt))); F2s_JpiuI_w=F2s_JpiuI_w+((F1_w(n)*sin(W_0+w_0)+F2_w(n)*… cos(W_0+w_0))*sin(((J+I)*(W/J)*n*dt))); end F1c_J_w=(2/Ntot)*F1c_J_w; F1s_J_w=(2/Ntot)*F1s_J_w; F2c_J_w=(2/Ntot)*F2c_J_w; F2s_J_w=(2/Ntot)*F2s_J_w; F1c_JmenoI_w=(2/Ntot)*F1c_JmenoI_w; F1s_JmenoI_w=(2/Ntot)*F1s_JmenoI_w; F2c_JmenoI_w=(2/Ntot)*F2c_JmenoI_w; F2s_JmenoI_w=(2/Ntot)*F2s_JmenoI_w; F1c_JpiuI_w=(2/Ntot)*F1c_JpiuI_w; F1s_JpiuI_w=(2/Ntot)*F1s_JpiuI_w; F2c_JpiuI_w=(2/Ntot)*F2c_JpiuI_w; F2s_JpiuI_w=(2/Ntot)*F2s_JpiuI_w; F0X_w=(1/2)*(F1c_J_w-F2s_J_w); % Forza radiale lungo X (fisso col laboratorio) F0Y_w=(1/2)*(F1s_J_w+F2c_J_w); % Forza radiale lungo Y (fisso col laboratorio) AXX_w=(1/(2*epsilon))*(F1c_JmenoI_w-F2s_JmenoI_w+F1c_JpiuI_w-F2s_JpiuI_w); AXY_w=(1/(2*epsilon))*(-F1s_JmenoI_w-F2c_JmenoI_w+F1s_JpiuI_w+F2c_JpiuI_w); AYX_w=(1/(2*epsilon))*(F1s_JmenoI_w+F2c_JmenoI_w+F1s_JpiuI_w+F2c_JpiuI_w); AYY_w=(1/(2*epsilon))*(F1c_JmenoI_w-F2s_JmenoI_w-F1c_JpiuI_w+F2s_JpiuI_w);

% Componenti matrice rotodinamica Frot=[A] epsilon F0X=F0X_w-F0X_a; F0Y=F0Y_w-F0Y_a-F_buoyancy; AXX=AXX_w-AXX_a; AXY=AXY_w-AXY_a; AYX=AYX_w-AYX_a; AYY=AYY_w-AYY_a;

FN=(1/2)*(AXX+AYY)*epsilon; % Forza normale all'orbita di whirl FT=(1/2)*(-AXY+AYX)*epsilon; % Forza tangenziale all'orbita di whirl %% --- CALCOLO F0X,F0Y,AXX,AXY,AYX,AYY adimensionali--- % calcolo densità acqua in funzione della temperatura

(25)

275 T_vspec_vett=280:5:475; % [K] v_spec_vett=1e-003+1e-006**0 1 1 2 4 5 7 9 11 13 15 18 21 24 … %[ m^3/kg] 27 30 34 37 41 45 49 53 58 62 67 72 77 82 87 … 93 99 104 110 117 123 130 137 144 152 159]; Temp=273.15+temperatura; % [K] v_spec=interp1(T_vspec_vett,v_spec_vett,Temp); ro=1./v_spec; % [kg/m^3]

% calcolo pressione di vapore in funzione della temperatura

T_vap_vett=275:5:370; % [K] p_vap_vett=1e+006**0.0006980 0.0009912 0.001388 … % [Pa] 0.001919 0.002620 0.003536 0.004718 0.006230 … 0.008143 0.01054 0.01353 0.01721 0.02171 0.02718 ... 0.03377 0.04166 0.05105 0.06215 0.07521 0.09047]; pv=interp1(T_vap_vett,p_vap_vett,Temp); % [Pa]

P_in=mean(dati_prova_w(:,4)).*10^5-correzione; % [Pa] media della pressione in % ingresso all'induttore

Dp_7bar=(mean(dati_prova_w(:,3))).*10^5; % [Pa] media del salto di

% pressione a cavallo dell'induttore sigma=(P_in-pv)./(0.5.*ro.*(W.*Rt2).^2); % numero di eulero

phi_flusso=portata_letta/(pi*Rt2^2*W*Rt2); % coefficiente di flusso della % prova rotodinamica psi_flusso=Dp_7bar./(ro.*(W.*Rt2).^2); % coefficiente di prevalenza

% della prova rotodinamica % calcolo adimensionalizzazioni

adim_A=ro*pi*(W^2)*(Rt2^2)*l; % adimensionalizzazione per le % componenti della matrice A adim_F0=ro*pi*(W^2)*(Rt2^3)*l; % adimensionalizzazione per le

% componenti della forza stazionaria F0 adim_F=ro*pi*(W^2)*(Rt2^2)*l*epsilon; % adimensionalizzazione per le

% componenti nel sistema "whirlante" F0X_adim=F0X/adim_F0; F0Y_adim=F0Y/adim_F0; AXX_adim=AXX/adim_A; AXY_adim=AXY/adim_A; AYX_adim=AYX/adim_A; AYY_adim=AYY/adim_A; FN_adim=FN/adim_F; FT_adim=FT/adim_F;

(26)

276

%% --- SCRITTURA RISULTATI --- disp('---')

disp(sprintf('Coefficiente di Flusso: %f',phi_flusso)) disp(sprintf('Coefficiente di Prevalenza: %f',psi_flusso)) disp(sprintf('Numero di Eulero: %f',sigma))

disp(sprintf('T acquisizione (s): %f',T_acquisizione))

disp(sprintf('T su cui si effettua il processamento [Ncyc*Tc](s): %f',T)) disp(sprintf('Tc ciclo fondamentale (s): %f',Tc))

disp(sprintf('Ncyc numero di cicli considerati : %f',Ncyc)) disp(sprintf('OMEGA (rpm) : %f',OMEGA))

disp(sprintf('omega (rpm) : %f',omega)) disp(sprintf('OMEGA_0 (deg) : %f',W_0_deg)) disp(sprintf('omega_0 (deg) : %f',w_0_deg)) disp('')

disp('--- FORZE ROTODINAMICHE ---') disp(sprintf('omega/OMEGA: %f',r)) disp(sprintf('F0X (N): %f',F0X)) disp(sprintf('F0Y (N): %f',F0Y)) disp(sprintf('AXX (N/m): %f',AXX)) disp(sprintf('AXY (N/m): %f',AXY)) disp(sprintf('AYX (N/m): %f',AYX)) disp(sprintf('AYY (N/m): %f',AYY)) disp(sprintf('FN (N): %f',FN)) disp(sprintf('FT (N): %f',FT)) disp('')

disp('--- FORZE ROTODINAMICHE ADIMENSIONALI---') disp(sprintf('F0X : %f',F0X_adim)) disp(sprintf('F0Y : %f',F0Y_adim)) disp(sprintf('AXX : %f',AXX_adim)) disp(sprintf('AXY : %f',AXY_adim)) disp(sprintf('AYX : %f',AYX_adim)) disp(sprintf('AYY : %f',AYY_adim)) disp(sprintf('FN : %f',FN_adim)) disp(sprintf('FT : %f',FT_adim)) disp('---') F0X_w_cav_1500_60_m_0_1_0_044=F0X; F0Y_w_cav_1500_60_m_0_1_0_044=F0Y; AXX_w_cav_1500_60_m_0_1_0_044=AXX;

(27)

277 AXY_w_cav_1500_60_m_0_1_0_044=AXY; AYX_w_cav_1500_60_m_0_1_0_044=AYX; AYY_w_cav_1500_60_m_0_1_0_044=AYY; FN_w_cav_1500_60_m_0_1_0_044=FN; FT_w_cav_1500_60_m_0_1_0_044=FT; F0X_w_cav_1500_60_m_0_1_0_044_adim=F0X_adim; F0Y_w_cav_1500_60_m_0_1_0_044_adim=F0Y_adim; AXX_w_cav_1500_60_m_0_1_0_044_adim=AXX_adim; AXY_w_cav_1500_60_m_0_1_0_044_adim=AXY_adim; AYX_w_cav_1500_60_m_0_1_0_044_adim=AYX_adim; AYY_w_cav_1500_60_m_0_1_0_044_adim=AYY_adim; FN_w_cav_1500_60_m_0_1_0_044_adim=FN_adim; FT_w_cav_1500_60_m_0_1_0_044_adim=FT_adim; save('prova_w_cav_6_0_1500rpm_m_0_1_0_044_ris',… 'F0X_w_cav_1500_60_m_0_1_0_044','F0Y_w_cav_1500_60_m_0_1_0_044',… 'AXX_w_cav_1500_60_m_0_1_0_044','AXY_w_cav_1500_60_m_0_1_0_044',… 'AYX_w_cav_1500_60_m_0_1_0_044','AYY_w_cav_1500_60_m_0_1_0_044',... 'FN_w_cav_1500_60_m_0_1_0_044','FT_w_cav_1500_60_m_0_1_0_044',… 'F0X_w_cav_1500_60_m_0_1_0_044_adim',… 'F0Y_w_cav_1500_60_m_0_1_0_044_adim',… 'AXX_w_cav_1500_60_m_0_1_0_044_adim',... 'AXY_w_cav_1500_60_m_0_1_0_044_adim',… 'AYX_w_cav_1500_60_m_0_1_0_044_adim',… 'AYY_w_cav_1500_60_m_0_1_0_044_adim',... 'FN_w_cav_1500_60_m_0_1_0_044_adim',… 'FT_w_cav_1500_60_m_0_1_0_044_adim')

(28)

278

C.2 Disegni quotati dei particolari modificati o realizzati

(29)

279

(30)

280

(31)

281

(32)

282

(33)
(34)

284

C.4 Grafici forze rotodinamiche dimensionali

C.4.1 Forza radiale

Modulo ed angolo, misurato rispetto all’asse X assoluto, della forza radiale al variare dell’eccentricità. -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6 7 8 9 10 / F0 (N ) DAPAMITO3 =1500 rpm =0.050 =1.410 =0.700 mm T=19.5°C =0.050 =1.410 =1.130 mm T=18.8°C -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -150 -100 -50 0 50 100 150 / an gl e (d eg ) DAPAMITO3 =1500 rpm =0.050 =1.410 =0.700 mm T=19.5°C =0.050 =1.410 =1.130 mm T=18.8°C

(35)

285

Modulo ed angolo, misurato rispetto all’asse X assoluto, della forza radiale al variare del flusso. -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6 7 8 9 10 / F0 (N ) DAPAMITO3 =1500 rpm =0.050 =1.410 =1.130 mm T=18.8°C =0.044 =1.357 =1.130 mm T=19.7°C =0.029 =0.123 =1.130 mm T=19.6°C -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -150 -100 -50 0 50 100 150 / an gl e (d eg ) DAPAMITO3 =1500 rpm =0.050 =1.410 =1.130 mm T=18.8°C =0.044 =1.357 =1.130 mm T=19.7°C =0.029 =0.123 =1.130 mm T=19.6°C

(36)

286

Effetto della temperatura sul modulo e sull’angolo, misurato rispetto all’asse X assoluto, della forza radiale a parità di flusso.

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6 7 8 9 10 / F0 (N ) DAPAMITO3 =1500 rpm =0.044 =1.357 =1.130 mm T=19.7°C =0.044 =1.180 =1.130 mm T=50.3°C -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -150 -100 -50 0 50 100 150 / an gl e (d eg ) DAPAMITO3 =1500 rpm =0.044 =1.357 =1.130 mm T=19.7°C =0.044 =1.180 =1.130 mm T=50.3°C

(37)

287

Modulo ed angolo, misurato rispetto all’asse X assoluto, della forza radiale al variare del numero di cavitazione.

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6 7 8 9 10 / F0 (N ) DAPAMITO3 =1500 rpm =0.044 =1.357 =1.130 mm T=19.7°C =0.044 =0.094 =1.130 mm T=19.8°C -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -150 -100 -50 0 50 100 150 / an gl e (d eg ) DAPAMITO3 =1500 rpm =0.044 =1.357 =1.130 mm T=19.7°C =0.044 =0.094 =1.130 mm T=19.8°C

(38)

288

Effetto della temperatura sul modulo e sull’angolo, misurato rispetto all’asse X assoluto, della forza radiale a parità del numero di cavitazione.

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6 7 8 9 10 / F0 (N ) DAPAMITO3 =1500 rpm =0.044 =0.094 =1.130 mm T=19.8°C =0.044 =0.093 =1.130 mm T=50.1°C -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -150 -100 -50 0 50 100 150 / an gl e (d eg ) DAPAMITO3 =1500 rpm =0.044 =0.094 =1.130 mm T=19.8°C =0.044 =0.093 =1.130 mm T=50.1°C

(39)

289

C.4.2 Forze rotodinamiche

ed dimensionali al variare dell’eccentricità.

/ FN (N ) DAPAMITO3 =1500 rpm -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -30 -20 -10 0 10 20 30 40 50 =0.050 =1.410 =0.700 mm T=19.5°C =0.050 =1.410 =1.130 mm T=18.8°C Instabile Stabile / FT (N ) DAPAMITO3 =1500 rpm -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -30 -20 -10 0 10 20 30 40 50 =0.050 =1.410 =0.700 mm T=19.5°C =0.050 =1.410 =1.130 mm T=18.8°C Instabile Stabile

(40)

290 ed dimensionali al variare del flusso.

/ FN (N ) DAPAMITO3 =1500 rpm -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -30 -20 -10 0 10 20 30 40 50 =0.050 =1.410 =1.130 mm T=18.8°C =0.044 =1.357 =1.130 mm T=19.7°C =0.029 =0.123 =1.130 mm T=19.6°C Instabile Stabile / FT (N ) DAPAMITO3 =1500 rpm -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -30 -20 -10 0 10 20 30 40 50 =0.050 =1.410 =1.130 mm T=18.8°C =0.044 =1.357 =1.130 mm T=19.7°C =0.029 =0.123 =1.130 mm T=19.6°C Instabile Stabile

(41)

291

Effetto della temperatura sulle componenti normale e tangente a parità di flusso.

/ FN (N ) DAPAMITO3 =1500 rpm -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -30 -20 -10 0 10 20 30 40 50 =0.044 =1.357 =1.130 mm T=19.7°C =0.044 =1.180 =1.130 mm T=50.3°C Instabile Stabile / FT (N ) DAPAMITO3 =1500 rpm -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -30 -20 -10 0 10 20 30 40 50 =0.044 =1.357 =1.130 mm T=19.7°C =0.044 =1.180 =1.130 mm T=50.3°C Instabile Stabile

(42)

292

ed dimensionali al variare del numero di cavitazione.

/ FN (N ) DAPAMITO3 =1500 rpm -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -30 -20 -10 0 10 20 30 40 50 =0.044 =1.357 =1.130 mm T=19.7°C =0.044 =0.094 =1.130 mm T=19.8°C Instabile Stabile / FT (N ) DAPAMITO3 =1500 rpm -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -30 -20 -10 0 10 20 30 40 50 =0.044 =1.357 =1.130 mm T=19.7°C =0.044 =0.094 =1.130 mm T=19.8°C Instabile Stabile

(43)

293

Effetto della temperatura sulle componenti normale e tangente a parità di numero di cavitazione. / FN (N ) DAPAMITO3 =1500 rpm -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -30 -20 -10 0 10 20 30 40 50 =0.044 =0.094 =1.130 mm T=19.8°C =0.044 =0.093 =1.130 mm T=50.1°C Instabile Stabile / FT (N ) DAPAMITO3 =1500 rpm -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -30 -20 -10 0 10 20 30 40 50 =0.044 =0.094 =1.130 mm T=19.8°C =0.044 =0.093 =1.130 mm T=50.1°C Instabile Stabile

(44)

Riferimenti

Documenti correlati

orientato nello spazio mondo, oppure orientato nello spazio oggetto handles per trasl lungo assi e/o piani. es: x spostare

Il modello teorico presentato da Schlichting /1/ descrive un getto che si forma da una piccola apertura circolare e si miscela con il fluido circostante.. Le equazioni

(b) Un corpo rigido soggetto solo alla forza peso, in equilibrio e pog- giato su 3 punti non collineari.. (c) Un corpo rigido soggetto alla forza peso e ad una forza parallela

Rispetto agli angoli i triangoli possono essere rettangoli (con un angolo ………….……... 9) Costruisci con il compasso e la riga un triangolo equilatero con il lato lungo

– L'ultima eguaglianza esprime la condizione di equilibrio chimico e può essere interpretata come la curva di intersezione delle due superfici che rappresentano i

Health Care Managed Health Care United Parcel Service Industrials Air Freight & Logistics Martin Marietta Materials Materials Construction Materials United Technologies

Secondo il Programma di Sviluppo delle Nazioni Unite, infatti, mentre i paesi con basso indice di sviluppo umano hanno un tasso di crescita della popolazione annua del 2,6%,

Figura 40: variazione complessiva della Temperatura durante le varie prove.. A livello teorico infatti, l’anidride carbonica, se fatta reagire con l’ammoniaca, dovrebbe portare alla