Controllo
Di un fenomeno distinguiamo le variabili di stato e quelle indipendenti. Controllare il fenomeno equivale a gestire le variabili indipendenti a nostro piacere, se queste sono accessibili:
es
ẋ(t) = -aox(t) + u(t)
Se vogliamo ottenere xdes influenziamo la variabile indipendente:
- → controlliamo il fenomeno!
Dobbiamo fare questi controlli devono essere automatici/autonomi:
- senso-atti, controlli meccanici
- controllori elettronici (a tempo discreto!)
Quindi cercheremo di controllare modelli linearizzati: in intorni di equilibrio desiderati:
δx(k+1) = A δx(k) + B δu(k)
im (xe, ue) → δx(k) = x(k) - xe
↓
δu(k) = u(k) - ue
New
useremo x(k) per gli δx(k) e u(k) per gli δu(k)
Come detto prima, cercherò di regolare le variabili indipendenti, che possono essere modulate:
- variabili di controllo, u(k) ← lavoro su queste
- variabili di disturbo, d(k) ← costanti, non andando il modello
Quindi avrò:
δx(k+1) = Aδx(k) + Buδu(k) + Bdδd(k)
δx(k) = x(k) - xe
im [ xe, ue
δu(k) = u(k) - ue
δd(k) = d(k) - de
New: introduciamo l'INDICE DI PRESTAZIONE, ossia sono le variabili che mi interessano del fenomeno
y(k) = f(x(k), u(k), d(k))
nel caso in cui y(k) è solo una variabile
→ y(k) = C'x(k) + D'u(k) + D'dd(k)
dove C, Du e Dd sono i vettori che mi indicano
come y(k) è legata alle altre variabili. Se conosco qual è la mia y(k) obiettivo e
conosco x(k) e d(k), posso lavorare su u(k) per
raggiungere y(k), implementando x(k).
Dunque:
vettori {
- x(k) = variabili di stato
- u(k) = variabili di controllo
- d(k) = variabili di disturbo
- y(k) = indice di prestazione
x(k+1) = f (x(k), u(k), d(k))
y(k) = h (x(k), u(k), d(k))
La funzione di trasferimento W(z) la posso vedere come la trasformata zeta della risposta impulsiva w(k):
W(z) = Z[w(k)] dove w(k) =
- 1 D, k=0
- C Ak-1 B, k > 0
dunque
Y(z) = W(z) U(z)
Esempio: (Comunicazione intercontinentale) amplificatore ideale:
Vout(t) = A Vin(t)
mentre l'amplificatore reale ha
A ∈ (A0 - ΔA; A0 + ΔA)
per ridurre il ΔA hanno ideato l'amplificatore retroazionato
Vout = A(Vin - β Vout) => Vout =
A / (1 + Aβ) Vin
B = c1j1 + c2j2
c1=0
considerando x(0) = 0:
x(1) = Bu(0) ∈ J2 ∀u(0)
x(2) = ABu(0) + Bu(1) ∈ J2 ...
Qualsiasi sequenza di controllo u(k) che posso
scegliere non riesco a fare qualsiasi cosa, ma
non posso muovermi usando j1
Teorema
Tramite questo teorema sappiamo se ci sono
autovaluti non osservabili o non raggiungibile:
- matrice di raggiungibilità R:
Rn×n := (B | AB | A²B ... Aⁿ⁻¹B)
se rk(R) = n => tutti moti sono raggiungibili.
- matrice di osservabilità
On×n :=
[ C
CA
:
CAⁿ⁻¹ ]
se rk(O) = n => tutti moti osservabili.
Se rk(A) = rk(O) = n , allora il numero dei λi
è uguale a quello dei poli pi
I fenomeni sono:
x(k+1) = A x(k) + B u(k) + Bd d(k)
y(k) = C x(k) + D u(k) + Dd d(k)
allora
Y(z) = P(z) U(z) + Pd(z) D(z)
dove
Pd(z) = (Pd1(z), Pd2(z), ...)
e i disturbi sono tipicamente:
- disturbo di misura, facciamo un errore di calcolo sistematico o di altra natura:
- Bd = 0 e Dd = 1
- disturbo di attuazione:
- Bd = B e Dd = 0
- disturbo interno:
- Bd ≠ B e Bd ≠ 0
- Pd(z) ≠ P(z) e Pd(z) ≠ 1
Se ydes(k)=1 => limk→+∞ y(k)=1
e et(z) tenderà a zero con velocità:
dw(z) = z + z - 1 = 2z - 1 => z = 1/2
l'errore si dimezzerà ad ogni passo
dw(z) = 1 + z - 1 = z => et(t)=0 dopo un passo
Es:
- esiste un controllore tale che |e0| < 0.1 e il sistema vada a regime a tempo finito?
TEMPO FINITO → dw(z) polo in 0
dw(z) = z - 0.9 + Cp → Cp = 0.9
con Cp = 0.9 si ha:
|e0| =
dunque abbiamo:
- esiste un controllore tale che |e0| < 0.05 e almeno con riduzione del transitorio del 70% a ogni passo?
eT = 0.7 → dw(z) con polo p, |p| < 0.3
dw(z) = z - 0.9 + Cp = > 1 - Cp + 0.9 | < 0.3
|e0| < 0.05 = → 1⁄|1+ < 0.05
dunque abbiamo:
0.6 < Cp < 1.2
1.9 < Cp < -2.1
eT → dw(z) polo t.c. |p| < 0.1
|e0 = 1⁄1+… < 0.1
Ossia:
dw(z) = (z-0.2)(z-λ1) + (Cp+CI)z-Cp
= z2 + ϵ(Cp+CI-λ1) + (0.2-Cp)
Usando S.C. per z = ž: 0.7
0.49ž2 + 0.7 ϵ (Cp+CI-λ1) + (0.2-Cp)
Tutte le coppie nel triangolo sono quelle cercate. Il control con un transitorio che si annulla dopo due passi ha Cp e CI tc:
dw(z) = ž2
Ossia:
es
P(z) = 1/z+2
tutti i controllori (P e PI) per cui il sistema a ciclo chiuso è asint. stabile (|pi|<1):
a(z) = cp :
e∞ ≠ 0
er(k) k→∞→ 0
e(k) k→∞→ e∞
dw(z) = z + 2 + cp ⇒ ha polo z = -2-cp
cerchiamo i cp t.c. |pi| < 1:
- |-2-cp| < 1 ⇒ -3 < cp < -1
e∞ = 0
er(k) = e(k) k→∞→ 0
dw(z) = (ci + cp)z - cp + (z + 2)(z - 1)
= z2 + z(ci + cp + 1) - 2 - cp
Usiamo Schwarz-Chan semplificato:
dw(1) = 1 + ci + cp + 1 - 2 - cp = ci > 0
dw(-1) = 1 - ci - cp - 1 - 2 - cp > 0
- ⇒ 2cp + ci + 2 < 0
- 1 > -2-cp ⇒ cp > 3
Nota che il controllore PI per cui ho un e∞ = 0 in passi finiti: z è quello con:
- ci + cp + 1 = 0
- cp + 2 = 0
- ci = -1
- cp = -2
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Fondamenti di Automatica
-
Fondamenti di Automatica - Controllo
-
Appunti Fondamenti di automatica
-
Fondamenti di automatica