Montando um torrador caseiro — automatização

Relatos Sobre Café
13 min readSep 9, 2018

--

Nesse post vou mostrar como automatizar uma pipoqueira elétrica usando um Arduino e um computador, o que vai nos permitir executar torras precisas e de forma autônoma. Este não é um tutorial tão difícil quanto pode parecer e certamente o resultado final vai compensar o esforço necessário para segui-lo. Vou tentar passar o máximo de dicas e detalhes possíveis para facilitar a montagem desse torrador por qualquer pessoa, mesmo aqueles que não entendem de eletrônica ou programação.

Visão geral do torrador

Para seguir esse passo a passo é necessário ter feito primeiro a separação dos circuitos da pipoqueira. Eu mostrei como fazer essa etapa em um post anterior:

Material necessário

  1. Pipoqueira elétrica (com os circuitos do aquecimento e ventilação já isolados um do outro — como mostrado no outro tutorial)
  2. Arduino Nano V3 (compre um com os pinos já soldados)
  3. Max6675 (interface do termopar para o Arduino)
  4. Termopar tipo K (modelo sem proteção metálica na ponta)
  5. SSR 40A (com dissipador térmico)
  6. Mosfet IRF530N
  7. Dissipador térmico para mosfet
  8. Protoboard
  9. Cabos jumper
  10. Fios para circuitos
  11. Solda para circuitos (opcional, mas recomendado)
  12. Fita isolante
  13. Alicate
  14. Furadeira
  15. Conector de plug P4 compatível com a fonte
  16. Fonte de corrente contínua (mais detalhes no post de separação de circuitos)
  17. Mola de metal (mola de um pregador)
  18. Papel alumínio

Conectando o Arduino no seu computador

O primeiro passo para montarmos nosso torrador automatizado é conectar o Arduino no seu computador. Para isso, caso você tenha comprado um Arduino fabricado na China (quase todos os disponíveis aqui no Brasil são da China) pode ser necessário instalar no seu computador o driver para esses Arduinos.

Eu achei um driver que vai permitir essa comunicação via usb em um site chinês. Seguem alguns links para baixar para cada sistema operacional.

Windows: http://www.wch.cn/download/CH341SER_ZIP.html

Mac: http://www.wch.cn/download/CH341SER_MAC_ZIP.html

Linux: http://www.wch.cn/download/CH341SER_LINUX_ZIP.html

Obs.: Para o sistema operacional Linux eu consegui conectar o arduino sem instalar esse driver. Apenas tive que rodar o comando:

sudo usermod -a -G dialout $USER

Será necessário baixar o programa Arduino IDE para instalar os códigos no seu Arduino. Você pode baixar no site oficial:

Instalando o código no Arduino e montando os circuitos

Com o Arduino conectado ao computador já podemos instalar o código que vai controlar nosso torrador nele. Eu disponibilizei o código que vamos usar no meu Github, basta entrar no link abaixo e baixar o projeto.

https://github.com/vitor-costa/pop-roaster

No Arduino IDE selecione a placa Arduino Nano.

Selecionando a placa de Arduino Nano dentro do Arduino IDE

Escolha a porta correta.

Selecione a porta do Arduino. Caso não apareça a porta correta com o Arduino conectado, possivelmente é um problema na instalação ou falta do driver que eu mencionei acima

Adicione a biblioteca do Max6675. Para isso vá em Incluir Biblioteca > Adicionar biblioteca .ZIP e selecione a pasta com nome Max6675 que você baixou do Github.

Clique na opção “Adicionar biblioteca .ZIP” e escolha a pasta com nome Max6675 que você baixou no meu Github

Agora pegue o código dentro do arquivo sketchPopRoaster.ino e cole no Arduino IDE. Clique para carregar o código para o Arduino. Você deve ver uma mensagem de sucesso no terminal que fica abaixo do editor de texto dentro do Arduino IDE.

Detalhe para o botão que carrega o código para dentro do Arduino

Precisamos montar agora os circuitos com o Arduino. Desconecte o Arduino da energia (tire ele do usb) e vamos começar. O esquema de montagem é o seguinte.

Esquema do circuito do Arduino

Use a protoboard para fixar o Arduino e os cabos jumper para facilitar os encaixes e dar fácil manutenção.

Arduino na protoboard

