Montagem do aquecedor Sous-vide com
Arduino
V. 1
07 nov. 2020
Sumário
1 Modelagem 1 1.1 Estratégia de calibragem . . . 3 2 Estimando 𝑫 e 𝑨 32.1 Estimando 𝛼 e 𝛽 num modelo estatístico 𝑌 = 𝛼 + 𝛽𝑋 . . . 3 2.2 Estimando 𝐷 . . . 4 2.3 Estimando 𝐴 . . . 5 3 Peças 6 3.1 Ebulidor . . . 6 3.2 Relé . . . 6 4 Montagem do circuito 7
1
Modelagem
O aquecedor pode ser modelado de uma maneira simples, embora não tão precisa da seguinte maneira:
Seja 𝑢 (𝑥𝑡) ∈ [0, 1] um controle, ou seja, uma função que vai regular a
por-centagem da potência do ebulidor1. A temperatura da água será 𝑥 (𝑡 ), aquecida
pelo ebulidor à taxa 𝐴𝑢 (com 𝐴 a determinar) e com dissipação de calor à taxa2 𝐷(𝑥 − 𝑥𝑎), ond 𝑥𝑎 é a temperatura ambiente e constante 𝐷 ≥ 00 a determinar. Assim,
𝑥0(𝑡 ) = 𝐴𝑢 (𝑥𝑡) − 𝐷 (𝑥 − 𝑥amb). (1) Seria válido considerar a latência da panela também ao aquecer a água, mas por agora isso será deixado.
O objetivo é, dada uma temperatura terminal 𝐸, encontrar um controle que faça 𝑥 (𝑡 ) → 𝐸 o mais rápido possível, com boa estabilidade.
Se propusermos um controle proporcional 𝑢 (𝑥 ) = [𝑘 (𝐸 − 𝑥 )]10, onde o símbolo [·]1
0é a restrição do valor interno ao intervalo [0, 1]:
[𝑣]1 0 = 0, 𝑣 < 0, 𝑣 , 0 6 𝑣 6 1, 1, 𝑣 > 1,
quando 𝑥 está abaixo de 𝐸 mas próximo de 𝐸, temos a linearização 𝑥0= 𝐴𝑘 (𝐸 − 𝑥 ) − 𝐷 (𝑥 − 𝑥amb) = (−𝐴𝑘 − 𝐷)𝑥 + 𝐴𝑘𝐸 + 𝐷𝑥amb. Note que 𝑥 = 𝐸 não é ponto de equilíbrio, mas
𝑥eq= 𝐴𝑘 𝐸+ 𝐷𝑥amb 𝐴𝑘+ 𝐷 = 𝐴𝑘 𝐸+ 𝐷 (𝐸 + 𝑥amb− 𝐸) 𝐴𝑘+ 𝐷 = 𝐸 +𝐷(𝑥amb− 𝐸) 𝐴𝑘+ 𝐷 Então um controle meramente proporcional a 𝐸 − 𝑥 está descartado.
Provavelmente um melhor controle é compensar a dissipação de calor já no controle: 𝑢(𝑥 ) = 𝑘(𝐸 − 𝑥 ) +𝐷 𝐴(𝑥 − 𝑥amb) 1 0 . (2)
Dessa forma, para 𝑥 próximo a 𝐸, bilateralmente, 𝑥0= 𝐴𝑘 (𝐸 − 𝑥 ) + 𝐴𝐷
𝐴(𝑥 − 𝑥amb) − 𝐷 (𝑥 − 𝑥amb) = 𝐴𝑘 (𝐸 − 𝑥 ).
Gostaríamos de escolher 𝑘 de forma que o controle esteja ligado quando a temperatura esteja aproximadamente 5° da temperatura terminal 𝐸, ou seja, 𝐸 − 𝑥 = 5 e 5𝑘 + 𝐷𝐴(𝐸 − 𝑥amb) = 1 =⇒ 𝑘 = 1 5 − 𝐷 5𝐴 (𝐸 − 𝑥amb). (3) 2
Aqui seguimos o modelo simples de dissipação de calor de Newton, onde a taxa de variação da temperatura é proporcional à diferença da temperatura atual e a temperatura ambiente.
1.1
Estratégia de calibragem
1 – Medir a temperatura ambiente: Pode-se pedir a temperatura ambiente, sugerir o valor de 30°, ou oferecer a possibilidade de medi-la com o termô-metro da panela.
2 – Medir a potência relativa do ebulidor: Partindo da temperatura ambiente, ligar em 1 o ebulidor e estudar o crescimento da temperatura:
𝑥0= 𝐴 − 𝐷 (𝑥 − 𝑥
amb)
3 – Medir a dissipação: Depois de 20 graus, desligar o ebulidor e estudar a queda do sistema:
𝑥0= −𝐷 (𝑥 − 𝑥
amb).
Com isso calcula-se 𝐷 e depois calcula-se 𝐴.
4 – Ligar o controle: A partir disso, ligar o controle (2) com 𝑘 dado por (3): 𝑢(𝑥 ) = 𝑘(𝐸 − 𝑥 ) +𝐷 𝐴(𝑥 − 𝑥amb) 1 0 .
2
Estimando 𝑫 e 𝑨
Vamos coletar vetores de valores 𝑥𝑎 e 𝑥𝑑 dos valores de 𝑥 respectivamente no
cres-cimento da temperatura e na dissipação, e dos respectivos tempos das medições em vetores 𝑡𝑎 e 𝑡𝑑.
2.1
Estimando 𝜶 e 𝜷 num modelo estatístico 𝒀 = 𝜶 + 𝜷𝑿
Veremos adiante que um caminho para estimar 𝐷 e 𝐴 é modelar variáveis aleatórias 𝑋 e 𝑌 relacionadas pelo modelo linear 𝑌 = 𝛼 + 𝛽𝑋 , e então estimar valores de 𝛼 e 𝛽 que melhor satisfazem o modelo. Vamos reproduzir aqui o método dos mínimos quadrados (MMQ) para estimar 𝛼 e 𝛽.
Suponha que tenhamos 𝑛 amostras (𝑋𝑖, 𝑌𝑖) e vamos assumir o modelo
estatís-tico
𝑌𝑖 = 𝛼 + 𝛽𝑋𝑖+ 𝜖𝑖 (4) Pelo MMQ, estimaremos 𝛼 e 𝛽 que minimizam a soma dos quadrados dos erros 𝜖𝑖,
isto é 𝑆(𝛼, 𝛽) = 𝑛 Õ 𝑖=1 𝜖2 𝑖 = 𝑛 Õ 𝑖=1 (𝑌𝑖− 𝛼 − 𝛽𝑋𝑖) 2.
Esse mínimo acontece no ponto críticode 𝑆 , ou seja, quando 𝜕𝑆𝜕𝛼 = 𝜕𝑆 𝜕𝛽 = 0.
Vamos definir as somas auxiliares 𝑆𝑋 = 𝑛 Õ 𝑖=1 𝑋𝑖, 𝑆𝑌 = 𝑛 Õ 𝑖=1 𝑌𝑖, 𝑆𝑋2 = 𝑛 Õ 𝑖=1 𝑋2 𝑖, 𝑆𝑋 𝑌 = 𝑛 Õ 𝑖=1 𝑋𝑖𝑌𝑖, (5) De 𝜕𝑆𝜕𝛼 = 0 obtemos −2 𝑛 Õ 𝑖=1 (𝑌𝑖 − 𝛼 − 𝛽𝑋𝑖) = 0 =⇒ 𝑛𝛼 + 𝛽 𝑛 Õ 𝑖=1 𝑋𝑖 = 𝑛 Õ 𝑖=1 𝑌𝑖 =⇒ 𝑛𝛼 + 𝛽𝑆𝑋 = 𝑆𝑌 (6) De 𝜕𝑆𝜕𝛽 = 0 obtemos − 2 𝑛 Õ 𝑖=1 (𝑌𝑖 − 𝛼 − 𝛽𝑋𝑖)𝑋𝑖 = 0 =⇒ 𝑛 Õ 𝑖=1 (𝑋𝑖𝑌𝑖− 𝛼𝑋𝑖− 𝛽𝑋 2 𝑖) = 0 =⇒ 𝛼 𝑛 Õ 𝑖=1 𝑋𝑖+ 𝛽 𝑛 Õ 𝑖=1 𝑋2 𝑖 = 𝑛 Õ 𝑖=1 𝑋𝑖𝑌𝑖 =⇒ 𝛼𝑆𝑋 + 𝛽𝑆 𝑋2 = 𝑆𝑋 𝑌 (7) De (6) e (7), montamos o sistema 𝑛 𝑆𝑋 𝑆𝑋 𝑆 𝑋2 𝛼 𝛽 = 𝑆𝑌 𝑆𝑋 𝑌 tiramos que 𝛼 𝛽 = 1 𝑛𝑆 𝑋2− (𝑆𝑋)2 𝑆𝑋2 −𝑆𝑋 −𝑆𝑋 𝑛 𝑆𝑌 𝑆𝑋 𝑌 = 1 𝑛𝑆 𝑋2− (𝑆𝑋)2 𝑆𝑋2𝑆𝑌 − 𝑆𝑋𝑆𝑋 𝑌 𝑛𝑆𝑋 𝑌 − 𝑆𝑋𝑆𝑌 , ou seja, 𝛼 = 𝑆 𝑋2𝑆𝑌 − 𝑆𝑋𝑆𝑋 𝑌 𝑛𝑆𝑋2− (𝑆𝑋)2 , (8) 𝛽 = 𝑛𝑆𝑋 𝑌 − 𝑆𝑋𝑆𝑌 𝑛𝑆𝑋2− (𝑆𝑋)2 . (9)
2.2
Estimando 𝑫
Note que na fase de dissipação,
Essa EDO implica que 𝑥− 𝑥
amb= 𝐶𝑒 −𝐷𝑡
=⇒ ln(𝑥 − 𝑥amb) = ln 𝐶 − 𝐷𝑡
Se tivermos uma amostra (𝑋𝑖, 𝑇𝑖) de 𝑛 valores, onde 𝑋𝑖 são as temperaturas nos
tempos 𝑇𝑖, na fase de dissipação, fazendo 𝑦 = ln(𝑥 − 𝑥amb), temos
𝑦 = ln 𝐶 − 𝐷𝑡 e de (9), estimamos 𝐷 = − 𝑆𝑇𝑆𝑌 − 𝑛𝑆𝑇 𝑌 (𝑆𝑇)2− 𝑛𝑆𝑇2 (10) onde 𝑆𝑇 = 𝑛 Õ 𝑖=1 𝑇𝑖, 𝑆𝑌 = 𝑛 Õ 𝑖=1 ln(𝑋𝑖− 𝑥amb), 𝑆𝑇2 = 𝑛 Õ 𝑖=1 𝑇2 𝑖, 𝑆𝑇 𝑌 = 𝑛 Õ 𝑖=1 𝑇𝑖ln(𝑋𝑖− 𝑥amb).
2.3
Estimando 𝑨
As medições na fase de crescimento da temperatura devem adequar-se ao modelo 𝑥0= 𝐴 − 𝐷 (𝑥 − 𝑥amb) = (𝐴 + 𝐷𝑥amb) − 𝐷𝑥 .
Resolvendo a EDO3, obtemos a expressão
𝑥(𝑡 ) = (𝐴+𝐷𝑥 amb 𝐷 + 𝐶𝑒 −𝐷𝑡 , 𝐷 > 0, 𝐴𝑡 + 𝐶, 𝐷 = 0, onde os parâmetros 𝐴 e 𝐶 são desconhecidos.
Quando 𝐷 > 0,
𝑥(𝑡 ) =
𝐴+ 𝐷𝑥amb 𝐷
+ 𝐶𝑒−𝐷𝑡, um modelo linear para as variáveis 𝑥 e 𝑒−𝐷𝑡. De (8),
𝐴 = 𝐷 𝑆𝑊2𝑆𝑋 − 𝑆𝑊𝑆𝑊 𝑋 𝑛𝑆 𝑊2− (𝑆𝑊)2 − 𝐷𝑥amb (11) onde 𝑆𝑊 = 𝑛 Õ 𝑖=1 𝑒−𝐷𝑇𝑖 , 𝑆𝑋 = 𝑛 Õ 𝑖=1 𝑋𝑖, 𝑆𝑊2 = 𝑛 Õ 𝑖=1 𝑒−2𝐷𝑇𝑖 , 𝑆𝑊 𝑋 = 𝑛 Õ 𝑖=1 𝑒−𝐷𝑇𝑖 𝑋𝑖, 3 A solução da homogênea é 𝑥ℎ= 𝐶𝑒 −𝐷𝑡 e a solução particular é 𝑥𝑝 = 𝐴+𝐷𝑥amb 𝐷 .
Quando 𝐷 = 0, isto é, há bom isolamento, temos 𝑥(𝑡 ) = 𝐴𝑡 + 𝐶 e de (9), estimamos 𝐴= 𝑛𝑆𝑇 𝑋 − 𝑆𝑇𝑆𝑋 𝑛𝑆 𝑇2− (𝑆𝑇)2 (12) com 𝑆𝑇 = 𝑛 Õ 𝑖=1 𝑇𝑖, 𝑆𝑋 = 𝑛 Õ 𝑖=1 𝑋𝑖, 𝑆 𝑇2 = 𝑛 Õ 𝑖=1 𝑇2 𝑖, 𝑆𝑇 𝑋 = 𝑛 Õ 𝑖=1 𝑇𝑖𝑋𝑖,
3
Peças
3.1
Ebulidor
Pensamos em usar um ebulidor de baixa potência, digamos 1000 W em 127 V ou 2000 W para 220 V. Pensamos nas seguintes vantagens:
• uma sintonia fina do ebulidor quando a temperatura estiver perto da tem-peratura de equilíbrio;
• baixa potência implica corrente mais baixa, exigindo menos do relé de estado sólido.
Relaciona-se a potência 𝑃 , a tensão 𝑇 e a corrente 𝐼 pela fórmula 𝑃 = 𝑉 · 𝐼 . Assim, com um ebulidor de 1000 W em 127 V, teremos uma corrente de 7,9 A, pouco menos de 10 A.
3.2
Relé
O relé será usado com a mesma aplicação de um pwm (pulse width modulation, onda quadrada para regular a porcentagem de tempo de aplicação da corrente). Essas mudanças devem poder acontecer com rapidez, e portanto um relé de estado sólido é ideal para essa aplicação. A desvantagem é que esses relés costumam aquecer com a rápida transição dos estados, podendo necessitar resfriamento. A documentação dos fabrica diz que não é necessário refrigeração se a corrente de aplicação (no nosso caso, em torno de 8 A) for até 10% da corrente nominal do relé, a baixas frequências de chaveamento.
Esses relés de estado sólido são relativamente caros4. Para não precisar de refrigeração, o ideal seria um relé de estado sólido de 80 A, mas me darei ao luxo de testar o que acontecerá com o relé de 40 A que já tenho.
No Arduino, implementarei uma variável 𝑢 de controle (com valores no in-tervalo [0, 1], que entrega a fração 𝑢 da potência do ebulidor ligando o relé 𝑢 segundos e desligando-o (1 − 𝑢) segundos.
4
Montagem do circuito
Relé A No comando do relé de estado Ligue o positivo do relé ao pino 10 do Arduino, e o negativo ao GND.
Termômetro Ligue o fio preto ao GND, o vermelho ao 5V do Arduino e o amarelo ao pino 5, juntando os fios vermelho e amarelo com um resistor pull-up 4,7 kΩ5ou 10 kΩ6.
4
Paguei 75 reais pelo meu primeiro, com 40 A de corrente nominal.
5
Amarelo | violeta | vermelho | dourado.
6