Capitolo 12

Ritorno alla doccia

Perché oscillavamo, e quanto siamo vicini al limite?

Capitolo 12: Ritorno alla doccia ↗

La doccia, con occhi nuovi

June: Ho messo il PID del nostro drone sulla doccia (stessa grinta, scalato in unità di manopola). È andata caldo, freddo, caldo… proprio come Mika nel Capitolo 0. Il drone non l'ha mai fatto!

Theo: Il drone non ha grandi ritardi. La doccia ha 2,5 secondi di tubo. Cerchiamo finalmente di capire cosa fa un ritardo.

La doccia ha due parti lente: il tubo, un ritardo puro di 2,5 s, e lo smussatore (nei libri, un sistema del primo ordine), cioè il soffione e le pareti del tubo che si scaldano con la costante di tempo del Capitolo 3, τ=1\tau = 1 s (dopo 1 s ha colmato il 63% della distanza da una nuova temperatura).

Prima, una confessione sulla "mano normale" del Capitolo 0. Girava la manopola a una velocità proporzionale a quanto le sembrava sbagliata l'acqua: velocità della manopola =k⋅e= k\cdot\err{e}, con k=0,8 %k = 0{,}8\,\% della manopola al secondo per °C. Una velocità proporzionale all'errore vuol dire che la posizione della manopola è la pila dell'errore passato. È un controllore I, con Ki=kK_i = k.

Mika: Aspetta, quindi nel Capitolo 0 ero un controllore PID? Vabbè, un controllore I. Uno troppo zelante.

Il ritardo è uno sfasamento nell'oscillazione

Theo: Continuo a pensare che un ritardo renda solo tutto più lento. Non dovrebbe poter rendere instabile niente.

Isoliamo prima il ritardo puro del tubo. Immagina un'onda sinusoidale all'ingresso del tubo che raggiunge il soffione senza essere smorzata: l'uscita ha la stessa forma, ma arriva 2,5 s dopo. Quanto vale questo ritardo rispetto a un'oscillazione?

Capitolo 12: Ritorno alla doccia ↗

Theo: Aspetta. Con un'oscillazione di 5 secondi l'acqua calda arriva proprio quando la manopola chiede freddo. Non è più lento. È al contrario.

Il ritardo del tubo resta di 2,5 s, ma il suo sfasamento dipende da quanto velocemente oscilla l'onda. Chiamiamo lo sfasamento ϕ\phi e il ritardo LL. Se un'oscillazione dura TT secondi (qui TT è un tempo, non una temperatura), la sua velocità angolare è ω=2π/T\omega=2\pi/T radianti al secondo. Uno sfasamento positivo significa che l'uscita segue l'ingresso in ritardo. Gli ingegneri scrivono il ritardo come un angolo negativo, per questo i grafici qui sotto scendono.

Un'oscillazione intera è un giro completo della trottola del Capitolo 5: 360°, cioè 2π radianti. Quindi conta quale frazione di oscillazione copre il ritardo: L/TL/T.

ϕ=LT⏟frazione di oscillazione⋅360∘=ωL radianti,ω=2πT\phi = \underbrace{\frac{L}{T}}_{\text{frazione di oscillazione}}\cdot 360^\circ = \omega L \text{ radianti},\qquad \omega = \frac{2\pi}{T}

Capitolo 12: Ritorno alla doccia ↗

Per un'oscillazione di 5 secondi, 2,5 s sono mezza oscillazione: 180°. In questo modello di ritardo puro, ogni picco dell'uscita coincide con un minimo dell'ingresso. Lo smussatore della doccia rimpicciolisce anche le oscillazioni rapide; lo aggiungiamo tra poco.

Mika: Quindi gli stessi 2,5 s sono una spintarella per un'oscillazione pigra e un capovolgimento completo per una rapida. Il tubo non cambia mai. È l'oscillazione che cambia!

Misurare la doccia un'oscillazione alla volta

Ora aggiungiamo lo smussatore al ritardo del tubo. Il soffione e le pareti del tubo impiegano tempo a scaldarsi: la doccia completa quindi ritarda e smussa i cambiamenti della manopola. Ecco il piano: fai oscillare la manopola a una velocità, aspetta un ritmo stabile e misura due valori:

  • Guadagno (la stessa parola del guadagno del controllore: ampiezza in uscita ÷ ampiezza in ingresso): quanto è grande l'oscillazione della temperatura, rispetto all'oscillazione della miscela che abbiamo chiesto.
  • Fase: quanto è in ritardo, come angolo: la sua frazione di un'oscillazione intera, per 360°.

Ogni misura aggiunge un punto su due grafici. Misura almeno cinque velocità, lente e veloci.

Capitolo 12: Ritorno alla doccia ↗