Conecte cada cabo jumper de acordo com o esquema anterior e conecte os fios normais onde necessário. Eu recomendo que as ligações que levam fios normais sejam feitas com um ponto de solda para garantir que não vão soltar, isole-os com fita depois. O principal uso dos fios normais deve ser para se conectar com o ventilador e no drain (D) e source (S) do mosfet, isso porque por esses fios passará uma corrente mais elevada e por isso é bom ter cabos mais espessos do que o jumper.

Note que é necessário conectar o GND do Arduino tanto no GND do Max6675 quanto no “menos” do plug P4.

As seis portas digitais do Arduino usadas no esquema são as portas configuradas no código, para usar outras portas será necessário alterar o código.

No circuito o ventilador é conectado ao plug P4. Esse plug deve ser conectado na fonte de corrente contínua. A parte do esquema do SSR leva a uma fonte de energia, essa fonte representa a fiação de energia original da pipoqueira.

Tanto o SSR quanto o mosfet são componentes que dissipam muita energia em forma de calor, em especial o mosfet. Por isso não economizei nos dissipadores de calor no meu torrador. Está um pouco superestimado, mas vários mosfets foram queimados até chegar nesse ponto.

SSR (esquerda) e mosfet (direita) com seus dissipadores

Para conectar os fios normais ao mosfet eu retirei as presilhas de jumpers fêmea (ficam dentro da proteção de plástico da ponta do jumper) e os prendi nos fios mais espessos. Dessa forma é fácil encaixar e desencaixar os fios no mosfet e facilita numa possível manutenção.

Nas fotos dá pra ver que eu prendi todos os componentes numa placa de madeira, isso ajuda no transporte e evita que os encaixes dos componentes se soltem na movimentação.

Se você conseguiu carregar o código pro Arduino e fez as ligações do circuito corretamente você está praticamente pronto pra torrar!

Acoplando o termopar

Com tudo conectado, hora de acoplar o termopar no cilindro de torra. Eu recomendo fortemente o uso do termopar sem a capa de proteção metálica, o modelo com o fio exposto tem a resposta muito mais rápida e isso será essencial para executar uma torra automatizada por PID. Ao mesmo tempo que o fio exposto vai responder rápido às mudanças de temperatura, esse tipo de termopar é bem frágil, será preciso proteger a ponta do fio do impacto dos grãos girando. Para isso usei a mola de um pregador.

Pregador com mola

A mola vai proteger a ponta do fio ao mesmo tempo que deixa passar o ar e mantém a resposta rápida da leitura de temperatura.

Mola do pregador sem as hastes

Fiz um furo a 6,7 cm contando a partir do topo do cilindro, utilizei uma broca de 6 mm para o furo. Removi as hastes sobressalentes da mola e fixei a mola no buraco, o encaixe ficou bem justo. Passei o fio do termopar por dentro da mola e calcei ele com uma folha de alumínio dobrada para não sair do lugar. É importante não cobrir a bolinha que fica bem na ponta desse fio e usar o alumínio para calçar bem o fio de forma que essa bolinha nunca encoste na mola ao seu redor. Se isso acontecer você terá um erro na leitura da temperatura.

Exemplo de termopar tipo K sem proteção metálica na ponta (fio exposto)

Com o furo a 6,7 cm do topo, a capacidade do torrador será limitada em 50g de café verde. Mais do que isso fará com que os grãos de café fiquem se chocando muito contra a mola protetora, eu prefiro evitar isso usando até 50g. A leitura da temperatura acontece apenas por convecção (pelo ar). É possível aumentar a capacidade do torrador fazendo o furo mais alto no cilindro (menos de 6,7 cm), faça isso por sua conta e risco.

Detalhe para o termopar já fixo dentro da mola protetora

ATUALIZAÇÃO: Quando eu fiz o tutorial eu sugeri o uso de uma mola de pregador, mas depois pensando melhor fiquei na dúvida se esse era um material seguro para ser aquecido acima de 200 graus e entrar em contato com alimento (o café). Atualmente prefiro envolver o termopar com algumas voltas de fita térmica e encaixar ele no furo, fica bem preso e acho que tem menos risco de contaminação.

Uma palavra sobre como o torrador funciona

Montar o circuito acima é tão simples quanto usar as peças corretas e conectá-las de acordo com o esquema, não foi necessário entender como o torrador funciona. Ainda assim acho válido falar brevemente sobre qual a lógica por trás dele.

