1) SISTEMI DINAMICI a TC
Descrivo un SD a TC tramite delle EDO che descrivono l’andamento delle variabili di stato (x) e delle variabili di uscita (y) in funzione di a stesse e delle variabili di controllo (u):
Sistema dinamico a TC
{ \dot{x}(t) = f(x(t), u(t), t) = A x(t) + b u(t) y(t) = g(x(t), u(t), t) = c x(t) + d u(t)
con A, b, c, d = decottori del sistema
OSS: Riconosco un sistema dinamico da un sistema non dinamico se l’espressione di u(t)*non è sufficiente per descrivere l’uscita y(t).
*
insieme ad eventuali parametridi sistema
DEFINIZIONI E SIGLE UTILI:
- SISO , Single Input Single Output = un ingresso e un’uscita t ∈ R ; u, y ∈ R ; x ∈ R^m , con m= # variabili di stato
- MIMO , Multiple Input Multiple Output
ORDINE del SISTEMA = numero di variabili di stato (x)Negli esercizi solitamente sono di ordine 2.
L1, Lineare : se f e g sono LINEARI in x e u.
TI, Tempo Invariante : se sia f che g non dipendono o stazionario DIRETTAMENTE dal tempo T.
SP, Strettamente Proprio : se g non dipende da u(t), cioèd = 0
Sistemi Dinamici a TC
Descrivo un SD a TC tramite delle EDO che descrivono l'andamento delle variabili di stato (x) e delle variabili di uscita (y) in funzione di x stesse e delle variabili di controllo (u):
Sistema Dinamico a TC
{ẋ(t) = f(x(t),u(t),t) = Ax(t) + bu(t)y(t) = g(x(t),u(t),t) = c x(t) + du(t)
con A, b, c, d = descrittori del sistema
Nota: Riconosco un sistema dinamico da un sistema non dinamico se l'espressione di u(t) non è sufficiente per descrivere l'uscita y(t).*insieme ad eventuali parametri di sistema.
Definizioni e Sigle Utili:
- SISO, Single Input Single Output = un ingresso e un'uscita t ∈R; u,y ∈R; x ∈Rm, con m= # variabili di stato
- MIMO, Multiple Input Multiple Output
Ordine del Sistema = numero di Variabili di stato (x) Nei esercizi solitamente sono di ordine 2.
- L1, Lineare: se f e g sono lineari in x e u.
- TI, Tempo Invariante: se sia f che g non dipendono o stazionario direttamente dal tempo t.
- SP, Strettamente Proprio: se g non dipende da u(t), cioè d = 0
Equilibrio
Se \( x(t)=\bar{x} \) per \( u(t)=\bar{u} \), allora \( \bar{x} \) si dice stato di equilibrio. Per calcolare \( \bar{x} \) pongo \(\dot{x}(t)=0\), cioè \( f(\bar{x}, \bar{u})=0 \).
Movimento
Per movimento si intende l'andamento delle funzioni che descrivono \( x(t) \) e \( y(t) \). Il movimento complessivo è dato dalla somma di:
- Movimento libero, ML: dipende da \( x(t) \) e non da \( u(t) \)
- Movimento forzato, MF: viceversa
Formula di Lagrange per lo stato:
\( x(t) = x_L(t) + x_F(t) = e^{At}x(0) + \int_0^t e^{A(t-\tau)} b u(\tau) d\tau \)
Nota: per calcolare \( x_F(t) \) conviene applicare la proprieta' del MF: non dipende da \( x(0) \) (bisogna usare la TDL, vedi dopo):\[ sX - x(0) = AX + bU \] \[ X_F(s) = \frac{bU}{A-s} \quad \text{antitrasformo con Laplace} \]
Formula di Lagrange per l'uscita:
\( y(t) = y_L(t) + y_F(t) = c e^{At}x(0) + c \int_0^t e^{A t} b u(\tau)d\tau + d u(t) \)
Nota: per calcolare \( y(t) \) è più comodo calcolare \( Y_F(s) \) tramite la formula \( Y_F(s) = G(s) U(s) \) e poi antitrasformare con Laplace
COME SI LINEARIZZA UN SD NON LINEARE?
1) Trovo gli EQUILIBRI del SD NL :
pongo x(t) = 0 e trovo x̄. Gli equilibri potrebbero essere più di uno, in questo caso bisogna scegliere rispetto a quale equilibrio linearizzare.
2) Sapendo che il sistema linearizzato è:
- dx = Lx dx + Lu du
- dy = gx dx + gu du
Calcolo :
- Lx |x̄,ū = d/ dx |x̄,ū, Lu |x̄,ū = d/ dū |x̄,ū
- gx |x̄,ū = d/ dx |x̄,ū, gu |x̄,ū = d/ dū |x̄,ū
E poi:
- dx = x - x̄
- du = u - ū
- dy = y - gu
STABILITA'
Un SD può essere:
- S, Stabile se ||x(t) - x̄|| < ε, ∀ t > 0
- AS, Asintoticamente Stabile se ||x(t) - x̄|| < ε per t → +∞
- I, Instabile altrimenti
NB: nei sistemi LTI la stabilita' è una proprietà del sistema, tutti gli equilibri hanno le stesse caratteristiche di stabilita'.
Regole e teoremi per stabilire il tipo di stabilità
- TUTTI gli autovalori di A hanno Re(λ)0 ⟹ sistema I
- det A = 0 ⟹ sistema NN AS
- tr (A) > 0 ⟹ Sistema A
- CRITERIO DI ROUTH
TRASFORMATA DI LAPLACE
Dato che lavorare con le EDO è piuttosto impegnativo, trasformiamo i segnali con variabile temporale N(t), in segnali con variabile se(s), V(s). Questo tramite la TRASFORMATA DI LAPLACE, TDL:
V(s) = [N(t)] = ∫0+∞ N(t) e-st dt
L'operazione inversa è l'ANTITRASFORMATA DI LAPLACE:
N(t) = ⁻¹ [V(s)] = 1/2πj ∫α-j∞α+j∞ V(s) est ds
TA MOTORELI:
N(t) V(s) imp(t) 1 sca(t) s ram(t)=tsca(t) 1/s2 eat sca(t) 1/s-a tm eat sca(t) m!/(s-a)m+1ANTITRASFORMATA secondo HEAVISIDE
Se V(s) = N(s)/D(s) allora scompongo V(s) in FRATTI SEMPLICI (come quando devo integrare) ottendendo V(s) come somma di TDL noti.
Le radici di N(s) si chiamano ZERI mentre quelle di D(s) si chiamano POLI.
FUNZIONE DI TRASFERIMENTO, FdT
G(s) = c (sI-A)-1 b + d
Y(s) = G(s)⋅U(s)
RAGGIUNGIBILITA' E OSSERVABILITA'
Uno stato x(t) si dice RAGGIUNGIBILE se per un dato istante di tempo t̅ per cui è definita anche la variabile di controllo (t) = ̅, esiste (t̅) = ̅.
Un sistema si dice COMPLETAMENTE RAGGIUNGIBILE se e solo se ogni suo stato è raggiungibile.
MATRICE DI RAGGIUNGIBILITA'
MR = [b Ab A2b ... Am-1b]
CRITERIO per stabilire se un SISTEMA è RAGGIUNGIBILE
Sistema R ⟺ MR NON SINGOLARE
Uno stato x(t) = ̅ si dice NON OSSERVABILE se il movimento ẏ̅ che genera è nullo, ẏ̅ = 0.
Se invece ᵖ produce un effetto sull'uscita allora si dice OSSERVABILE.
MATRICE DI OSSERVABILITᵂ:
MO =
- C
- AC
- ...
- Am-1C
CRITERIO PER STABILIRE SE UN SISTEMA E' OSSERVABILE
Sistema O MO NON SINGOLARE
NB: Se nel calcolo della FdT G(s) ci sono delle semplificazioni di autovalori con Re≥0, dette CANCELLAZIONI CRITICHE, allora il sistema presenta degli stati che sono o NR (Non Raggiungibili) oppure NO (Non Osservabili).
2) SISTEMI RETROAZIONATI
dau = DISTURBO IN ANDATAdr = DISTURBO IN RETROAZIONE
OSS: e = w-y è definita come ERRORE del sistema.
FdT:
- FdT d'anello (aperto): L(s) = P(s).R(s)
- FdT di sensibilita' complementare:T(s) = FdT d'andata / (1 + FdT anello) => T(s) = L(s) / (1 + L(s)) = Ψ/W = E/dau
- FdT di sensibilita': S(s) = 1 / (1 + L(s)) = Ψ/dau = E/W = E/dau
TEORIA: Criterio di Nyquist
Sistema in AC AS N ben definito e pari ai PD = #poli con Re>0
N = # giri del DN di L(s) attorno al punto -1.+ se antiorari- se orari
Se il DN passa per -1, allora N non è ben definito.
MARGINI DI STABILITA'
-
MARGINE DI MODULO, \( M_{m} \) : minima distanza del DN di \( L(s) \) dal punto \(-1\), cioè \( \min_{\omega} |L(j\omega) - (-1)| \)
\(\Rightarrow M_{m} = \min_{\omega} |1 + L(j\omega)|\)
-
MARGINE DI GUADAGNO, \( K_{m} \) :
Dal grafico si ricava che la stabilità dipende dalla distanza di A da \(-1\) : \( K_{m} = |x_{A} - 1| \)
Ma \( x_{A} \) è molto variabile. Ciò che rimane costante è l'angolo di A : \(\arg A = -180^\circ \Rightarrow \omega_{A} = \omega_{u} \) allora
\( K_{m} = \frac{1}{|L(j\omega_{u})|} \), sia \(\alpha = |L(j\omega_{A}| \), allora \( K_{m} = \frac{1}{\alpha} \)
NB: Conoscendo solo \( \angle L(j\omega_{u}) \) posso ricavarne il modulo tramite il diagrammi di Bode, in cui si legge che il sistema rimane AS per \( K < K_{m} \).
-
MARGINE DI FASE, \( \varphi_{m} \)
Se \( |L(j\omega_{u})| = 1 \), cioè \( L(j\omega_{u}) \) ha modulo unitario, \( \omega_{c} \) si dice PULSAZIONE CRITICA, mentre l'angolo \(\varphi_{c} = \Delta L(j\omega_{c})\) è detto FASE CRITICA.
Dal grafico si ricava che la stabilita’ dipende dalla distanza tra il punto C e -1 lungo la circonferenza unitaria.
Quindi φm = 180° - |φc|
Posso calcolare φm tramite i DB:
CRITERIO DI BODE
Condizioni di applicabilita’:
- Po > 0
- DBM taglia l’asse 0dB una volta sola.
Notazione:
- ML = guadagno di L
CRITERIO DI BODE:
- AC AS <=> ML > 0 ∧ φm > 0
Requisiti del controllo
1) Progetto Statico, PS:
È necessario imporre l'errore a regime nullo, o minore di un valore dato, per ingressi costanti: , a, r.
limt→+∞ e (t) = lims→0 s E(s) = e∞ ∈ ℝ
Teorema del Valore Finale
OS: se e∞ è prodotto da più cause le condizioni vanno imposte individualmente.
2) Progetto Dinamico, PD:
a) Disegno i vincoli da rispettare
b) Traccio un DBN iniziando con il tratto L L, con L e gli z ricavati dal PS, e rispettando i vincoli (aggiungendo poli e zeri auloconvenuti*).
c) Calcolo L : se rispetta i vincoli allora traccio il diagramma.
* NB: NO poli con Re>0
OS: Un sistema si dice A FASE MINIMA se non contiene ne' ritardi ne' zeri nel semipiano destro
COMPENSAZIONE DISTURBO IN ANDATA
Se ωda << \omegac non conviene aumentare \omegac. Allora si ricorre alla compensazione.
- Calcolo il compensatore ideale:
CID(s) = - H(s) / (M(s). P(s))
- Controllo se CID è accettabile:
- deve avere #poli > #zeri
- deve essere AS
- Trovo i limiti nelle bande di disturbo in modo che C(jω) ≃ CID(jω)
in modulo e fase come? Aggiungendo e togliendo poli.
3) Regolatori PID
Regolatori PID = ad azione Proporzionale, Integrale, Derivativa
u(t) = KP e(t) + KI ∫0t e(ζ) dζ + KD d/dt e(t)
Se pongo: K = KP = guadagnoKI = KP/TI = K/TI, TI = tempo integraleKD = KPTD , TD = tempo derivativo
allora: u(t) = K ( e(t) + 1/TI ∫0t e(ζ) dζ + TD d/dt e(t) )
U(s) = K ( 1 + 1/sTI + s TD ) E(s)
quindi: R(s) = U(s)/E(s) = K ( 1 + 1/sTI + s TD )
⇒ R(s) = K sTI +1+s2TITD/sTI
Abbiamo due casi:
- Regolatore PI :
RPI(s) = K s + sTI/sTI
- Regolatore PID:
RPID(s) = K ( 1 + 1/sTI + s TD )
4) SISTEMI DINAMICI a TD
Nei SD a TEMPO DISCRETO, TD, l'indice temporale è intero e si indica con K∈N.
SISTEMA DINAMICO a TD
- x (k) = A x (k-1) + b u (k-1)
- y (k) = c x (k) + d u (k)
EQUILIBRIO
Se x (k+1) = x (k) = x̄ per u(k)=ŭ, allora x̄ si dice STATO DI EQUILIBRIO.
Per calcolare x̄ pongo f (x̄, ŭ) = x̄.
MOVIMENTO
FORMULA DI LAGRANGE a TD per lo STATO:
x (k) = xL(k) + xF(k) = Akx(0) + ∑l=0k-1Ak-ℓ-1 b u (ℓ)
FORMULA DI LAGRANGE a TD per l'uscita:
y (k) = yL(k) + yF(k) = cAkx(0) + c∑l=0k-1Ak-ℓ-1 b u (ℓ) + d u (k)
STABILITÀ, regole:
- TUTTI gli autovalori di A hanno |λ| < 1 → sistema AS
- ALMENO UN autovalore di A ha |λ| > 1 → sistema I
- Tutti gli autovalori di A hanno |λ| < 1 e almeno uno ha |λ| = 1 → sistema NON AS
TRASFORMATA ZETA
É la corrispettiva della TDL.Sia v(k) segnali a TD, la suaTZ, V(z) = L [v(k)] =∑k=0 v(k) z-k
- imp(k) 1/z-1 per |z| > 1
- scal(k) z/z-ak per |z| > |a|
FUNZIONE DI TRASFERIMENTO, FdT
G(z) = c (zI—A) b +d, G(z) = USCITA FORZATA / INGRESSO FORZANTE
RAGGIUNGIBILITA’ e OSSERVABILITA’Esattamente come TC: Sistema R <—> MR non singolareSistema O <—> MO non singolare
5) SCHEMA DI CONTROLLO RETROAZIONATO IBRIDO
Notazione:
- * serve per sottolineare che la variabile è a TD.
- H = Holder
- S = Sampler
- TS = Sampling Time
Tre ipotesi sotto cui si opera:
- SAMPLER IDEALE → y*(K) = y(KTS)
- HOLDER DI ORDINE ZERO → u(t) = u*(K) per KTS ≤ t < (k+1)TS
- Sampler e Holder sincronì
DISCRETIZZAZIONE
Dati R(s) e TS posso ricavare R*(z) tramite il processo di discretizzazione.
METODO DI EULERO ESPLICITO
R*(z) = R( z-1/TS)METODO DI EULERO IMPLICITO
R*(z) = R( z-1/z TS)METODO DI TUSTIN
R*(z) = R( 2/Ts ⋅ z − 1/z + 1)
CRITERI per la SCELTA di Ts
CRITERIO 1: VINCOLO su Ws
Ws = 2π/Ts FREQUENZA DI CAMPIONAMENTO
WC ≥ k Ws con k ≈ 10÷50
CRITERIO 2: VINCOLO SU |L(jw)|
|L(jw)| < tot dB trovo la corrispondente w
WN = FREQUENZA DI NYQUIST = Ws/2
WN ≥ x⋅wC
CRITERIO 3: VINCOLO SU φm
φm < tot
•RITARDO DI CALCOLO TRASCURABILE (solo S&H):
1/2 WC Ts < tot ⟹ rad!
•RITARDO DI CALCOLO NON TRASCURABILE:
3/2 WC Ts < tot
Come si calcola U(K) data R*(z)?
Sia R*(z) = N(z)/D(z)
allora:
N(z)/D(z) = U(z)/E(z)
N(z)⋅E(z) = U(z)⋅D(z)
↓ calcolo la Tz−1 e risolvo rispetto e l'uscita più recente
6) CONTROLLO DIGITALE
WINDUP
NB: Il saturatore ha la "cornice" perché non è lineare.
Senza saturazione:
Con saturazione:
Nel blocco giallo, l'azione P e l'azione D diventano mano a mano trascurabili. L'azione I invece aumenta e produce un aumento anche di y(t) (dopo la linea gialla): WINDUP. y(t) si riazzererà solo quando l'azione integrale si sarà annullata (vedi area negativa dopo linea gialla).
NB: Il windup si può presentare anche senza azione I, accade perché il calcolato supera di molto l'applicata (che ha raggiunto un valore max dovuto alla saturazione).
ANTI WIND-UP: soluzione al windup
Si può fare in molti modi, noi ne abbiamo visti tre:
- PI a TC "per feedback" dell'errore di attuazione
coep. azione Iazione I∫ azione I
in questo modo si riduce l'azione I proporzionalmente alla saturazione
- Tracking Time
- campanello di quanto è stato saturo lo u
deve essere scelto con cura:
- se troppo piccolo, allora si riduce troppo
- se troppo grande, si riduce troppo poco
- PI a TC senza parametri aggiuntivi
se u non saturo => ingresso e uscita del blocco sono uguali:
U / E = 1 / 1 - 1 / 1 + sTi
= K 1 + sTi / sTi
PI
se u saturo, l'anello si apre => non integratore => no windup
3) Regolatore a TD, realizzazione non minimale
u(k) = a1u(k-1) + ... + amu(k-m) + b0e(k-1) + ... + bme(k-m)
R(z) =
- b0 + b1z-1 + ... + bmz-m
- a0 + a1z-1 + ... + amz-m
Nota: m + m variabili di stato mentre R e' di ordine m.
4) Regolatore a TD in forma incrementale
Δuk = u(k) - u(k-1) ⇒ ΔUz = (1 - z-1)U(z)
TRACKING
- TS (booleano) = TRACK SWITCH
- TR (numerico) = TRACK REFERENCE
-
Appunti Fondamenti di automatica
-
Appunti Fondamenti di automatica
-
Appunti Fondamenti di automatica
-
Appunti Fondamenti di automatica