Sistemi e Reti - Anno 3 - Modulo 3 - Lezione 04 - Sistemi di Controllo: Anello Aperto, Chiuso e PID
Sistemi e Reti · Anno 3 · Modulo 3 · Lezione 04
✍ Autore: profgiagnotti · Materia: Sistemi e Reti

Sistemi di Controllo: Anello Aperto, Anello Chiuso e Regolatore PID

Dal termostato ai droni: capire cos'è il feedback, perché l'anello chiuso batte l'anello aperto e come il PID diventa lo standard industriale per stabilizzare qualsiasi sistema embedded.

⏱ 55 min 📚 Anno 3 🧠 Feedback · PID 💻 Controllo automatico
// OBIETTIVI DI APPRENDIMENTO
✓Definire il concetto di sistema di controllo e distinguere setpoint (SP), variabile di processo (PV), errore (e = SP − PV), uscita di controllo (u) e perturbazione (d)
✓Confrontare controllo ad anello aperto e ad anello chiuso, indicare vantaggi, limiti e scenari d'uso tipici di ciascuno
✓Spiegare il funzionamento del regolatore PID descrivendo il ruolo delle tre componenti P, I e D e la formula u(t) = Kp·e + Ki·∫e + Kd·de/dt
✓Riconoscere esempi di sistemi di controllo nella vita reale e classificarli correttamente come anello aperto o chiuso, con retroazione negativa o positiva
✓Collegare il PID ad Arduino e ai microcontrollori: comprendere perché serve il tuning di Kp, Ki, Kd e prepararsi all'implementazione pratica con sensori e attuatori

1. Perché i sistemi hanno bisogno di controllo

Immagina di guidare un'auto con gli occhi bendati, senza poter vedere la strada, sentire le curve o percepire se stai accelerando o frenando. Potresti impostare il volante dritto e premere l'acceleratore a una velocità prestabilita — ma il minimo vento laterale, una curva, una salita, ti farebbero uscire di strada. Senza feedback sul risultato delle tue azioni, non puoi correggere gli errori.

Questo è esattamente il problema che affrontano i sistemi di Physical Computing: il mondo reale è pieno di perturbazioni — variabili esterne imprevedibili che fanno deviare il sistema dal comportamento desiderato. Un sistema di controllo è il meccanismo che rileva queste deviazioni e le corregge automaticamente.

💬 Tip del docente

All'interrogazione parti sempre con l'esempio dell'auto bendata: fa capire in 10 secondi cos'è il feedback. Poi aggiungi: il Physical Computing vive immerso nelle perturbazioni (attrito, temperatura, rumore sensore). Senza controllo, nessun robot resta in equilibrio.

2. Concetti fondamentali: SP, PV, errore, uscita, perturbazione

📌 Definizione da ricordare

Sistema di controllo = insieme di sensore + controllore + attuatore che misura la differenza tra obiettivo (setpoint) e realtà (variabile di processo) e genera un comando per azzerare l'errore anche in presenza di perturbazioni.

TermineDefinizioneEsempio – termostato 20°C
Setpoint (SP)Il valore desiderato, l'obiettivo del sistemaTemperatura impostata: 20°C
Variabile di processo (PV)Il valore reale misurato dal sensoreTemperatura attuale: 17°C
Errore (e)Differenza tra setpoint e PV: e = SP − PVe = 20 − 17 = +3°C (troppo freddo)
Uscita di controllo (u)Il comando inviato all'attuatore per correggere l'erroreAccendi riscaldamento al 60% di potenza
Perturbazione (d)Variabile esterna che disturba il sistemaFinestra aperta che fa entrare aria fredda
🎯 Esempio in classe – termostato

Se il setpoint è 20°C e il sensore legge 17°C, l'errore è +3°C. Il controllore decide di accendere il riscaldamento. La finestra aperta è la perturbazione: senza anello chiuso il sistema non saprebbe di dover compensare con più potenza.

3. Controllo ad Anello Aperto (Open Loop)

Nel controllo ad anello aperto il sistema agisce sull'attuatore in base a un piano prestabilito, senza misurare il risultato. Non c'è feedback — l'uscita del sistema non viene confrontata con il setpoint per determinare se l'obiettivo è stato raggiunto.

Riferimento SETPOINT Controllore Attuatore Sistema Processo Uscita NON MISURATA
01 · PRO

✅ Vantaggi Open Loop

Semplicità – nessun sensore di retroazione. Basso costo – pochi componenti. Stabilità garantita – non può oscillare.

02 · CONTRO

❌ Limiti Open Loop

Non corregge perturbazioni esterne. Accuratezza dipende solo da calibrazione iniziale. Se il sistema cambia, il controllo diventa sbagliato.

🎯 Esempi concreti di anello aperto

• Forno tradizionale: imposti 180°C e timer 30 min. Riscalda a potenza fissa senza misurare mai la temperatura interna – se apri la porta non compensa.
• Lavatrice a ciclo fisso: centrifuga 8 min a 1200 giri indipendentemente da carico o sbilanciamento.
• Irrigazione a timer: innaffia ogni mattina 20 minuti, piova o no, suolo secco o bagnato.

