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.
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.
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
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.
| Termine | Definizione | Esempio – termostato 20°C |
|---|---|---|
| Setpoint (SP) | Il valore desiderato, l'obiettivo del sistema | Temperatura impostata: 20°C |
| Variabile di processo (PV) | Il valore reale misurato dal sensore | Temperatura attuale: 17°C |
| Errore (e) | Differenza tra setpoint e PV: e = SP − PV | e = 20 − 17 = +3°C (troppo freddo) |
| Uscita di controllo (u) | Il comando inviato all'attuatore per correggere l'errore | Accendi riscaldamento al 60% di potenza |
| Perturbazione (d) | Variabile esterna che disturba il sistema | Finestra aperta che fa entrare aria fredda |
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.
✅ Vantaggi Open Loop
Semplicità – nessun sensore di retroazione. Basso costo – pochi componenti. Stabilità garantita – non può oscillare.
❌ Limiti Open Loop
Non corregge perturbazioni esterne. Accuratezza dipende solo da calibrazione iniziale. Se il sistema cambia, il controllo diventa sbagliato.
• 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.
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”.
• 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
✅ 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.
⚠️ 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.
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.
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
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)
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
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
Tuning del PID – trovare i valori giusti
| Se aumento... | Risposta più veloce? | Rischio |
|---|---|---|
| Kp (proporzionale) | Sì – risponde più aggressivamente all'errore | Oscillazioni, instabilità |
| Ki (integrale) | Elimina errore residuo più velocemente | Integral windup – overshooting, risposta lenta |
| Kd (derivativo) | Ammortizza oscillazioni, riduce overshoot | Amplifica rumore del sensore |
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
Quadricotteri
3 PID indipendenti per roll, pitch e yaw. Aggiornati 500–8000 volte al secondo per mantenere volo stabile anche con vento.
Stampanti 3D
PID per piatto riscaldato ed estrusore – temperatura deve essere precisa a ±1°C altrimenti layer fallati.
Reattori chimici
Controllo di temperatura, pressione e portata. Errori = reazioni pericolose. PID è standard de facto industriale.
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.
- Forno a microonde a tempo: 3 minuti a 700W – aperto o chiuso? Qual è la perturbazione che non compensa?
- Boiler con termostato 60°C: misura temperatura acqua, accende resistenza se sotto soglia – disegna lo schema ad anello chiuso con feedback.
- 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?
- Robot che mantiene equilibrio su due ruote: perché serve D? Cosa succede se Kd = 0?
- Tuning: il tuo sistema oscilla molto attorno al setpoint e supera il target (overshoot 15%). Quale guadagno riduci o aumenti? Argomenta Kp vs Kd.
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.
8. Riepilogo e concetti chiave
📚 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!