Stato avanzamento progetti - move.unibg.it

78
Dipartimento di Ingegneria 1 Ingegneria dei sistemi di controllo - Sensori PID controller Definition, tuning and improvements Michele Ermidoro

Transcript of Stato avanzamento progetti - move.unibg.it

Page 1: Stato avanzamento progetti - move.unibg.it

Dipartimento di Ingegneria

1Ingegneria dei sistemi di controllo - Sensori

PID controller

Definition, tuning and improvements

Michele Ermidoro

Page 2: Stato avanzamento progetti - move.unibg.it

Quale controllore scegliere?

97%

3%

PID controller

Other controllers

Based on a survey of over eleven thousand controllers in the refining, chemicals and pulp andpaper industries, 97% of regulatory controllers utilize PID feedback.

L. Desborough and R. Miller, 2002 [DM02].

Page 3: Stato avanzamento progetti - move.unibg.it

Summary

• Storia

• Le tre “azioni”

• Controllore standard

• Controllore avanzato

• Metodi di auto-tuning

• Implementazione

• Dove fallisce il PID– Sistemi con ritardo

– Sistemi oscillatori

– Sistemi non lineari

Page 4: Stato avanzamento progetti - move.unibg.it

..un pò di storia

Page 5: Stato avanzamento progetti - move.unibg.it

Watt governor - 1788

James Watt

1° known P controller

Page 6: Stato avanzamento progetti - move.unibg.it

Pendulum-and-hydrostat control

A pendulum-and-hydrostat control

1.Pendulum pivot

2.Elevator and fixed pivot

3.Pendulum weight

4.Hydrostat pressure valve

“It was mainly used to control the depth of torpedoes until the end of the Second World War, and it reduced depth errors from ±40 feet (12 meters) to as little as ±6 inches (0.15 m)”

https://en.wikipedia.org/wiki/Pendulum-and-hydrostat_control

1° known PD controller

(≈1868)Robert Whitehead

Page 7: Stato avanzamento progetti - move.unibg.it

• Nel 1922 il russo americano Nicolas Minorsky stava lavorando ad un sistema di virata automatico per la US Navy

• Si accorse di come I timonieri virassero basandosi non solo sull’erroreattuale, ma anche su quello passato e sul tasso di variazione

1° PID

Nicolas

Minorsky

• I test dimostrarono come un controllore PID performassemeglio di un essere umano

• US Navy non adottò il sistema per via di proteste da parte del personale

1° known formulation

PID controller

Page 8: Stato avanzamento progetti - move.unibg.it

• Negli anni 30 l’avvento della pneumatica portò alla creazione del primo PID «facilmente» tarabile

History of PID

The Foxboro Company

Page 9: Stato avanzamento progetti - move.unibg.it

• Consentono di controllare un ampissima varietà di processi

• Hanno metodologie di taratura automatica

• Sono realizzabili tramite idraulica, pneumatica, elettronica analogica e digitale

• Per le performance che sono in grado di garantire sono «facili»

PID – Perchè son così usati?

Page 10: Stato avanzamento progetti - move.unibg.it

Controllori PID

Page 11: Stato avanzamento progetti - move.unibg.it

• e(t) : errore del nostro processo. Definito come differenza tra variabile di riferimento e variabile misurata

• u(t) : azione di controllo che agirà direttamente sul sistema

• PID : controllore ad azione Proporzionale, Integrativa e Derivativa

𝑲𝒑 ∙ 𝒆 𝒕 + 𝑲𝒅 ∙𝒅𝒆 𝒕

𝒅𝒕+ 𝑲𝒊න

𝟎

𝒕

𝒆 𝝉 𝒅𝝉

Controllori PID

PIDe(t) u(t)

Page 12: Stato avanzamento progetti - move.unibg.it

• Il controllore PID è alimentato da un errore

• È necessario essere in grado di misurare (o avere una buona stima) della

variabile che vogliamo controllare

• È necessario avere la possibilità di agire in modo utile sul sistema sotto

controllo

• È necessario avere un comportamento desiderato “da assegnare” al sistema

Controllori PID

PIDe(t) u(t)

Page 13: Stato avanzamento progetti - move.unibg.it

Controllori PID

𝒖 𝒕 = 𝑲𝒑 ∙ 𝒆 𝒕 + 𝑲𝒊න𝟎

𝒕

𝒆 𝝉 𝒅𝝉 + 𝑲𝒅 ∙𝒅𝒆 𝒕

𝒅𝒕

Azione Proporzionale Azione DerivativaAzione Integrale

𝒆 𝒕

𝒕Errore Attuale

Errore Passato

Tendenza d’errore

Page 14: Stato avanzamento progetti - move.unibg.it

Azione Proporzionale

Page 15: Stato avanzamento progetti - move.unibg.it

Azione Proporzionale

𝒖 𝒕 = 𝑲𝒑 ∙ 𝒆 𝒕

• L’azione proporzionale è influenzata solo dallo statoattuale dell’errore – controllore P

• L’incremento dell’azione proporzionale porta ad unariduzione del rise time del nostro sistema

• Il puro controllore Proporzionale incrementa il guadagnod’anello del sistema (loop gain)

• L’errore statico in un controllore proporzionale non vamai a zero

• Un disturbo agente sul sistema (load disturbance) non influenza le prestazioni del controllore

• Il rumore di misura invece agisce come una variazione del setpoint di riferimento

𝑲𝒑

