Ir para conteúdo

Projeto de Automação / PID para Espresso


cabeca

Postagens recomendadas

Pessoal,
Sei que já existem vários PID's disponíveis no mercado, dos mais simples que tem processador com código especifico para isso, bastando colocar um termopar ou equivalente na caldeira e está pronto, até os mais avançados com outros níveis de programação como o PID Silvia, Mecoffee etc.. Passando claro pelos intermediários que são aqueles controladores PID porém com alguma modificação para suportar caldeira, timer de pré infusão etc...

Todos, sem excessão, me incomodam em algum ponto. Os mais simples são basicamente um controle de temperatura mais fino, basta? Basta, sem dúvida, mas minha alma de "maker" fala... Tem que ter mais! Tem que ter mais! hehehehehe, os mais avançados basicamente me incomodam pq o preço é um tanto salgado para os padrões brasileiros, custando até 800/900 reais sem contar impostos, se contar com eles é um valor maior ainda. Em geral, principalmente na Gaggia, as máquinas ficam parecendo uma fantasia de robocop de mal gosto, com exceção do meCoffee, porém esse não tem a possibilidade de ter um display mesmo que você queira, e até para uma coisa trivial como acompanhar a temperatura em tempo real, você é obrigado a colocar o celular ou tablet em ação do lado da máquina... 

Enfim, a idéia é ter uma automação na máquina, principalmente com o PID, porém com mimos extra. Um projeto totalmente DIY, baseado em ferramentas e arquitetura opensource para livre alteração de hardware e software. Possivelmente será comercializado em formato de kit para máquinas de entrada.

Fiz um levantamento inicial das características que desejo, e gostaria de comentários para poder ajustar as prioridades e acrescentar/remover funcionalidades bem como ajustar até mesmo a plataforma a ser utilizada na construção do projeto.

Da plataforma:

Será baseada em uma placa micro controladora com chip ESP8266, provavelmente nodeMCU pela quantidade de pinos disponíveis. Este chip tem características boas de processamento e armazenamento além de possuir conexão WIFI e Bluetooth, podendo receber atualizações de software por OTA, sem fio, isso quer dizer que não precisa desmontar a máquina para conectar cabos e atualizar por exemplo.
Terá interface web para configuração e acompanhamento da extração via celular/tablet ou computador porém também terá um painel LCD ou OLED com comandos externos para não precisar a interface web, este será opcional, já que para algumas máquinas o espaço é restrito e talvez o usuário deseja utilizar apenas a interface web.

Das funções:

Controle temperatura via PID (extração e vapor)
Contador de tempo de extração
Desligar e ligar em horários e dias específicos
Pre infusão com controle da bomba
"Receitas" com uso das configurações acima para espresso/ristretto/americano por exemplo (isso será alvo de mais estudos).

Referências:
https://wiebebrewing.com/espressi-o/
https://github.com/Schm1tz1/ESPressIoT
http://www.cyberelectronics.org/?p=458
https://mecoffee.nl/

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

Caso possa te ajudar, tem vários projetos com arduino. Aqui no fórum tem o @Guilherme Torres que só não faz chover com a fiamma dele.
Vc tb não gostaria de colocar uma função de controlar a pressão da máquina, fazendo pressure profilng?

Link para o comentário
Compartilhar em outros sites

Fiz o controle da máquina que uso no trabalho há tempos, e usei Arduino mesmo à época. Já pensei em substituir pelo ESP8266 ou ESP32, e talvez até brincar com Lua ou Python. Acho que é uma boa escolha.

 

Link para o comentário
Compartilhar em outros sites

Acho a proposta muito bacana, @cabeca!

Acompanhando as postagens do @Carneiro desde muitos anos atrás eu já brinquei bastante com PID, tanto com módulos prontos (feios mas práticos) quanto com circuitos feitos em placa padrão usando microcontrolador Atmel. Não cheguei a usar Arduino nem essas plaquinhas prontas de desenvolvimento, mas já vi algumas opções online que achei muito interessantes.

