Capítulo 12
De volta ao chuveiro
Por que oscilamos, e quão perto da borda estamos?
Capítulo 12: De volta ao chuveiro ↗
O chuveiro, com novos olhos
June: Coloquei o PID do nosso drone no chuveiro (a mesma sensação ágil, ajustada para unidades de manopla). Oscilou quente, frio, quente… igualzinho à Mika no Capítulo 0. O drone nunca fez isso!
Theo: O drone não tem grande atraso. O chuveiro tem 2,5 segundos de tubulação. Vamos finalmente descobrir o que um atraso faz.
O chuveiro tem duas partes lentas: o cano, um atraso puro de 2,5 s, e o suavizador, a cabeça e as paredes do cano esquentando com a constante de tempo do Capítulo 3, s (depois de 1 s ele já fechou 63% da distância até uma nova temperatura).
Primeiro, uma confissão sobre a "mão normal" do Capítulo 0. Ela girava a manopla a uma velocidade proporcional ao quão errada a água parecia: velocidade da manopla , com de manopla por segundo por °C. Uma velocidade proporcional ao erro significa que a posição da manopla é o acúmulo de erros passados. Isso é um controlador I, com .
Mika: Espera, então no Capítulo 0 eu era um controlador PID? Bem, um controlador I. Um muito ansioso.
Atraso é uma defasagem na oscilação
Theo: Eu ainda acho que um atraso só deixa tudo mais lento. Ele não deveria ser capaz de tornar nada instável.
Vamos isolar primeiro o atraso puro do cano. Imagine uma onda senoidal na entrada do cano viajando até o chuveiro sem ser suavizada: a saída tem a mesma forma, mas chega 2,5 s depois. Esse atraso equivale a quanto, em relação a uma oscilação?
Capítulo 12: De volta ao chuveiro ↗
Theo: Espera. Numa oscilação de 5 segundos, a água quente chega exatamente quando a manopla pede frio. Isso não é mais lento. Isso é ao contrário.
O atraso do cano continua sendo 2,5 s, mas o seu atraso de fase depende de quão rápido a onda oscila. Chame o atraso de fase de e o atraso de . Se uma oscilação leva segundos (aqui é um tempo, não uma temperatura), sua velocidade angular é radianos por segundo. Um atraso de fase positivo significa que a saída vem atrás da entrada. Engenheiros escrevem um atraso de fase como um ângulo negativo, por isso os gráficos abaixo descem.
Uma oscilação inteira é uma volta completa do girador do Capítulo 5: 360°, ou 2π radianos. Então o que importa é que fração da oscilação o atraso cobre: .
Capítulo 12: De volta ao chuveiro ↗
Numa oscilação de 5 segundos, 2,5 s é meia oscilação: 180°. Neste modelo de atraso puro, cada crista da saída cai em cima de um vale da entrada. O suavizador do chuveiro também encolhe as oscilações rápidas; vamos acrescentá-lo a seguir.
Mika: Então os mesmos 2,5 s são um empurrãozinho para uma oscilação preguiçosa e uma virada completa para uma rápida. O cano nunca muda. A oscilação, sim!
Medindo o chuveiro uma oscilação de cada vez
Agora acrescente o suavizador ao atraso do cano. A cabeça e as paredes do cano demoram para esquentar, então o chuveiro completo atrasa e suaviza as mudanças da manopla. O plano: oscile a manopla numa velocidade, espere um ritmo estável e meça dois números:
- Ganho (a mesma palavra do ganho do controlador: tamanho que sai ÷ tamanho que entra): quão grande é a oscilação de temperatura, comparada com a oscilação na mistura de água que pedimos.
- Fase: quanto ela está atrasada, como um ângulo: a fração de uma oscilação inteira, vezes 360°.
Cada medição coloca um ponto em dois gráficos. Meça pelo menos cinco velocidades, lentas e rápidas.
Capítulo 12: De volta ao chuveiro ↗
O suavizador encolhe as oscilações rápidas, enquanto o cano continua acrescentando atraso de fase. Essas curvas de ganho e fase em função da velocidade de oscilação formam um diagrama de Bode. Juntas, elas são a resposta em frequência do chuveiro: como ele trata cada velocidade de oscilação. Aqui a entrada é a temperatura da água misturada, então as oscilações lentas têm ganho 1. Se usássemos a fração da manopla como entrada, o ganho seria 45 vezes maior. Para obter a resposta em frequência a partir da fórmula, faça : o mesmo truque que encontrou a borda do Capítulo 11. (Funciona porque o chuveiro sozinho é estável, então suas oscilações entram num ritmo constante que podemos medir.)
O que o suavizador faz com um girador
Theo: O truque do Capítulo 4 de novo: chutar que a resposta é o mesmo girador, só com outro tamanho e outro ângulo.
Coloque o girador na regra do suavizador e a seta precisa satisfazer . Setas do Capítulo 7: tem comprimento e aponta para cima no ângulo . Dividir por ela encolhe por esse comprimento e gira para trás por esse ângulo. As oscilações lentas quase não percebem. As rápidas são espremidas e se atrasam rumo a um quarto de volta, mas nunca passam dele.
Capítulo 12: De volta ao chuveiro ↗
June: Achei! Perto de 0,95 rad/s o chuveiro sozinho vira uma oscilação de cabeça para baixo. Guardem essa velocidade.
Quão perto do precipício?
Agora feche a malha: mão → manopla → cano → pele → mão. Siga uma oscilação por todo o caminho. Para a mão do Capítulo 0, a volta pela malha é (um circulozinho de malha, porque já é o atraso):
A pilha de uma oscilação
Mika: Minha mão empilha erro. O que uma pilha faz com uma oscilação?
A área sob um cosseno é um seno, um quarto de oscilação atrás: 90° de atraso de fase, em qualquer velocidade. E a pilha é maior para oscilações lentas, porque cada lombada dura mais antes de se cancelar: o tamanho vai como . O Capítulo 5 disse que a velocidade é vezes a posição. Empilhar é o contrário: dividir por . Esse é o na malha.
A realimentação subtrai (erro = alvo − temperatura). Isso é um ×(−1), a meia-volta do Capítulo 5, então a onda se inverte uma vez. Se a volta pela malha também a atrasa em exatamente 180°, as duas inversões se cancelam, e cada correção chega perfeitamente no ritmo do balanço, como empurrar um balanço de parquinho no momento certo. Se a malha devolve a onda do mesmo tamanho (ganho 1), o balanço se mantém sozinho; maior que 1, ele cresce. É de novo o do Capítulo 10, sobre a linha : uma volta que retorna invertida e do mesmo tamanho é .
June: Para esta malha simples do chuveiro, a fase passa por −180° em uma velocidade de oscilação relevante. Encontre essa velocidade no diagrama de fase e depois leia o ganho de malha na mesma velocidade no diagrama de ganho. Ele está abaixo ou acima de 1?
Capítulo 12: De volta ao chuveiro ↗
Deslize até o total passar de 180°, entre 0,45 e 0,46 rad/s. No cruzamento exato, cerca de 0,457 rad/s, o balanço volta com 0,72 vez o tamanho, então a mão poderia ser cerca de 1 ÷ 0,72 ≈ 1,4 vez mais forte antes de chegar à borda.
Palavras novas
- Margem de ganho
- Quantas vezes você poderia multiplicar o ganho do controlador antes que o ganho de malha chegue a 1 na velocidade de −180°. Abaixo de 1 = passou do limite.
- Margem de fase
- Na velocidade em que o ganho de malha é exatamente 1, quanto atraso de fase extra seria preciso para chegar a −180°. Mais é mais seguro; 45°–60° é um alvo comum (o parêntese abaixo explica por quê).
Margem de fase é amortecimento disfarçado
June: Por que 45° a 60°? Quem escolheu isso?
Para as malhas simples do Capítulo 7, margem de fase e razão de amortecimento andam juntas. Uns 43° combinam com ζ = 0,4 (25% de sobressinal), 52° com ζ = 0,5 (16%) e 59° com ζ = 0,6 (menos de 10%). Esses pares são exatos para a malha mais simples do Capítulo 7, . Então uma margem de 45°–60° significa ζ ≈ 0,4–0,6: mais saltitante que o 0,7–1 do Capítulo 7. Mesmo assim é uma meta comum, porque uma margem também é uma distância de segurança até o precipício (o quanto o modelo pode estar errado), não só uma promessa sobre o sobressinal. Com um cano na malha, é um bom guia, não uma lei exata.
No nosso chuveiro, a fase de chega a −180° em rad/s, um período de oscilação de cerca de 13,8 s. A mão normal () tem uma margem de ganho de só cerca de 1,4, e uma margem de fase de cerca de 22° (onde o ganho de malha é 1, em 0,34 rad/s, a fase é −158°). Pertinho da borda! A mão mais forte dobra o ganho: 1,4 ÷ 2 = 0,7, precipício abaixo. É exatamente por isso que ela nunca se acomodou.
Preveja primeiro! Suponha que o cano tivesse o dobro do comprimento (um atraso de 5 s). O que acontece com o maior ganho de mão que ainda é estável?
Capítulo 12: De volta ao chuveiro ↗
Capítulo 12: De volta ao chuveiro ↗
Mika: O dobro de cano, mais ou menos metade de mão. E os balanços na borda também ficam mais lentos: quase 24 segundos!
Theo: Tá, retiro o que disse. Um atraso não só deixa as coisas mais lentas: ele come margem de fase, e a margem de fase é a única coisa entre você e uma oscilação.
O seu chuveiro do Capítulo 0, explicado
Aqui está a sua própria experiência do Capítulo 0. Se as suas oscilações estavam perto do limite, o período delas deve ser próximo do que a malha prevê. Tem uma reviravolta: as pessoas não são todas o mesmo tipo de controlador.
Capítulo 12: De volta ao chuveiro ↗
Uma mão de velocidade (girar a manopla enquanto parece errado) é um controlador I: sua borda fica em balanços de 13,8 s. Uma mão de posição ("tá quente demais, coloca a manopla aqui") age como um controlador P: . Uma mão de posição não tem pilha, então não tem 90° próprios: o cano e o suavizador sozinhos precisam chegar a 180°, o que acontece numa oscilação mais rápida, rad/s (a velocidade de cabeça para baixo da June). Isso significa balanços de 6,6 s, para qualquer acima de cerca de 0,031 de manopla por °C. A maioria das pessoas é uma mistura. (A mão normal do robô balança um pouco mais devagar que 13,8 s, cerca de 15,5 s, porque fica logo antes da borda; os balanços da mão mais forte, cerca de 11,6 s, são achatados pela manopla batendo nos extremos.)
Capítulo 12: De volta ao chuveiro ↗
Mika: Então, quando eu girava a manopla de uma vez direto para um ponto, eu era uma mão de posição. Meus balanços de seis segundos eram o cano e o suavizador, não dedos desajeitados.
Projete um chuveiro robô
Agora vamos vencer nossas próprias mãos. O robô usa PI: o P reage ao erro de temperatura atual, e o I lembra o erro acumulado. Juntos, eles deixam a manopla responder logo, enquanto o I encontra a posição certa para durar.
June: Fácil. Vou usar ganhos grandes, como no drone: rápido e ágil. Já estão configurados. Olha só!
Capítulo 12: De volta ao chuveiro ↗
June: …ele fica oscilando sem parar, quente–frio–quente, a cada 6 segundos, como uma mão de posição no Capítulo 0. Os ganhos grandes empurraram a velocidade de ganho 1 para além da velocidade de −180°. Margem de fase nenhuma.
10 s no papel, 6 s no chuveiro
Os ganhos da June têm por segundo, que é exatamente . O zero do PI cai em cima do polo do suavizador e o cancela, deixando . No papel, essa malha chega a −180° em , um balanço de 10 s. Mas a malha da June está muito além da borda, então a manopla bate de um extremo ao outro, e esses balanços batidos vêm a cada 6,3 s mais ou menos: perto dos 6,6 s da mão de posição.
Theo: O drone aguentava ganhos grandes porque quase não tinha atraso. Aqui, robusto quer dizer suave: deixe margem para o atraso. Experimente meus ganhos suaves, algo como e .
O P reage ao agora, o I à pilha. Acrescentar um pouco de agora move a manopla um pouco antes, o que devolve fase: avanço de fase, cerca de 37° na antiga velocidade de −180° com os ganhos do Theo.
Um PI com boa margem se acomoda em cerca de 9,4 segundos, sem grandes oscilações repetidas. Isso supera a mão normal (que passou quase um minuto oscilando antes de se acalmar) e a maioria dos humanos. Mas não pode vencer a física: nada pode reagir à água que ainda não chegou. Os engenheiros têm um truque para atrasos longos, o preditor de Smith, que executa uma pequena simulação do cano dentro do controlador. Isso é história para outro caderno.
Robustez é a verdadeira lição. Seu modelo do chuveiro nunca é perfeito: o cano pode ser mais longo, o aquecedor mais fraco. Uma margem diz o quanto o modelo pode estar errado, como um número que dá para sentir. A margem de fase (em radianos) dividida pela velocidade de ganho 1 é uma margem de atraso: quantos segundos de cano extra a malha aguenta.
Capítulo 12: De volta ao chuveiro ↗
Theo: A mão normal só aguenta cerca de 1,1 s de cano extra. Meu robô suave aguenta 3,5 s. É isso que robusto quer dizer.
Cano mais curto ou aquecedor mais rápido?
Mika: A gente não pode simplesmente comprar um aquecedor mais rápido?
Reduzir pela metade o tempo de suavização (τ = 0,5 s) só eleva a borda da mão de velocidade de 1,12 para 1,21 %/(°C·s). Reduzir o cano pela metade (1,25 s) a eleva para 2,06. Para uma mão de posição, o aquecedor mais rápido é ainda pior: sua borda cai de 0,031 para 0,025 de manopla por °C, porque o suavizador estava encolhendo em silêncio as oscilações rápidas. O inimigo é o atraso, não a lentidão.
Como o robô realmente gira a manopla
O código do robô escreve o PI como uma velocidade da manopla: o I continua movendo a manopla enquanto houver erro, e o P reage a uma mudança no erro. Na partida, o P também dá à manopla um movimento imediato baseado no erro atual. Isso corresponde à regra de posição, exceto quando a manopla chega a um batente.
O que entendemos agora
O que descobrimos
- Um atraso defasa uma oscilação em : nada para oscilações lentas, muito para as rápidas.
- Uma pilha (I) atrasa toda oscilação em 90°; um suavizador, em até 90°; um cano, em , sem limite.
- Alimentar com ondas senoidais e medir ganho e fase dá a resposta em frequência; plotada, é um diagrama de Bode, e é só .
- Para esta malha simples do chuveiro, a oscilação autossustentada começa quando a malha atinge −180° de fase com ganho 1; ganho maior faz os balanços crescerem até que os limites intervenham.
- Margem de ganho e margem de fase medem a distância até esse precipício. Atraso maior significa menos margem, então você precisa de um controle mais suave.
- Nossos balanços do Capítulo 0 eram um controlador (nós) com margem pequena demais.
Agora temos todas as ferramentas: realimentação, PID, polos, margens. Hora do teste de verdade: vento, uma entrega de pacote e um sensor ruidoso. Você consegue manter o drone a 2 m?