⚠️ Errore comune in verifica

Non dire “anello aperto = sistema vecchio / sbagliato”. È una scelta progettuale: se le perturbazioni sono trascurabili e vuoi semplicità, l'open loop è perfetto. Il problema nasce quando hai disturbi imprevedibili.

4. Controllo ad Anello Chiuso (Closed Loop) – Feedback e retroazione

Nel controllo ad anello chiuso l'uscita del sistema viene continuamente misurata e confrontata con il setpoint. La differenza — l'errore — viene usata dal controllore per calcolare l'azione correttiva. Il ciclo di feedback trasforma il sistema da “cieco” a “consapevole”.

Setpoint SP ⊕ ErroreSP − PV Controllore Attuatore Sistema Uscita PVmisurata ← Sensore misura PV e torna al nodo errore
🎯 Esempi concreti di anello chiuso

• Termostato moderno: misura la temperatura, confronta con setpoint, accende/spegne riscaldamento. Finestra aperta? Compensa aumentando potenza.
• Cruise control: mantiene 130 km/h misurando velocità continuamente: salita = più gas, discesa = meno gas.
• Drone in hovering: assetto e altitudine misurati 100×/s, regola 4 rotori per stabilità.
• Pupilla dell'occhio: sistema biologico ad anello chiuso: luce alta = pupilla si restringe.

Retroazione negativa vs positiva

STABILIZZANTE

✅ Retroazione Negativa

Il feedback viene sottratto dall'ingresso. Se l'uscita cresce troppo, il feedback negativo riduce il comando – riporta verso setpoint. È il tipo più comune e desiderato.

Es: termostato – più fa caldo, meno riscalda.

AMPLIFICANTE

⚠️ Retroazione Positiva

Il feedback viene sommato all'ingresso. Uscita cresce → feedback positivo la fa crescere ancora – effetto valanga. Utile in oscillatori, instabile se non controllata.

Es: microfono vicino altoparlante → fischio Larsen.

💬 Tip del docente

Domanda classica: “Feedback sempre negativo?” No! La positiva esiste e serve (trigger, latch). Ricorda: negativa = stabilizza, positiva = amplifica. Se ti chiedono perché il fischio del microfono non si ferma mai, è positiva non controllata.

5. Il Regolatore PID: P, I, D, formula e tuning

Il semplice “accendi/spegni” del termostato (controllo ON/OFF o bang-bang) produce oscillazioni continue attorno al setpoint – accende, supera target, spegne, scende sotto, riaccende. Per un controllo fluido si usa il regolatore PID.

📌 Definizione da ricordare

PID = Proporzionale + Integrale + Derivativo. Tre contributi diversi sull'errore: P guarda il presente, I guarda il passato (errori accumulati), D predice il futuro (velocità di variazione). Formula: u(t) = Kp·e(t) + Ki·∫e(t)dt + Kd·de(t)/dt

01 · PRESENTE

P – Proporzionale

Uscita proporzionale all'errore attuale: errore grande → azione grande. Reagisce a quanto sei lontano ora.

Analogia: sei 1m a destra della corsia → sterzi leggermente a sinistra.

u_P = Kp × e(t)

02 · PASSATO

I – Integrale

Proporzionale alla somma degli errori nel tempo. Se rimane errore residuo, I lo accumula e aumenta azione fino a eliminarlo.

Analogia: vento costante da sinistra per 10 km → I aggiunge correzione permanente.

u_I = Ki × ∫e(t)dt

03 · FUTURO

D – Derivativo

Proporzionale alla velocità di variazione dell'errore. Se ti avvicini veloce al setpoint, frena prima per evitare overshoot – freno preventivo.

Analogia: parcheggi verso muro a 2 km/h → freni prima dell'impatto.

u_D = Kd × de/dt

Formula PID · Output totale
u(t) = Kp·e(t) + Ki·∫e(t)dt + Kd·de(t)/dt Dove: e(t) = SP - PV (errore istantaneo) Kp = guadagno proporzionale Ki = guadagno integrale Kd = guadagno derivativo Componenti: P presente → corregge errore ora I passato → elimina errore residuo accumulato D futuro → ammortizza, evita superamento (overshoot)

Tuning del PID – trovare i valori giusti

Se aumento...Risposta più veloce?Rischio
Kp (proporzionale)Sì – risponde più aggressivamente all'erroreOscillazioni, instabilità
Ki (integrale)Elimina errore residuo più velocementeIntegral windup – overshooting, risposta lenta
Kd (derivativo)Ammortizza oscillazioni, riduce overshootAmplifica rumore del sensore
Arduino · PID semplice con libreria
#include <PID_v1.h> double Setpoint, Input, Output; double Kp=2, Ki=5, Kd=1; // valori da tunare! PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT); void setup(){ Input = analogRead(A0); // sensore temperatura Setpoint = 20; // vogliamo 20°C myPID.SetMode(AUTOMATIC); // attiva PID } void loop(){ Input = analogRead(A0) * 0.488; // conversione °C (esempio TMP36) myPID.Compute(); // calcola Output PID analogWrite(9, Output); // PWM all'attuatore (es: mosfet riscald.) delay(100); }
⚠️ Errore comune – windup e derivative kick

Integral windup: se l'attuatore è saturo (es. già al 100%) l'integrale continua ad accumulare → quando l'errore cambia segno, risposta lentissima. Si risolve con anti-windup.
Derivative kick: cambio brusco di setpoint fa impazzire D (derivata enorme). Si deriva la PV, non l'errore. La libreria Arduino già lo fa.

6. Dove si usa il PID – esempi reali

🚁 Droni

Quadricotteri

3 PID indipendenti per roll, pitch e yaw. Aggiornati 500–8000 volte al secondo per mantenere volo stabile anche con vento.

🖨️ Maker

Stampanti 3D

PID per piatto riscaldato ed estrusore – temperatura deve essere precisa a ±1°C altrimenti layer fallati.

🏭 Industria

Reattori chimici

Controllo di temperatura, pressione e portata. Errori = reazioni pericolose. PID è standard de facto industriale.

P Solo P? Steady-state error PI PI elimina errore residuo PID Completo = stabile + preciso AUTO PID + autotuning Arduino EVOLUZIONE DEL CONTROLLORE → PIÙ PRECISIONE, MENO OSCILLAZIONI
💬 Tip del docente

Se ti chiedono “serve sempre PID completo?” Risposta furba: spesso no. Molti sistemi vanno benissimo con solo P (es. ventola che gira più veloce se fa caldo) o PI (temperatura). D serve solo quando vuoi evitare overshoot o hai inerzia (droni, robot bilanciato). Inizia sempre da P, poi aggiungi I, infine D se serve.

7. Verifica / Esercizio pratico

🔬 Attività di laboratorio e ragionamento

Classifica questi sistemi come anello aperto o chiuso, individua SP, PV, attuatore e perturbazione. Poi rispondi alle domande sul PID.

  1. Forno a microonde a tempo: 3 minuti a 700W – aperto o chiuso? Qual è la perturbazione che non compensa?
  2. Boiler con termostato 60°C: misura temperatura acqua, accende resistenza se sotto soglia – disegna lo schema ad anello chiuso con feedback.
  3. Auto con cruise control a 110 km/h in autostrada: in salita rallenta a 100, cosa fa il controllore? È P, I o D che aumenta l'acceleratore?
  4. Robot che mantiene equilibrio su due ruote: perché serve D? Cosa succede se Kd = 0?
  5. Tuning: il tuo sistema oscilla molto attorno al setpoint e supera il target (overshoot 15%). Quale guadagno riduci o aumenti? Argomenta Kp vs Kd.
✅ Soluzione ragionata

1. Microonde: anello aperto puro – nessuna misura di cottura. Perturbazione: cibo congelato vs a temperatura ambiente, quantità diversa – non compensata.
2. Boiler: SP=60°C, PV=sensore temperatura acqua, errore=SP-PV, controllore=termostato, attuatore=resistenza, feedback=misura PV che torna al comparatore, perturbazione=acqua fredda che entra.
3. Cruise in salita: errore positivo (SP 110 – PV 100 = +10). Controllore vede errore e aumenta gas – componente P dominante. I accumulerà se la salita è lunga per eliminare errore residuo.
4. Robot 2 ruote: senza D, appena corregge supera l'equilibrio e oscilla. D frena in anticipo perché vede velocità di caduta – indispensabile per stabilità.
5. Overshoot: riduci Kp (meno aggressivo) e/o aumenta Kd (più smorzamento). Ki troppo alto peggiora overshoot per windup, quindi semmai riduci Ki.

✓Vocabolario controllo: SP obiettivo, PV valore misurato, errore e=SP−PV, uscita u comando attuatore, perturbazione d disturbo esterno
✓Anello aperto: nessun feedback, semplice ed economico, non corregge perturbazioni – va bene solo se disturbi trascurabili
✓Anello chiuso: sensore misura uscita e riporta a nodo errore, retroazione negativa stabilizza, positiva amplifica (Larsen)
✓PID: P presente (proporzionale a errore), I passato (accumulo errori, elimina residuo), D futuro (derivata, frena overshoot). Formula completa essenziale
✓Tuning & uso: Kp↑ veloce ma oscilla, Ki↑ toglie residuo ma windup, Kd↑ smorza ma amplifica rumore. Droni, 3D printer, boiler = PID ovunque

📚 Prossimo passo – Arduino: microcontrollore e programmazione

Ora che sai cos'è il feedback e come ragiona un PID, passerai alla pratica: Arduino legge sensori (PV) e pilota attuatori (u) con PWM. Preparati a implementare il tuo primo PI sulla temperatura!