Uma coisa que descobri na versão com Atmel foi que fazer um bom isolamento térmico é muito importante pra estabilidade do sistema. Vale pesquisar bem os componentes antes de começar os experimentos, e depois considerar que todos fabricantes exageram quanto as capacidades dos componentes, ou ignoram as flutuações numa margem maior do que a prometida.

Sobre controlar a pressão da bomba vibratória com PWM, leve em consideração que o sistema auto-oscilante mecânico desse tipo de bomba possui uma faixa de instabilidade fora da sua histerese que provoca rápida deterioração da esfera da válvula de ciclo anti-retorno, então aquele tipo de ajuste linear e sem limites que o Torres e tantos outras estão usando tende a danificar a bomba muito depressa. Se fosse fácil fazer controle livre de pressão com bombas vibratórias, todos estariam fazendo. É necessário descobrir e escolher quais das sub-harmônicas mecânicas do modelo de bomba escolhido/presente utilizar para minimizar o desgaste acelerado. Dá pra incluir um sensor de carga (se a plaquinha já não tiver) e correlacionar variações não proporcionais com a largura de pulso em uso, identificando as ressonâncias mecânicas e incluindo uma rotina de "ajuste fino" por realimentação.

Pelo que medi, alguns módulos GICAR, por exemplo, usam um sistema simples de sensor de feedback de corrente que atua em uma faixa predeterminada desejada de larguras de pulso (uma certa taxa em torno de 82% de ciclo no módulo utilizado pela ECM) para reduzir a pressão da bomba entre 1/3 e 2/3 da nominal. Mesmo trocando de bomba (seja o mesmo ou outro modelo, inserem-se variações nas especificações da bomba), o sistema se ajusta a cada acionamento dentro dessa faixa para oferecer algum nível de pré-infusão. A Breville usa algo parecido na Dual Boiler, mas com parâmetros mais flexíveis por ser algo configurável em faixas (de porcentagem) pelo usuário, sendo assim mais propenso a danificar a bomba, que tem de ser trocada com intervalos curtos de tempo, comparando-se com modelos sem pré-infusão com pressão reduzida.

Boa diversão!

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Talvez eu tenha uma placa que foi feita no escritório da Ulka da Coreia do Sul. Tinha 2, uma fiz caca e queimei. Vou procurar.

Detalhe sobre a máquina que tenho no trabalho, não uso vibratória, é uma MGFR da Fluid-o-tech, de engrenagem e já com circuito de controle no motor DC. Moleza B)

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

5 horas atrás, Carneiro disse:

Fiz o controle da máquina que uso no trabalho há tempos, e usei Arduino mesmo à época. Já pensei em substituir pelo ESP8266 ou ESP32, e talvez até brincar com Lua ou Python. Acho que é uma boa escolha.

 

Carneiro, eu vou utilizar o ESP8266, porém não vou usar LUA nem Python, será C ou sketchs de Arduino, pois já tenho uma boa experiencia na contribuição de código de um controlador PID/Automação para o mercado cervejeiro, que é uma evolução de um projeto de sucesso utilizado em Arduino. Chama-se BrewManiacEX.

Sobre a bomba, eu não tinha a menor idéia de como essas bombas trabalhavam, vou checar melhor a construção e trabalho dela depois da aula que o @Cabral deu no post aí em cima...
Existe uma possibilidade para não trocar a bomba, meio maluca, seria uma válvula de agulha eletrônica com um sensor de pressão na linha, isso permitiria não um controle da bomba, mas um controle de alívio para fazer o excesso retornar ao reservatório, com uma OPV eletrônica, os problemas são: mais adição de componentes, maiores os problemas gerados...  estou de olho em outro projeto, vou citar no post do Cabral em seguida... Mas diga aí... tem post do teu projeto? fotos? #curiosidade.

3 horas atrás, Igor Coutinho disse:

Já leu sobre o espressuino? http://www.cyberelectronics.org/?p=315

 

Como nada se cria, tudo se copia, acredito que lhe servirá de inspiração...

Opa! sim, é uma das referencias  que estão no post original! :-)

11 horas atrás, viniesp disse:

Caso possa te ajudar, tem vários projetos com arduino. Aqui no fórum tem o @Guilherme Torres que só não faz chover com a fiamma dele.
Vc tb não gostaria de colocar uma função de controlar a pressão da máquina, fazendo pressure profilng?

