• Non ci sono risultati.

Dati in ingresso per i modelli Simulink

N/A
N/A
Protected

Academic year: 2021

Condividi "Dati in ingresso per i modelli Simulink"

Copied!
26
0
0

Testo completo

(1)

APPENDICE 3

Dati in ingresso per i modelli Simulink

Si riportano di seguito i file di ingresso:

• I seguenti file servono per effettuare la simulazione del modello Simulink relativo al capitolo 3 (Distributore_a_tre_vie.mdl)

- Input_Valvola_regolatrice_di-pressione.m - Dati_Valvola_regolatrice_di-pressione.m - Kreq_look-up_table.m

Input_mart_di_carico.m: costituisce il file di ingresso per effettuare la simulazione nel modello Simulink relativo al capitolo 5 (controllo_sul_carico.mdl)

(2)

Imput_Valvola_regolatrice_di_pressione.m

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% %

% Input Valvola regolatrice di pressione %

% %

% 20/10/2003 %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

close all clc

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Calcolo del Kreq=f(PAimpostata) in condizioni statiche %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%% CALCOLO DELLA MAX APERTURA E DI l_o %%%%%%%%%%%%%%

% L'APERTURA DELL'ORIFIZO PRINCIPALE È COSTITUITA DALLA %

% SUPERFICIE LATERALE DI UN TRONCO DI CONO IL CUI VALORE %

% PUO' ESSERE ESPRESSO TRAMITE UNA FUNZIONE DI X (VALORE %

% DELL'APERTURA DELLO SPOOL) %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poli_lo = [pi*(sin(alfa)^2)*cos(alfa) - 2*(sin(alfa))*pi*R_spool

(QA_lo)*(sqrt(rho_ref/2))./(sqrt(DeltaP_regime_lo)*cd)];

% coefficienti del polinomio rappresentanti l'area in funzione di x

x_max = min(roots(poli_lo));

% [mm] valore massimo di apertura dello spool con la portata di riferimento

l_o = (DeltaP_regime_lo*Aspool/Kspool)-x_max;

% [mm] lunghezza a riposo della molla

%%%%%%%%%CALCOLO DELE CONDIZIONI INIZIALI (a regime)%%%%%%%%%%

K_flow = (QA)/((PB-PAimp).^0.5);

% [mm^3/sec/kPa^0.5] coefficiente di trafilamento

Aluce = ((K_flow*sqrt(rho_ref/2))/cd);

% [mm^2] area della luce di trafilamento B-A

coeff =[pi*(sin(alfa)^2)*cos(alfa) -2*(sin(alfa))*pi*R_spool Aluce];

%% Coefficienti del polinomio rappresentanti

%% l'area in funzione di x

x_ini =min(roots(coeff));

(3)

% [mm] spostamento dello spool principale (x=0 quando è a battuta contro la sede)

PW = ((Kspool*(x_ini+l_o))/Aspool)+PAimp;

% [kPa] pressione superficie superiore

% dello spool principale

PZ = PW;

% A regime ho QW=0

QC = K1*(sqrt(PB-PZ));

% [mm^3/sec] portata

QY = QC;

% [mm^3/sec] portata verso lo scarico

Kreq = QY/sqrt(PZ-PY);

% [mm^3/sec/kPa^0.5] coefficiente di trafilamento dello

% spillo di regolazione necessario per ottenere in

% uscita la pressione PA

Aref = QA/(cd*sqrt(2/rho_ref)*sqrt(Delta_P_ref));

% [mm^2] Area di riferimento della

%strozzatura della DDV

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% GRAFICI %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%plot(Kreq,PAimp)

%title('Kreq')

%grid on

%figure

%plot(x,PAimp)

%title('x [mm]')

%grid on

%figure

%plot(QY*60/1000000,PAimp)

%title('QY [l/min]')

%grid on

%figure

%plot(PAimp,K_flow)

%title('K_flow')

%grid on

(4)

Dati_Valvola_regolatrice_di_pressione.m

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% %

% Dati Valvola regolatrice di pressione %

(5)

% %

% 20/10/2003 %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

close all clc

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Portata =MENU('Valore della portata[l/min]','2.4','4.5','6.8');

if Portata == 1

QA = 2.4*10^6/60;

elseif Portata == 2 QA = 4.5*10^6/60;

else

QA = 6.8*10^6/60;

end

% [mm^3/sec] portata verso l'utilizzatore % (l'attuatore richiede dai 2.4 ai 6.8 l/min)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if QA == 2.4*10^6/60;

vel_1=1;

vel_2=0;

vel_3=0;

elseif QA == 4.5*10^6/60;

vel_1=0;

vel_2=1;

vel_3=0;

elseif QA == 6.8*10^6/60;

vel_1=0;

vel_2=0;

vel_3=1;

end

% Si riproduce l'andamento della curva

% (rappresenttata nel catalogo della Denison)

% che lega il salto di pressione tra ingresso e uscita

% alla portata che attraversa la valvola.

QA_ = [0 25 50 75 100 125 150 200 250 300]*10^6/60;

DeltaP_ = [3 3.1 3.3 3.65 4.2 5 6 9 15 21]*100;

(6)

QA_spline = 0:1:300*10^6/60;

delta = interp1(QA_,DeltaP_,QA,'spline');

% Interpolazione effettuata tramite una spline cubica

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

alfa = 25/57.3;

% [rad] valore dell'angolo della parte conica dello spool

gamma = 7.80;

% [Kg/dm^3] peso specifico dell'acciaio

d_spool = 32;

% [mm] diametro dello spool principale

R_spool = d_spool/2;

% [mm] Raggio dello spool,

Aspool = pi*((d_spool/2)^2);

% [mm^2] area delle superfici di base dello spool principale

L_spool = d_spool*1.5;

% [mm] altezza dello spool (con il rapporto 1.5 ricavato

% dal disegno)

fi_int = 12;

% [mm] diametro interno dello spool

fi_ext = 25;

% [mm] diametro esterno dello spool

Volume = (pi/4)*(fi_ext^2-fi_int^2)*L_spool;

% [mm^3]

mspool = Volume*gamma*2/1000000;

% [kg] Massa del cinematismo di bypass

% (>> massa pistone bypass),il 2 a moltiplicare % per tener conto delle sporgenze e del peso

% della molla e della sferetta

Kspool = 100000;

% [kg/sec^2] rigidezza della molla dello spool

QA_lo = 80*10^6/60;

% [l/min] Portata di riferimento per il calcolo di lo

DeltaP_regime_lo = interp1(QA_,DeltaP_,QA_lo,'spline');

% valore di PB-PA per il calcolo di lo relativo

% alla portata di riferimento

(7)

% (valore ricavato dalla curva del manuale

% relativo a QA=1 l/min)

QW = 0;

% [mm^3/sec] portata verso il main spool

% in condizioni stazionarie

PB = 21001;

% [kPa] Pressione fornita dalla pompa

% (ipotizzata costante)

PY = 100;

% [kPa] Pressione di scarico

rho_0 = 8.7556e-7;

% [kg/mm^3] densita' del fluido

cd = 0.611;

% coefficiente di trafilamento (adimensionale)

Aore2 = 0.25*pi*(d_spool/20)^2;

% [mm^2] area dell'orifizio a monte dello spool

% (con il rapporto 1/20 ricavato dal disegno)

K2 = cd*Aore2*sqrt(2/rho_0);

% coefficiente di trafilamento dell'orifizio

% a monte dello spool

K1 = K2*0.5;

% coefficiente di trafilamento dell'orifizio

% a monte dello spillo di regolazione

% il coefficiente 0.5 tiene conto della presenza

% di una serie di trafilamenti a monte dell'orifizio

A_rv = 1.315^2*pi;

% area dell'orifizio di sfogo

KAW = cd*A_rv*sqrt(2/rho_0);

% coefficiente di trafilamento

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

zita_spool = 0.5 ;

Cspool = 2*zita_spool*(Kspool*mspool)^0.5 ; % Coefficiente di smorzamento della dinamica

% dello spool [kg/sec]

E =207e6;

% [GPa] modulo di elasticità del materiale

%dello spool

(8)

K_eq =E*Aspool/(L_spool*5);

% Rigidezza della molla equivalente

