Esercizi svolti › Modelli
Teoria ed esercizi nell'ordine della dispensa di Automatica: che cos'è un modello, che cos'è lo stato, la forma ingresso-stato-uscita, la funzione di trasferimento e l'algebra degli schemi a blocchi. Due video brevi e sei esercizi svolti a mano, ciascuno con il codice MATLAB per controllare il risultato.
5 min 17 s: dalla definizione di modello agli schemi a blocchi, nell'ordine della dispensa
Benvenuti su Zerospoles. In questa lezione vediamo la teoria dei modelli di sistemi dinamici, nell'ordine della dispensa di Automatica. Partiamo da che cos'è un modello e dallo stato. Poi vediamo la forma ingresso stato uscita, e infine la funzione di trasferimento con gli schemi a blocchi. Gli esercizi svolti sono nel secondo video e nella stessa pagina del sito.
Un sistema è un insieme di componenti interconnessi che si comportano come un'unica entità. È dinamico quando evolve nel tempo. Il modello è la descrizione formale, cioè matematica, del sistema.
Ci sono tre modi di costruire un modello. Il primo è sperimentale: il sistema è una scatola nera, si applicano ingressi noti, si misurano le uscite e si trova una relazione per interpolazione. È semplice, ma i parametri raramente hanno un significato fisico. Il secondo è analitico: conosci i componenti e i collegamenti, scrivi il modello dalle loro leggi e poi lo validi con delle misure. Il terzo è pragmatico: prima progetti il modello, lo verifichi in simulazione, e solo dopo costruisci il sistema fisico. In ogni caso si parte da un modello semplice, e lo si complica solo se serve.
Per costruire un modello vanno definiti i confini del sistema, gli ingressi e le uscite. Gli ingressi indesiderati e non controllabili, come il vento per un aereo, si chiamano disturbi, e vanno tenuti in conto.
Conoscere l'ingresso non basta per sapere l'uscita. Nell'orologio ad acqua, l'altezza del galleggiante dipende anche dall'altezza iniziale. Lo stato è la minima informazione necessaria, insieme all'ingresso, per determinare l'uscita. In parole povere, lo stato è la memoria del sistema.
Un esempio a tempo discreto è la macchina a gettoni. Accetta monete da cinquanta centesimi, uno e due euro, ed eroga il bene quando ha ricevuto due euro. Gli stati sono quattro: zero, nessuna moneta; A, cinquanta centesimi; B, un euro; C, un euro e cinquanta. Dallo stato C, una moneta da cinquanta centesimi porta all'erogazione. Con ingressi e uscite finiti è un automa, e se anche gli stati sono finiti si chiama macchina a stati finiti.
Per i sistemi continui l'elemento di base è l'integratore. Prendiamo un serbatoio di sezione A, con una portata u in ingresso: A per la derivata dell'altezza è uguale a u. Se chiamiamo stato l'altezza, la derivata dello stato è uno su A per l'ingresso. Un condensatore alimentato da una corrente ha la stessa struttura: C per la derivata della tensione è uguale alla corrente. E anche la legge di Newton: massa per la derivata della velocità è uguale alla forza. Cambiano i nomi, non la matematica. Questo elemento comune è l'integratore, che nello schema a blocchi si scrive uno su s.
La rappresentazione più usata per un sistema lineare è la forma ingresso stato uscita: x punto uguale A x più B u, e y uguale C x più D u. Il numero di stati, n, è l'ordine del modello. La matrice A collega lo stato a se stesso e decide la stabilità. B collega gli ingressi agli stati, C collega gli stati all'uscita. La matrice D è il collegamento diretto tra ingresso e uscita. Nei sistemi fisici di solito è nulla, perché l'uscita non risponde mai istantaneamente all'ingresso.
La coppia A, B dice se il sistema è controllabile, cioè se con l'ingresso si può guidare lo stato. La coppia A, C dice se lo stato è osservabile, cioè se si può ricostruire dalle uscite. Insieme, le quattro matrici descrivono il sistema.
Vediamo quattro esempi. Il partitore resistivo ideale non ha dinamica né memoria: A, B e C sono nulle, e D vale R due diviso R uno più R due. Se aggiungiamo elementi parassiti, un'induttanza e un condensatore, il modello diventa dinamico: ha due stati, la corrente e la tensione. Un corpo spinto bruciando combustibile perde massa: il modello è tempovariante, perché la matrice B dipende dal tempo. Infine il serbatoio con efflusso: per la legge di Torricelli la portata in uscita è k per la radice di h, e il modello diventa non lineare.
La funzione di trasferimento è il rapporto tra uscita e ingresso nella variabile operatoriale s. Dal modello di stato si ricava con la formula: G di s uguale a C per l'inversa di s I meno A, per B, più D. È il ponte tra la forma di stato e la trasformata di Laplace.
Gli schemi a blocchi si semplificano con poche regole. Due blocchi in cascata si moltiplicano: C per G. Due blocchi in parallelo si sommano: A più B.
Con la retroazione negativa, y è G per e, ed e è r meno H per y. Risolvendo, y diviso r è uguale a G diviso uno più G per H. Al numeratore c'è il prodotto dei blocchi in catena diretta. Al denominatore, uno più il guadagno d'anello, cioè il prodotto di tutti i blocchi dell'anello. Con la reazione positiva il denominatore diventa uno meno G per H.
Ricapitolando: il modello è la descrizione formale di un sistema, lo stato è la sua memoria, e la forma ingresso stato uscita porta alla funzione di trasferimento. Nel secondo video svolgiamo gli esercizi. Grazie, e alla prossima su Zerospoles.
Un sistema è un insieme di componenti interconnessi che si comportano come un'unica entità. È dinamico se evolve nel tempo. Il modello è la descrizione formale, cioè matematica, del sistema.
Ci sono tre modi di costruirlo:
Per costruire un modello vanno definiti i confini del sistema, gli ingressi, le uscite e le relazioni tra ingressi, uscite e parti interne. Gli ingressi non desiderati e non controllabili, come il vento per un aereo, si chiamano disturbi. Si parte da un modello semplice e lo si complica solo se serve descrivere fenomeni più complessi.
Conoscere l'ingresso non basta per sapere l'uscita. Nell'orologio ad acqua di Ctesibio l'altezza del galleggiante dipende anche dall'altezza iniziale. Lo stato è la minima informazione necessaria, insieme all'ingresso, per determinare l'uscita: è la memoria del sistema.
Accetta monete da 50 centesimi, 1 euro e 2 euro e eroga il bene quando ha ricevuto 2 euro. Gli stati sono quattro: 0 (nessuna moneta), A (50 cent), B (1 euro), C (1,5 euro). Dallo stato C, una moneta da 50 cent porta all'erogazione. Con ingressi e uscite finiti è un automa, e con stati finiti una macchina a stati finiti.
Per i sistemi continui l'elemento di base è l'integratore. Tre fenomeni diversi hanno la stessa struttura:
| Sistema | Legge | Stato | Forma di stato |
|---|---|---|---|
| Serbatoio, sezione A | A·h = u(t) | altezza h | x = 1A·u |
| Condensatore, capacità C | C·V = i(t) | tensione V | x = 1C·i |
| Newton, massa m | m·v = F(t) | velocità v | x = 1m·F |
Cambiano i nomi, non la matematica: la derivata dello stato è una costante per l'ingresso. Questo elemento comune è l'integratore, che nello schema a blocchi si scrive come 1s.
La forma più usata per un sistema lineare è la rappresentazione ingresso-stato-uscita:
Con r ingressi, n stati e m uscite, le matrici sono A di dimensione n×n, B di n×r, C di m×n e D di m×r. Il numero n è l'ordine del modello.
La funzione di trasferimento è il rapporto tra uscita e ingresso nella variabile operatoriale s: F(s) = uscitaingresso. Dal modello di stato si ricava con G(s) = C·(sI − A)−1·B + D. Gli schemi a blocchi si semplificano con poche regole.
Cascata. I blocchi si moltiplicano: C·G.
Parallelo. I blocchi si sommano: A + B.
Retroazione negativa. Da y = G·e = G·(r − H·y) si ottiene y·(1 + G·H) = G·r, quindi
Al numeratore c'è il prodotto dei blocchi in catena diretta, al denominatore 1 più il guadagno d'anello, cioè il prodotto di tutti i blocchi dell'anello. Con reazione positiva il denominatore diventa 1 − G·H. Una reazione non unitaria si riporta a unitaria mettendo 1H a monte e G·H nell'anello.
A e B in parallelo, poi C, con reazione D sull'uscita: yr = (A + B)·C1 + C·D. L'esercizio 4 lo svolge con numeri.
3 min 56 s: cinque esercizi svolti, dall'integratore al serbatoio non lineare
Benvenuti su Zerospoles. In questa lezione svolgiamo cinque esercizi sui modelli di sistemi dinamici. Cominciamo dall'integratore e dal partitore con elementi parassiti. Poi massa, molla e smorzatore, gli schemi a blocchi e il serbatoio non lineare. Il codice MATLAB per controllare ogni risultato è nella pagina del sito.
Primo esercizio. Un serbatoio con sezione zero virgola cinque metri quadri, portata costante zero virgola uno metri cubi al secondo, altezza iniziale zero virgola tre metri. Lo stato è l'altezza, quindi x punto è uno su A per u, cioè due per u. La funzione di trasferimento è due su s: un integratore puro. Con ingresso costante, l'altezza cresce di zero virgola due metri al secondo: h di t è zero virgola tre più zero virgola due t. Dopo dieci secondi, il livello è di due virgola tre metri.
Secondo esercizio: il partitore con elementi parassiti. Induttanza uno henry, resistenza R uno tre ohm, condensatore zero virgola cinque farad in parallelo a una resistenza R due di due ohm. L'uscita è la tensione sul condensatore. Gli stati sono la corrente nell'induttanza e la tensione sul condensatore. Dalla legge di Kirchhoff alla maglia: x uno punto è uguale a meno tre x uno, meno x due, più u. Dal nodo del condensatore: x due punto è uguale a due x uno, meno x due. Le matrici sono: A, meno tre, meno uno, due, meno uno. B, uno, zero. C, zero, uno. E D è nulla. La funzione di trasferimento è due diviso s al quadrato più quattro s più cinque. I poli sono meno due, più o meno j: il sistema è stabile. Il guadagno statico è zero virgola quattro, cioè R due su R uno più R due, come nel partitore ideale.
Terzo esercizio. Massa uno, smorzamento tre, rigidezza due. L'ingresso è la forza, l'uscita è la posizione. Gli stati sono la posizione x uno e la velocità x due. Quindi x uno punto è uguale a x due, e x due punto è uguale a meno due x uno, meno tre x due, più u. Le matrici sono: A, zero, uno, meno due, meno tre. B, zero, uno. C, uno, zero. La funzione di trasferimento è uno diviso s più uno, per s più due. I poli sono meno uno e meno due, gli autovalori di A: il sistema è stabile.
Quarto esercizio. A e B uguali a uno su s, in parallelo. Poi C uguale a tre su s più uno, con reazione negativa D uguale a uno. Il parallelo vale due su s. L'anello, C diviso uno più C D, vale tre su s più quattro. In cascata, y su r è sei diviso s per s più quattro. I poli sono zero e meno quattro: c'è un integratore, quindi il sistema non è asintoticamente stabile.
Quinto esercizio. Serbatoio di sezione due metri quadri, con efflusso k per la radice di h, e k uguale a zero virgola cinque. L'ingresso è uno metro cubo al secondo. All'equilibrio la derivata è nulla: u è uguale a zero virgola cinque per la radice di h zero. Quindi la radice vale due, e la quota di equilibrio è quattro metri. Vicino all'equilibrio, la derivata rispetto a h è meno zero virgola cinque diviso due per due per la radice di h zero: meno zero virgola zero seicentoventicinque. La costante di tempo è l'inverso: sedici secondi. Il livello si assesta in circa tre volte tanto, quarantotto secondi.
Adesso prova tu. A uguale a zero, uno, meno sei, meno cinque. B, zero, uno. C, uno, zero. Trova la funzione di trasferimento e i poli, e dì se il sistema è stabile. La soluzione è nella pagina del sito. Grazie, e alla prossima su Zerospoles.
Codice MATLAB per controllare:
A = 0.5;
G = tf(1/A, [1 0]) % integratore 2/s
t = 0:0.1:10;
h = 0.3 + lsim(G, 0.1*ones(size(t)), t);
h(end) % altezza a t = 10 sCodice MATLAB per controllare:
A = [-3 -1; 2 -1];
B = [1; 0];
C = [0 1];
D = 0;
eig(A) % poli
[num, den] = ss2tf(A, B, C, D)
dcgain(ss(A, B, C, D)) % guadagno staticoCodice MATLAB per controllare:
A = [0 1; -2 -3];
B = [0; 1];
C = [1 0];
D = 0;
eig(A)
[num, den] = ss2tf(A, B, C, D)Codice MATLAB per controllare:
s = tf('s');
A = 1/s; B = 1/s;
C = 3/(s + 1); D = 1;
G = (A + B) * feedback(C, D)Codice MATLAB per controllare:
f = @(h, u) (u - 0.5*sqrt(h)) / 2;
h0 = fzero(@(h) f(h, 1), 5) % equilibrio
a = -0.5 / (2*2*sqrt(h0)) % pendenza vicino all'equilibrio
tau = -1/a % costante di tempo
[t, h] = ode45(@(t, h) f(h, 1), [0 80], 1);
plot(t, h)Trova la funzione di trasferimento e i poli, poi dì se il sistema è stabile.
Una volta scritto il modello, la trasformata di Laplace lo rende algebrico e dà la funzione di trasferimento. I poli di G(s) decidono la stabilità: per controllarli senza calcolarli usa il criterio di Routh.
Ogni giorno un video breve su controlli automatici: poli, zeri, stabilità. Le soluzioni complete sono qui sul sito.