Já troquei uma idéia com o Guilherme, ele foi um dos que me aconselharam a comprar o NEMOX, que pelo que li vc tb tinha e está com o Edu Gurjão, certo? heheheh

Sobre a pressão, dá uma olhada na citação que fiz pro Cabral abaixo...

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Cabral disse:

Acho a proposta muito bacana, @cabeca!

Acompanhando as postagens do @Carneiro desde muitos anos atrás eu já brinquei bastante com PID, tanto com módulos prontos (feios mas práticos) quanto com circuitos feitos em placa padrão usando microcontrolador Atmel. Não cheguei a usar Arduino nem essas plaquinhas prontas de desenvolvimento, mas já vi algumas opções online que achei muito interessantes.

Uma coisa que descobri na versão com Atmel foi que fazer um bom isolamento térmico é muito importante pra estabilidade do sistema. Vale pesquisar bem os componentes antes de começar os experimentos, e depois considerar que todos fabricantes exageram quanto as capacidades dos componentes, ou ignoram as flutuações numa margem maior do que a prometida.

Sobre controlar a pressão da bomba vibratória com PWM, leve em consideração que o sistema auto-oscilante mecânico desse tipo de bomba possui uma faixa de instabilidade fora da sua histerese que provoca rápida deterioração da esfera da válvula de ciclo anti-retorno, então aquele tipo de ajuste linear e sem limites que o Torres e tantos outras estão usando tende a danificar a bomba muito depressa. Se fosse fácil fazer controle livre de pressão com bombas vibratórias, todos estariam fazendo. É necessário descobrir e escolher quais das sub-harmônicas mecânicas do modelo de bomba escolhido/presente utilizar para minimizar o desgaste acelerado. Dá pra incluir um sensor de carga (se a plaquinha já não tiver) e correlacionar variações não proporcionais com a largura de pulso em uso, identificando as ressonâncias mecânicas e incluindo uma rotina de "ajuste fino" por realimentação.

Pelo que medi, alguns módulos GICAR, por exemplo, usam um sistema simples de sensor de feedback de corrente que atua em uma faixa predeterminada desejada de larguras de pulso (uma certa taxa em torno de 82% de ciclo no módulo utilizado pela ECM) para reduzir a pressão da bomba entre 1/3 e 2/3 da nominal. Mesmo trocando de bomba (seja o mesmo ou outro modelo, inserem-se variações nas especificações da bomba), o sistema se ajusta a cada acionamento dentro dessa faixa para oferecer algum nível de pré-infusão. A Breville usa algo parecido na Dual Boiler, mas com parâmetros mais flexíveis por ser algo configurável em faixas (de porcentagem) pelo usuário, sendo assim mais propenso a danificar a bomba, que tem de ser trocada com intervalos curtos de tempo, comparando-se com modelos sem pré-infusão com pressão reduzida.

Boa diversão!

Cabral, confesso que sei pouco sobre as características mecânicas e modo de operação da bomba, mas já imaginava que PWM não seria uma boa opção por conta do ciclo do pistão da bomba, e no caso do dimmer/triac seria manual por conta restrições de carga nos sistemas eletrônicos de dimmer/triac.
Um texto muito bacana de um projeto para controle de bomba é o deste link: http://espresso-for-geeks.kalaf.net/features/pressure-profiling/ ele elenca muito bem os prós e contras de cada modelo de operação, por pulso, frequencia, controle de ciclo etc... 

Como falei mais cedo, uma possibilidade é simplesmente deixar a bomba quieta e controlar uma válvula de agulha com motor de passo (existe pronta para aplicação em sistemas de gás e outros), mandando o excesso de pressão para o reservatório, mas isso adiciona mais componentes ao sistema e eu quero evitar isso.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Não tenho nada documentado, fiz com pressa... 

Uso PT100 mas tenho um shield bacana que resolve isso. Claro que encareceu... O resto é simples, SSR pra potência, relé pra 3 vias, 0 a 5V pra bomba.