𝑲𝒑

Page 16: Stato avanzamento progetti - move.unibg.it

Azione Integrativa

Page 17: Stato avanzamento progetti - move.unibg.it

Azione Integrale

Il problema del controllore proporzionale è la mancanza del raggiungimento del setpoint:

• Soluzione 1:

Inserire un valore di reset all’azione proporzionale

𝑢 𝑡 = 𝐾𝑝 ∙ 𝑒 𝑡 + 𝑢𝑏 𝑡

• Soluzione 2:

Calcolare un valore adattativo di reset, filtrando la parte in bassa frequenza dell’errore e aggiungendola all’erroremisurato – automatic reset

𝐾𝑝

1

1 + 𝑠𝑇𝑖

𝑢𝑒 +

+

𝑈 𝑠 = 𝐾 1 +1

𝑠𝑇𝑖𝐸(𝑠) 𝑢𝑏 =

𝐾

𝑇𝑖න𝑡

𝑒 𝑠 𝑑𝑠 = 𝑢𝑖(𝑡)

𝑢𝑏

Azione Integrativa

PI Controller

Page 18: Stato avanzamento progetti - move.unibg.it

Azione Integrale

• L’azione integrale nasce per risolvere i problemi di quella proporzionale.

• Garantisce errore nullo a transitorio esaurito (*Teoremadel valore finale)

• Il parametro 𝑇𝑖 è detto reset time: aumentandolocrescerà il tempo in cui l’integrale si resetta, e viceversa. In realtà il tempo di reset segue una dinamica del primo

ordine con costante di tempo 𝑇𝑖

𝐾𝐾𝑝

• Per bassi valori di 𝑇𝑖, la risposta sarà più veloce ma anche più oscillatoria

𝑢𝑏 =𝐾𝑝

𝑇𝑖න𝑡

𝑒 𝑠 𝑑𝑠 = 𝑢𝑖(𝑡)𝐾𝑝

1

1 + 𝑠𝑇𝑖

𝑢𝑒 +

+ 𝑢𝑏

Page 19: Stato avanzamento progetti - move.unibg.it

Azione Derivativa

Page 20: Stato avanzamento progetti - move.unibg.it

Azione Derivativa

L’obiettivo dell’azione derivativa è quella di migliorare la stabilità in anello chiuso.

Per via della dinamica del processo, si rischia che l’azione di controllo intervenga “troppotardi”.

Introducendo una azione derivativa è come se rendessimo il controllore proporzionale allapredizione dell’errore.

La predizione è fatta estrapolando la predizione dell’errore con la tangente alla curvadell’errore

𝑢𝑑 = 𝐾𝑑𝑑𝑒 𝑡

𝑑𝑡= 𝐾𝑇𝑑

𝑑𝑒 𝑡

𝑑𝑡

𝑇𝑑 o tempo derivativo, indica quanto avanti andiamo ad effettuare la predizione

Page 21: Stato avanzamento progetti - move.unibg.it

Azione Derivativa

• Un controllore proporzionale derivativo, può essererealizzato sottraendo la parte in bassa frequenza

• 𝐺𝑝𝑑 approssima un filtro derivativo per basse

frequenze (|s| < Td )

• L’azione derivativa permette di incrementare lo smorzamento del sistema; valori troppo elevate di Td rendono il sistema oscillatorio

• Grosse variazioni del segnale di riferimentoprovocano elevate derivate dell’errore

𝐾𝑝

1

1 + 𝑠𝑇𝑑

𝑢𝑒 +

-𝐺𝑝𝑑 = 𝐾𝑝

𝑠𝑇𝑑1 + 𝑠𝑇𝑑

𝐺𝑠 =1

𝑠 + 1 3𝐾𝑝 = 5

Page 22: Stato avanzamento progetti - move.unibg.it

Overview

Page 23: Stato avanzamento progetti - move.unibg.it

Controllori PID

𝑲𝒑Coefficiente azione proporzionale

𝑲𝒅Coefficiente azione derivativa

𝑲𝒊Coefficiente azione integrale

𝒖 𝒕 = 𝑲𝒑 ∙ 𝒆 𝒕 + 𝑲𝒊න𝟎

𝒕

𝒆 𝝉 𝒅𝝉 + 𝑲𝒅 ∙𝒅𝒆 𝒕

𝒅𝒕

Applicando Laplace

𝑅𝑃𝐼𝐷 𝑠 = 𝐾𝑝 +𝐾𝑖𝑠+ 𝐾𝑑 ∙ 𝑠

Page 24: Stato avanzamento progetti - move.unibg.it

Controllori PID - FdT

𝑅𝑃𝐼𝐷 𝑠 =𝐾𝑑 ∙ 𝑠

2 + 𝐾𝑝 ∙ 𝑠 + 𝐾𝑖

𝑠

𝐾𝑝

𝐾𝑖𝑠

𝐾𝑑𝑠

𝑤

𝑦

𝑢𝑒+ +

++

• Sistema dinamico SISO, lineare, stazionario a tempo continuo improprio

• Azione integrale garantisce errore nulla a fronte di segnali di riferimento

e disturbi additivi costanti

• Azione derivative, introducendo uno zero, migliora la prontezza del

sistema di controllo

• Il PID viene spesso rappresentato usando altri parametri:

PID forma ideale

𝑇𝑖 =𝐾𝑝𝐾𝑖

Tempo integrale(o di reset)