Esse tipo de torrador é do tipo leito fluidizado, isso significa que todo o calor passado pros grãos é na forma de convecção (ar quente). Nele usamos o software Roastlogger para controlar a potência do aquecedor e da ventilação. Dado um valor de potência para o aquecimento (variando de 0 a 100) o Arduino calcula intervalos de milissegundos que alternarão o estado da resistência entre ligado e desligado, proporcional em tempo ao valor recebido. Quem liga e desliga a conexão da resistência (aquecedor) é o SSR. Assim conseguimos simular diferentes potências no torrador usando componentes simples. O controle da ventilação ocorre de forma similar, usamos um mosfet ao invés do SSR para simular diferentes potências de ventilador. O mosfet opera em altas frequências que ligam e desligam a ventilação, simulando perfeitamente potências intermediárias.

No caso do modo de torra autônoma podemos utilizar PID. O Roastlogger já tem essa funcionalidade implementada. Com a curva de torra desejada previamente configurada, à medida que vai recebendo a temperatura do termopar vai ajustando o quanto de potência tem que passar pro aquecedor dar a cada instante para seguir a curva com perfeição. O Roastlogger passa todos os números de potência já prontos pro Arduino que apenas segue as ordens.

Outra opção de torra autônoma é usar o modo Actions. Nesse modo o Roastlogger segue uma série de comandos previamente configurados de potência de aquecedor e ventilação de acordo com a temperatura atual. Não é empregado o cálculo do PID nesse modo e é possível ver variações de curva de perfil maiores nesse modo, principalmente entre cafés diferentes.

Interferência na leitura de temperatura

Esse é o fio que deve ser desconectado e isolado

Por algum motivo que desconheço, o fio terra da pipoqueira influencia de forma negativa na leitura da temperatura pelo termopar. Por isso eu recomendo desconectar o fio que se encontra na lateral do corpo da pipoqueira e o isolar com fita. Não sei ao certo que consequências negativas isso pode ter no produto e se de alguma forma o hardware pode ficar mais suscetível a problemas, mas certamente a leitura de temperatura será mais fiel sem isso e consequentemente a torra terá maior repetibilidade, controle e precisão.

Coletor de películas

Para que a torra de café não faça sujeira no local onde você estiver torrando (sim, torrar café faz sujeira!), recomendo que você use alguma coisa para agir como um coletor de películas.

Eu recomendo que a capa de plástico original da pipoqueira seja removida nesse projeto, porém isso faz com que o cilindro onde vai o café fique sem o bloqueio que tinha para impedir que o ventilador o sopre pra cima. Nesse caso o coletor de películas tem um papel duplo, coletar as películas e fazer peso sobre o cilindro para que ele não saia do lugar. Evite que o cilindro se mova durante a torra, isso pode prejudicar a leitura da temperatura.

Existem diversas formas de se fazer esse coletor de películas. Farei um post sobre como construir ele em um futuro breve.

Vamos usar o Roastlogger

Vamos usar o Roastlogger para comandar nossas torras:

ATUALIZAÇÃO: Parece que o site oficial do Roastlogger saiu do ar, vou deixar um link pra baixar o programa enquanto ele não voltar, segue:

https://drive.google.com/open?id=1MiYlj0En0NPUSdvFyg62m_sC0x83gBGe

O Roastlogger tem seu próprio manual, mas vou falar aqui brevemente das principais funcionalidades e configurações que vamos usar.

Para rodar o Roastlogger você precisa ter instalado no seu computador o Java SE Runtime Environment (JRE) 6 ou superior.

Baixe o programa do site oficial (link acima) e abra o executável “RoastLogger”. Quando o programa carregar você verá a tela inicial dele.

Tela inicial

Vá nas abas Inputs > Arduino, selecione a porta do Arduino e clique em Start.

Aba Arduino com porta selecionada e botão de Start

Uma nova tela se abrirá com opções específicas do Arduino. Nela você vai poder controlar a potência do aquecedor e ventilador manualmente ou configurar uma torra autônoma via Actions ou PID.

Tela com opções específicas para Arduino

Para fazer uma torra manual basta clicar em Load Beans na aba Log e controlar as potências nas réguas de heater e fan.

Tela com botão Load Beans para começar a torra

Para fazer uma torra com Actions, vá na aba Actions e preencha cada ação que será tomada de heater (aquecedor) e fan (ventilador) dada cada temperatura. Quando você clicar em Load Beans na aba Log a torra acontecerá sozinha.

Tabela de Actions