Controlar uma válvula de desvio pra regular fluxo/pressão é muito legal. Atende a qualquer bomba.

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
Em 15/03/2019 at 19:57, Cabral disse:

Acho a proposta muito bacana, @cabeca!

Acompanhando as postagens do @Carneiro desde muitos anos atrás eu já brinquei bastante com PID, tanto com módulos prontos (feios mas práticos) quanto com circuitos feitos em placa padrão usando microcontrolador Atmel. Não cheguei a usar Arduino nem essas plaquinhas prontas de desenvolvimento, mas já vi algumas opções online que achei muito interessantes.

Uma coisa que descobri na versão com Atmel foi que fazer um bom isolamento térmico é muito importante pra estabilidade do sistema. Vale pesquisar bem os componentes antes de começar os experimentos, e depois considerar que todos fabricantes exageram quanto as capacidades dos componentes, ou ignoram as flutuações numa margem maior do que a prometida.

Sobre controlar a pressão da bomba vibratória com PWM, leve em consideração que o sistema auto-oscilante mecânico desse tipo de bomba possui uma faixa de instabilidade fora da sua histerese que provoca rápida deterioração da esfera da válvula de ciclo anti-retorno, então aquele tipo de ajuste linear e sem limites que o Torres e tantos outras estão usando tende a danificar a bomba muito depressa. Se fosse fácil fazer controle livre de pressão com bombas vibratórias, todos estariam fazendo. É necessário descobrir e escolher quais das sub-harmônicas mecânicas do modelo de bomba escolhido/presente utilizar para minimizar o desgaste acelerado. Dá pra incluir um sensor de carga (se a plaquinha já não tiver) e correlacionar variações não proporcionais com a largura de pulso em uso, identificando as ressonâncias mecânicas e incluindo uma rotina de "ajuste fino" por realimentação.

Pelo que medi, alguns módulos GICAR, por exemplo, usam um sistema simples de sensor de feedback de corrente que atua em uma faixa predeterminada desejada de larguras de pulso (uma certa taxa em torno de 82% de ciclo no módulo utilizado pela ECM) para reduzir a pressão da bomba entre 1/3 e 2/3 da nominal. Mesmo trocando de bomba (seja o mesmo ou outro modelo, inserem-se variações nas especificações da bomba), o sistema se ajusta a cada acionamento dentro dessa faixa para oferecer algum nível de pré-infusão. A Breville usa algo parecido na Dual Boiler, mas com parâmetros mais flexíveis por ser algo configurável em faixas (de porcentagem) pelo usuário, sendo assim mais propenso a danificar a bomba, que tem de ser trocada com intervalos curtos de tempo, comparando-se com modelos sem pré-infusão com pressão reduzida.

Boa diversão!

Iai grande Cabral !!! Rapaiz não consigo enxergar a relação entre "rápida deterioração da esfera da válvula de ciclo anti-retorno" e -" faixa de instabilidade fora da sua histerese", teria algum artigo para me indicar leitura ?

Link para o comentário
Compartilhar em outros sites

Grande @felipe magaldi!

Quando eu tava dando manutenção na BDB, olhando o sinal no osciloscópio, percebi que a bobina da bomba tava pulsando de volta pro circuito quando a tensão (medida com multímetro True-RMS) caia na faixa de "ruído", abaixo da tensão de armar mas acima da de desarmar o solenoide, a despeito de haver um diodo "invertido" no circuito pra evitar esse pulso.

Comecei a fazer experimentos medindo as variações da forma de onda, além do pulso de relaxação da bobina descarregando "invertida" (o diodo do circuito da BDB tava aberto, troquei por um schottky, mais rápido, e também um modelo mais parrudo), nessa faixa o solenoide não completava o curso, dando várias osciladas dentro do mesmo pedaço de ciclo que vinha do regulador PWM... Bem naquele efeito "campainha" da bomba em que a máquina fica com pouca pressão.

