Controllore PID

Introduzione
I tre termini del controllore
Le caratteristiche dei controllori P, I e D
Esempio

Risposta a Ciclo Aperto
Controllore ad azione Proporzionale
Controllore ad azione Proporzionale e Derivativa
Controllore ad azione Proporzionale ed Integrale
Controllore ad azione Proporzionale, Integrale e Derivativa

Punti principali per la costruzione di un controllore PID


I comandi Matlab usati in questa sezione del corso sono: step, cloop.
Nota: I comandi Matlab del Control Systems Toolbox sono evidenziati in rosso.


Introduzione

Questa sezione mostrerà le caratteristiche del controllore ad azione Proporzionale (P), Integrale (I) e Derivativo (D), e come usarlo per ottenere la risposta desiderata. Consideriamo il seguente Sistema a retroazione unitaria:

I tre termini del controllore

La funzione di trasferimento di un controllore PID si presenta sotto questa forma generale:


Prima analizziamo come lavora un controllore PID in un sistema a ciclo chiuso usando lo schema visto sopra. La variabile (e) rappresenta l'errore tra l'uscita desiderata (R) e quella del sistema (Y); questo segnale è l'ingresso del controllore PID, il quale ne calcola sia la derivata che l'integrale. Il segnale (u) all'uscita del controllore è dato dalla somma dei tre termini: Proporzionale, dato dal prodotto dell'errore con il guadagno "Kp"; Integrale, prodotto del corrispondente guadagno "Ki" con l'integrale di "e"; Derivativo, dato da Kd per la derivata di "e".

Il segnale (u) viene inviato al sistema da controllare e quindi si ottiene una nuova uscita (Y). Questa nuova uscita (Y) viene di nuovo confronta con l'ingresso (R) e all'errore che ne deriva viene applicato il controllore PID e il processo continua con questo ciclo.

Le caratteristiche dei controllori P, I e D

Un controllore proporzionale (Kp) avrà l'effetto di ridurre il tempo di salita (parametro che caratterizza la prontezza della risposta) e ridurre, ma non eliminare, l'errore a regime permanente. Un'azione Integratrice (regolatore I con cost. Ki) ha l'effetto di eliminare l'errore in Regime Permanente ma peggiora la risposta transitoria (noie con la stabilità). Un controllore derivativo (Kd) ha l'effetto di aumentare la stabilità del sistema, migliorando la risposta transitoria. Questo tipo di di controllore non è fisicamente realizzabile e viene abbinato con un controllore proporzionale ed integratore. Gli effetti di uni controllore in un sistema a ciclo chiuso sono riassunti nella seguente tabella:

CONTROLLORE/RISPOSTA

TEMPO DI SALITA

SOVRAELONGAZIONI

TRANSITORI

ERRORE A REG.PERM.

Kp

Diminuisce

Aumentano

Non Influisce

Diminuisce

Ki

Diminuisce

Aumentano

Aumenta

Eliminato

Kd

Non Influisce

Diminuiscono

Diminuisce

Non Influisce

Queste relazioni non sono accurate; infatti i tre controllori sono dipendenti l'uno dall'altro. Lo schema è indicativo nella determinazione dei valori di Kp, Ki e Kd.

Esempio

Consideriamo un sistema composto da una massa su cui agiscono: una forza F, una molla con costante elastica k e l'attrito con coefficiente b.

Il modello di questo sistema è

(1)

Eseguite le trasformate di Laplace del modello (1) si ha

La fuzione di trasferimento X(s)/F(s) è

Consideriamo le seguenti costanti

Sostituendo i valori si ottiene:

Vogliamo mostrare come ciascun coefficente Kp, Ki e Kd influisce per ottenere.

Risposta a Ciclo Aperto

Prima di continuare nella risposta a ciclo aperto creiamo un nuovo m-file e aggiungiamo il seguente codice:

Eseguiamo questo m-file in Matlab per ottenere il grafico riportato sotto.