Lo smussatore rimpicciolisce le oscillazioni rapide, mentre il tubo continua ad aggiungere sfasamento. Queste curve di guadagno e fase in funzione della velocità di oscillazione formano un diagramma di Bode. Insieme sono la risposta in frequenza della doccia: come tratta ogni velocità di oscillazione. Qui l'ingresso è la temperatura dell'acqua miscelata, quindi le oscillazioni lente hanno guadagno 1. Se l'ingresso fosse la posizione della manopola, il guadagno sarebbe 45 volte maggiore. Per ottenere la risposta in frequenza dalla formula, poni s=iωs = i\omega: lo stesso trucco che ha trovato il bordo nel Capitolo 11. (Funziona perché la doccia da sola è stabile, quindi le sue oscillazioni si assestano in un ritmo costante che possiamo misurare.)

G(iω)=e−iωL1+iωτ,∣G∣=11+ω2τ2,∠G=−arctan⁡(ωτ)−ωLG(i\omega) = \frac{e^{-i\omega L}}{1 + i\omega\tau}, \qquad |G| = \frac{1}{\sqrt{1+\omega^2\tau^2}}, \qquad \angle G = -\arctan(\omega\tau) - \omega L

Capitolo 12: Ritorno alla doccia ↗

June: Trovata! Vicino a 0,95 rad/s la doccia da sola capovolge un'oscillazione. Ricordatevi questa velocità.

Quanto siamo vicini al precipizio?

Ora chiudiamo l'anello: mano → manopola → tubo → pelle → mano. Segui un'oscillazione per tutto il giro. Per la mano del Capitolo 0, il giro dell'anello è G∘G_{\circ} (un cerchietto per anello, perché LL è già il ritardo):

G∘(s)=ks⏟mano⋅45 e−2,5ss+1⏟docciaG_{\circ}(s) = \underbrace{\frac{k}{s}}_{\text{mano}}\cdot\underbrace{\frac{45\,e^{-2{,}5s}}{s+1}}_{\text{doccia}}

La retroazione sottrae (errore = obiettivo − temperatura). È un ×(−1), il mezzo giro del Capitolo 5, quindi l'onda si capovolge una volta. Se il giro dell'anello la ritarda anche di esattamente 180°, i due capovolgimenti si annullano, e ogni correzione arriva perfettamente a tempo con l'oscillazione, come spingere un'altalena proprio al momento giusto. Se l'anello restituisce l'onda a grandezza piena (guadagno 1), l'oscillazione si mantiene da sola; se più di 1, cresce. È di nuovo l'1+C P=01 + C\,P = 0 del Capitolo 10, sulla retta s=iωs = i\omega: un giro che torna capovolto e a grandezza piena è G∘(iω)=−1G_{\circ}(i\omega) = -1.

June: In questo semplice anello della doccia, la fase attraversa −180° a una velocità di oscillazione importante. Trovala nel grafico di fase, poi leggi il guadagno d’anello alla stessa velocità nel grafico del guadagno. È sotto o sopra 1?

Capitolo 12: Ritorno alla doccia ↗

Fai scorrere finché il totale supera i 180°, tra 0,45 e 0,46 rad/s. Proprio all'attraversamento, a circa 0,457 rad/s, l'oscillazione torna grande 0,72 volte, quindi la mano potrebbe essere circa 1 ÷ 0,72 ≈ 1,4 volte più energica prima di arrivare al bordo.

Parole nuove

Margine di guadagno
Per quante volte potresti moltiplicare il guadagno del controllore prima che il guadagno d'anello arrivi a 1 alla velocità dei −180°. Sotto 1 = oltre il precipizio.
Margine di fase
Alla velocità in cui il guadagno d'anello vale esattamente 1, quanto ritardo in più servirebbe per arrivare a −180°. Più è, più sei al sicuro; 45°–60° è un obiettivo comune (la deviazione qui sotto spiega perché).