A bomba deveria oscilar em 120HZ, ressonando com os semiciclos dos 60Hz da rede, o que é o esperado. Bombas de 50Hz são tunadas para oscilar em 100Hz e as híbridas 50/60Hz são tunadas para 110Hz, gerando ineficiência em qualquer situação, o que requer uma bomba mais forte para dar resultados satisfatórios. Sugiro evitar essas versões 50/60 e escolher uma ou outra, principalmente se for brincar com PWM. Não tô achando agora, mas numa postagem num forum gringo de café, um usuário fez medidas bem claras do problema de operar fora da frequência, mostrando a pressão final e a geração de calor de bombas alimentadas com rede fora da frequência de ressonância.

No caso dos meus testes, com o êmbolo cumprindo apenas parte do curso, a bomba dava pulinhos de pressão reduzida de menor duração, com 2 ou 3 pulsos de aproximadamente 1,1ms (o que dá uns 900Hz) dentro de um "momento" de uns 2,2ms a 3,3ms dentro de cada período de 8,3ms (meio ciclo de 60Hz). Em vez de a esfera "bater" no orifício 120 vezes por segundo, chegou a bater 350 vezes em alguns ajustes do PWM da alimentação da bomba durante a P.I. A despeito de a bomba ter menos pressão no sentido do bombeamento, a pressão da mola no retorno é a mesma, só que deduzo ser com um pouco menos de momento de inércia (menor curso realizado), dando ainda uma boa pancada com a esfera no orifício.

Por fim, deduzi que o desgaste prematuro por "horas de uso" da bomba seria consequência dessa faixa de operação anômala.

Troquei o kit de reparo (esfera, mola e o-rings) duas vezes em menos de 2 anos, tendo a esfera reduzido em tamanho proporcionalmente 3x mais rápido em número de horas de acionamento do que uma bomba igual operando sem PWM. Como medi sempre algo entre 300 e 350 oscilações irregulares dentro de um segundo durante cada pré-infusão (usei o contator de rampas do meu já antigo Tektronix digital), a esfera acabou comutando entre 2,5x e 3x mais do que se estivesse operando normalmente em 120 oscilações regulares por segundo. Mas, sendo a pré-infusão de 8 segundos e a extração com no mínimo mais 22 a 40 segundos na pressão regular, acabou não batendo com ter de trocar o "kit de reparo" em 1/3 do prazo previsto. Por algum motivo, o PWM causa mais desgaste do que apenas oscilar a mais.

Olhando a forma de onda e considerando que o diodo original de retorno de corrente da bobina queima facilmente, teorizo que um fator seja excesso de calor causado pelo baixo rendimento durante esse momento de instabilidade. Mas não tenho como fazer testes melhores sem um laboratório completo.

Por fim troquei a bomba por um modelo mais parrudo, fiz um suporte novo pra encaixar no lugar da bomba original. Até agora tá OK.

A própria Ulka tem um kit de reparo com esfera de vidro, que supostamente dura muito mais. Comprei um kit desses recentemente da Ulka Brasil (em Guarulhos, SP) e vou usar na próxima manutenção que precisar dar na bomba nova da BDB. Se realmente durar muito mais, isso pode ser a chave pra usar PWM nessas bombas sem maiores problemas.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

PS: a bomba da ECM também deu problema, mas creio que principalmente por ser 50Hz em rede de 60Hz, o que acabou acentuando a fragilidade gerada pela pré-infusão pré-programada no módulo GICAR. Medi e testei a ECM também, daí minha citação a respeito. Também troquei a bomba da ECM por uma nova, só que usei o mesmo "modelo" recomendado pela ECM na versão 60Hz e 220V. Foi caro mas valeu o preço e a espera. E máquina ficou melhor do que nova, pressão completamente estável na P.I., algo que eu não tinha antes.

PS: baita off-topic, hein? Vamos tomar couro da moderação. :ph34r: 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Grande Cabral, talvez valha criar um tópico para isso para não fazer off-topic aqui, rapaiz não sei se estou fazendo confusão, pelo que andei vendo a bomba geralmente trabalha com os semiciclos positivos e descarta os negativos, logo ela trabalha exatamente na frequência da rede mas com metade do duty cicle que poderia trabalhar, e os dimmers comuns fazem o pwm cortando quando passa o sinal pelo zero e não "picando " o semiciclo, então, teoricamente o PWM seria uma diminuição do numero de repetições e não da redução da amplitude delas, mas pode ser que alguns circuitos façam o slice real do sinal podendo sim aumentar a frequência de oscilação e diminuição da amplitude, porém acho que seria mais dificil encontrar circuitos assim para trabalhar, vou medir o meu circuito pwm aqui no osciloscopio e ver o que ele realemnete faz e te retorno, outra coisa, voce conseguiu medir de fato a vibração da parte mecanica da bomba  independente da parte eletrica?

