Regolatore PID
Un algoritmo di controllo che mantiene una grandezza, come una temperatura, la velocità di un motore o il livello di un serbatoio, al valore desiderato combinando correzioni proporzionali, integrali e derivative.
Foto: Simon Kadula / Unsplash
Un regolatore PID (detto anche controllore PID, in inglese PID controller) è una logica che mantiene una grandezza al valore che vuoi tu. Confronta la lettura di un sensore, per esempio la temperatura dell’acqua in un serbatoio, con il valore desiderato, chiamato setpoint, e calcola quanto deve lavorare un attuatore come una resistenza elettrica, una valvola o un motore. La differenza tra valore desiderato e lettura si chiama errore, e la sigla elenca i tre modi in cui il regolatore reagisce: Proporzionale, Integrale e Derivativo. L’idea non è nuova: uno dei primi studi teorici su questo tipo di controllo, pubblicato da N. Minorsky nel 1922 sul Journal of the American Society for Naval Engineers, riguardava il governo automatico delle navi. Oggi gli stessi calcoli girano nei controller di fabbrica, nei forni, nei droni, nelle stampanti 3D e nel cruise control delle auto.
Cosa fanno P, I e D, in parole semplici?
Ogni termine risponde a una domanda diversa sull’errore. Prendiamo uno scaldabagno elettrico impostato a 60 °C.
- Proporzionale: quanto sono lontano dall’obiettivo adesso? La potenza della resistenza è proporzionale alla distanza: piena potenza quando l’acqua è fredda, poca quando è quasi in temperatura. Usato da solo, il termine P di solito lascia la temperatura un po’ sotto l’obiettivo: a distanza zero la sua uscita è zero, ma il serbatoio continua a perdere calore.
- Integrale: da quanto tempo sto mancando l’obiettivo? Il termine integrale somma l’errore nel tempo, così una piccola distanza che dura continua ad alzare la potenza finché non viene colmata. Se pesa troppo, la temperatura va oltre l’obiettivo e poi oscilla attorno a esso.
- Derivativo: quanto in fretta cambia l’errore? Se l’acqua si sta scaldando rapidamente verso l’obiettivo, D riduce la potenza in anticipo, come un automobilista che solleva il piede dall’acceleratore prima di un semaforo rosso. Limita il superamento dell’obiettivo, ma reagisce anche alle piccole fluttuazioni casuali nella lettura del sensore, per questo molti anelli usano poco o niente D, e in quel caso si parla di regolatori PI.
L’uscita è la somma dei tre termini, ciascuno moltiplicato per un proprio peso, chiamato guadagno: Kp, Ki e Kd. La stessa logica mantiene costante la velocità di un motore quando il carico cambia, oppure il livello di un serbatoio aprendo più o meno una valvola.
Cos’è un anello PID?
Un anello PID (in inglese PID loop) è il ciclo chiuso di misurare, calcolare, agire e misurare di nuovo, ripetuto a intervalli fissi. Gli ingegneri lo chiamano controllo ad anello chiuso, in contrapposizione al controllo ad anello aperto, come il timer di un tostapane, che non verifica mai se il pane è pronto.
La frequenza dipende da quanto è rapido il processo: una volta ogni pochi secondi per un riscaldamento lento, molte volte al secondo per un motore. I controller per motori maxon EPOS4, per esempio, indicano un “regolatore di posizionamento PID” che lavora a 2,5 kHz, cioè 2.500 volte al secondo. Spesso gli anelli sono disposti in cascata: un anello esterno per la posizione fissa l’obiettivo di un anello interno per la velocità. Un impianto di processo fa girare molti anelli in parallelo, sorvegliati dagli operatori sugli schermi di un sistema di controllo distribuito (DCS).
Come si tara un regolatore PID?
Tarare il regolatore (in inglese tuning) significa scegliere i tre guadagni per un processo specifico. Non esistono valori universali, perché un bollitore e una fornace reagiscono in modo molto diverso.
- A mano. Si parte solo con P e lo si aumenta finché la risposta è rapida con una leggera oscillazione, poi si aggiunge I finché lo scarto residuo scompare, e si aggiunge D solo se il superamento dell’obiettivo è un problema.
- Con una regola. Una delle ricette dell’articolo classico di Ziegler e Nichols aumenta P finché il processo oscilla in modo regolare, poi trasforma quel guadagno e la durata di una oscillazione nei tre guadagni con formule semplici. Il risultato tende a essere aggressivo, quindi spesso è solo un punto di partenza.
- In automatico. Il regolatore mette alla prova il processo da solo. ESPHome, firmware open source per i dispositivi di casa, ha un componente PID per il clima la cui taratura automatica (autotune) “funziona commutando ripetutamente l’uscita di riscaldamento o raffreddamento tra piena potenza e spento”, misura le oscillazioni e calcola i guadagni con un metodo basato su Ziegler-Nichols. Il firmware Marlin per stampanti 3D fa lo stesso con il comando M303, scaldando e raffreddando l’ugello o il piano per diversi cicli.
Ogni taratura è un compromesso tra una risposta rapida, un piccolo superamento dell’obiettivo e l’usura della valvola o del motore che deve seguire i comandi.
Dove gira un regolatore PID?
Ovunque ci sia un processore tra un sensore e un attuatore. In fabbrica gira in un controllore logico programmabile (PLC) come blocco funzionale già pronto: Siemens descrive il suo blocco PID_Compact come “un regolatore PID continuo con ottimizzazione integrata” che calcola i tre parametri durante l’ottimizzazione iniziale (pretuning) e li affina con l’ottimizzazione fine (fine tuning).
Nei prodotti gira nel firmware dei microcontrollori. La libreria CMSIS-DSP di Arm per i suoi processori Cortex-M e Cortex-A comprende funzioni PID. In casa, un termostato costruito su una scheda ESP32 con ESPHome può far girare un anello PID; i termostati più semplici invece accendono e spengono del tutto il riscaldamento attorno al setpoint.
Nei sistemi IoT l’anello resta locale, perché il viaggio di andata e ritorno verso il cloud è troppo lento e poco affidabile per comandare un motore o un bruciatore. La parte connessa si limita a osservare: registra setpoint e uscite, cambia gli obiettivi e segnala gli anelli che oscillano. La guida all’Industrial IoT mostra come si raccolgono questi dati di impianto.
Quali sono i limiti del controllo PID?
- Windup, cioè accumulo dell’integrale. Quando l’attuatore è già al limite, per esempio una resistenza a piena potenza, il termine integrale continua a crescere, poi impiega tempo a scaricarsi e il processo va oltre l’obiettivo. Una logica anti-windup blocca questo accumulo.
- Rumore. Il termine derivativo amplifica le fluttuazioni casuali del segnale del sensore, quindi va filtrato oppure eliminato.
- Ritardo. Quando l’effetto si vede molto tempo dopo l’azione, come con un sensore lontano lungo una tubazione, il PID va tarato in modo lento, altrimenti comincia a oscillare.
- Processi che cambiano o legati tra loro. Guadagni adatti a un punto di lavoro possono non andare bene per un altro, e grandezze collegate come temperatura e umidità negli impianti HVAC (riscaldamento, ventilazione e condizionamento) si ostacolano a vicenda quando ciascuna ha il proprio anello. Questi casi si gestiscono con il gain scheduling, che cambia i guadagni in base alle condizioni, e con regolatori basati su un modello del processo.
Il PID non può nemmeno correggere una misura sbagliata. Resta comunque la prima cosa che gli ingegneri provano, perché non richiede un modello del processo e per cominciare bastano tre numeri.
Parte del Glossario IoT. Hai trovato un errore o manca un termine? Scrivici.