% rappresentante la sede dello spool

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% CONDIZIONE INIZIALE PER IL Delta_P_ref %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Pmenu = menu('pressione di

partenza','13000','14000','15000','16000','17000','18000','19000 ','20000','21000');

if Pmenu==1

P_ref = 13000;

elseif Pmenu==2 P_ref = 14000;

elseif Pmenu==3 P_ref = 15000;

elseif Pmenu==4 P_ref = 16000;

elseif Pmenu==5 P_ref = 17000;

elseif Pmenu==6 P_ref = 18000;

elseif Pmenu==7 P_ref = 19000;

elseif Pmenu==8 P_ref = 20000;

elseif Pmenu==9 P_ref = 21000;

% [kPa] pressione di partenza end

P_scarico = PY;

% [kPa] pressione di scarico dell'utilizzatore

PAimp = P_ref;

% [kPa] Pressione impostata iniziale

PA_max = PB-DeltaP;

% [kPa] pressione massima ottenibile in uscita

% dalla valvola al variare di QA

% controllo che impedisce alla P comandata

% di oltrepassare il valore massimo

if PAimp<=PA_max

(9)

PAimp=PAimp;

else

PAimp=PA_max;

end

Delta_P_ref = PAimp-P_scarico;

% valore della differenza di pressione

% tra ingresso e scarico nella DDV

% utilizzato per il calcolo dell'area di

% trafilamento in condizioni iniziali

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% CARATTERISTICHE DELLA TUBAZIONE %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Beta_g = 1.4*P_ref;

% [kPa] rigidezza dell'aria intrappolata nel gas

Beta_h = 1.5*10^6;

% [kPa] rigidezza dell'olio

Beta_tg = 0.324*10^6;

% [kPa] rigidezza del tubo di gomma

Beta_ta = 55*10^6;

% [kPa] rigidezza del tubo di acciaio

Beta_eg = 1/((1/Beta_tg)+(1/Beta_h)+(0.01/Beta_g));

% Rigidezza effettiva dell'olio

%(considerando l'aria e la deformabilità

% del tubo in gomma)

Beta_ea = 1/((1/Beta_ta)+(1/Beta_h)+(0.01/Beta_g));

% Rigidezza effettiva dell'olio

% (considerando l'aria e la deformabilità del tubo) % nel caso si utilizzi un tubo d'acciaio

% (con rapporto spessore/diametro interno = 1/3.8)

Tipo_tubo = MENU('Tipo di tubo','Gomma','Acciaio');

if Tipo_tubo == 1 Beta_e = Beta_eg;

else

(10)

Beta_e = Beta_ea;

end

rho_ref = rho_0;

% [kg/mm^3] densità effettiva dell'olio considerando

% trascurabili gli effetti della comprimibilità

% e della temperatura

Diametro_tubo = 19.1;

% [mm] diametro interno del tubo di collegamento

% tra valvola e DDV

mu = 30.3*10^(-6);

% Viscosità di riferimento per il fluido

%[kPa*s]

ni_0 = 35;

% [mm^2/sec] viscosità cinematica di riferimento

% per il fluido

RE = 4*QA/(pi*ni_0*Diametro_tubo);

% Numero di Reynolds in condizioni iniziali

% Si considera che il valore minimo attendibile di f sia

% quello relativo ad un numero di Reynolds pari a 100

Remin =100;

if RE<100;

RE=REmin;

end

f =64/RE;

% friction factor relativo al moto laminare

% Non si prende in considerazione la possibilità

% di moto turbolento in quanto

% le portate da noi utilizzate sono basse

Lunghezza_tubo = 4500;

% [mm]

Area_sez_tubo = (Diametro_tubo^2)*pi/4;

% [mm^2]

Volume_tubo = Area_sez_tubo*Lunghezza_tubo;

% [mm^3]

delta_p_iniz = (PAimp-

((QA/Area_sez_tubo)^2)*(f*Lunghezza_tubo*rho_ref/(2*Diametro_tub o)))-100;

% condizione iniziale per la FDT relativa

(11)

% al moto dello spool della DDV

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Perdite dovute alla curvatura del raccordo%

Diametro_raccordo = 16;

Area_raccordo = (Diametro_raccordo^2)*pi/4;

K_curvatura = 0.18;

% valore ricavato dal grafico di pag 48 del merritt A_1 = (22^2)*pi/4;

% Area riferita alla prima restrizione da 26 mm a 22 mm A_2 = (16^2)*pi/4;

% Area riferita alla seconda restrizione da 22 mm a 16 mm

Area_restrizione_eq = (1/A_1)^2+(1/A_2)^2;

K_restrizione = 0.5;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Calcolo dei valori di f (friction factor) al variare del %

% numero di Reynolds da utilizzare nella look up table %

% all'interno del modello %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Vettore_Re1 = [];

for re_vett1 = 1:1:2000;

Vettore_Re1 = [Vettore_Re1 re_vett1];

end

Vettore_f1 = 64./Vettore_Re1;

Vettore_Re2 = [2000 4000];

Vettore_f2 = [64./Vettore_Re2(1)

0.3164./(Vettore_Re2(2).^0.25)] ;

Vettore_Re3 = [];

for re_vett3 = 4000:100:1000000;

(12)

Vettore_Re3 = [Vettore_Re3 re_vett3];

end

Vettore_f3 = 0.3164./(Vettore_Re3.^0.25);

Vettore_Reynolds = [Vettore_Re1 Vettore_Re2 Vettore_Re3];

Vettore_f = [Vettore_f1 Vettore_f2 Vettore_f3];

loglog(Vettore_Reynolds,Vettore_f) grid on

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Calcolo dei valori di cd al variare del numero di Reynolds %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

cd_turbolento = 0.611;

delta = 0.2;

RE_transizione = (cd_turbolento/delta)^2;

CD =[];

RE_CD =[];

for RE_cd = 0:1:100;

if RE_cd<RE_transizione;

cd = delta*sqrt(RE_cd);

else

cd = 0.611;

end

CD =[CD cd];

RE_CD =[RE_CD RE_cd];

end

figure axis auto

plot(RE_CD.^0.5,CD,'r'), grid on

(13)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% CARATTERISTICHE ACCUMULATORE %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

N = 1.3;

% Esponente della politropica che caratterizza

% la trasformazione del gas

P_G0 = 140*100;

% Pressione di precarica del gas (posta uguale alla

% pressione di taglio, minima pressione operativa) [kPa]

V_G0 = 2.5*10^6;

% Volume di precarica del gas [mm^3]

C_G0 = P_G0*(V_G0^N);

%Costante della politropica [kPa*mm^3]

if PAimp>=14000

Vin_acc = (C_G0/PAimp)^(1/N);

% volume iniziale del gas nell'accumulatore else

Vin_acc = (C_G0/14000)^(1/N);

end

Dstr = 6 ;

% Diametro interno della sezione di strozzatura [mm]

% (metà del diametro della filettatura)

A_str = 0.25*pi*(Dstr^2)*6 ;

% Area della sezione anulare di strozzatura [mm^2]

D_0 = Dstr;

% Diametro idraulico della sezione di strozzatura [mm]

de_lam = 0.2 ;

% Coefficiente di flusso laminare

(14)

Kreq_look-up_table.m

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Calcolo dei valori di K_req da inserire %

% nella look-up table %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

close all clc

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Calcolo del Kreq=f(PAimpostata) in condizioni statiche %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Kreq_k =[];

QA_kriga =[];

for QA_k = 0:1000:QA+2000;

% [l/min]*1000000/60 [mm^3/sec] portata versol'utilizzatore

QA_kriga =[QA_kriga QA_k];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% CALCOLO DELLA MAX APERTURA E DI l_o %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

poli_lo = [pi*(sin(alfa)^2)*cos(alfa) - 2*(sin(alfa))*pi*R_spool

(QA_lo)*(sqrt(rho_ref/2))./(sqrt(DeltaP_regime_lo)*cd)];

x_max = min(roots(poli_lo));

l_o = (DeltaP_regime_lo*Aspool/Kspool)-x_max;

(15)

% [mm] lunghezza a riposo della molla

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% CALCOLO DEL K DI REGOLAZIONE DELL'ELETTROVALVOLA %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

DATI =[];

PA_k1 = 1000:100:P_ref;

PA_k2 = P_ref+1000:1000:20700;

PA_k_ = [PA_k1 PA_k2];

for PA_k =PA_k_;

% [kPa] Vettore della pressione impostata

K_flow_k = (QA_k)./((PB-PA_k).^0.5);

% [mm^3/sec/kPa^0.5]

Aluce_k = ((K_flow_k*sqrt(rho_ref/2))/cd);

% [mm^2] area della luce B-A

coeff =[pi*(sin(alfa)^2)*cos(alfa) -2*(sin(alfa))*pi*R_spool Aluce_k];

x_k =min(roots(coeff));

% [mm] spostamento dello spool principale % (x=0 quando è a battuta contro la sede)

PW_k = ((Kspool*(x_k+l_o))/Aspool)+PA_k;

% [kPa] pressione superficie superiore

% dello spool principale

PZ_k = PW_k;

% A regime ho QW=0

QC_k = K1*(sqrt(PB-PZ_k));

% [mm^3/sec] portata

QY_k = QC_k;

% [mm^3/sec] portata

Kreq_ = QY_k./sqrt(PZ_k-PY);

% [mm^3/sec/kPa^0.5]

DATI = [DATI Kreq_];

end

(16)

Kreq_k = [Kreq_k pippo];

end

%PA_k = 1000:20700/(207*10):20700;

% valore utilizzato con vettore di QA_k fino a 10 l/min

PA_k = PA_k_;

Input_mart_di_carico.m

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% CONTROLLORE MARTINETTO DI CARICO %

% %

% data 20/10/03 %

% %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear all close all clc

format short e

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% DATI DEL MARTINETTO DI COMANDO DELL'ALETTONE %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

A_ail = 2000; %[mm^2]

% area pistone alettone

corsa_ail = 32; % [mm]

V_ail = corsa_ail*A_ail; % [mm^3]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% DATI DEL MARTINETTO DI CARICO %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

mpist = 50; % [kg] 5 % massa del pistone

Apist = 60000/(210e5-1e5)*10^6; % [mm^2]

% area premente del pistone % CARICO DI STALLO = 60000 N % pressione operativa = 210 bar

corsa = 200; % [mm]

% corsa del pistone

% CORSA AIRBRAKE = 200 mm. Durante la prova del martinetto % dell'aerofreno il Martinetto di carico è in linea

(17)

V0 = Apist*corsa; % [mm^3]

% Volume iniziale delle due camere

vel_att = 60; % [mm/sec]

% massima velocità dell'attuatore velivolo

P0 = 210*100; %[KPa]

% pressione massima di mandata

Ps = 1*100; %[KPa]

% pressione di scarico

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% DATI DELLA SERVOVALVOLA da CATALOGO: %

% Star Hydraulics modello 890-0013 %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

I_max = 200; % [mA]

% massima corrente di alimentazione della valvola

Q_N = 95*10^6/60;

% Portata relativa alle condizioni nominali % di funzionamento [mm^3/sec]

P0_N = 250*100;

% pressione di mandata in condizioni nominali % di funzionamento [KPa]

Delta_P_N = 180*100;

% salto di pressione tra luce di uscita della servovalvola % in condizioni nominali di funzionamento, la prestazione è % fornita in presenza di salti di 35 bar per luce di

% trafilamento, alla max apertura [KPa]

Kq = Q_N/(I_max*(1-Delta_P_N/P0_N)^0.5);

% Flow Gain [mm^3/sec*mA]

Kc = 0.01*I_max*Kq/(0.6*P0_N);

% Flow Pressure Coefficient [mm^3/sec/KPa]

% All'1% della corrente max, in condizioni statiche

% il salto di pressione tra le luci di uscita della % servovalvola è pari al 60% della pressione di mandata

zita_sv = 0.7;

% smorzamento della servovalvola

% Usato solo nel caso che la risposta della SV sia % del 2° ordine

omega_sv = 25*2*pi; % [rad/sec]

% Polo della FdT della servovalvola

% ricavato dalla risposta in frequenza della SV

(18)

% riportata sul CATALOGO con riferimento al grafico % relativo a 100% del segnale di input

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% DATI RELATIVI AL FLUIDO IDRAULICO %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Beta = 900000; % [KPa]

% rigidezza olio

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% DATI CELLA DI CARICO da CATALOGO : %

% Sensotec modello 41-0571-04range = 15000 lb %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

c_smor = 10^5; %[Kg/sec]

% smorzamento introdotto per togliere parte degli errori numerici

% presenti durante la simulazione, ricordando che si sono trascurati

% i vari trafilamenti nella camera dell'attuatore.

Klc = 15000*0.453*9.8/(0.003*0.0254); % [Kg/sec^2]

% Rigidezza della cella calcolata utilizzando il dato % max deflection = 0.003 in riportato nel catalogo % con un carico di 15000 lb

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% DATI DELLA FdT DELL'ATTUATORE DI COMANDO DELL'ALETTONE %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% LO SPOSTAMENBTO DELL'ATTUATORE X1 DIPENDE SIA DALLO

% SPOSTAMENTO COMANDATO CHE DALLA FORZA DI CONTRASTO.

% X1= fdt_X1i*X1i+fdt_f*f

% poli della fdt_X1i e della fdt_f

p_av = 40;

omega_p = 300; %[rad/sec]

zita_p = 0.4;

% zeri della fdt_X1i

omega_p_num = 350; %[rad/sec]

zita_p_num = 0.2;

% zero e quadagno della fdt_f

(19)

zeta_av = 2*Beta*Kc/V_ail;

Kav_asterisco = 4*Beta*A_ail^2/V_ail;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% DATI della FdT del sistema che riproduce la rigidezza %

% della struttura del banco %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

K_star = Klc*10; % [Kg/sec^2]

% rigidezza della parte del banco, considerata un'ordine di % grandezza superiore rispetto a quella della cella di

carico

omega_star = 350; % [rad/sec]

zita_star = 0.15;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% DATI della FdT realtiva alla servovalvola: i_i/i %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% G_sv = iI/i

Num_G_sv = [omega_sv^2];

Den_G_sv = [1 2*omega_sv*zita_sv omega_sv^2];

G_sv = tf(Num_G_sv,Den_G_sv);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% CALCOLO DELLE FdT DEL SISTEMA CHE RIPRODUCE %

% L'ELASTICITa' DELLA STRUTTURA DEL BANCO: G_A*, G_B* %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Funzione di trasferimento X1_star/X2 che tiene conto della rigidezza del

% banco nel caso di X1=0

Num_GA_star = [ Klc*omega_star^2/(K_star+Klc)];

% Numeratore della FdT X1_star/X2

Den_GA_star = [1 2*zita_star*omega_star omega_star^2];

% Denominatore della FdT X1_star/X2

GA_star = tf(Num_GA_star,Den_GA_star);

% Funzione di trasferimento X1_star/X2

Num_GB_star = [ 2*zita_star*omega_star K_star*omega_star^2/(K_star+Klc)];

% Numeratore della FdT X1_star/X1

(20)

Den_GB_star = Den_GA_star;

% Denominatore della FdT X1_star/X1

GB_star = tf(Num_GB_star,Den_GB_star);

% Funzione di trasferimento X1_star/X1

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% CALCOLO DELLE FdT DEL SISTEMA %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Martinetto di carico nello spazio di stato:

%

% x_p = A*x+B*u

% y = C*x+D*u

A = [ -c_smor/mpist 0 2*Apist/mpist 1 0 0

-Apist*Beta/V0 0 -2*Kc*Beta/V0];

B = [ 1/mpist 0 0 0

0 Kq*Beta/V0];

C = [0 1 0];

D = [0 0];

%%%%%%%%%%%%%%%%%%

% FdT G2 = x2/f' %

%%%%%%%%%%%%%%%%%%

disp ('G2 = x2/f_primo')

[Zx2_f_p,Px2_f_p,Kx2_f_p] = SS2ZP(A,B,C,D,1);

% Zeri poli e guadagno della FdT

[Nx2_f_p,Dx2_f_p] = zp2tf(Zx2_f_p,Px2_f_p,Kx2_f_p);

% Coefficienti del numeratore e del denominatore della FdT

G_x2_f_p = tf(Nx2_f_p,Dx2_f_p) % Funzione di Trasferimento

%%%%%%%%%%%%%%%%%

% FdT G1 = x2/i %

%%%%%%%%%%%%%%%%%

disp ('G1 = x2/i')

(21)

[Zx2_i,Px2_i,Kx2_i] = SS2ZP(A,B,C,D,2);

% Zeri poli e guadagno della FdT

[Nx2_i,Dx2_i] = zp2tf(Zx2_i,Px2_i,Kx2_i);

% Coefficienti del numeratore e del denominatore della FdT

G_x2_i = tf(Nx2_i,Dx2_i) % Funzione di Trasferimento

%%%%%%%%%%%%%%%%%

% FdT G3 = f'/i %

%%%%%%%%%%%%%%%%%

disp ('G3 = f_primo/i')

G_fp_i = -(Klc*G_x2_i)/(Klc*G_x2_f_p+1) % Funzione di Trasferimento

[numG_fp_i,denG_fp_i] = tfdata(G_fp_i,'v');

% Coefficienti del numeratore e del denominatore della FdT

[Zf_i,Pf_i,Kf_i] = tf2zp(numG_fp_i,denG_fp_i) % Zeri poli e guadagno della FdT

%%%%%%%%%%%%%%%%%%

% FdT G4 = f'/x1 %

%%%%%%%%%%%%%%%%%%

disp ('G4 = f_primo/x1')

G_fp_x1 = Klc/(Klc*G_x2_f_p+1) % Funzione di Trasferimento

[numG_fp_x1,denG_fp_x1] = tfdata(G_fp_x1,'v');

% Coefficienti del numeratore e del denominatore della FdT

[Zf_x1,Pf_x1,Kf_x1] = tf2zp(numG_fp_x1,denG_fp_x1) % Zeri poli e guadagno della FdT

%%%%%%%%%%%%%%%%%%%%%%

% FdT G3_star = f'/i %

%%%%%%%%%%%%%%%%%%%%%%

disp ('G3_star = f_primo/i')

G3_star = (Klc*G_x2_i*(GA_star-1))/(1+Klc*G_x2_f_p*(1- GA_star))

(22)

% Funzione di Trasferimento

[numG3_star,denG3_star] = tfdata(G3_star,'v');

% Coefficienti del numeratore e del denominatore della FdT

[ZG3_star,PG3_star,KG3_star] = tf2zp(numG3_star,denG3_star) % Zeri poli e guadagno della FdT

%%%%%%%%%%%%%%%%%%%%%%%

% FdT G4_star = f'/x1 %

%%%%%%%%%%%%%%%%%%%%%%%

disp ('G4_star = f_primo/x1')

G4_star = (Klc*GB_star)/(1+Klc*G_x2_f_p*(1-GA_star)) % Funzione di Trasferimento

[numG4_star,denG4_star] = tfdata(G4_star,'v');

% Coefficienti del numeratore e del denominatore della FdT

[ZG4_star,PG4_star,KG4_star] = tf2zp(numG4_star,denG4_star);

% Zeri poli e guadagno della FdT

[ZG4_star,PG4_star,KG4_star] =

approxZP(ZG4_star,PG4_star,KG4_star,0.001)

% Zeri poli e guadagno della FdT dopo la cancellazione zeri- poli

%%%%%%%%%%%%%%%%%

% FdT G = f/i_i %

%%%%%%%%%%%%%%%%%

disp ('G = f/i_i')

G = -G_sv*G3_star;

% Funzione di Trasferimento

[numG,denG] = tfdata(G,'v');

% Coefficienti del numeratore e del denominatore della FdT

[ZG,PG,KG] = tf2zp(numG,denG) % Zeri poli e guadagno della FdT

[ZG,PG,KG] = approxZP(ZG,PG,KG,0.0001)

% Zeri poli e guadagno della FdT dopo la cancellazione zeri- poli

[numG_,denG_] = zp2tf(ZG,PG,KG);

% Coefficienti del numeratore e del denominatore della FdT % dopo la cancellazione zeri-poli

(23)

G = tf(numG_,denG_) % Funzione di Trasferimento

% dopo la cancellazione zeri-poli

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% CALCOLO DELLA FUNZIONE DI TRASFERIMENTO %

% DEI TRE TIPI DI CONTROLLORE ANALIZZATI %

% E DELLA FdT DI CICLO CHIUSO DEL SISTEMA %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% CONTROLLORE PROPORZIONALE

disp('PROPORZIONALE')

K_P = 7e-7;

% Guadagno del controllore P

GP = G*K_P/(1+K_P*G) % Funzione di Trasferimento di % ciclo chiuso del sistema

[numGP,denGP] = tfdata(GP,'v');

% Coefficienti del numeratore e del denominatore della FdT

[ZGP,PGP,KGP] = tf2zp(numGP,denGP) % Zeri poli e guadagno della FdT

[ZGP,PGP,KGP] = approxZP(ZGP,PGP,KGP,0.001);

% Zeri poli e guadagno della FdT dopo la cancellazione zeri- poli

KGP

damp(ZGP)

damp(PGP)

% CONTROLLORE PROPORZIONALE INTEGRALE

disp('PROPORZIONALE INTEGRALE')

num_K_PI = [0.25*2.5e-6 2.5e-6];

% Numeratore della FdT del controllore PI

den_K_PI = [1 0];

% Denominatore della FdT del controllore PI

K_PI = tf(num_K_PI,den_K_PI)

% Funzione di trasferimento del controllore PI

(24)

GPI = G*K_PI/(1+K_PI*G) % Funzione di Trasferimento di % ciclo chiuso del sistema

[numGPI,denGPI] = tfdata(GPI,'v');

% Coefficienti del numeratore e del denominatore % della FdT di ciclo chiuso del sistema

[ZGPI,PGPI,KGPI] = tf2zp(numGPI,denGPI);

% Zeri Poli e Guadagno della FdT di % ciclo chiuso del sistema

[ZGPI,PGPI,KGPI] = approxZP(ZGPI,PGPI,KGPI,0.001);

% Zeri Poli e Guadagno della FdT di % ciclo chiuso del sistema

% dopo la cancellazione zeri-poli

damp(ZGPI)

damp(PGPI)

% CONTROLLORE PROPORZIONALE INTEGRALE DERIVATIVO

disp('PROPORZIONALE INTEGRALE DERIVATIVO')

KI = 3.25e-6;

% Guadagno della parte Integrale del controllore

KP = (0.25+0.025)*KI;

% Guadagno della parte Proporzionale del controllore

KD = 0.25*0.025*KI;

% Guadagno della parte Derivativa del controllore

num_K_PID = [KD/KI KP/KI 1]*KI;

% Numeratore della FdT del controllore PID

den_K_PID = [1 0];

% Denominatore della FdT del controllore PID

K_PID = tf(num_K_PID,den_K_PID) % Funzione di trasferimento del controllore PID

GPID = G*K_PID/(1+K_PID*G) % Funzione di Trasferimento di

% ciclo chiuso del sistema

[numGPID,denGPID] = tfdata(GPID,'v');

% Coefficienti del numeratore e del denominatore % della FdT di ciclo chiuso del sistema

(25)

[ZGPID,PGPID,KGPID] = tf2zp(numGPID,denGPID);

% Zeri Poli e Guadagno della FdT di % ciclo chiuso del sistema

[ZGPID,PGPID,KGPID] = approxZP(ZGPID,PGPID,KGPID,0.001);

% Zeri Poli e Guadagno della FdT di % ciclo chiuso del sistema

% dopo la cancellazione zeri-poli

KGPID

damp(ZGPID)

damp(PGPID)

%%%%%%%%%%%%%%

% FdT G_BETA %

%%%%%%%%%%%%%%

disp ('G_BETA = f/x1')

G_BETA = (-G4_star)/(1+K_P*G);

% Funzione di Trasferimento

[numG_BETA,denG_BETA] = tfdata(G_BETA,'v');

% Coefficienti del numeratore e del denominatore della FdT

[ZG_BETA,PG_BETA,KG_BETA] = tf2zp(numG_BETA,denG_BETA);

% Zeri poli e guadagno della FdT

[ZG_BETA,PG_BETA,KG_BETA] = approxZP(ZG_BETA,PG_BETA,KG_BETA,0.001);

% Zeri poli e guadagno della FdT dopo la cancellazione zeri- poli

KG_BETA

damp(ZG_BETA)

damp(PG_BETA)

[numG_BETA,denG_BETA] = zp2tf(ZG_BETA,PG_BETA,KG_BETA);

% Coefficienti del numeratore e del denominatore % della FdT dopo la cancellazione zeri-poli

G_BETA = tf(numG_BETA,denG_BETA) % Funzione di Trasferimento

% dopo la cancellazione zeri-poli

(26)

Riferimenti

Documenti correlati

Anche in questo caso è possibile notare come, mediamente, i sistemi di accumulo elettrochimico riescano ad erogare un elevato range di servizi, a differenza delle tecnologie di

Angelo e Alfredo amano tanto i computer, le ______ mogli un po' meno.. A ferragosto andremo al mare con i

[r]

[r]

Nel secondo capitolo l’attenzione è posta sull’introduzione da parte della direttiva MiFID della consulenza indipendente: la complessità degli strumenti e servizi

Gli organi istituzionali preposti alla promozione dell’economia circolare in Cina sono i seguenti: la Commissione per la Protezione dell’Ambiente e delle Risorse

You have to create a video explaining a grammar topics and/or a memory trick ROLE!. Define the role of the students in

azioni correlate ed azioni ordinarie: 1) un criterio di correlazione di tipo proporzionale alla luce del quale l’ammontare del risultato di settore di pertinenza degli