Il guadagno della funzione di trasferimento del sistema a ciclo aperto è 1/20, e 0.05 è il valore dell'uscita del sistema alimentato da un gradino unitario. Questo corrisponde ad un elevato errore a regime permanente di 0.95. Inoltre il tempo di salita è di circa un secondo, e il transitorio è circa 1.5 secondi. Costruisci un controllore che riduca il tempo di salita e il transitorio, ed elimini l'errore a regime permanente.

Controllore Proporzionale

Dalla tabella precedentemente mostrata si può vedere che Kp riduce il tempo di salita, incrementa le sovraelongazioni e riduce l'errore in regime permanente.  La funzione di trasferimento del sistema a ciclo chiuso, data da W(s)= G(s) P(s)/[1+G(s) P(s)], con il controllore G(s)=Kp, è:

Poniamo Kp=300 e modifichiamo l'm- file come mostrato sotto:

Eseguedo il file in Matlab si ottiene il seguente grafico.


Nota: La funzione Matlab cloop può essere usata per ottenere automaticamente, da una funzione a ciclo aperto, la funzione di trasferimento a ciclo chiuso. Usando il comando cloop il file viene così modificato:


Il grafico mostra che il controllore Kp riduce sia il tempo di salita che l'errore a regime permanente, aumenta le oscillazioni e decresce leggermente il transitorio.

Controllore ad azione Proporzionale e Derivativa

Dalla tabella vista si può vedere che il controllore Kd riduce le sovraelongazioni del transitorio. La funzione di trasferimento del precedente sistema con controllore PD è:

Imponendo Kp=300 e Kd=10 e inserendo i comandi sotto riportati in un m-file, si ottiene il grafico riportato sotto.

Il grafico mostra, come ci si attendeva, che l'azione derivativa diminuisce sia la sovraelongazione che il transitorio e influisce poco sul tempo di salita e sull'errore a regime permanente.

Controllore ad azione Proporzionale ed Integrale

Consideriamo ora un controllore PI. Ci si aspetta che il controllore Ki diminuisca il tempo di salita, incrementi sia le sovraelongazioni che il transitorio ed elimini l'errore a regime permanente. Per il sistema dato, la funzione di trasferimento a ciclo chiuso con un controllore PI è:

Riduciamo il Kp a 30 e consideriamo Ki=70. Il nuovo m-file è:

Eseguendo il file appena creato nella finestra dei comandi di Matlab si ottiene il seguente grafico:

Si è ridotto il guadagno proporzionale Kp perché il controllore Ki stesso riduce il tempo di salita e incrementa le sovraelongazioni (anche il controllore Kp ha questi effetti).Nota che l'aggiuta del controllore ad azione integrale ha eliminato l'errore a regime permanente.

Controllore ad azione Proporzionale, Integrale e Derivativa

Analizziamo ora un controllore di tipo PID. La funzione di trasferimento del sistema dato con un controllore PID è:

Dopo vari tentativi la risposta desiderata è stata trovata con i seguenti valori dei guadagni: Kp=350, Ki=300 e Kd=50. Per confermare, inseririamo i comandi che seguono in un m-file ed eseguiamolo. Dovremmo ottenere la risposta mostrata nel grafico sotto.

Si è ottenuto un sistema che non ha oscillazioni, ha un basso tempo di salita ed ha un errore nullo in regime permanente.

Punti principali per la costruzione di un controllore PID

Nella costruzione di un controllore PID per un sitema dato, segui i punti riportati sotto per avere la risposta desiderata.

  1. Ottenere la risposta a ciclo aperto e determinare le caratteristiche che devono essere corrette.
  2. Aggiungere un controllore proporzionale per migliorare il tempo di salita.
  3. Aggiungere un controllore ad azione derivativa per diminuire le oscillazioni.
  4. Aggiungere un controllore ad azione integrale per eliminare l'errore a regime.
  5. Ricavare per tentativi i guadagni Kp, Ki e Kd finché non si ottiene la risposta desiderata.

Tieni presente che non è necessario implementare tutti e tre i controllori (proporzionale, derivativo, integrale) in un singolo sistema, se non è necessario. Per esempio, se un controllore PI dà una buona risposta, come in questo esempio, non c'è bisogno di aggiungere un controllore ad azione derivativa. E' preferibile mantenere il controllore più semplice possibile.