ZEROSPOLES

Esercizi svolti › Modelli

Modelli di sistemi dinamici

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.

Video 1: la teoria dei modelli

Guarda su YouTube

5 min 17 s: dalla definizione di modello agli schemi a blocchi, nell'ordine della dispensa

Leggi la trascrizione

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.

Che cos'è un modello

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.

Tre approcci

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.

Ingressi, uscite, disturbi

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.

Lo stato

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.

La macchina a gettoni

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.

L'integratore

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.

Sistemi continui lineari

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.

Controllabilità e osservabilità

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.

Esempi di modelli

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.

Funzione di trasferimento

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.

Cascata e parallelo

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.

Retroazione

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.

Riepilogo

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.

Teoria nell'ordine della dispensa

1. Che cos'è un modello

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:

  1. Sperimentale (induttivo). Il sistema è una scatola nera: si applicano ingressi noti, si misurano le uscite e si trova una relazione per interpolazione. Il modello è semplice, ma i parametri non hanno quasi mai un significato fisico. Esempio: misuri tensione e corrente su un componente, vedi che sono proporzionali e concludi che è un resistore (legge di Ohm).
  2. Analitico (deduttivo). Conosci i componenti e i collegamenti, scrivi il modello dalle loro leggi e lo validi con misure. Esempio: una rete di resistori di cui calcoli la resistenza equivalente.
  3. Pragmatico. Prima progetti il modello, lo verifichi in simulazione e solo dopo costruisci il sistema fisico che lo realizza.

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.

2. Lo stato e l'integratore

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.

Esempio: la macchina a gettoni

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:

SistemaLeggeStatoForma di stato
Serbatoio, sezione AA·h = u(t)altezza hx = 1A·u
Condensatore, capacità CC·V = i(t)tensione Vx = 1C·i
Newton, massa mm·v = F(t)velocità vx = 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.

3. Sistemi continui lineari

La forma più usata per un sistema lineare è la rappresentazione ingresso-stato-uscita:

x = A·x + B·u     y = C·x + D·u

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.

  1. A collega lo stato a se stesso e ne decide la stabilità.
  2. B collega gli ingressi agli stati, C collega gli stati all'uscita.
  3. D è il collegamento diretto ingresso-uscita. Nei sistemi fisici di solito è nulla: l'uscita non risponde mai istantaneamente all'ingresso (sistema strettamente causale).
  4. La coppia [A, B] dice se il sistema è controllabile, la coppia [A, C] se lo stato è osservabile dall'uscita.

4. Esempi di modelli

  1. Algebrico ideale: il partitore resistivo. y = R2R1 + R2·u. Non c'è dinamica né memoria: A = B = C = 0 e D = R2R1 + R2.
  2. Algebrico reale, con elementi parassiti. Con un'induttanza in serie e un condensatore in parallelo il partitore diventa dinamico e vale per ingressi che variano in fretta. L'esercizio 2 lo svolge.
  3. Tempovariante. Un corpo spinto bruciando combustibile perde massa: M(t)·x = u quindi x = B(t)·u. In generale x = A(t)·x + B(t)·u: più difficile da studiare di un modello stazionario.
  4. Non lineare. Un serbatoio con efflusso: per la legge di Torricelli la portata in uscita è y = k·√h, quindi h = u − k·√hA(h). L'esercizio 5 lo svolge.

5. Funzione di trasferimento e schemi a blocchi

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.

CGruy=C·G

Cascata. I blocchi si moltiplicano: C·G.

AB+ry=A + B

Parallelo. I blocchi si sommano: A + B.

+−GHrey=G / (1+GH)

Retroazione negativa. Da y = G·e = G·(r − H·y) si ottiene y·(1 + G·H) = G·r, quindi

yr = G1 + G·H

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.

  1. Spostare un sommatore oltre un blocco A: bisogna riportare il segnale sommato moltiplicato per 1A o per A, a seconda del verso.
  2. Spostare una connessione (un prelievo di segnale) oltre un blocco: stessa idea, con il blocco inverso sul ramo spostato.

Esempio della dispensa

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.

Video 2: gli esercizi svolti

Guarda su YouTube

3 min 56 s: cinque esercizi svolti, dall'integratore al serbatoio non lineare

Leggi la trascrizione

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.

Esercizio 1: l'integratore

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.

Esercizio 2: partitore con parassiti

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.

Esercizio 3: massa, molla, smorzatore

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.

Esercizio 4: schemi a blocchi

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.

Esercizio 5: serbatoio con efflusso

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.

Prova tu

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.

Esercizi svolti

Esercizio 1 · Integratore

Serbatoio e condensatore: lo stesso modello

Serbatoio con sezione A = 0,5 m², portata in ingresso u costante = 0,1 m³/s, altezza iniziale 0,3 m. Trova il modello di stato e l'altezza dopo 10 s.
  1. Legge del volume. A·h = u.
  2. Stato. Si pone x = h: x = 1A·u = 2·u. Con y = x: A = 0, B = 2, C = 1, D = 0.
  3. Funzione di trasferimento. G(s) = 2s: un integratore puro.
  4. Con ingresso costante. x = 2·0,1 = 0,2 m/s, quindi h(t) = 0,3 + 0,2·t.
  5. Dopo 10 s. h(10) = 0,3 + 0,2·10 = 2,3 m.