𝑇𝑑 =𝐾𝑑𝐾𝑝

Tempo derivativo

𝑅𝑃𝐼𝐷 s = Kp 1 +1

𝑇𝑖𝑠+ 𝑇𝑑𝑠 = 𝐾𝑝

𝑇𝑖𝑇𝑑𝑠2 + 𝑇𝑖𝑠 + 1

𝑇𝑖𝑠

Page 25: Stato avanzamento progetti - move.unibg.it

Controllori PID - FdT

𝑅𝑃𝐼𝐷 𝑠 =𝐾𝑑 ∙ 𝑠

2 + 𝐾𝑝 ∙ 𝑠 + 𝐾𝑖𝑠

Analizzando la FdT notiamo che il PID ideale ha:

• 2 zeri a parte reale negativa

• 1 polo nell’origine

Ciò rende il PID ideale un sistema improprio. Il problema nel dettaglio è introdotto dall’azione derivativa:

PID forma ideale𝑅𝑃𝐼𝐷 s = 𝐾𝑝

𝑇𝑖𝑇𝑑𝑠2 + 𝑇𝑖𝑠 + 1

𝑇𝑖𝑠

Forma standard Forma parallela

𝑅𝑑(𝑠) = 𝐾𝑝𝑇𝑑𝑠𝑅𝑑 𝑠 =

𝐾𝑝𝑇𝑑𝑠

1 +𝑇𝑑𝑁 𝑠

𝑁 ≈ 5 ÷ 20

PID forma reale

𝑅𝑃𝐼𝐷𝑎 s = 𝐾𝑝 1 +

1

𝑇𝑖𝑠+

𝑇𝑑

1 +𝑇𝑑𝑁𝑠𝑠 𝑅𝑃𝐼𝐷

𝑎 s = 𝐾𝑝 +Ki

s+

Kds

1 +KdKpN

s

Page 26: Stato avanzamento progetti - move.unibg.it

Controllori PID – Rappresentazioni

𝐾𝑝

𝐾𝑖𝑠

𝐾𝑑𝑠

𝑤

𝑦

𝑢𝑒+ +

++

𝑃𝐼𝐷𝑆 𝑠 = 𝐾 1 +1

𝑠𝑇𝑖+ 𝑠𝑇𝑑𝑃𝐼𝐷𝑃 𝑠 = 𝐾𝑃 +

𝐾𝑖𝑠+ 𝐾𝑑𝑠

𝐾𝑤

𝑦

𝑒+

− +

+

+

+

1

𝑠𝑇𝑖𝑇𝑑𝑠

𝑢𝐾

𝑤

𝑦

𝑒+

1

𝑠𝑇𝑖

𝑇𝑑𝑠

+

+

++

𝑢

Forma ParallelaForma Interattiva

(o serie)Forma Non interattiva

(o standard, ISA)

𝑃𝐼𝐷𝑃 𝑠 = 𝐾 1 +1

𝑠𝑇𝑖1 + 𝑇𝑑𝑠

• È stata la prima forma definita

• I primi PID pneumatici avevano

questo algoritmo

• ZN rules sono state sviluppate per

questa forma

• Se non si usa la parte derivativacorrisponde alla forma interattiva

• È il modo più utilizzato per descrivere

I PID

• È facile da capire ma difficile da tarare

• Non avendo un guadagno commune,

variando Kp bisogna variare anche gli

altri parametri

Page 27: Stato avanzamento progetti - move.unibg.it

Controllori PID – Diagramma di Bode

I diagrammi di Bode ci permettono di vedere

come in un controllore PID sono presenti:

• Una rete ritardatrice: permette di migliorare

la precision statica e garantire maggiore

attenuazione di disturbi in bassa frequenza

• Una rete anticipatrice: migliora la robustezza

del sistema incrementando il margine di fase

L’unione di queste due reti dà origine ad una rete

a sella che è tipica dei controllori PID.

( )jR

11 21

31

0

( )jR

11

21 31

0

90−

90

1+0

Page 28: Stato avanzamento progetti - move.unibg.it

PID - Avanzati

Page 29: Stato avanzamento progetti - move.unibg.it

Saturazione degli attuatori

• Tutti gli attuatori presentano una saturazione (un motore può avere limitazioni in velocità, unavalvola può essere chiusa o aperta..)

• Le saturazioni introducono delle non linearità nel sistema

𝑃 𝑠 =ሶΘ 𝑠

𝑉 𝑠=

𝐾

𝐽𝑠 + 𝑏 𝐿𝑠 + 𝑅 + 𝐾2

Τ𝑟𝑎𝑑 𝑠

𝑉

J = 0.01;b = 0.1;K = 0.01;R = 1;L = 0.5;

Page 30: Stato avanzamento progetti - move.unibg.it

Saturazione degli attuatori

• La saturazione degli attuatori presenta un grosso problema per quanto riguarda l’azioneintegrale

• Il controllore, mentre il sistema “limita” l’azionedi controllo, osserva un comportamento“fittizio”

• Se il sistema non riesce a raggiungere ilriferimento l’azione integrale continuerà a caricarsi

• Nel cambio di riferimento l’azione integraleinizierà a scaricarsi portando ad una generaleperdita di performances.

PID(s) System𝑤 𝑦𝑒

Kp = 5 Ki = 10

Page 31: Stato avanzamento progetti - move.unibg.it

Anti windup

La soluzione della saturazione dell’azione integraleè detta anti windup

