Date post: | 17-Feb-2019 |
Category: |
Documents |
Upload: | nguyenmien |
View: | 218 times |
Download: | 0 times |
Ing. Cristian SecchiTel. 0522 522235
e-mail: [email protected]://www.dismi.unimo.it/Members/csecchi
INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLOLaurea Specialistica in Ingegneria Meccatronica
PROGETTO PER DISCRETIZZAZIONEPROGETTO PER DISCRETIZZAZIONE
Tecniche di controllo digitali
Vi sono principalmente tre classi di tecniche progettuali:
• metodo indiretto: progetto preliminare del regolatore nel dominio delletrasformate di Laplace, dunque con una delle tecniche già note nelcontinuo, e successiva trasformazione per discretizzazione nel digitale.
• metodo diretto: tecniche di progetto per le quali si lavora direttamente neldominio discreto, ossia delle trasformate Z. Alcuni esempi sono dati da :• progetto nel piano w, con l’impiego dei diagrammi di Bode;• progetto con il luogo delle radici nel piano z;• progetto con metodi analitici (assegnamento poli/zeri, deadbeat,
Dahlin).
• Regolatori a struttura fissa (tipo PID) di cui si devono tarare i parametri infunzione della dinamica del sistema da controllare e delle specifiche dasoddisfare.
Cristian Secchi 2005-2006 ITSC06 – p. 2/50
Metodo indiretto - obiettivi
• Data una legge di controllo continua rappresentata da una funzione ditrasferimento D(s), si vuole ottenere una legge D(z), da inserire nell’anellodi retroazione comprensivo del ricostruttore , che permetta di ottenereprestazioni il più possibile simili a quelle ottenute impiegando la D(s).
x(t)� �
−
e(t)�� � D(z) �� � H(s) � G(s) �
�
ub(t) yb(t)
x(t)� �
−
e(t)� D(s) � G(s) �
�
ua(t) ya(t)
In altre parole, il problema consiste nell’approssimare nel tempo e/o infrequenza i due segnali ua(t) e ub(t) a fronte dello stesso segnale e(t).
Cristian Secchi 2005-2006 ITSC06 – p. 3/50
Considerazioni generali
• È evidente che utilizzare un regolatore digitale ottenuto discretizzando unregolatore analogico porta ad introdurre variazioni delle prestazioni delsistema in retroazione. Tali variazioni dipendono da diversi fattori, quali lascelta del periodo di campionamento e la tecnica di discretizzazioneutilizzata. Comunque, è ovvio che effettuando l’operazione didiscretizzazione si cerchi di far sì che le caratteristiche sia temporali chefrequenziali del nuovo regolatore si discostino di poco da quelledell’originale.
• In generale, può essere di interesse mantenere una o più delle seguenticaratteristiche: numero di poli e zeri, andamento della risposta a impulso oa gradino, guadagno statico, margini di fase e di ampiezza, larghezza dibanda, anche se non tutte possono essere mantenute inalteratecontemporaneamente dall’operazione di discretizzazione.
Cristian Secchi 2005-2006 ITSC06 – p. 4/50
Considerazioni generali
• Nella maggior parte dei casi risulta difficile per esempio mantenere lecaratteristiche di risposta frequenziale, comparendo nella versione discretaeffetti non presenti nel regolatore analogico, come la distorsionefrequenziale dovuta all’aliasing, qualora non si effettui una scelta attenta delperiodo di campionamento.
• Un metodo empirico per ottenere prestazioni soddisfacenti è quello discegliere frequenze di campionamento più alte possibili, che comportanoperò un aggravio delle prestazioni computazionali richieste.
Cristian Secchi 2005-2006 ITSC06 – p. 5/50
Passi concettuali
Una volta definito il regolatore analogico D(s), la tecnica di progetto si articola iltre passi concettuali:
1 - definizione del periodo di campionamento T e verifica del fatto chel’inserimento del campionatore-ricostruttore non destabilizzi il sistema: senecessario si deve provvedere ad una correzione della D(s) o a modificareT .• Il ricostruttore introduce un ritardo nell’anello. Considerando il
ricostruttore di ordine 0, si ha che
H0(s) =1 − e−sT
s≈ T
T2 s + 1
approssimazione di Padè
oppure
H0(s) ≈ Te−sT/2
Cristian Secchi 2005-2006 ITSC06 – p. 6/50
Passi concettuali
• per l’analisi degli effetti dinamici si deve considerare, per esempio, il termine
1T2 s + 1
nell’anello continuo prima di procedere alla discretizzazione, come indicatoin figura. Si noti che il guadagno T non viene considerato in quanto nelloschema finale discreto tale fattore è compensato dal guadagno 1/T delcampionatore;
x(t)� �
−
e(t)� D(s) � 1
T2 s + 1
� G(s) �
�
ua(t)
Cristian Secchi 2005-2006 ITSC06 – p. 7/50
Passi concettuali
2 - Discretizzazione della D(s) con una delle tecniche indicate nel seguito
3 - Verifica a posteriori del comportamento dinamico del sistema concontrollore discreto.
Cristian Secchi 2005-2006 ITSC06 – p. 8/50
Tecniche di discretizzazione
Esistono diverse tecniche per discretizzare la funzione di trasferimentoanalogica D(s). Tra le principali, di complessità adeguata alle esigenze dielaborazione in tempo reale, verranno illustrate le seguenti:
1. metodo delle differenze all’indietro;
2. metodo delle differenze in avanti (non impiegata nei controlli);
3. trasformazione bilineare;
4. trasformazione bilineare con precompensazione frequenziale;
5. metodo della Z-trasformata, detto anche dell’invarianza della rispostaall’impulso;
6. metodo della Z-trasformata con ricostruttore di ordine 0, detto anchedell’invarianza della risposta al gradino;
7. metodo della corrispondenza poli/zeri.
Cristian Secchi 2005-2006 ITSC06 – p. 9/50
Metodo delle differenze all’indietro
Questo metodo è essenzialmente una semplice tecnica di integrazionenumerica. Sia data per esempio l’equazione differenziale. Si consideri adesempio la seguente equazione differenziale:
d y(t)dt
+ ay(t) = ax(t) (1)
Integrando ambo i membri si ha
∫ t
0
d y(t)dt
dt = −a
∫ t
0
y(t)dt + a
∫ t
0
x(t)dt
Per t = kT , e per t = (k − 1)T si ha rispettivamente:
∫ kT
0d y(t)
dt dt = y(kT ) − y(0) = −a∫ kT
0y(t)dt + a
∫ kT
0x(t)dt
∫ (k−1)T
0d y(t)
dt dt = y((k − 1)T ) − y(0) = −a∫ (k−1)T
0y(t)dt + a
∫ (k−1)T
0x(t)dt
Cristian Secchi 2005-2006 ITSC06 – p. 10/50
Metodo delle differenze all’indietro
Dalle relazioni precedenti si ottiene:
y(kT ) − y((k − 1)T ) = −a
∫ kT
(k−1)T
y(t)dt + a
∫ kT
(k−1)T
x(t)dt
• Per calcolare numericamente gli integrali presenti in questa relazione siapprossima l’area sottesa alle curve y(t) e x(t) con rettangoli.
• nel metodo delle differenze all’indietro si considerano tra gli istanti (k − 1)Te kT i rettangoli di altezza pari a y(kT ) o x(kT ) (valore finale del periodoconsiderato).
Si ha dunque che
∫ kT
(k−1)T
y(t)dt ≈ Ty(kT )∫ kT
(k−1)T
x(t)dt ≈ Tx(kT )
Cristian Secchi 2005-2006 ITSC06 – p. 11/50
Metodo delle differenze all’indietro
Nella seguente figura è illustrato il metodo di integrazione delle differenzeall’indietro:
0
0.2
0.4
0.6
0.8
1
1.2
1.4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
Integrazione all‘indietro
t
y(t)
Cristian Secchi 2005-2006 ITSC06 – p. 12/50
Metodo delle differenze all’indietro
• Sostituendo si ottiene:
y(kT ) = y((k − 1)T ) − aT [y(kT ) − x(kT )]
che ha Z-trasformata
Y (z) = z−1Y (z) − aT [Y (z) − X(z)]
ovveroY (z)X(z)
= G(z) =aT
1 − z−1 + aT=
a1−z−1
T + a
• Utilizzando la trasformata di Laplace per modellare l’equazione differenzialesi sarebbe ottenuto
G(s) =Y (s)X(s)
=a
s + a
Cristian Secchi 2005-2006 ITSC06 – p. 13/50
Metodo delle differenze all’indietro
Osservando le ultime due equazioni, si vede che esse sono identiche se si pone
s =1 − z−1
T=
z − 1Tz
Questa relazione esprime la trasformazione da effettuare per discretizzare unfiltro analogico col metodo delle differenze all’indietro ossia
D(z) = D(s)∣∣∣∣s =
1 − z−1
T
Cristian Secchi 2005-2006 ITSC06 – p. 14/50
Metodo delle differenze all’indietro
Effettuando la trasformazione rovata, il piano s viene mappato nel piano z eviceversa. La regione di stabilità in s (Re(s) < 0) viene trasformata nel piano zcome segue:
Re
(1 − z−1
T
)= Re
(z − 1Tz
)< 0
da cui, poiché T > 0 e z = σ + jω,
Re
(σ + jω − 1
σ + jω
)= Re
[(σ + jω − 1)(σ − jω)
σ2 + ω2
]=
σ2 − σ + ω2
σ2 + ω2< 0
ossia (σ − 1
2
)2
+ ω2 <
(12
)2
che è una circonferenza sul piano z di centro (1/2, 0) e raggio 1/2.
Cristian Secchi 2005-2006 ITSC06 – p. 15/50
Metodo delle differenze all’indietro
Legame indotto tra piano s e piano z
Re
Im
Piano s
1 Re
Im
Piano z
Questo significa, in particolare, che ogni funzione di trasferimento D(s) stabileviene trasformata in una D(z) stabile. Inoltre, anche poli instabili in s possonoessere trasformati in poli stabili in z.
Cristian Secchi 2005-2006 ITSC06 – p. 16/50
Metodo delle differenze all’avanti
Anche questa tecnica rappresenta una approssimazione del calcolodell’integrale. A differenza della tecnica precedente, si considera ora per ilgenerico periodo (k − 1)T ÷ kT il valore iniziale y((k − 1)T ) anziché il valorefinale y(kT ). Considerando ancora la semplice equazione differenziale del casoprecedente, si ha che
∫ kT
(k−1)T
y(t)dt ≈ Ty((k − 1)T )∫ kT
(k−1)T
x(t)dt ≈ Tx((k − 1)T )
Questa tecnica di integrazione numerica è detta anche integrazione di Eulero.
Cristian Secchi 2005-2006 ITSC06 – p. 17/50
Metodo delle differenze all’avanti
Nella seguente figura è illustrata la tecnica di integrazione di Eulero:
0
0.2
0.4
0.6
0.8
1
1.2
1.4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
Integrazione all‘avanti
t
y(t)
Cristian Secchi 2005-2006 ITSC06 – p. 18/50
Metodo delle differenze all’avanti
In questo modo si ottiene
y(kT ) = y((k − 1)T ) − aT [y((k − 1)T ) − x((k − 1)T )]
che fornisce la Z-trasformata
Y (z) = (1 − aT )z−1Y (z) + aTz−1X(z)
da cuiY (z)X(z)
= G(z) =aTz−1
1 − (1 − aT )z−1=
a1−z−1
Tz−1 + a
Cristian Secchi 2005-2006 ITSC06 – p. 19/50
Metodo delle differenze all’avanti
In questo caso quindi la trasformazione da effettuare è
s =1 − z−1
Tz−1=
z − 1T
da cui
D(z) = D(s)∣∣∣∣s =
z − 1T
Cristian Secchi 2005-2006 ITSC06 – p. 20/50
Metodo delle differenze all’avanti
Vediamo il legame indotto tra piano s e piano z dalla trasformazione trovata. Siha che:
Re(s) = Re
(z − 1
T
)< 0
comportaRe(z) < 1
ossia il semipiano sinistro del piano s viene trasformato nel semipiano a sinistradella retta σ = 1 del piano z.
Cristian Secchi 2005-2006 ITSC06 – p. 21/50
Metodo delle differenze all’avanti
Legame indotto tra piano s e piano z
Re
Im
Piano s
1 Re
Im
Piano z
Funzioni di trasferimento analogiche stabili possono essere trasformate infunzioni di trasferimento discrete instabili. Per tale motivo questa tecnica ditrasformazione non viene utilizzata nella pratica.
Cristian Secchi 2005-2006 ITSC06 – p. 22/50
Trasformazione bilineare (o di Tustin)
Anche la trasformazione bilineare può essere considerata come una tecnica diintegrazione numerica, detta integrazione trapezoidale o metodo ditrasformazione di Tustin. In questo caso si compie la seguente approssimazionedell’integrale
∫ kT
(k−1)T
y(t)dt ≈ [y(kT ) + y((k − 1)T )]T2
∫ kT
(k−1)T
x(t)dt ≈ [x(kT ) + x((k − 1)T )]T2
Si suppone cioè che la funzione vari in modo lineare tra due istanti dicampionamento successivi.
Cristian Secchi 2005-2006 ITSC06 – p. 23/50
Trasformazione bilineare (o di Tustin)
Nella seguente figura è illustrata la tecnica di integrazione di Tustin
0
0.2
0.4
0.6
0.8
1
1.2
1.4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
oo
o
o o
o
o
o
oo
o
o
o o
o
o
o o
o
o
o
Integrazione trapezoidale
t
y(t)
Cristian Secchi 2005-2006 ITSC06 – p. 24/50
Trasformazione bilineare (o di Tustin)
Considerando la semplice equazione differenziale vista nei casi precedenti, siottiene:
y(kT ) = y((k − 1)T ) − aT
2[y(kT ) + y((k − 1)T )] +
aT
2[x(kT ) + x((k − 1)T )]
che fornisce la Z-trasformata
Y (z) = z−1Y (z) − aT
2[Y (z) + z−1Y (z)
]+
aT
2[X(z) + z−1X(z)
]
e quindi
Y (z)X(z)
= G(z) =aT2 (1 + z−1)
(1 − z−1) + aT2 (1 + z−1)
=a
2T
1−z−1
1+z−1 + a
Cristian Secchi 2005-2006 ITSC06 – p. 25/50
Trasformazione bilineare (o di Tustin)
In questo caso la trasformazione da effettuare è
s =2T
1 − z−1
1 + z−1=
2T
z − 1z + 1
Questa relazione è detta trasformazione bilineare e per le sue proprietà è giàstata utilizzata, nella forma semplificata con T = 2, per l’applicazione del criteriodi stabilità di Routh.
La funzione di trasferimento discreta corrispondente è:
D(z) = D(s)∣∣∣∣s =
2T
1 − z−1
1 + z−1
Cristian Secchi 2005-2006 ITSC06 – p. 26/50
Trasformazione bilineare (o di Tustin)
Il semipiano sinitro del piano s viene trasformato nella regione definita da:
Re
(2T
1 − z−1
1 + z−1
)= Re
(2T
z − 1z + 1
)< 0
da cui (T > 0)
Re
(z − 1z + 1
)< 0
e quindi, con z = σ + jω
Re
(z − 1z + 1
)= Re
(σ + jω − 1σ + jω + 1
)= Re
[σ2 − 1 + ω2 + j2ω
(σ + 1)2 + ω2
]< 0
cioèσ2 + ω2 < 1
che definisce la regione interna al cerchio unitario centrato nell’origine.
Cristian Secchi 2005-2006 ITSC06 – p. 27/50
Trasformazione bilineare (o di Tustin)
Im
Re
Piano s
1 Re
Im
Piano z
La trasformazione bilineare trasforma una D(s) analogica stabile in una D(z)discreta stabile e viceversa.
Cristian Secchi 2005-2006 ITSC06 – p. 28/50
Metodo della Z-trasformata
• Si vuole ottenere, negli istanti di campionamento, lo stesso andamento perub(t) (uscita del controllore discreto) e per ua(t) (uscita del corrispondentecontrollore continuo) quando il segnale e(t) è un impulso. In altre parole sidesidera che:
Ub(z) = Z[ub(kT )] = Z[ua(kT )]
• Si ha quindi che
D(z) = Z[L−1[D(s)]
]
Cristian Secchi 2005-2006 ITSC06 – p. 29/50
Metodo della Z-trasformata
Sia data ad esempio una funzione di trasferimento (filtro passa basso) del tipo
D(s) =a
s + a
tramite il metof della Z-trasformata si ottiene il filtro discreto
D(z) =a
1 − e−aT z−1
Nel caso di una funzione D(s) più complessa, si può procedere come noto conuna scomposizione in fratti semplici e una successiva trasformazione dei terminielementari così ottenuti.
Cristian Secchi 2005-2006 ITSC06 – p. 30/50
Metodo della Z-trasformata
Si è visto che lo spettro di D(z) è uguale, a meno del fattore moltiplicativo 1/T ,allo spettro di D(s) ripetuto infinite volte e centrato attorno alle pulsazionik2π/T, k = . . . ,−1, 0, 1, 2, . . . Questo fatto ovviamente porta possibili problemi dialiasing con conseguenti distorsioni della risposta armonica del sistema discretorispetto a quella del sistema analogico.
Per ovviare a questo aspetto negativo, si possono percorrere due strade: oinserire un opportuno filtro passa basso prima del campionamento, oppureaumentare la frequenza di campionamento.
Ovviamente, entrambi gli approcci possono presentare delle controindicazioni.Nel primo caso si introducono ulteriori dinamiche nell’anello di controllo,dinamiche che possono alterare anche significativamente le prestazionicomplessive e che devono quindi essere state considerate nel progetto delregolatore analogico D(s). Nel secondo caso, si possono incontrare difficoltàrealizzative per l’associato aumento di onere computazionale.
Per quanto riguarda la stabilità, funzioni D(s) stabili sono sempre trasformate infunzioni D(z) stabili.Cristian Secchi 2005-2006 ITSC06 – p. 31/50
Metodo della Z-trasformata con ricostruttore di ordine zero
• Si vuole ottenere, negli istanti di campionamento, lo stesso andamento perub(t) (uscita del controllore discreto) e per ua(t) (uscita del corrispondentecontrollore continuo) quando il segnale e(t) è un gradino. In altre parole sidesidera che:
Z−1
[D(z)
11 − z−1
]= L−1
[D(s)
1s
]∣∣∣∣t=kT
Si ha dunque che
D(z)1
1 − z−1= Z
[L−1
[D(s)
1s
]]= Z
[D(s)
s
]
cioè
D(z) = (1 − z−1)Z[
D(s)s
]= Z
[1−e−sT
s D(s)]
• Per ottenere la D(z) in questo caso si deve effettuare la Z-trasformata dellaD(s) in cascata ad un ricostruttore di ordine 0 (fittizio).
Cristian Secchi 2005-2006 ITSC06 – p. 32/50
Metodo della Z-trasformata con ricostruttore di ordine zero
• Esempio: filtro passa basso del tipo
D(s) =a
s + a
Si ottiene
D(z) =(1 − e−aT )z−1
1 − e−aT z−1
• Possono insorgere fenomeni di aliasing, che però sono attenuati dalricostruttore fittizio che introduce un effetto di filtraggio.
• Funzioni continue stabili sono trasformate in funzioni discrete stabili.
Cristian Secchi 2005-2006 ITSC06 – p. 33/50
Metodo della corrispondenza poli/zeri
• Ogni polo e zero in s della funzione analogica D(s) viene trasformato in unpolo o zero in z mediante la relazione z = esT .
• Procedura:• si fattorizzano numeratore e denominatore di D(s);• si utilizzano le seguenti relazioni per la trasformazione dei poli e zeri:
(s + a) → (1 − e−aT z−1)
(s + a ± jb) → (1 − 2e−aT cos bTz−1 + e−2aT z−2)
• si introducono nella D(z) tanti zeri in z = −1 quanti sono i poli di D(s) ineccesso rispetto agli zeri (grado relativo).
• si compensa il guadagno k alle basse o alle alte frequenze. Si desiderache funzioni di trasferimento del tipo passa basso abbiano lo stessoguadagno per s → 0 (nel continuo) e per z → 1 (nel discreto) e chefunzioni di trasferimento del tipo passa alto abbiano lo stesso guadagnoper s → ∞ (nel continuo) e per z → −1 (nel discreto).
Cristian Secchi 2005-2006 ITSC06 – p. 34/50
Metodo della corrispondenza poli/zeri
• Esempio: data una funzione di trasferimento del tipo
D(s) =a
s + a
effettuando la semplice trasformazione poli/zeri, si otterrebbe
D(z) =a
1 − e−aT z−1
• Si nota che è presente in D(s) uno zero all’infinito (ovvero un polo ineccesso rispetto al numero di zeri) per cui D(s) → 0, s → ∞. Poiché sidesidera che il comportamento della Dc(jΩ) per Ω → ∞ sia simile a quellodi Dd(ejωT ) per ω → π/T , (che è la frequenza massima ammissibile nelcaso discreto per non avere aliasing), si aggiunge uno zero in z = −1.
D(z) =a(1 + z−1)
1 − e−aT z−1
in modo che anche D(z) → 0 quando z → −1, ossia per ω → π/T .Cristian Secchi 2005-2006 ITSC06 – p. 35/50
Metodo della corrispondenza poli/zeri
• Guadagno statico:
D(s) =a
s + a=⇒ D(z) = k
a(1 + z−1)1 − e−aT z−1
dove la costante k viene calcolata dalla relazione
limz→1
D(z) = k2a
1 − e−aT= lim
s→0D(s) = 1
da cui
k =1 − e−aT
2a
L’equivalente discreto del filtro D(s) è quindi
D(z) =1 − e−aT
21 + z−1
1 − e−aT z−1
Cristian Secchi 2005-2006 ITSC06 – p. 36/50
Metodo della corrispondenza poli/zeri
• Esempio:
D(s) =s + b
s + a
di cui interessa il solo comportamento per le basse frequenze. Con latrasformazione z = esT applicata separatamente al numeratore e aldenominatore si ottiene
D(z) = kz − e−bT
z − e−aT
dove k viene calcolata imponendo l’uguaglianza fra i guadagni statici di D(s) e diD(z), ossia
limz→1
D(z) = k1 − e−bT
1 − e−aT= lim
s→0D(s) =
b
a
e quindi
k =b
a
1 − e−aT
1 − e−bT
Cristian Secchi 2005-2006 ITSC06 – p. 37/50
Metodo della corrispondenza poli/zeri
• Esempio: Il filtro passa alto
D(s) =s
s + a
viene trasformato in
D(z) = kz − 1
z − e−aTk =
1 + e−aT
2
Cristian Secchi 2005-2006 ITSC06 – p. 38/50
Metodo della corrispondenza poli/zeri
• Esempio:
D(s) =1
(s + a)2 + b2=
1(s + a + jb)(s + a − jb)
Essendo presenti due poli e nessuno zero, e si introducono quindi due zeriin z = −1. Si ha dunque
D(z) = k(z + 1)2
z2 − 2ze−aT cos bT + e−2aT
con k determinato in modo da avere lo stesso guadagno statico per i duefiltri:
k =1 − 2e−aT cos bT + e−2aT
4(a2 + b2)
Cristian Secchi 2005-2006 ITSC06 – p. 39/50
Considerazioni conclusive
• Le tecniche di discretizzazione forniscono una funzione discreta D(z) cheapprossima la corrispondente funzione analogica D(s).
• Tutte le tecniche di discretizzazione presentano distorsioni rilevanti neldominio delle frequenze, in particolar modo per pulsazioni prossime a π/T .È quindi necessario che la frequenza di campionamento venga scelta inmodo opportuno, e che non solo verifichi il teorema di Shannon, ma ancheche le frequenze di interesse di D(s) siano ben al di sotto di ωs/2.
• La scelta della frequenza di campionamento deve essere fatta in modo taleda degradare il meno possibile le prestazioni del controllore. Si deve aquesto fine considerare anche l’effetto di ritardo introdotto dal ricostruttorenel progetto della D(s).
• È di importanza fondamentale una verifica a posteriori, almeno simulativa,delle prestazioni del sistema con il regolatore discreto. È solitamenteconsigliabile effettuare la discretizzazione della D(s) mediante diversetecniche e per confronto adottare quella che fornisce risultati migliori.
Cristian Secchi 2005-2006 ITSC06 – p. 40/50
Esempio di progetto per discretizzazione
• Controllare un sistema continuo descritto da:
G(s) =1
s(s + 2)
• Specifiche in retroazione unitaria:• δ = 0.5 (S = 16.3%);• Ta ≤ 2 s (al 2%).
4δωn
= 2 =⇒ ωn = 4 rad/s
Cristian Secchi 2005-2006 ITSC06 – p. 41/50
Esempio:ControlloEsempio:Controllo didi posizioneposizione didi un’antennaun’antenna
Si desidera controllare l’altezza di un’antenna affinchè essa possaun antenna affinchè essa possa seguire un satellite.
L’ t h t di i i JL’antenna ha un momento di inerzia J e un coefficiente d’attrito viscoso B. E’ mossa da un motore DC che impone una coppia Tc
Il sistema deve portarsi nellaIl sistema deve portarsi nellaposizione desiderata con unasovraelongazione inferiore al 10%, in n tempo di assestamento infe io e aun tempo di assestamento inferiore a
5 s. e con errore di posizione nullo.
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
Esempio:ControlloEsempio:Controllo didi posizioneposizione didi un’antennaun’antenna
cTBJ =+ θθ &&&
θua =+ θθ &&&
JBa =
JTu c=J J
Siccome di solit J>>B, a<<1. Nelle simulazioni che seguono è stato0 1preso a=0.1
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
Esempio:ControlloEsempio:Controllo didi posizioneposizione didi un’antennaun’antenna
)(1
)()()(
asssUssG
+=
Θ=
)()(
C(s) G (s)r(t) e(t) θ(t)u(t)
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
Esempio:ControlloEsempio:Controllo didi posizioneposizione didi un’antennaun’antenna
)( tθ
10+s
30)(15.01.06.0)(
=+
+=
trs
ssC
30)( =tr
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
SceltaScelta del del periodoperiodo didi campionamentocampionamento
Specifiche che devono essere soddisfatte dal sistema chiuso in retroazione
%10% ≤S 6.0≥δCaso
Peggiore
5≤T 53≤
1=nω5≤aT 5≤
nδω
La prima cosa da fare è la scelta del periodo di campionamento T. Questo deve essere scelto in rapporto alle costanti di tempo del sistema che si intende ottenere in catena chiusa.
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
SceltaScelta del del periodoperiodo didi campionamentocampionamento
In questo caso, considerando ωn = 1, si ha che la risposta del sistemacontrollato ha oscillazioni smorzate con periodo:
.85.7)1(
22
s=δ
π
Una possibile scelta di T è quella di avere un certo numero di campioni
)1( 2n −δω
Una possibile scelta di T è quella di avere un certo numero di campioni (circa 8-10) per oscillazione.
Una s elta empi i a alte nati a onsiste nel p ende e la f eq en a diUna scelta empirica alternativa consiste nel prendere la frequenza di campionamento pari ad un multiplo della massima frequenza significativa fmax presente nel sistema (banda in frequenza), fs = nfmax, con n = 4÷10.
Nel nostro caso si prende T = 0.2 s. Fatto questo, si è in grado di valutarel’effetto di ritardo introdotto dal ricostruttore (di ordine 0).
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
( )
EffettoEffetto del del RicostruttoreRicostruttore
Si vuole utilizzare il ricostruttore di ordine 0 per l’implementazione del loop di controllo digitale. Per valutarne l’effetto sulle prestazioni dobbiamoapprossimarne il comportamentoapprossimarne il comportamento.
sT−1Padè
11
sesH
sT−=
1)(0 11.01
12/1)(
+=
+=
sTssGh
r(t)C(s) G (s)
θ(t)- Gh(s)
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
EffettoEffetto del del RicostruttoreRicostruttore
Evoluzione dell’angolosenza il ricostruttore(blu) e con il(blu) e con ilricostruttore rosso
La presenza del ricostruttore altera il comportamento del sistema! Dobbiamo garantire che l’uscita soddisfi le specifiche!
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
EffettoEffetto del del RicostruttoreRicostruttore
S%<10%Ta<5 s.
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
EffettoEffetto del del ricostruttorericostruttore
è• L’alterazione introdotta dal controllore non è tale da portarci fuoridalle specifiche• Perchè abbiamo scelto bene il periodo di campionamentoPerchè abbiamo scelto bene il periodo di campionamento• Perchè le specifiche non sono troppo stringenti
T=0.8 s.
S%>10%T 5Ta > 5
Una scelta sbagliata del periodo di campionamento può introdurrealterazioni inaccettabili della risposta o addirittura un
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
comportamento instabile del sistema
DiscretizzazioneDiscretizzazione del del ControlloreControllore
• Si noti che lo zero di C(s) cancella il polo di G(s). Conviene quindiadottare per il calcolo della C(z) la trasformazione per corrispondenza di poli e zerip
21.02.1
1501.06.0)( +
=+
=sssC
215.0)(
++ ss
1.0+s 111.0 98.011 −−− −=− zze T
2+s 112 67.011 −−− −=− zze T
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
DiscretizzazioneDiscretizzazione del del ControlloreControllore
è• Il controllore discreto è
19801 −− z167.01
98.01)( −−=
zzkzC
• Il guadagno k deve essere scelto in modo che i guadagni statici del regolatore continuo e del regolatore discreto coincidano
1.02.1)0(98.01)1( ===−
== sCkzC2
2.1)0(67.01
)1(−
sCkzC
99.0=k 1
1
67.0198.0199.0)( −
−
−−
=zzzC
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
67.01 z
SimulazioniSimulazioni
E l i d ll’ lEvoluzione dell’angolosenza il ricostruttore(blu) e con ilricostruttore rosso
Le prestazioni sono leggermente più scarse rispetto al caso continuo ma le specifiche continuano a essere rispettate
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
SimulazioniSimulazioni
La sequenza di controllo generata dal controllore gviene ricostruita dal ricostruttore e usata per muovere l’antennamuovere l antenna
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
Simulazioni Simulazioni –– Confronto tra i metodi di Confronto tra i metodi di discretizzazionediscretizzazione
Cristian SecchiIngegneria e Tecnologie dei
Sistemi di Controllo
Ing. Cristian SecchiTel. 0522 522235
e-mail: [email protected]://www.dismi.unimo.it/Members/csecchi
INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLOLaurea Specialistica in Ingegneria Meccatronica
PROGETTO PER DISCRETIZZAZIONEPROGETTO PER DISCRETIZZAZIONE