Para fazer uma torra com PID, vá no menu superior PID > Change PID settings… e abra a tela de configuração de PID.

Preencha os valores de PID com os seguintes valores:

Kp = 50 ; Ki = 1; Kd = 70

Selecione a opção Bean Temperature (T1) e feche a tela no Close.

Tela de configuração do PID

Agora preencha a tabela de PID de acordo com a torra que você pretende fazer, esses valores serão a base para o cálculo do PID e vão gerar os valores aplicados ao heater (aquecedor). Lembre-se de ativar o PID em PID > Use PID for this session no menu superior. Deve aparecer escrito PID (on).

Tabela de PID

As configurações de fan (ventilador) devem ser configuradas na tabela de Actions mesmo no modo PID (no modo PID os valores de heater da Actions são ignorados).

Agora basta clicar em Load Beans na aba Log e a torra se iniciará sozinha.

É importante ressaltar que em todos os modos a torra não termina sozinha. É necessário clicar no botão Eject beans para finalizar a torra. Lembre-se de reduzir o heater (aquecedor) pra zero no final da torra. No modo Actions você pode configurar a potência zero no final do seu último comando de torra. E no modo PID você pode configurar a temperatura desejada como zero após o seu último comando de torra.

Tela de logs com botão Eject Beans para terminar a torra

Durante a torra você pode acompanhar o perfil da sua torra na aba Chart.

Tela com gráfico de perfil de torra

Recomendo ler mais detalhes no site do Roastlogger antes de começar a torrar.

Exemplo real de perfil de torra controlada por PID

Qual a precisão do torrador no modo PID?

A precisão do torrador com PID vai depender inteiramente da velocidade de leitura pelo termopar e da configuração de PID escolhida. Os valores de PID que eu sugeri geram um bom resultado, porém não necessariamente são definitivos, você pode trocar os valores e tentar chegar em um resultado melhor.

Ainda assim, julgo que os resultados atuais são suficientemente satisfatórios para se começar a torrar. Vale lembrar que essa é uma leitura da temperatura ambiente de um leitor que reage rapidamente a mudanças de temperatura. A tendência é que a temperatura dos grãos será ainda mais estável do que as oscilações da temperatura ambiente pois eles contém uma certa massa térmica:

Comparação entre temperatura do perfil alvo versus o valor real da temperatura ambiente

Lembre-se de não deixar a ponta do termopar (uma minúscula bolinha na ponta) completamente isolada. Caso o alumínio crie uma espécie de capa ao redor dessa ponta o resultado da torra com PID será prejudicado. Isso acontece porque o ar precisa transmitir o calor diretamente para o termopar para se ter uma resposta rápida.

Medidas de segurança

Um torrador de café ultrapassa os 200°C durante a torra. Por esse motivo ele é potencialmente perigoso. Eu implementei algumas medidas para ajudar a prevenir acidentes. A primeira é não permitir que o aquecimento esteja ligado sem que a ventilação esteja funcionando. A segunda foi estipular uma temperatura máxima para o torrador, eu escolhi 220ºC (entendo que algumas pessoas podem querer passar desse ponto, mas é possível configurar isso se for o caso). Ambas as medidas de proteção estão no código do Arduino e são limitadas a ações tomadas erradas no Roastlogger. Ainda é possível causar acidentes, por exemplo, desligando o ventilador da tomada (o Arduino estará mandando sinal para ele ventilar, mas ele não vai ter energia pra isso). Tenha muito cuidado para não deixar o aquecimento ligado sem ventilação, isso danificará o torrador em poucos segundos e pode causar um acidente. Além disso, NUNCA deixe o torrador torrando desacompanhado.

É essencial acompanhar a torra de perto O TEMPO TODO.

Enfim torrando!

Com tudo feito até aqui você já tem uma ferramenta excelente de torra em suas mãos. Com os modos Actions e PID você conseguirá replicar perfis de torra com bastante fidelidade. E agora para torrar ótimos cafés, estude, erre e aprenda. Só torrando café que se aprende a torrar café.

Vamos torrar!

Se você de fato construir esse torrador me conte! Ficarei feliz em saber da sua experiência com ele e posso ajudar tirando dúvidas.

--

--

Relatos Sobre Café

Levando o hobby pelo café um pouco mais a sério, em busca da ciência por trás da xícara. Por Vitor Costa. IG:https://www.instagram.com/relatossobrecafe/