Il problema si risolve facendo conoscere al controllore l’effetto della saturazione, tramite unaretroazione della differenza tra 𝑢 e 𝑢𝑠𝑎𝑡

Se 𝑢 > usat la differenza viene portata nell’azione integrale per mantenerla costante

La costante 𝑇𝑡 influenza il comportamento del sistema. Esso recupererà più velocemente con piccolo valori di 𝑇𝑡 . Non deve essere però troppopiccolo perchè altrimenti il rumore potrebbeattivare erroneamente l’antiwindup

“It is reasonable to choose Tt < Ti for a PI controller and Td < Tt < Ti for a PID controller“

𝐾𝑝

𝑤

𝑦

𝑢𝑒+ +

++

𝐾𝑖1

𝑠

𝐾𝑑𝑠

− +

+

+

𝑢𝑠𝑎𝑡

1

𝑇𝑡

Control Systems FundamentalsWilliam Levine

𝑒𝑡

Page 32: Stato avanzamento progetti - move.unibg.it

Anti windup

Questo tipo di anti windup è detto tracking o back calculation.

Quando gli attuatori non sono saturati ilcomportamento del controllo è esattamente quellodi un PID “normale”

Quando gli attuatori saturano la retroazione di 𝑒𝑡pilota l’uscita dell’integratore per portare 𝑒𝑡 a zero.

Tt = 1

Page 33: Stato avanzamento progetti - move.unibg.it

Set point weighting

Una variazione del set point provoca una variazione «improvvisa» dell’errore:

𝐺 𝑠 =1

𝑠 + 1 2

• La derivata dell’errore in questo caso diventa molto elevata, portando ad una elevata azione di controllo derivativa

• Elevato errore porta anche ad un’elevata azione proporzionale

• Per evitare queste problematiche si utilizza il Set-point weighting

• Le azioni derivative e proporzionali non verranno più alimentate dall’errore ma da una parte di esso

Page 34: Stato avanzamento progetti - move.unibg.it

Set point weighting

Con le assunzioni fatte precedentemente, le azioni di controllo ora risultano essere:

• 𝑃 = 𝐾𝑝 𝑏𝑤 − 𝑦 = 𝐾𝑝 𝑒 − 1 − 𝑏 𝑤

• 𝐼 =𝐾𝑝

𝑇𝑖𝑠

• 𝐷 = 𝐾𝑝𝑇𝑑𝑠 (𝑐𝑤 − 𝑦)

I due parametri introdotti hanno il seguentesignificato:

• b: nel caso di PI sposta la posizione dello zero in altafrequenza per ridurre la sovraelongazione in presenza di variazioni a scalino. Introduce un’azionedi feedforward

• c: va a pesare quanto errore considerare per l’azionederivativa. Tipicamente si tiene a 0 e si ottiene ilcosidetto schema a derivazione dell’uscita

(1 − 𝑏)

𝑤

𝑦

𝑒 +

1 +1

𝑇𝑖𝑠𝐾𝑝

𝑇𝑑𝑠

𝑢−

Page 35: Stato avanzamento progetti - move.unibg.it

PID - Tuning

Page 36: Stato avanzamento progetti - move.unibg.it

Introduzione

Per ottenere PID performanti bisogna scegliere in modo corretto i parametri.

Questo può essere fatto in modo diverso, partendo dai classici metodi manuali (empirico, loop shaping..) fino a i metodi automatici (Ziegler-Nichols, Cohen-Coon..).

I metodi manuali però richiedono la conoscenza del modello del sistema.

Le metodologie di tuning automatiche invece, tramite esperimenti estraggono I parametri del PID.

La presenza di metodi di taratura automatica hanno reso i PID i controllori in assoluto piùutilizzati

Page 37: Stato avanzamento progetti - move.unibg.it

Introduzione

Process Identification

Controller Synthesis

Esperimento Modello Controllore

Page 38: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols

I metodi di taratura Ziegler-Nichols sono stati proposti nel 1942 da due ingegneri americani.

Offrono una base su cui effettuare un fine tuning. Sono tutt’ora alla base di molti metodi di autotuning industriali.

Si basano su esperimenti “noti” con l’obiettivo di identificare alcuni parametri caratteristici del sistema. (sono dei semplice processi di identificazione)

Sono molto semplice e questo ne spiega il vasto utilizzo nonostante le scarse performance di controllo.

Esistono due diversi metodi di taratura di Z-G:

• Il metodo della risposta allo scalino (anello aperto)

• Il metodo della risposta in frequenza (anello chiuso)

Page 39: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols – Anello aperto

L’obiettivo in questo caso è quello di identificare un modello del sistema e successivamenteassegnare i valori al controllore. Il modello del sistema è il seguente:

I parametri del sistema verranno poi tarati seguendo la regola del “¼ decay” che garantiscebanda passante massima e margine di fase di circa 30°

Esistono diversi metodi di identificazione del modello:

• Metodo della tangente

• Metodo delle aree

𝐺𝛼 𝑠 =𝜇

1 + 𝑇𝑠𝑒−𝜏𝑠

Page 40: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols – Anello aperto

Metodo della tangente

𝜏

𝑇 + 𝜏• Il sistema viene eccitato con un ingresso a scalino

• Si ricerca il punto a massima pendenza dellarisposta

• Si traccia la tangente in quel punto (retta gialla)

• Si identifica il guadagno del sistema

• Si identificano due parametri:– 𝜏: intersezione tra la retta tangente e zero

