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.
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
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
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
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));
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
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;
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
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('---')
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
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
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;
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)
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)
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)
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))
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');
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
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
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)
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
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')
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)*…
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
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;
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;
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')
278
C.2 Disegni quotati dei particolari modificati o realizzati
279
280
281
282
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
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
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
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
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
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
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
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
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
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