Link para o comentário
Compartilhar em outros sites

Opa!

Estou confiando no feedback de sinal do osciloscópio, não medi o movimento mecânico (pensei em usar um microfone, mas começou a complicar e abandonei).

Meu Tektronix usa interface GPIB, se fosse USB eu gravava tudo que experimento. E eu nunca tomei a iniciativa de fazer/comprar uma interface compatível com o TDS220, pensando que "devo trocar em breve". Mas como só fuço por hobby acabo ficando "só mais um ano" já faz uma década...

Por princípio, todos esses "dimmers" me parecem PWM, pois disparam o Tiristor/Alternistor com atraso, modulando a largura do "pulso" que é o semiciclo... só não é linear como chavear DC.

Lembrando que Tiristor só consegue estabilizar no ciclo ascendente (primeiros 90 graus do semiciclo de 180) e Alternistor estabiliza em qq momento. A BDB usa Alternistor. A GICAR eu não abri pra olhar, mas me parece que também usa Alternitor. Nos dois casos, mesmo fora da "pré-infusão", o disparo não ocorre no zero, há um pequeno degrau e o disparo ocorre depois que a rampa passou de 8 ou 9 Volts, gerando um "dente" na onda. O forte da modulação é em torno dos 90 graus. Daí o ruido de retorno quando a rampa tá subindo e o solenoide não chega no final... com a rede "ruim", a faixa de instabilidade fica muito larga. Pelo menos pelo que lembro de ter medido e testado.

A Breville usa ponte retificadora (daquelas encapsuladas com os diodos e proteção integrados) jogando os 2 semiciclos na bomba. Se a bomba filtra isso e só usa um, eu medi algo errado... daí tá russo, pois a bobina dá feedback de descarga nos dois semiciclos quando o disparo é bem perto dos 90 graus e falha, daquele jeito que mencionei. Nunca descarto a possibilidade de eu ter feito algo errado... como o foco era botar pra funcionar, boa parte das minhas inferências foram de memória, depois de fechar a máquina. Mas logo devo ter oportunidade de medir novamente.

Aliás, se tiver alguma dica de interface GPIB compatível com o TDS220 baratinha, eu agradeço! A que a Tektronix vende como compatível com ele é uma fortuna, e uma "genérica" que peguei emprestada pra testar não funcionou no meu, mas funciona no Minipa do cara que emprestou.

Comprei bombas e kits de reparo desses caras:

https://bombaulkabrasil.com.br/

O link aparecia no site da CEME/Ulka quando pesquisei, uns anos atrás. Agora o link "Brasil" sumiu. Sei lá...

Era mais barato comprar alguns modelos de outros caras no ML, as bombas de muitas máquinas Saeco, Mondial, Philco, de cápsulas etc. são as mesmas usadas em máquinas de lavar carpete e em sistemas pressurizadores tipo WAP/Karcher, então é mais barato comprar nesse contexto do que no mercado de espresso.

De qualquer modo, os caras da Ulka Brasil trouxeram exatamente o que pedi, mas foi meio caro em relação aos modelos "comuns". No fim, saiu exatamente o mesmo preço em dólar do Ebay, só que já entregue aqui. E eles fazem anúncio no ML se você quiser pagar no cartão/parcelado. Fizeram pra mim.

Se quiser pedir pra algum moderador mover nosso papo pra outro tópico, pra mim tá OK, vamos trocando ideias. Nessa área de manutenção e reparo de máquinas de espresso sou apenas amador vou acabar perguntado mais pra você do que vc imagina! :D 

  • Curtir 1
  • Agradeço 1
Link para o comentário
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
×
×
  • Criar Novo...