– 𝑇 + 𝜏 : intersezione tra la retta tangente e il guadagno

𝐺𝛼 𝑠 =10

𝑠 + 1 ∙ (𝑠 + 2)

Page 41: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols – Anello aperto

Metodo della tangente

• Il sistema viene eccitato con un ingresso a scalino

• Si ricerca il punto a massima pendenza dellarisposta

• Si traccia la tangente in quel punto (retta gialla)

• Si identifica il guadagno del sistema

• Si identificano due parametri:– 𝜏: intersezione tra la retta tangente e zero

– 𝑇 + 𝜏 : intersezione tra la retta tangente e il guadagno

Questo procedimento fa si che la retta tangentecorrisponda in entrambi i sistemi.

Viene così identificato il modello del sistema:

𝐺𝛼 𝑠 =𝜇

1 + 𝑇𝑠𝑒−𝜏𝑠

𝐺𝛼 𝑠 =4.99

2𝑠 + 1𝑒−0.193𝑠

𝐺𝛼 𝑠 =10

𝑠 + 1 ∙ (𝑠 + 2)

Page 42: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols – Anello aperto

Metodo delle aree

• Il sistema viene eccitato con un ingresso a scalino

• Si stima il guadagno

• Si calcola l’area S1

• Si calcola il valore:𝑇 + 𝜏 = 𝑆1/ ത𝑦

