Esercitazione matlab/simulink

di il
2 risposte

Esercitazione matlab/simulink

Buonpomeriggio a tutti!
Ho risolto un'esercitazione di matlab/simulink, spero possiate dirmi se ho fatto bene o cosa ho sbagliato.
Lo schema a blocchi relativo all'esercizio è allegato come file.
I valori dei blocchi sono R(S)=1 e G(S)=40/((s+0.2)(s^2+4s+25))

Le richieste dell'esercizio sono:

Si scriva il codice Matlab per risolvere i seguent ipunti:
a) Si trovi il valore di poli, zeri e guadagno della funzione di trasferimento d’anello.
b) Si plotti la risposta al gradino del sistema in retroazione unitaria.
c) Si plottino i diagrammi di bode della funzione di anello e si determinino i margini di fase
ed ampiezza.
d) Si plotti il luogo delle radici della funzione di anello.
e) Si progetti il regolatore T(s) a?nchè l’errore a regime sia nullo con un ingresso a gradino.
f) Si plotti la risposta al gradino del sistema progettato.
g)si implementi un modello simulink del sistema considerato e, posto R(S)=K, si eseguano due simulazioni di durata 120s per due diversi valori di K>0 per i quali il sistema retroazionato è stabile.

a) s=tf(’s’);
G=40/(s+0.2)/(s^2+4s+25);
R=1;
L=R*G;
[z,p,k]=zpkdata(G,’v’);
b) F=L/(1+L);
step(F);
c) margin(L);
d) rlocus(L);
e) %utilizzando rlocus si vede se esiste un k tale per cui il sistema è stabile.
%altrimenti si può utilizzare rltool.
R=k;
L=R*G;
rolcus(L);
f) F=L/(1+L);
step(F);
g) su questo punto ci sto ancora lavorando, lo posterò successivamente

Per adesso va bene?grazie mille, saluti!!
Allegati:
schema a blocchi dell'esercizio
schema a blocchi dell'esercizio

2 Risposte

  • Re: Esercitazione matlab/simulink

    In generale va bene.
    Per quanto riguarda il punto e), per avere errore al gradino nullo occorre avere un integratore, con guadagno < 0.6 (circa) per l'asintotica stabilità.
    Dunque R(s) = k / s, con k < 0.6.
    Esempio:
    con k = 0.1 avrai risposta al gradino nulla, e risposta con oscillazione smorzata,
    con k = 0.005 avrai una risposta del tipo filtro del primo ordine.
    Dipende da quali saranno le ulteriori specifiche dell'impianto da controllare: se serve una risposta molto veloce potrebbe essere necessario un sistema con poli complessi coniugati (k = 0.1). Se invece il tempo di salita non è vincolante, ma occorre un buon controllo di posizione (magari perchè rischi di andare a sbattere contro una parete), allora serve maggiormente una risposta del primo ordine (k = 0.005).
    Per questo tipo di sintesi potrebbe tornarti utile il comando "sisotool" che mette a disposizione un comodo tool in cui si visualizza contemporaneamente luogo delle radici, diagrammi di bode e di nyquist, ed è possibile aggiungere e spostare poli e zeri del controllore vedendo in tempo reale gli effetti del controllo.

    Spero di esser stato chiaro.

    Ciao
  • Re: Esercitazione matlab/simulink

    Mi sono dimenticato di aggiungere:
    per ottenere errore al gradino nullo in questo caso va bene anche solo un controllore proporzionale (k = 225/220), ma in generale tale situazione può risultare poco affidabile se ci fossero anche solo dei semplici disturbi additivi (basti pensare anche solo ad un offset non nullo nel sensore). Inoltre se hai bisogno di garantire altre proprietà del sistema (come ad esempio il tempo di salita oppure lo smorzamento, come citato precedentemente) ciò non sarebbe possibile con un semplice controllore proporzionale
Devi accedere o registrarti per scrivere nel forum
2 risposte