Per la nostra doccia, la fase di G∘G_{\circ} arriva a −180° a ω≈0,457\omega \approx 0{,}457 rad/s, un periodo di oscillazione di circa 13,8 s. La mano normale (k=0,008k = 0{,}008) ha un margine di guadagno di appena 1,4 circa, e un margine di fase di circa 22° (dove il suo guadagno d'anello vale 1, a 0,34 rad/s, la fase è −158°). Vicino al bordo! La mano energica raddoppia il guadagno: 1,4 ÷ 2 = 0,7, oltre il precipizio. Ecco esattamente perché non si assestava mai.

Prima indovina! Supponiamo che il tubo fosse lungo il doppio (un ritardo di 5 s). Cosa succede al guadagno della mano più grande che resta stabile?

Capitolo 12: Ritorno alla doccia ↗

Capitolo 12: Ritorno alla doccia ↗

Mika: Tubo doppio, mano dimezzata o quasi. E al bordo anche le oscillazioni rallentano: quasi 24 secondi!

Theo: Va bene, ritiro tutto. Un ritardo non rende solo le cose più lente: si mangia il margine di fase, e il margine di fase è l'unica cosa tra te e un'oscillazione.

La tua doccia del Capitolo 0, spiegata

Ecco la tua prova del Capitolo 0. Se le tue oscillazioni erano vicine al bordo, il loro periodo dovrebbe essere vicino a quello che prevede l'anello. C'è un colpo di scena: le persone non sono tutte lo stesso tipo di controllore.

Capitolo 12: Ritorno alla doccia ↗

Una mano a velocità (gira la manopola finché l'acqua sembra sbagliata) è un controllore I: il suo bordo è a oscillazioni di 13,8 s. Una mano a posizione ("è troppo calda, metti la manopola qui") si comporta come un controllore P: G∘(s)=45K e−2,5s/(s+1)G_{\circ}(s) = 45K\,e^{-2{,}5s}/(s+1). Una mano a posizione non ha pila, quindi niente 90° suoi: tubo e smussatore da soli devono arrivare a 180°, e ci arrivano a un'oscillazione più rapida, ω≈0,95\omega \approx 0{,}95 rad/s (la velocità capovolta di June). Vuol dire oscillazioni di 6,6 s, per qualsiasi KK sopra circa 0,031 di manopola per °C. La maggior parte delle persone è un misto. (La mano robot normale oscilla un po' più lenta di 13,8 s, circa 15,5 s, perché sta appena dentro il bordo; le oscillazioni della mano energica, circa 11,6 s, sono schiacciate dalla manopola che arriva a fine corsa.)

Capitolo 12: Ritorno alla doccia ↗

Mika: Quindi quando giravo la manopola di scatto su un punto, ero una mano a posizione. Le mie oscillazioni di sei secondi erano il tubo e lo smussatore, non le mie dita imbranate.

Progetta una doccia robot

Ora battiamo le nostre mani. Il robot usa PI: P reagisce all’errore di temperatura attuale e I ricorda l’errore accumulato. Insieme fanno reagire subito la manopola mentre I trova l’impostazione duratura.

June: Facile. Uso guadagni grandi, come sul drone: veloce e scattante. Sono già impostati. Guardate qua!

Capitolo 12: Ritorno alla doccia ↗

June: …pendola: un'oscillazione permanente, caldo–freddo–caldo, ogni 6 secondi, come una mano a posizione nel Capitolo 0. I guadagni grandi hanno spinto la velocità di guadagno 1 oltre la velocità dei −180°. Nessun margine di fase.

Theo: Il drone reggeva guadagni grandi perché non aveva quasi nessun ritardo. Qui, robusto vuol dire delicato: lascia margine per il ritardo. Prova i miei guadagni delicati, circa Kp≈1K_p \approx 1 e Ki≈0,6K_i \approx 0{,}6.

P reagisce all'adesso, I alla pila. Aggiungere un po' di adesso muove la manopola un po' prima, e questo restituisce fase: è l'anticipo di fase, circa 37° alla vecchia velocità dei −180° con i guadagni di Theo.

Un PI con buoni margini diventa comodo in circa 9,4 secondi, senza grandi oscillazioni ripetute. Batte la mano normale (che ha passato quasi un minuto a oscillare prima di calmarsi) e la maggior parte degli umani. Però non può battere la fisica: niente può reagire ad acqua che non è ancora arrivata. Gli ingegneri hanno un trucco per i ritardi lunghi, il predittore di Smith, che fa girare una piccola simulazione del tubo dentro il controllore. Ma questa è una storia per un altro quaderno.

La vera lezione è la robustezza. Il tuo modello della doccia non è mai perfetto: il tubo potrebbe essere più lungo, lo scaldabagno più debole. Un margine dice quanto può sbagliare il modello, con un numero che si sente. Il margine di fase (in radianti) diviso per la velocità di guadagno 1 è un margine di ritardo: quanti secondi di tubo in più l'anello può sopportare.

Capitolo 12: Ritorno alla doccia ↗

Theo: La mano normale sopporta solo circa 1,1 s di tubo in più. Il mio robot delicato ne sopporta 3,5. Ecco cosa vuol dire robusto.

Cosa abbiamo capito adesso

Cosa abbiamo capito

  • Un ritardo LL sfasa un'oscillazione di ωL\omega L: niente per le oscillazioni lente, tanto per quelle veloci.
  • Una pila (I) sfasa ogni oscillazione di 90°; uno smussatore fino a 90°; un tubo di ωL\omega L, senza limite.
  • Mandare dentro onde sinusoidali e misurare guadagno e fase dà la risposta in frequenza; disegnata, è un diagramma di Bode, ed è semplicemente G(iω)G(i\omega).
  • In questo semplice anello della doccia, un’oscillazione persistente inizia quando la fase d’anello arriva a −180° con guadagno 1; con più guadagno, le oscillazioni crescono finché intervengono i limiti.
  • Il margine di guadagno e di fase misurano la distanza da quel precipizio. Un ritardo più lungo vuol dire meno margine, quindi serve un controllo più delicato.
  • Le nostre oscillazioni del Capitolo 0 erano un controllore (noi) con troppo poco margine.

Ora abbiamo tutti gli attrezzi: retroazione, PID, poli, margini. È ora della prova vera: vento, un pacco che si sgancia e un sensore rumoroso. Riesci a tenere il drone a 2 m?

Capitolo 12: Ritorno alla doccia ↗