• Si calcola l’area S2 (area sottesa alla curva fino𝑇 + 𝜏

• Si calcolano I parametri del modello:– 𝑇 = (𝑒𝑆2)/ത𝑦

– 𝜏 = (𝑆1 − ത𝑦𝑇)/ത𝑦

𝐺𝛼 𝑠 =10

𝑠 + 1 ∙ (𝑠 + 2)

S1

S2

𝑇 + 𝜏

Page 43: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols – Anello aperto

Metodo delle aree

• Il sistema viene eccitato con un ingresso a scalino

• Si stima il guadagno

• Si calcola l’area S1

• Si calcola il valore:𝑇 + 𝜏 = 𝑆1/ ത𝑦

• Si calcola l’area S2 (area sottesa alla curva fino𝑇 + 𝜏

• Si calcolano I parametri del modello:– 𝑇 = (𝑒𝑆2)/ത𝑦

– 𝜏 = (𝑆1 − ത𝑦𝑇)/ത𝑦

L’obiettivo è far corrispondere le aree tra il sistemareale e il modello stimato

𝐺𝛼 𝑠 =10

𝑠 + 1 ∙ (𝑠 + 2)

𝐺𝛼 𝑠 =𝜇

1 + 𝑇𝑠𝑒−𝜏𝑠 𝐺𝛼 𝑠 =

4.99

1.17𝑠 + 1𝑒−0.33𝑠

Page 44: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols – Anello aperto

Confronto metodi identificazione

• Entrambi i metodi forniscono una buona stima

del modello reale

• Il metodo delle aree risulta essere molto più

performante nell’identificazione del modello reale

• Il metodo della tangente soffre di problemi legati

alla stima. Una acquisizione rumorosa potrebbe

portare ad errori nell’identificazione del punto a

massima pendenza

• La stima di un’area risulta essere un calcolo

numerico meno critico

𝐺𝛼 𝑠 =10

𝑠 + 1 ∙ (𝑠 + 2)

Page 45: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols – Anello aperto

Taratura controllore

𝐺 𝑠 =𝜇

1 + 𝑇𝑠𝑒−𝜏𝑠

• Sulla base dei parametri identificati (𝜇, 𝜏, 𝑇) si identificano I parametri del controllore

𝑲𝒑 𝑻𝑰 𝑻𝑫

P𝑇

𝜇𝜏

PI0.9𝑇

𝜇𝜏3𝜏

PID1.2𝑇

𝜇𝜏2𝜏 0.5𝜏

La scelta del metodo di identificazione influenza le performance in anello chiuso. Il metodo delle aree

garantisce maggior robustezza, garantendo maggior margine di fase e guadagno a leggero discapito della

banda passante

Page 46: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols – Anello chiuso

Per poter utilizzare questo metodo bisogna avere a disposizione un anello di controllo in cui poter cambiare i parametri (se è già un PID tanto meglio).

L’esperimento, richiede sempre di dare come ingresso uno scalino, tenendo attiva solo l’azione proporzionale.

1. Inserire un Kp “basso”

2. Aumentare Kp finchè non si ottengono delle

oscillazioni non smorzate

3. Il Kp che le provoca è detto guadagno critico 𝐾𝑃

𝐺 𝑠 =𝜇

1 + 𝑠 3

Page 47: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols – Anello chiuso

Per poter utilizzare questo metodo bisogna avere a disposizione un anello di controllo in cui poter cambiare i parametri (se è già un PID tanto meglio).

L’esperimento, richiede sempre di dare come ingresso uno scalino, tenendo attiva solo l’azione proporzionale.

ത𝑇

1. Inserire un Kp “basso”

2. Aumentare Kp finchè non si ottengono delle

oscillazioni non smorzate

3. Il Kp che le provoca è detto guadagno critico 𝐾𝑃

4. Calcolare il periodo di queste oscillazioni, ത𝑇

Page 48: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols – Anello chiuso

Per poter utilizzare questo metodo bisogna avere a disposizione un anello di controllo in cui poter cambiare i parametri (se è già un PID tanto meglio).

L’esperimento, richiede sempre di dare come ingresso uno scalino, tenendo attiva solo l’azione proporzionale.

1. Inserire un Kp “basso”

2. Aumentare Kp finchè non si ottengono delle

oscillazioni non smorzate

3. Il Kp che le provoca è detto guadagno critico 𝐾𝑃

4. Calcolare il periodo di queste oscillazioni, ത𝑇

5. Sulla base di ഥT e KP calcolare I parametri del

controllore

𝑲𝒑 𝑻𝑰 𝑻𝑫

P 0.5KP

PI 0.45KP 0.8ഥT

PID 0.6KP 0.5ഥT 0.125ഥT

Page 49: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols – Anello chiuso

Interpretazioni

𝐺 𝑠 =𝜇

1 + 𝑠 3

1/𝑘𝑚

Il margine di guadagno 𝑘𝑚 è la massima variazione del guadagno d’anello ammissibile, affinchè il sistema simantenga as. stabile

Page 50: Stato avanzamento progetti - move.unibg.it

Ziegler-Nichols – Anello chiuso

Il metodo quindi, individua il punto “A” della risposta in frequenza e lo utilizza per la taratura

Aumentare Kp finchè il sistema non ha oscillazioniperpetue significa ricercare il limite di stabilità.

Di conseguenza 𝐾𝑃 altro non è che il margine di guadagno 𝑘𝑚 del sistema

Ne consegue che questa tecnica può essere usatasolo se 𝑘𝑚 < ∞

Inoltre 𝐾ത𝑇 =2𝜋

𝜔𝜋, con 𝜔𝜋 pulsazione critica

Interpretazioni

𝐺(𝑗𝜔) = 0.125∡𝐺 𝑗𝜔 = 180°𝜔𝜋 = 1.73 𝑟𝑎𝑑/𝑠

A

Page 51: Stato avanzamento progetti - move.unibg.it

Cohen - Coon

L’approccio è similare ai metodi Ziegler Nichols, con la differenza che punta a fornire il tempo di assestamento minimo in risposta a una variazione di setpoint o del disturbo.

Si basa su un esperimento di identificazione in anello aperto:

1. Si eccita il sistema con uno scalino

2. Si valutano 4 parametri:1. 𝜇 = ത𝑦/ത𝑢

2. 𝑡0: istante in cui si ha la variazione a scalino

3. 𝑡2 = 𝑡 𝑦 > 0.5 ∙ 𝜇

4. 𝑡3 = 𝑡(𝑦 > 0.632 ∙ 𝜇)

𝑡0

𝑡2

𝑡3

𝐺𝛼 𝑠 =10

𝑠 + 1 ∙ (𝑠 + 2)

Page 52: Stato avanzamento progetti - move.unibg.it

Cohen - Coon

L’approccio è similare ai metodi Ziegler Nichols, con la differenza che punta a fornire il tempo di assestamento minimo in risposta a una variazione di setpoint o del disturbo.

Si basa su un esperimento di identificazione in anello aperto:

1. Si eccita il sistema con uno scalino

2. Si valutano 4 parametri:1. 𝜇 = ത𝑦/ത𝑢

2. 𝑡0: istante in cui si ha la variazione a scalino

3. 𝑡2 = 𝑡 𝑦 > 0.5 ∙ 𝜇

4. 𝑡3 = 𝑡(𝑦 > 0.632 ∙ 𝜇)

3. Dai precedenti parametri si calcola:

𝑡1 =t2 − ln 2 ∙ 𝑡31 − ln 2

4. Da cui:1. 𝜏 = 𝑡1 − 𝑡02. 𝑇 = 𝑡3 − 𝑡1 𝑡0

𝑡1𝑡3

𝐺𝛼 𝑠 =10

𝑠 + 1 ∙ (𝑠 + 2)

𝑡2

𝐺𝛼 𝑠 =𝜇

1 + 𝑇𝑠𝑒−𝜏𝑠

Page 53: Stato avanzamento progetti - move.unibg.it

Cohen - Coon

L’approccio è similare ai metodi Ziegler Nichols, con la differenza che punta a fornire il tempo di assestamento minimo in risposta a una variazione di setpoint o del disturbo.

Si basa su un esperimento di identificazione in anello aperto:

1. Si eccita il sistema con uno scalino

2. Si valutano 4 parametri:1. 𝜇 = ത𝑦/ത𝑢

2. 𝑡0: istante in cui si ha la variazione a scalino

3. 𝑡2 = 𝑡 𝑦 > 0.5 ∙ 𝜇

4. 𝑡3 = 𝑡(𝑦 > 0.632 ∙ 𝜇)

3. Dai precedenti parametri si calcola:

𝑡1 =t2 − ln 2 ∙ 𝑡31 − ln 2

4. Da cui:1. 𝜏 = 𝑡1 − 𝑡02. 𝑇 = 𝑡3 − 𝑡1

𝐺𝛼 𝑠 =10

𝑠 + 1 ∙ (𝑠 + 2)

𝐺𝐶𝐶 𝑠 =5

1 + 1.173𝑠𝑒−0.417𝑠

Page 54: Stato avanzamento progetti - move.unibg.it

Cohen - Coon

L’approccio è similare ai metodi Ziegler Nichols, con la differenza che punta a fornire il tempo di assestamento minimo in risposta a una variazione di setpoint o del disturbo.

Si basa su un esperimento di identificazione in anello aperto:

𝑲𝒑 𝑻𝑰 𝑻𝑫

P1

𝜇𝑟1 +

𝑟

3

PI1

𝜇𝑟0.9 +

𝑟

12𝜏 ∙

30 + 3𝑟

9 + 20𝑟

PID1

𝜇𝑟

4

3+𝑟

4𝜏 ∙

32 + 6𝑟

13 + 8𝑟𝜏 ∙

4

11 + 2𝑟

𝑟 =𝜏

𝑇

Page 55: Stato avanzamento progetti - move.unibg.it

Lambda tuning

Il metodo di taratura automatic lambda (o Inernal Model Control –IMC) nascecon l’obiettivo di fornire un controllore stabile e robusto.

Ziegler-Nichols al contrario ha come obiettivo la velocità, a scapito dell robustezza.

È applicabile a sistemi asintoticamente stabili, che trovano un loro equilibrio.

Page 56: Stato avanzamento progetti - move.unibg.it

Lambda tuning

Il procedimento di taratura è il seguente:

1. Effetuare un test a scalino:– Inserire manualmente una azione di controllo e

aspettare che si assesti

2. Estrazione delle feature di interesse:– Guadagno del processo: 𝜇

– Calcolare la stima del ritardo (𝜏) intersecando la rettatangente al valore iniziale

– Stimare la costante di tempo (𝑇) cercando l’istante in cui la risposta passa per il 63% dell’ampiezza

– Ripeti l’esperimento per avere una “base statistica”

𝜏

0.63 ∙ 𝜇

max𝑑𝑦

𝑑𝑡

Page 57: Stato avanzamento progetti - move.unibg.it

Lambda tuning

Il procedimento di taratura è il seguente:

1. Effetuare un test a scalino:– Inserire manualmente una azione di controllo e

aspettare che si assesti

2. Estrazione delle feature di interesse:– Guadagno del processo: 𝜇

– Calcolare la stima del ritardo (𝜏) intersecando la rettatangente al valore iniziale

– Stimare la costante di tempo (𝑇) cercando l’istante in cui la risposta passa per il 63% dell’ampiezza

– Ripeti l’esperimento per avere una “base statistica”

3. Stimare il modello del sistema:

𝐺𝛼 𝑠 =𝜇

1 + 𝑇𝑠𝑒−𝜏𝑠

𝐺𝛼 𝑠 =5

1 + 1.387𝑠𝑒−0.193𝑠

Page 58: Stato avanzamento progetti - move.unibg.it

Lambda tuning

4. Si sceglie un tempo di risposta desiderato 𝜏𝐶𝐿(in anello chiuso):

– Tipicamente questo valore viene settato tra 1 e 3 volte il valore della costante di tempo 𝑇

– Più grande è il suo valore, più robusto sarà ilcontrollore

– Più grande è il suo valore, più lento sarà a rispondereil sistema

5. I parametri del controllore vengono quindiscelti di conseguenza:

Questa taratura è valida solo per controllori PI nella forma non-interactive

𝑲𝒄 𝑻𝑰 𝑻𝑫

PI𝜏

𝜇 ∙ 𝜏𝐶𝐿 + 𝜏𝑇

Page 59: Stato avanzamento progetti - move.unibg.it

Relay method

Il metodo a relay fa parte dei metodi che si basano su una descrizione del processopiuttosto che di identificazione del modello.

La principale idea risiede nel concetto che quasi ogni processo stabile, soggetto a un relay feedback entra in un ciclo limite; quando il sistema si trova in queste condizionialcune proprietà del sistema possono essere ottenute

𝑤

𝑦

𝑒+

𝐺(𝑠)

Page 60: Stato avanzamento progetti - move.unibg.it

Relay method

Nelle situazioni reali è meglio utilizzare un relay con isteresi per evitare problemi di rumore.

Il sistema deve essere predisposto ad essere attuato in anello chiuso.

È un metodo che cerca di superare il problema di Ziegler-Nichols in anello chiusoche necessita di spingere il sistema fino al limite di stabilità

In base alla forma che si dà al relay identifica diversi punti del diagramma di Nyquist

𝑤

𝑦

𝑒+

𝐺(𝑠)

Page 61: Stato avanzamento progetti - move.unibg.it

Relay method

Ideal Relay Histeresis Relay Relay + Delay Relay + Integrator

https://warwick.ac.uk

Page 62: Stato avanzamento progetti - move.unibg.it

Relay method

1. Scegliere il relay di interesse

ቊ𝑢 = 𝑢1 , 𝑖𝑓 𝑒 > 𝜀𝑢 = 𝑢0 , 𝑖𝑓 𝑒 < 𝜀

ቊ𝑢 = 1 , 𝑖𝑓 𝑒 > 0.1𝑢 = 0 , 𝑖𝑓 𝑒 < 0.1

Ad esempio:

Page 63: Stato avanzamento progetti - move.unibg.it

Relay method

1. Scegliere il relay di interesse

2. Definire un setpoint e inserire il relay feedback all’interno del sistema

ቊ𝑢 = 1 , 𝑖𝑓 𝑒 > 0.1𝑢 = 0 , 𝑖𝑓 𝑒 < 0.1

𝐺 𝑠 =𝑠 + 2

𝑠 + 1 3

Page 64: Stato avanzamento progetti - move.unibg.it

Relay method

1. Scegliere il relay di interesse

2. Definire un setpoint e inserire il relay feedback all’interno del sistema

3. Il sistema in poco tempo dovrebbeentrare nel ciclo limite

Page 65: Stato avanzamento progetti - move.unibg.it

Relay method

1. Scegliere il relay di interesse

2. Definire un setpoint e inserire il relay feedback all’interno del sistema

3. Il sistema in poco tempo dovrebbeentrare nel ciclo limite

4. A questo punto si estraggono delleinformazioni dale oscillazioni:

– Semiampiezza input: 𝒅

– Ampiezza oscillazioni: 𝒂

– Periodo ciclo limite: 𝑻𝒖

– Guadagno critico: 𝐾𝑢 =4𝑑

𝜋∙𝑎

𝒅

𝒂 𝑻𝒖

Page 66: Stato avanzamento progetti - move.unibg.it

Relay method

1. Scegliere il relay di interesse

2. Definire un setpoint e inserire il relay feedback all’interno del sistema

3. Il sistema in poco tempo dovrebbeentrare nel ciclo limite

4. A questo punto si estraggono delleinformazioni dale oscillazioni:

– Semiampiezza input: 𝒅

– Ampiezza oscillazioni: 𝒂

– Periodo ciclo limite: 𝑻𝒖

– Guadagno critico: 𝐾𝑢 =4𝑑

𝜋∙𝑎

5. Il controllore può poi essere taratousando la tabella:

𝑲𝒑 𝑻𝑰 𝑻𝑫

P 0.5 ∙ 𝐾𝑢

PI 0.4 ∙ 𝐾𝑢 0.8 ∙ 𝑇𝑢

PID 0.6 ∙ 𝐾𝑢 0.5 ∙ 𝑇𝑢 0.125 ∙ 𝑇𝑢

Page 67: Stato avanzamento progetti - move.unibg.it

Riassunto

Page 68: Stato avanzamento progetti - move.unibg.it

Riassunto

Process Identification

Controller Synthesis

Esperimento Modello Controllore

• Anello Aperto• Metodo delle aree• Metodo del sistema

tangente (e varianti)• Anello Chiuso

• Ziegler-Nichols• Relay

• Ziegler-Nichols (I e II)• Cohen-Coon• Astrom-Hagglund• Lambda

Page 69: Stato avanzamento progetti - move.unibg.it

Riassunto – Anello aperto

1. I migliori metodi per identificare un modello del primo ordine in anelloaperto risultano essere il metodo dellearee e quello di Cohen-Coon

2. Il metodo delle aree risulta essere ilmeno soggetto a problemi legati al rumore di misura

3. Tutti questi sistemi di identificazionesono validi per risposte non oscillanti

4. Il sistema identificato è di tipo FOTD (First Order Time Delay)

Page 70: Stato avanzamento progetti - move.unibg.it

Riassunto – Anello chiuso

Sono detti anche metodi di identificazione in frequenza. Entrambe le metodologie sono state studiate per identificare parametri neldiagramma di Nyquist del sistema.

Il metodo dei Relay è sicuramente molto più industrialmente utilizzabile

Page 71: Stato avanzamento progetti - move.unibg.it

Riassunto – Sintesi

Non esiste il metodo perfetto per tutte le situazioni

Lambda Tuning è uno dei più utilizzati in industria in quanto molto robusto (ascapito delle performance)

Tutti questi metodi, per garantire ottime performance devono essere presi come base per un fine-tuning

Page 72: Stato avanzamento progetti - move.unibg.it

Altri metodi taratura

Page 73: Stato avanzamento progetti - move.unibg.it

Altri metodi

1. Empirico:

– Se aumento Kp la stabilità decresce

– Riducendo il tempo integrale l’errore decresce più rapidamente

– Ridurre il tempo integrale diminuisce la stabilità

– Aumentare il tempo derivative migliora la stabilità

2. Pole placement (lambda tuning)

3. Metodi algebrici

– IAE – integral absolute error

– ITAE - Integral Time-weighted Absolute Error (ITAE)

4. Metodi di ottimizzazione

5. Loop Shaping

Page 74: Stato avanzamento progetti - move.unibg.it

PID

Quando usarli

E quando non usarli

Page 75: Stato avanzamento progetti - move.unibg.it

Quando usare i PID

Nonostante la semplicità I controllori PID hanno un ampissimo range di utilizzo

Non garantiscono prestazioni ottimali ma sono in grado di controllare sistemi del primo e del

second’ordine

Il problema delle performance limitate è dovuto al fatto che hanno una bassissima conoscenza

del sistema sotto controllo

Esistono alcune condizioni in cui I PID falliscono:

• Sistemi con elevato ritardo

• Sistemi oscillatori a basso smorzamento

• Sistemi non lineari

Page 76: Stato avanzamento progetti - move.unibg.it

Quando usare i PID

Esistono anche delle version “avanzate” di PID, che permettono di migliorare performance

dei calssici controllori PID:

• PID con controllo feedforward

• Fuzzy logic PID

• Gain-scheduling PID

• PID con predittore di Schmidt

Page 77: Stato avanzamento progetti - move.unibg.it

Bibliografia & Further readings

Page 78: Stato avanzamento progetti - move.unibg.it

Libri

Åström, Karl J.Hägglund, Tore

Advanced PID Controller

Bolzern Paolo, Scattolini

Riccardo, Schiavoni Nicola

Fondamenti di controlli automatici

William S. Levine

Control System Fundamentals