Risultato: x = 2·u, G(s) = 2/s, h(10) = 2,3 m. Un condensatore con C = 0,5 F alimentato da una corrente ha lo stesso modello.

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 s
G = 2 - s Continuous-time transfer function. ans = 2.3000
Esercizio 2 · Forma di stato

Partitore con elementi parassiti

Ingresso u (tensione), induttanza L = 1 H e resistenza R1 = 3 Ω in serie, poi condensatore C = 0,5 F in parallelo a R2 = 2 Ω. Uscita: tensione sul condensatore. Trova A, B, C, D.
  1. Stati. x1 = i (corrente nell'induttanza) e x2 = V (tensione sul condensatore). Uscita y = x2.
  2. Kirchhoff alla maglia. u = x2 + L·x1 + R1·x1, quindi x1 = −3·x1 − x2 + u.
  3. Nodo del condensatore. x1 = C·x2 + x2R2, quindi x2 = 2·x1 − x2.
  4. Matrici. A = −3−12−1, B = 10, C = 01, D = 0.
  5. Funzione di trasferimento. G(s) = 2s2 + 4s + 5. Poli in −2 ± j: parte reale negativa, quindi stabile. Guadagno statico G(0) = 2/5 = 0,4 = R2R1 + R2: torna col partitore ideale.
Risultato: A = −3−12−1, B = (1, 0)T, C = (0, 1), D = 0.

Codice 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 statico
ans = -2.0000 + 1.0000i -2.0000 - 1.0000i num = 0 0 2 den = 1 4 5 ans = 0.4000
Esercizio 3 · Da stato a funzione di trasferimento

Sistema massa, molla e smorzatore

m·x″ + c·x′ + k·x = F, con m = 1, c = 3, k = 2. Ingresso u = F, uscita y = posizione x. Scrivi il modello di stato e trova G(s) e i poli.
  1. Stati. x1 = x (posizione), x2 = x′ (velocità).
  2. Equazioni. x1 = x2 e x2 = −2·x1 − 3·x2 + u.
  3. Matrici. A = 01−2−3, B = 01, C = 10, D = 0.
  4. Funzione di trasferimento. sI − A = s−12s + 3 con determinante s2 + 3s + 2. Il termine in posizione (1,2) di (sI − A)−1 è 1s2 + 3s + 2.
  5. Poli. s2 + 3s + 2 = (s + 1)(s + 2): s = −1 e s = −2. Sono gli autovalori di A: il sistema è stabile e la risposta somma due esponenziali che si spengono.
Risultato: G(s) = 1(s + 1)(s + 2), poli in −1 e −2. Per la risposta nel tempo si antitrasforma come nella pagina su Laplace.

Codice 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)
ans = -1 -2 num = 0 0 1 den = 1 3 2
Esercizio 4 · Schemi a blocchi

Parallelo, cascata e reazione

A = 1/s, B = 1/s in parallelo, poi C = 3/(s + 1), con reazione negativa D = 1 sull'uscita. Trova y/r.
  1. Formula. yr = (A + B)·C1 + C·D.
  2. Parallelo. A + B = 2s.
  3. Anello. C1 + C·D = 3/(s + 1)1 + 3/(s + 1) = 3(s + 1) + 3 = 3s + 4.
  4. Cascata. yr = 2s·3s + 4 = 6s(s + 4).
  5. Poli. s = 0 e s = −4: un integratore, quindi un polo sull'asse immaginario. Il sistema non è asintoticamente stabile.
Risultato: yr = 6s2 + 4s.

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)
G = 6 --------- s^2 + 4 s Continuous-time transfer function.
Esercizio 5 · Modello non lineare

Serbatoio con efflusso

A = 2 m² costante, y = k·√h con k = 0,5. Ingresso u = 1 m³/s costante. Trova la quota di equilibrio e quanto è lenta la risposta vicino all'equilibrio.
  1. Modello. h = u − 0,5·√h2: non lineare per la radice.
  2. Equilibrio. Si impone h = 0: u = 0,5·√h0, quindi √h0 = 2 e h0 = 4 m. A regime la portata in uscita eguaglia quella in ingresso.
  3. Vicino all'equilibrio. Si sviluppa al primo ordine: ∂∂h(u − 0,5·√h2) = −0,52·2·√h0 = −0,0625.
  4. Costante di tempo. Lo scarto δh obbedisce a δh = −0,0625·δh + 0,5·δu: un sistema del primo ordine con τ = 10,0625 = 16 s.
Risultato: h0 = 4 m e τ = 16 s: il livello si assesta in circa 3τ = 48 s.

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)
h0 = 4.0000 a = -0.0625 tau = 16.0000
Prova tu

Da stato a funzione di trasferimento

A = [0 1; −6 −5], B = [0; 1], C = [1 0], D = 0

Trova la funzione di trasferimento e i poli, poi dì se il sistema è stabile.

Mostra la soluzione
  1. Determinante. det(sI − A) = s(s + 5) + 6 = s2 + 5s + 6.
  2. Funzione di trasferimento. G(s) = 1s2 + 5s + 6 = 1(s + 2)(s + 3).
  3. Poli. −2 e −3, entrambi a sinistra: il sistema è stabile.
  4. Controllo. Il polinomio ha lo stesso aspetto dell'esercizio 3: nella seconda riga di A compaiono i coefficienti cambiati di segno, −6 e −5.

Come si lega a Laplace e Routh

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.

Seguici su Instagram e TikTok

Ogni giorno un video breve su controlli automatici: poli, zeri, stabilità. Le soluzioni complete sono qui sul sito.