Índice:
- Etapa 1: Introdução
- Etapa 2: Escolha a máquina certa
- Etapa 3: modificações de hardware
- Etapa 4: Conexões principais e a placa controladora
- Etapa 5: Controle do fluxo de água e mecanismo de recarga
- Etapa 6: detecção de inundação
- Etapa 7: Teste e Montagem Final
- Etapa 8: Código de controle do café
- Etapa 9: Considerações sobre o projeto e reflexões finais
Vídeo: JavaStation (cafeteira IoT com auto-recarga totalmente automática): 9 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
O objetivo deste projeto era fazer uma cafeteira totalmente automática com controle de voz que se auto-enchia de água e tudo o que você realmente precisava fazer era substituir os clientes e beber seu café;)
Etapa 1: Introdução
Como este foi meu segundo mod de café, aprendi muito no processo, principalmente que quanto mais complexa a máquina você modifica, mais problemas / bugs você encontrará durante a operação do dia a dia. A máquina anterior era apenas uma simples cafeteira de 1 switch com um mod de relé.
A Circolo (versão totalmente automática) é a máquina premium topo de linha da Dolce Gusto. Tive que passar horas procurando a máquina adequada porque todas as outras máquinas desta série usam a alavanca mecânica superior para alternar entre os fluxos de água quente e fria, conforme mostrado na imagem.
Etapa 2: Escolha a máquina certa
Minha máquina base não é apenas totalmente automática, mas tem características notáveis como desligar automaticamente após 5 minutos e lembrar da última quantidade de café (o que tornará as coisas muito mais fáceis mais tarde no modding). A operação básica da máquina:
1, botão liga / desliga pressionado
2, botão de água fria pressionado (dispersará imediatamente a água para o copo)
3, botão de água quente pressionado (vai aquecer a caldeira ~ 20-60 seg e começa a liberar água quente para o copo) A luz de energia piscará em vermelho durante o período de espera e ficará verde permanentemente quando a caldeira estiver pronta.
Esta máquina também tem a capacidade de detectar os seguintes erros:
Tanque de água está vazio
O porta-copos não está no lugar
Em ambos os casos, a luz de energia estará piscando entre vermelho / verde.
Etapa 3: modificações de hardware
Neste artigo não vou detalhar a desmontagem e remontagem do caso, pois há vídeos sobre isso no YouTube. O microprocessador principal está escondido logo abaixo do painel principal, onde os 2 interruptores estão. A caldeira encontra-se do lado direito da caixa separada de todo o resto, a bomba e o painel de alimentação ficam do lado esquerdo.
A máquina de café é um ambiente pesado para a eletrônica, nenhuma das laterais é perfeitamente adequada para a integração de um circuito. A direita na caldeira tem mais espaço, mas você vai lidar com o calor, obviamente o circuito não poderia tocar na placa da caldeira nem ficar perto dela. Eu escolhi a fonte de alimentação / lado da bomba, mas aqui você tem que lidar com a ressonância pesada proveniente da operação da bomba de membrana que pode destruir o circuito de controle / fazer com que os fios escapem de seus conectores com o tempo.
O painel da fonte de alimentação não contém nada útil, mas pode ser usado para retirar um + 5V estável (mais um polegar para cima para esta máquina) que pode ser conectado diretamente ao pino VIN do Arduino ignorando o regulador de tensão integrado.
Lista rápida de hardware (não BOM completo, não inclui o básico):
- Dolce Gusto Circulo versão totalmente automática
- Módulo de relé de 4 canais 5V com optoacoplador para PIC AVR DSP (sugiro o uso de 4x SIP-1A05 Reed Switch Relay)
- Arduino Micro (sugiro usar SparkFun Pro Micro ou mais recente no futuro)
- 2PCS 4n35 FSC optoacopladores fototransistor
- Válvula Solenóide Elétrica 1/2 "Para Água Ar N / C Normalmente Fechada DC 12V
- Módulo Ultrassônico HC-SR04 Sensor Transdutor de Medição de Distância (compre alguns extras, você verá mais tarde o porquê)
- Módulo sensor de detecção de umidade de gota de chuva 2 unidades de detecção de chuva para Arduino
- 1 Xbee
- Encaixes de tubulação para blocos de água (pode variar dependendo da casa, melhor comprar em uma loja de ferragens e montar tudo lá antes de comprar)
Etapa 4: Conexões principais e a placa controladora
Os seguintes pontos de circuito precisam ser conectados:
1, botão de atalho
2, botão frio
3, led vermelho
4, led verde
5, botão de alimentação principal
6, GND compartilhado
Infelizmente, perdi minhas notas / fotos sobre onde soldá-los na placa, mas tudo pode ser facilmente rastreado com um multímetro (basta usar o modo de teste de diodo para rastrear os fios de volta). A soldagem não foi muito difícil, escolha os pontos com as pernas SMD e solde os fios ali.
Os LEDs vermelho / verde estão localizados próximos um do outro na chave liga / desliga. São necessários para determinar os estados da máquina (ligada, pronta para fazer café (caldeira aquecida), erro). Eu os tirei diretamente da placa principal, porque é difícil mexer no pequeno circuito ao redor do botão liga / desliga.
Eu estava usando optoacopladores 4N35 para fazer uma interface segura com o Arduino e ler os estados do LED. A ideia original era usar 5 deles e fazer as leituras e também os controles (fazer um circuito totalmente silencioso). Infelizmente, este chip não conseguiu gerar resistência baixa o suficiente para emular um toque de botão, então fui forçado a usar relés. Usei o módulo de relé genérico de 4 canais que tinha em mãos, mas se tivesse que refazer este projeto, usaria apenas pequenos relés Reed (SIP-1A05 Reed Switch Relay com diodos flyback internos) que podem ser conectados diretamente à saída do Arduino pinos (carga de ~ 7 mA) para que tudo pudesse ser colocado em uma estrutura de placa de 2 níveis.
Os 5 pequenos cabos podem ser facilmente colocados próximos aos cabos de alimentação embaixo da placa de alimentação.
Para usar o espaço de forma mais eficiente na máquina, decidi dividir a eletrônica em 2 painéis principais:
A esquerda é a placa de controle principal, a direita (o que eu chamo de placa de comunicação) segura o Xbee e embora não seja mostrado na imagem os 2 sensores de água (para detecção de transbordamento) espremidos atrás dela. Na parte superior o relógio de tempo real (opcional para uptime:)) e a placa de relé de 4 canais ocupando seu lugar próximo à bomba na parte inferior envolta em uma esponja, também colada um pouco para proteger da ressonância.
Para a placa de comunicação, não me incomodei em fazer o PCB, apenas usei uma placa de ensaio normal porque não há muita coisa acontecendo lá. Possui 6 conexões com a placa principal:
Vcc (5V), GND, Xbee (TX), Xbee (RX), sensor de água 1 (dados), sensor de água 2 (dados)
Etapa 5: Controle do fluxo de água e mecanismo de recarga
Projetei esta máquina com a segurança em mente, tornando impossível que invasores / falhas de funcionamento causem sérios danos à água na casa, já que a máquina estaria conectada à torneira e à Internet 24 horas por dia, 7 dias por semana. Isso é o que o seguinte circuito de proteção 555 faz no topo do solenóide.
Observe também que o solenóide opera com uma fonte de alimentação de 12 V que ainda consegui espremer na parte inferior da máquina de café ao lado da bomba e da placa de relé. Para não desperdiçar energia, a placa de relé de 4 canais comuta o 230 V principal diretamente para o adaptador que ligará o solenóide. É claro que há um atraso de desligamento de alguns microssegundos que você deve calcular para o colapso do campo magnético tanto no solenóide + quanto no adaptador ao puxar o plugue.
Estou usando um conector padrão de 3,5 mm para conectar o bloco de água externo com um longo fio de 3 metros e um tubo de PVC de pequeno diâmetro saindo do bloco que vai até a cafeteira.
A parte superior do tanque de água é perfurada para acomodar esse tubo, que é levado para o fundo do tanque. Eu observaria que é muito importante alimentar o tubo até o fundo do lado, sem passar pelo meio e interferir nos sensores ultrassônicos.
Depois que o solenóide é ligado, o circuito o desliga automaticamente após ~ 4 segundos (o que deve ser mais do que tempo suficiente para encher o tanque até cheio) e permanece neste estado até o próximo ciclo de LIGAÇÃO. Este circuito é a última linha de defesa contra mau funcionamento e opera totalmente independente da cafeteira. Se o relé da máquina falhasse e ficasse fechado a água poderia inundar a casa, com essa proteção isso nunca poderia acontecer.
Se isso ainda não for bom para você ou se for impossível fechar a água ou se você não quiser mexer nos blocos d'água, dê uma olhada no meu projeto WasserStation que foi construído exatamente para isso para estender o pequeno tanque de água da máquina de café.
Etapa 6: detecção de inundação
Existem 2 sensores de água adicionais para proteção:
- Sensor1: na parte de trás do tanque para detecção de transbordamento do tanque
- Sensor2: na parte inferior da máquina de café para detecção de transbordamento da xícara
Ambos os sensores irão disparar uma interrupção que desliga a água imediatamente, acende a luz de erro e aborta a execução do programa para evitar um ataque como fazer um milhão de cafés e inundar a casa dessa forma. Depois que o programa é encerrado, a máquina não responde mais a nada e deve ser circulada manualmente.
Caso você esteja se perguntando o que aconteceria se o sensor ultrassônico fosse inundado (isso aconteceu uma vez:))
Ele estava devolvendo o nível da água assim por alguns dias, mas mesmo depois de secar nunca mais foi preciso e tive que substituí-lo. A máquina foi projetada para funcionar com água fria da torneira, de forma que nenhum vapor quente danificaria o sensor. Este sensor só é preciso até que o nível de água esteja a 2-3 cm dele.
A forma elíptica do tanque dificultou os cálculos do nível de água, então eles foram medidos e codificados no programa para corresponder às porcentagens.
Etapa 7: Teste e Montagem Final
A máquina em seu estado final, escondendo quase completamente os rastros de qualquer invasão e se os 3 LEDs indicadores de status e a porta de depuração USB não estivessem lá, você não poderia dizer que mais alguma coisa acontecendo dentro de você mesmo poderia abrigar um Wifi conectado Servidor Quake:)
Quando eu modifico dispositivos, sempre mantenho o uso manual como prioridade. Após o hack, a máquina pode ser totalmente utilizada por qualquer pessoa do jeito que estava, exceto que o tanque de água não pode ser removido facilmente. A menos que você termine a parte completa da automação da água do projeto, a máquina só pode ser abastecida neste ponto com uma combinação de pequeno tubo + funil.
Etapa 8: Código de controle do café
Encontre o código-fonte completo do Arduino anexado abaixo.
Breve explicação do código:
O loop principal chama a função xcomm (), responsável pelo processamento do comando, preparação do café, liga / desliga a máquina.
O código abaixo só é alcançado em caso de controle manual. Ele aumenta um contador de estatísticas para controlar quantos cafés foram feitos e enche o tanque de água automaticamente.
Os comandos podem ser enviados pelo Xbee ou pela porta USB (o Debug deve ser ativado no início). Quando a comunicação vem de um dos dois, o led laranja pisca por um segundo para mostrar a atividade da rede. Os seguintes comandos são implementados:
1, CMSTAT - estatísticas de consulta da máquina
A máquina armazena estatísticas sobre quantos cafés quentes / frios / manuais foram feitos e também obtém o tempo de atividade do RTC que não transborda após 3x dias, podendo ir até anos: P
2, CMWSTART - começa a fazer café e bebidas quentes com água quente
3, CMCSTART - começa a fazer chá gelado e bebidas geladas com água fria
Os processos quentes e frios começam com a chamada da função standby (), que faz verificações adicionais e, em seguida, aciona o botão liga / desliga. Depois disso, o programa aguarda a luz verde (quando a caldeira está aquecida) e emula o pressionamento do botão quente / frio. Depois disso, ele aguarda 50 segundos (o que é mais do que suficiente até mesmo para a maior xícara de café) e desliga a energia. Isso nem seria necessário já que esta excelente máquina desligava automaticamente 5 minutos depois de fazer o café, mas por que desperdiçar energia? Já agora, o consumo de energia em modo de espera da máquina, mesmo após a modificação, é inferior a 2 Watts.
Reabastecimento de água e segurança
Essa máquina foi projetada com a segurança em mente, de modo que seria impossível para um invasor que ganhasse o controle inundar toda a casa com água. Uma falha de hardware também não resultaria em danos graves. Ao lado dos sensores de hardware, há proteções embutidas no código para o refil. Um contador que aciona a rotina ISR se a máquina não for recarregada em x segundos (isso, por exemplo, pode acontecer se o sensor ultrassônico não funcionar corretamente e der 20% após x segundos após o reabastecimento ser iniciado).
Não há autenticação, qualquer pessoa que conheça os comandos pode usar a máquina dentro do alcance do rádio, então eu mudei o ID da piconet Xbee padrão para outra coisa, também o ERR_INVALIDCMD pode ser comentado e a máquina irá ignorar quaisquer comandos desconhecidos.
Insetos
Bug duplo do café: o mais chato sobre esse bug é que começou a acontecer alguns meses depois de usar a máquina com o mesmo código. Depois que o comando café foi emitido ele fez o café, desligou e ligou novamente e continuou fazendo mais 1 café com o mesmo patroon.
Tive que começar a depurar a duplicação do comando no nível do Android porque implementei o reenvio para o código em caso de perda de pacote. Descobriu-se que nem o Android, o software de controle C ou o kernel do Linux no raspi2 foram responsáveis por isso, e sim o Xbee.
Após emitir o eco “CMCSTART”> / dev / ttyACM0 no nó de controle, ele sai duas vezes para a outra extremidade. Concluí que meu espectro de 2,4 GHz em minha casa começou a ficar saturado com os muitos dispositivos de rádio nesta faixa, o que fez com que um Xbee invocasse algum tipo de reenvio na camada de rádio e os dados fossem enviados duas vezes (nem sempre). Uma vez que o primeiro comando entrou nas máquinas, a função xcomm () começou a processá-lo, porém um segundo veio logo em seguida, estava esperando no buffer do Xbees e quando o loop terminou ele começou a processar o segundo comando. Para contornar esse problema, introduzi 3 limites no código para tornar impossível fazer mais de 1 café em 2 minutos. Além disso, há um limite no CMSTAT, mas para não interferir no código de controle C / Android, ele simplesmente silencia as respostas por 2 segundos.
O último limite foi colocado para o contador manual de café, porque uma vez que a máquina atingiu o estado pronto (caldeira aquecida, luz verde) ela registrou o evento verde centenas de vezes aumentando a contagem de café.
Etapa 9: Considerações sobre o projeto e reflexões finais
Depois de muitos problemas com a comunicação do Xbee, eu não recomendaria o Xbee para este projeto. Use o rádio 433Mhz barato padrão com VirtualWire e Bps reduzidos para estabilidade ou incorpore um Raspberry PI Zero com conexão Wifi diretamente na máquina de café.
Como a data mostra, é um projeto antigo, então peço desculpas pelos pequenos detalhes faltando, como a conexão do circuito de controle às pernas do pino preciso na placa-mãe. Este projeto requer um certo nível de conhecimento técnico para fazê-lo por conta própria. Se você encontrar algum bug / problema ou gostaria de contribuir com este tutorial, por favor me avise.
O software de controle, métodos para controle de voz é de outra parte que tornará possível ter seu café pronto apenas com um comando de voz antes mesmo de sair da cama.
Concluí a documentação do meu sistema de armazenamento de água (WasserStation) e atualizei o CoffeeControlCode para a versão mais recente, que também inclui o reabastecimento automático. Se utilizar a mesma máquina para a construção o refil funcionará perfeitamente (sem nenhuma modificação no código) já que os níveis de água foram calibrados para o tanque de água do Circolo.
Recomendado:
STONE Display + STM32 + Cafeteira: 6 etapas
STONE Display + STM32 + Coffee Maker: Eu sou um engenheiro de software MCU, recentemente recebi um projeto é ser uma máquina de café, requisitos domésticos com uma operação de tela de toque, a função é boa, está acima da seleção da tela pode não ser muito boa, felizmente, este projeto eu posso dec
Alarme da cafeteira: 4 etapas
Alarme da cafeteira: o aplicativo de alarme da cafeteira permite que você controle sua cafeteira remotamente por meio de um aplicativo e desligue a máquina após o término (atualmente definido para 6 minutos). Você também pode definir um alarme que ferve o café automaticamente e o deixe pronto
Luz noturna totalmente automática: 4 etapas
Luz noturna totalmente automática: Oi. Quando falamos sobre lâmpada noturna automática, a primeira coisa que vem à nossa mente é LDR (Light Dependent Resistor). é algum
Cafeteira IOT (UFEE): 7 etapas (com fotos)
Cafeteira IOT (UFEE): Como prova de conhecimento, tivemos que criar um dispositivo IOT que pudesse ser controlado por meio de uma interface da web feita por nós mesmos. Como adoro café e como muito diariamente, decidi fazer minha própria cafeteira IOT. A cafeteira UFEE: " a co
Sistema de som para cafeteira: 7 etapas
Sistema de som para latas de café: Como fazer seu próprio sistema de som para latas de café usando apenas fita adesiva e algumas canivetes