Principio di funzionamento del controllore PID

Indice dei contenuti

    Il controllore PID (Proporzionale-Integrale-Derivativo) è l’algoritmo di controllo più diffuso nell’industria: regola temperature, velocità, posizioni, portate, pressioni. Il suo compito è far sì che una grandezza misurata (la variabile di processo) raggiunga e mantenga un valore desiderato (il setpoint), nonostante disturbi e variazioni del sistema.

    Il principio fondante è la retroazione: si misura continuamente l’uscita, la si confronta col valore desiderato e si agisce in base alla differenza. Il PID non ha bisogno di un modello dettagliato del processo: osserva l’errore e lo corregge guardando a tre aspetti — quanto è grande ora, quanto si è accumulato, quanto in fretta cambia. Da questa idea semplice nasce un regolatore robusto e universale.

    Retroazione ed errore

    Il cuore di ogni controllo in retroazione è l’errore, la differenza istantanea tra setpoint r(t) e variabile misurata y(t):

    e(t) = r(t) - y(t)

    Il controllore osserva e(t) e produce un segnale di comando u(t) verso l’attuatore (valvola, motore, riscaldatore). L’attuatore agisce sul processo, che modifica l’uscita y(t), che torna a essere misurata: il cerchio si chiude. L’obiettivo è portare l’errore a zero e tenerlo lì.

    La domanda è: come trasformare l’errore in comando? Il PID risponde combinando tre azioni, ognuna che guarda l’errore da un’angolazione diversa nel tempo.

    La legge di controllo PID

    Il segnale di comando è la somma di tre contributi:

    u(t) = K_p \, e(t) + K_i \int_0^t e(\tau)\,d\tau + K_d \, \frac{de(t)}{dt}
    TermineGuardaEffetto
    Proporzionale K_p\,el’errore presentereazione immediata, proporzionale all’errore
    Integrale K_i\!\int el’errore passato accumulatoelimina l’errore a regime
    Derivativo K_d\,\dot ela tendenza futurasmorza e anticipa, riduce l’oscillazione

    I tre guadagni K_p, K_i, K_d sono i parametri da tarare. Spesso si scrive la forma equivalente con tempo integrale T_i e tempo derivativo T_d:

    u(t) = K_p \left( e(t) + \frac{1}{T_i}\int_0^t e\,d\tau + T_d\,\frac{de}{dt} \right)

    Azione proporzionale

    L’azione proporzionale produce un comando proporzionale all’errore corrente: più si è lontani dal setpoint, più forte è la correzione. È la reazione istintiva.

    Il suo limite è strutturale: da sola, lascia un errore a regime (offset). Per produrre un comando costante (es. tenere acceso un riscaldatore), il termine proporzionale ha bisogno di un errore diverso da zero, perché se l’errore fosse nullo il suo contributo sarebbe nullo. Aumentare K_p riduce l’offset ma, oltre una certa soglia, rende il sistema oscillante e infine instabile. La sola azione P è un compromesso tra precisione e stabilità.

    Azione integrale

    L’azione integrale accumula l’errore nel tempo. Finché un errore persiste, l’integrale cresce e spinge il comando finché l’errore non si annulla. È ciò che elimina l’offset: a regime, l’integrale fornisce il comando costante necessario, lasciando l’errore esattamente a zero.

    Il prezzo è la lentezza e un effetto collaterale, il windup: se l’attuatore satura (valvola tutta aperta) e l’errore persiste, l’integrale continua ad accumularsi a dismisura; quando l’errore finalmente si inverte, il comando resta saturato a lungo prima di “scaricarsi”, causando forti sovraelongazioni. I PID reali includono un anti-windup che blocca l’accumulo dell’integrale in saturazione.

    Azione derivativa

    L’azione derivativa guarda la velocità di variazione dell’errore: anticipa dove sta andando il sistema. Se l’errore si sta riducendo rapidamente, il termine derivativo frena il comando per evitare di superare il setpoint. È un effetto smorzante e anticipatore: riduce la sovraelongazione e velocizza l’assestamento.

    Il suo difetto è la sensibilità al rumore: derivare un segnale rumoroso amplifica il rumore, producendo comandi nervosi. Per questo il termine derivativo si filtra, oppure si applica alla sola misura y anziché all’errore (per evitare scossoni quando il setpoint cambia a gradino), e in molti casi pratici si usa solo un controllore PI, omettendo del tutto la D.

    Taratura

    Tarare il PID significa scegliere K_p, K_i, K_d per ottenere la risposta desiderata: veloce, stabile, senza eccessive oscillazioni. È il compromesso centrale del controllo.

    AumentareVelocitàSovraelongazioneErrore a regimeStabilità
    K_ppeggiora
    K_iannullapeggiora
    K_d~~migliora

    Esistono metodi sistematici. Le regole di Ziegler-Nichols partono dal portare il sistema al limite di stabilità (guadagno critico K_u e periodo di oscillazione T_u) e ricavano i parametri da formule empiriche. Altri approcci usano il modello del processo o l’ottimizzazione di indici di prestazione. In pratica molta taratura è iterativa: si parte dal proporzionale, si aggiunge integrale per togliere l’offset, e derivativo solo se serve smorzare.

    Stabilità

    Un sistema in retroazione mal tarato può diventare instabile: l’uscita oscilla con ampiezza crescente invece di assestarsi. Questo accade quando la correzione, ritardata dalla dinamica del processo, arriva “fuori tempo” e rinforza l’errore invece di ridurlo.

    La stabilità dipende dall’interazione tra controllore e processo: ritardi, costanti di tempo e guadagni del sistema controllato. Un guadagno troppo alto o un ritardo elevato spingono verso l’instabilità. L’analisi della stabilità (margini di guadagno e di fase, luogo delle radici) è ciò che separa una taratura aggressiva ma sicura da una che fa oscillare l’impianto.

    Limiti reali

    Il PID è robusto e universale, ma non onnipotente:

    • la taratura è un compromesso tra rapidità, sovraelongazione e stabilità: non esiste l’ottimo per ogni disturbo;
    • la saturazione degli attuatori richiede anti-windup, altrimenti la risposta degrada gravemente;
    • l’azione derivativa amplifica il rumore di misura e va filtrata o omessa;
    • su processi molto non lineari, con grandi ritardi o variabili nel tempo, il PID a parametri fissi fatica e servono schemi avanzati (gain scheduling, predittivi, adattativi);
    • accoppiamenti tra più variabili (sistemi multivariabili) possono rendere insufficiente un insieme di PID indipendenti;
    • una taratura troppo aggressiva porta all’instabilità; una troppo blanda lascia il sistema lento e impreciso.

    Nonostante questo, il PID resta il cavallo di battaglia: copre bene la grande maggioranza dei loop di controllo industriali.

    Sintesi operativa

    Il controllore PID realizza il controllo in retroazione guardando l’errore — la differenza tra valore desiderato e misurato — da tre prospettive temporali: il proporzionale reagisce all’errore presente, l’integrale azzera l’offset accumulando l’errore passato, il derivativo smorza e anticipa osservando come l’errore cambia.

    La somma pesata di queste tre azioni, u = K_p e + K_i\!\int e + K_d \dot e, produce il comando all’attuatore. Tarare i tre guadagni è l’arte centrale: il proporzionale dà prontezza ma lascia offset e tende a oscillare, l’integrale toglie l’offset ma rischia il windup, il derivativo stabilizza ma amplifica il rumore. È questo equilibrio tra rapidità, precisione e stabilità — non un modello dettagliato del processo — a rendere il PID l’algoritmo di controllo più usato al mondo.

    Ultimo aggiornamento: