C a p t o l o 3 IMPLEMENTZIONE SIMULINK E FUNZIONI In questo captolo sono espost modell Smulnk che mplementano un relay a steres varable e le funzon create per dentfcare la funzone d trasfermento del processo. 3.1 Modello del Relay Varable Il modello del Relay Varable è mplementato attraverso Smulnk d Matlab. Esso è composto da 3 Blocch: Relay, Controllo Relay, Frequency Meter. Fg. 3.1 Modello del relay varable
3.1.1 Blocco Controllo Relay Nel blocco Controllo Relay s mpostano parametr prncpal della nostra smulazone, qual l vettore del numero d ccl e l vettore d steres. Quest parametr s settano nella maschera: Fg 3.2 In questo esempo, verranno fatt 10 ccl con valore h1=-0.1 e 5 ccl con valore h2=1. Fg 3.3
In uscta a questo blocco abbamo l valore d steres h, l relatvo numero d ccl parzal ed l perodo T. Fg 3.4 Blocco Controllo Relay desso esamnamo n dettaglo l blocco: come s può vedere è composto da 2 sottosstem Counter, l prmo conta l numero d ccl total fatt dal mo sstema, l secondo contatore nvece serve ad ncrementare l valore dell ndce che scorre due vettor. Quando parte l sstema, con vettor che abbamo precedentemente settato, avremo =0 ( ndce che scorre due vettor), n[0]=10, h[0]=-0.1, N_totale=2. Le azon che vengono fatte sono: 1. Il prmo contatore nza a contare l numero d ccl;
2. Blocco Somma, se =0, l valore che s sottrae al numero d ccl è 0, altrment k s sottrae al numero d ccl l valore 1 n [ k], questo serve ad avere sempre l numero d ccl parzale; = k= 0 3. Nel blocco Mod, vene fatto l confronto tra l numero d ccl fatt n[] e l numero d ccl totale n[] relatv al valore d h[]. In uscta a questo modulo abbamo rmanent numer d ccl; 4. S aggorna l uscta N ccl; 5. Se N ccl è uguale a 0 s attva l trgger ed l secondo contatore aggorna l valore. Possamo notare come prma del trgger v sa un elemento d Memory Delay, questo elemento campona e mantene l valore, che verrà usato nel cclo successvo nel blocco somma; (P.to 2) 6. Il secondo blocco mod confronta l nuovo valore d con la costante N_totale. Se l uscta è dversa da 0 s scorrono solamente due vettor. ltrment s calcola l perodo graze al sottosstema Frequency Meter. Fg 3.5
3.1.2 Blocco Frequency Meter Il blocco Frequency Meter utlzzato anche nello schema prncpale serve a calcolare l perodo del segnale; questo vene calcolato nel blocco Controllo relay prma d cambare l valore d steres. 3.1.3 Blocco Relay Il blocco Relay :
Gl ngress d questo blocco sono u l segnale n ngresso, Hysteress l valore d steres h, mpltude l ampezza del relay e Shft che permette d realzzare un relay traslato vertcalmente. Il relay può essere passvo o attvo: Nel prmo caso l uscta e le rspettve funzon del blocco sono: y(k)= y( k 1) se u < - hyst se - hyst se u > hyst < u < hyst Tratto 1 Tratto 2 pass. Tratto 3 Nel secondo caso sono: + y(k)= y( k 1) se u < - hyst se hyst < u < hyst e u(k -1) < -hyst se hyst < u < hyst e u(k -1) > hyst se - hyst se u > hyst < u < hyst Tratto 1 Tratto 2_att. Tratto 2_att. Tratto 2 _att. Tratto 3 Il blocco Ht Crossng evdenzato n rosso garantsce la commutazone esattamente n corrspondenza dell steres.
Il blocco Sgn plota lo swtch che dfferenza l comportamento del relay (attvo o passvo). 3.2 Funzon Per rcostrure la funzone d trasfermento del processo G (blocco blu nello schema n fgura 5.8) sono state mplementate due funzon: four.m e calcolafdt. Queste due funzon (M-fle) sono state svluppate n ambente Matlab.
3.2.1 Four.m Questa funzone ha l compto d costrure la trasformata d Fourer del segnale u n uscta del relay (segnale n ngresso al processo G). Il segnale u come s può vedere dalla fgura è un segnale perodco d forma rettangolare Fg 3.9 S ha questo tpo d uscta settando la maschera del blocco Controllo Relay come spegato ne paragraf precedent.. La funzone four calcola: la parte reale; la parte mmagnara ;
l modulo; le armonche fondamental; l tempo d camponamento; l valore medo del segnale u(t). Per calcolare parametr la funzone ha bsogno del vettore u(t), del perodo del segnale e del vettore de temp.tutt quest valor vengono calcolat nel Modello Relay Varable come è evdenzato n rosso nella fgura 3.8. Questa funzone mplementa la scomposzone d Fourer del segnale vsta ne captol precedent, la u(t) è: u n n n n ( t) = k cos( kωt) + Bksn( kωt) + ( t t 1) k= 1 = 1 = 1 T = 1 T = 1 _ dspar ( t t _ par 1 ) dove B k k = sn( 1 πk [ kωt ) + sn( kωt )] = cos( 1 πk [ kωt ) + cos( kωt )] con = se è dspar, se è par è l ampezza del segnale u(t), 2π Ω =, T T perodo del segnale.
La funzone vene chamata con l commando n lnea d Matlab : [Real,Imag,f,Medo,Freq,Mod,Tc]=four(t,u,perod,j) L unco parametro da settare è j che regola la sommatora su k (per j=200, s resce a rcostrure l segnale). 1.5 Perodo base d u(t) Segnale rcostruto Segnale orgnaro 1 0.5 mpezza =1 =1 ā e zz p m 0-0.5-1 -1.5 0 20 40 60 80 100 120 t [sec] Fg. 3.10 Come s può vedere dalla fg. 3.10, l segnale è rcostruto fedelmente per j=200.
Lo spettro d ampezza del segnale così calcolato è rappresenta nella fgura 5.11. 0.35 Spettro d ampezza dell ngresso 0.3 0.25 0.2 0.15 0.1 0.05 0 0 2 4 6 8 10 12 Frequency [rad/sec] Fg. 3.11 3.2.2 Calcolafdt.m La funzone Calcolafdt.m calcola la funzone d trasfermento del processo G(s). La funzone ha come varabl d ngresso Mod e Freq che sono due vettor contenent rspettvamente l modulo e le armonche fondamental del segnale n ngresso al processo, l vettore y segnale d uscta del processo, t vettore de temp e Tc tempo d camponamento del segnale. I vettor Mod e Freq e l tempo d camponamento sono stat calcolat nella funzone four.m, l vettore y e t sono de parametr d uscta della
smulazone del Modello Relay Varable (evdenzat l prmo n verde l secondo n rosso nella fgura 5.8). Le varabl d uscta della funzone sono Mod_usc, Freq_usc,Modg,Freq. In cu Mod_usc e Freq_usc sono l modulo e le frequenze del segnale d uscta, Modg e Freq sono l modulo e le frequenze n cu s è calcolata la funzone d trasfermento del processo. La funzone vene chamata con l commando n lnea d Matlab : [Mod_usc,f_usc,Modg,Freq]=calcolafdt(Mod,Freq,Tc,y,t) La funzone è dvsa n due blocch, l prmo che s occupa d calcolare la trasformata dscreta d Fourer dell uscta y(t), l secondo che calcola l modulo della funzone d trasfermento.la trasformata d Fourer dell uscta vene fatta usando la funzone y = fft(x,n) mplementata da Matlab ed esamnata nel captolo 2. In questo modo, ottenamo lo spettro d ampezza del segnale d uscta y(t) alle frequenze calcolate dalla fft mettendo n uguale al numero d campon del segnale. Successvamente rducamo l numero d parametr calcolat alle frequenze del segnale n ngresso,graze alla funzone Matlab y = nterp1(x,y,x), dopo questo comando lo spettro d ampezza del segnale d uscta,consderando solo metà de punt perché è smmetrco, è mostrato n Fg. 3.12.
0.5 spettro d ampezza dell uscta alle frequenze d ng 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 0 2 4 6 8 10 12 Frequency [rad/sec] Fg. 3.12 La seconda parte della funzone s occupa d calcolare lo spettro d ampezza della funzone d trasfermento usando questa formula G( jω ) = Y ( jω ) X ( jω ) dove Y jω ) è stata calcolato con la funzone d Matlab fft.m mentre X jω ) ( con la funzone four.m. Lo spettro d ampezza della funzone d trasfermento è mostrato n Fg. 3.13. (
Fg. 3.13 Lo spettro d ampezza orgnale è vsble n rosso nella fgura 3.14 Fg. 3.14
Mentre l dagramma d Bode del modulo avendo elmnato n un passo precedente valor negatv è: Questa smulazone è stata fatta con j=200, per avere un maggor numero d frequenze basta varare questo parametro.