[Controlli Automatici] Problemi di fase con metodo Loop Shaping
Salve a tutti il mio problema mi dice che:
Data la seguente funzione:
$ G=0.5/((0.2s+ 1)(1+5s)) $
- Creare un controllore $R(z)$ con tempo di campionamento $T_s=0.4$
- $e_oo<=0.1$
- Attenuazione di $n(t)$ di $20db$ per $omega>=5$
- sovraelongazione: $ s%~= 20% $
Ciò che volevo fare e usando il Loop Shaping ricavarmi il valore del regolatore $R(s)$ nel tempo continuo dall'equazione: $R(s)=(L(s))/(G(s))$, considerando ovviamente anche il ritardo di fase nel passaggio tra discreto continuo.
Sono riuscito a soddisfare le prime due specifiche ma ho un problema sulla sovraelongazione al $20%$:
- so che $ zeta $ deve essere pari a 0.425 quindi la fase di margine deve essere all'incirca pari a $42.5°$
Ho considerato per ridurre il grado dell'errore sull'uscita correlato all'ingresso di rifermento un $ L_1=15/s $ in quanto il guadagno $mu_(L_1)>=10$
Ho considerato per attenuare il disturbo n(t) dopo $w>=5 rad/sec$ un $mu_(L_2)=0.5$ in quanto il modulo di $(L_2)$ deve essere minore di $20db$ che trasformato in $dec$ è $0.1$ quindi ricavo il valore $mu_(L_2)$
Ho creato un raccordo fra queste due L usando una rete ritardatrice $ (1+alphataus)/(1+alphatau) $ e ho calcolato $ alpha$ tramite la differenza logaritmica tra le due pendenze quindi:
$ alphadb=20log10(0.5)-20log10(15)=20log10(0.5/15)~= -30 $
$ alphadec=10^(-30/20)~= 0.02 $
pongo lo zero una decade prima della mia pulsazione critica $w_c=0.5$ cioè a $0.05$
da cui ottengo i valori della coppia poli zeri.
$tau=1000$ e $alphatau=20$
$L_2=(1+20s)/(1+1000s)$
$L_(t.ot)=(1+20s)/(1+1000s)(15/s)$
mi usciva un $w_c$ pulsazione critica a $0.425$ e moltiplicando per $1.1056$ ottengo:
>> [Gm,Pm,Wcp,Wcg]=margin(Ltot2)
Gm =Inf
Pm =84.4620
Wcp = NaN
Wcg =0.5001
Ho provato a far variare, per diminuire il margine di fase, le pendenze di $L1$ e $L2$ da cui dipende il valore di $alpha$ e quindi il valore della coppia poli zeri ma mi escono sempre valori troppo elevati come faccio?
Il problema è il margine di fase se uso una rete anticipatrice non sballerei tutto?
Data la seguente funzione:
$ G=0.5/((0.2s+ 1)(1+5s)) $
- Creare un controllore $R(z)$ con tempo di campionamento $T_s=0.4$
- $e_oo<=0.1$
- Attenuazione di $n(t)$ di $20db$ per $omega>=5$
- sovraelongazione: $ s%~= 20% $
Ciò che volevo fare e usando il Loop Shaping ricavarmi il valore del regolatore $R(s)$ nel tempo continuo dall'equazione: $R(s)=(L(s))/(G(s))$, considerando ovviamente anche il ritardo di fase nel passaggio tra discreto continuo.
Sono riuscito a soddisfare le prime due specifiche ma ho un problema sulla sovraelongazione al $20%$:
- so che $ zeta $ deve essere pari a 0.425 quindi la fase di margine deve essere all'incirca pari a $42.5°$
Ho considerato per ridurre il grado dell'errore sull'uscita correlato all'ingresso di rifermento un $ L_1=15/s $ in quanto il guadagno $mu_(L_1)>=10$
Ho considerato per attenuare il disturbo n(t) dopo $w>=5 rad/sec$ un $mu_(L_2)=0.5$ in quanto il modulo di $(L_2)$ deve essere minore di $20db$ che trasformato in $dec$ è $0.1$ quindi ricavo il valore $mu_(L_2)$
Ho creato un raccordo fra queste due L usando una rete ritardatrice $ (1+alphataus)/(1+alphatau) $ e ho calcolato $ alpha$ tramite la differenza logaritmica tra le due pendenze quindi:
$ alphadb=20log10(0.5)-20log10(15)=20log10(0.5/15)~= -30 $
$ alphadec=10^(-30/20)~= 0.02 $
pongo lo zero una decade prima della mia pulsazione critica $w_c=0.5$ cioè a $0.05$
da cui ottengo i valori della coppia poli zeri.
$tau=1000$ e $alphatau=20$
$L_2=(1+20s)/(1+1000s)$
$L_(t.ot)=(1+20s)/(1+1000s)(15/s)$
mi usciva un $w_c$ pulsazione critica a $0.425$ e moltiplicando per $1.1056$ ottengo:
>> [Gm,Pm,Wcp,Wcg]=margin(Ltot2)
Gm =Inf
Pm =84.4620
Wcp = NaN
Wcg =0.5001
Ho provato a far variare, per diminuire il margine di fase, le pendenze di $L1$ e $L2$ da cui dipende il valore di $alpha$ e quindi il valore della coppia poli zeri ma mi escono sempre valori troppo elevati come faccio?
Il problema è il margine di fase se uso una rete anticipatrice non sballerei tutto?
Risposte
Credo di aver risolto ditemi se ho fatto bene:
ho posto lo zero al posto di una decade prima della pulsazione critica $0.05$ a $0.5$ e ho ottenuto una
$L2=(1+2s)/(1+100s)$
quindi $L_(t.ot)=(1+2s)/(1+100s)(15/s)$
a $5 (rad)/(s) $ mi usciva un modulo pari a -25 circa e ho moltiplicato per un guadagno il sistema pari a $1.9135$ e ho ottenuto questi valori:
>> [Gm,Pm,Wcp,Wcg]=margin(Ltot2)
Gm = Inf
Pm =52.6288
Wcp =NaN
Wcg =0.6337
Considerando che: $ Delta varphi =omega_c/(2)180/pi=7.2613rArr varphi _m=52.6288-7.2613=45.3674 $ più o meno credo che vada bene no? Oppure ho fatto un disastro?
ho posto lo zero al posto di una decade prima della pulsazione critica $0.05$ a $0.5$ e ho ottenuto una
$L2=(1+2s)/(1+100s)$
quindi $L_(t.ot)=(1+2s)/(1+100s)(15/s)$
a $5 (rad)/(s) $ mi usciva un modulo pari a -25 circa e ho moltiplicato per un guadagno il sistema pari a $1.9135$ e ho ottenuto questi valori:
>> [Gm,Pm,Wcp,Wcg]=margin(Ltot2)
Gm = Inf
Pm =52.6288
Wcp =NaN
Wcg =0.6337
Considerando che: $ Delta varphi =omega_c/(2)180/pi=7.2613rArr varphi _m=52.6288-7.2613=45.3674 $ più o meno credo che vada bene no? Oppure ho fatto un disastro?