Molto spesso si sente parlare di questo tipo di controllo, ma non si conosce l’effetivo utilizzo e funzionamento, in questo articolo ne spiegherò il funzionamento.

Il controllo Proporzionale Integrale Derivativo (PID) è un sistema in controreazione che combina in modo pesato tre tipi di azioni sull’errore in ingresso. Viene usato molto spesso per emulare il comportamento umano ed è particolarmente facile da implementare, realizzare e tarare. Il compito di questo controllo molto spesso è quello di eliminare i disturbi (elettrici, meccanici, etc etc) presenti sul processo (es. motore).

PID

La sua forma generale è: dove
Nella forma di laplace:

E’ possibile vedere in azione all’interno di questo controllo un azione proporzionale moltiplicata per un guadagno Kp che ne pesa l’errore (), un’azione derivativa pesata con Kd () ed infine un’azione derivativa pesata con Ki  ().

Analiziamo il funzionamento e l’utilità di ogni parte del controllo:

Azione proporzionale: Risponde in maniera istantanea al sistema

+ diminuisce il tempo di salita (rapidità di risposta)
+ riduce l’errore a regime
– aumenta la sovraelongazione (oscillazione)
– aumenta lo sforzo di controllo

Azione Integrale: Risponde alla storia del sistema

+ Porta a zero l’errore a regime
– aumenta il tempo di salita (rapidità di risposta)
– aumenta il tempo di assestamento

Azione derivativa: Prevede l’andamento dell’errore

+ diminuisce il tempo di assestamento
– aumenta lo sforzo di controllo
– amplifica il rumore di misura

E’ possibile vedere in questa immagine una sua applicazione simulata ad un ipotetico motore:

Simulazione PID

Un controllo PID del genere può essere trattato soltanto in una simulazione, in quanto l’azione derivativa non è possibile strutturata nel modo esposto, ma è obbligatorio porre alcune modifiche. L’utilizzo del pid all’interno di un microcontrollore implica delle modifiche radicali al sistema dovute al campionamento dei dati.

Queste tematiche le analizzeremo prossimamente! 😉

Copyright © 2008. All Rights Reserved.

Categories: Control

Raffaello Bonghi

I'm a System Engineer and I was born in 1986 in Rome, Italy. I've long experience in robotics, both for academic carrier and hobby, let I've gained a significant skill in this field from my experiences in different kind of robotics.

2 Comments

Edmondo Di Tucci · December 24, 2008 at 10:27

> Azione Integrale: Risponde alla storia del sistema
> + Porta a zero l’errore a regime

Per ingressi costanti
Se ci metti una rampa, un seno… non va a zero l’errore

    Raffaello · December 26, 2008 at 12:36

    si, certo! 😉 si presumono come errori, gli errori costanti a gradino, che sono di solito quelli più comuni in un motore di un robot. 😉

    ciao!

Leave a Reply