• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

SACI: Controlador de temperatura wifi para fermentação - projeto completo

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Sei como é, também tenho dois nomes, Peter Thomas, vai entender...hahahaha

Entendi perfeitamente! Desculpe a quantidade de perguntas, é que sou curioso pra caramba. Vamos lá, prometo que é a última em relação a hardware. Ali onde tem dois bornes de duas vias ligados nos reles, eu poderia usar um único borne de 3 vias? Ligando o terminal do meio no comum de cada rele e cada NA dos reles nos outros dois terminais?!

Abração!

Relaxa, perguntas fazem parte de qualquer projeto aberto.
Se dúvida, dá uma passeada no tópico do openArdbir. :p

Eu não pensei nisso na época, mas olhando agora faz sentido.

Se tu mudar o desenho da placa pra fazer assim me manda uma cópia do esquemático para eu atualizar o projeto.

Abraço, e qualquer coisa me chama. :)
 
Relaxa, perguntas fazem parte de qualquer projeto aberto.
Se dúvida, dá uma passeada no tópico do openArdbir. :p

Eu não pensei nisso na época, mas olhando agora faz sentido.

Se tu mudar o desenho da placa pra fazer assim me manda uma cópia do esquemático para eu atualizar o projeto.

Abraço, e qualquer coisa me chama. :)


Mudei aqui da forma que consegui Jefferson, comecei a mexer com o Fritzing agora, mas acho que está certinho.

Segue anexo. Coloquei o arquivo "Saci Fritzing"(.fzz) em PDF para conseguir anexar, quando baixar favor renomear para .fzz

Abraços!
 

Attachments

  • Saci Fermentation Control - V2_etch_copper_bottom.pdf
    4.2 KB
  • Saci Fritzing.pdf
    26.6 KB
jalexandre ! Comecei a testar. Coloquei o DS18B20 no GPIO 2, e dois LED´s, um no D7 e outro no D8. Mas ainda estou apanhando na configuração (eu havia comentado que sou um zero a esquerda em programação). Mas tenho erro na compilação no BangController.h (vou tentar postar a foto).

1) Ajustei o config.h com meus dados(ssid, pass, ThingSpeak token).
2) Precisa algum ajuste no BangController.h ?
3) Dei uma olhada no InfluxDB e ThingSpeak. Achei estranho o "../DS18B20.h". Qual o objetivo do "../ ? Preciso de algum outro ajuste ?
4) No src, linha 18 tem: BangController saci(heatPin, coolPin, "/saci.txt", "saciprofile.txt"); Eu preciso carregar algum txt em algum lugar, ou o SACI escreve algum log com esses nomes ?

Grato pelas informações !!!
 

Attachments

  • AAA.jpg
    AAA.jpg
    106.6 KB
1) Ajustei o config.h com meus dados(ssid, pass, ThingSpeak token).
2) Precisa algum ajuste no BangController.h ?
3) Dei uma olhada no InfluxDB e ThingSpeak. Achei estranho o "../DS18B20.h". Qual o objetivo do "../ ? Preciso de algum outro ajuste ?
4) No src, linha 18 tem: BangController saci(heatPin, coolPin, "/saci.txt", "saciprofile.txt"); Eu preciso carregar algum txt em algum lugar, ou o SACI escreve algum log com esses nomes ?

Grato pelas informações !!!

Nope, o SACI cria esses arquivos pra você. Na biblioteca bang controller, eu posso referenciar meus arquivos de configuração ou profile.

Na prática, você pode pedir pro saci monitorar e controlar 2 fermentadores, mas isso inclui mudanças no hardware e software que eu ainda não fiz. Estou apenas me planejando para o futuro.

Sobre o ../, assumi que o leitor já saberia de ante mão o que siginifica o ../, por isso não fui claro nas instruções.

A instrução
Edit all paths on cpp and h plugin files (boring, i know...) significa remover o ../ antes dos nomes dos arquivos.

../ significa que eu estou incluindo arquivos que estão um nível anterior na minha arvores de arquivo, ou seja, ../BangController.h vira BangController.h
Basicamente, remova tudo que é ../ dos arquivos que estavam em plugins e você conseguirá compilar o software.

Infelizmente a IDE do arduino é meio burrinha e não entende essa convenção de arquivos

Eu não me inocmodaria com o arquivo InfluxDB.h, porque ele existe apenas pra fazer a inserção dos dados nesse cara aqui -> https://www.influxdata.com/time-series-platform/influxdb/


Se ficou curioso com o tal ../, dá uma lida nisso aqui
-> https://www.daniweb.com/hardware-an...7301/understanding-the-linux-file-path-system

Me avise se não consegui ser claro aqui. =)

Abraços!
 
Explicando rapidamente o que são os plugins:

O SACI para fermentação é o primeiro passo para um projeto maior, que é a criação de um painel de controle customizável e open source para homebrewing, e a capacidade de poder escrever plugins independentemente dos código fonte principal é a chave para alcançar isso.

O plugin ThingSpeak faz a ligação do hardware com a plataforma IoT Thingspeak.com

Na prática, esse plugin serve para fazer isso -> https://thingspeak.com/channels/148648
(Os gráficos são da Versão de desenvolvimento do SACI com algoritmo PID. Notem como a temperatura é mega estável. Comecei a trabalhar nisso a pouco tempo, então vai demorar um pouco pra ficar pronto, mas já adianto que será compativel com o hardware atual. )

Já o plugin do influxDB serve para fazer inserts em um banco de dados que roda aqui em casa, e a finalidade é registrar os dados da plataforma.

Eu particularmente não gosto de usar o thingspeak para desenvolvimento, por isso escrevei esse plugin.

Na prática, o resultado é que eu tenho uma plataforma privada de visualização de dados durante o desenvolvimento, como nas fotos que eu anexei.

Eu optei por separar os arquivos para facilitar a manutenção dos plugins sem alterar o funcionamento do código principal.
 

Attachments

  • SACI-PID.jpg
    SACI-PID.jpg
    111.4 KB
  • sacipid1.PNG
    sacipid1.PNG
    36.4 KB
  • sacipid2.jpg
    sacipid2.jpg
    79 KB
olá @jalexandre,
será que esta placa funciona como SACI? O site diz que é compatível com o NODEMCU.

https://www.aliexpress.com/item/WeM...P8266-for-arduino-Compatible/32455782552.html

@rabello,

Qualquer coisa compativel com ESP8266 12-E (nodeMCU (Lolin/Amica), wemos e etc...) e superiores deve funcionar, mas tenha em mente que eu fiz a placa na medida para o nodeMCU da Lolin.

Se optar por outra placa, terá que fazer seu próprio shield.
Tirando esse ponto, o resto é bem tranquilo e deve funcionar bem.

Abraço.
 
Meu Caro já pensou em adicionar um display e um teclado ao seu projeto nem que seja um 16x2 para demostrar a temperatura sem que se precise utilizar wifi?
Até mesmo para poder fazer a troca de temperatura manualmente se for o caso.
 
Meu Caro já pensou em adicionar um display e um teclado ao seu projeto nem que seja um 16x2 para demostrar a temperatura sem que se precise utilizar wifi?
Até mesmo para poder fazer a troca de temperatura manualmente se for o caso.

@Leandrocs,

A minha motivação para fazer o SACI foi justamente poder configurá-lo pelo meu smartphone/computador e conseguir plotar os dados on line.

A rampa é só um mimo. :)

Se alguém quiser incluir essas funcionalidades na forma de plugin e compartilhar com o resto do pessoal, legal, dou a maior força e ajudo dentro das minhas limitações, mas eu mesmo não pretendo fazer essas alterações porque elas não vão me trazer nenhum ganho ou benefício direto.

Abraço.
 
Pessoal,

Finalmente, depois de quase 9 meses trabalhando nisso nas horas vagas, eu consegui finalizar o SACI para fermentação e resolver algumas coisas que me impediam de abrir o código (longa história, vocês não precisam dos detalhes. :)

O fato é que o SACI agora é open hardware / open source, e as principais caracteristicas do projeto são:

Muito respeito pelo cervejeiro que compartilha abertamente seus projetos de equipamento e conhecimento, incluindo detalhes!

Parabéns cara, tá muito massa!

Abraço
 
Sensacional a iniciativa... ontem mesmo num grupo de cervejeiros eu tava comentando sobre o Saci e teve várias pessoas interessadas, hoje, dei de cara com voces aqui... Primeiro projeto pra 2017 sera inicar a montagem de um SACI, vou apanhar na programação.. mas vamos lá
 
Muito respeito pelo cervejeiro que compartilha abertamente seus projetos de equipamento e conhecimento, incluindo detalhes!

Parabéns cara, tá muito massa!

Abraço

Valeu pelo apoio.

Eu vejo que cada montagem é uma chance de upgrade, uma chance de alguém ver o que eu não vi quando fiz o projeto, uma chance de receber um feedback honesto.

Eu aprendi "a fazer coisas" vendo outras pessoas "fazendo coisas", e isso inclui programação.
Não compartilhar não seria uma escolha justa comigo mesmo.

Abraços!
 
Sensacional a iniciativa... ontem mesmo num grupo de cervejeiros eu tava comentando sobre o Saci e teve várias pessoas interessadas, hoje, dei de cara com voces aqui... Primeiro projeto pra 2017 sera inicar a montagem de um SACI, vou apanhar na programação.. mas vamos lá

Você não precisa programar para montar e usar o SACI do jeito que ele está.

Só configurar um arquivo e compilar o código, que é fácil e tenho certeza que eu e o pessoal que já está montando vamos te dar uma força.

Programação só entra se quiser adapatar o SACI para alguma necessidade particular. Nesse caso, a arquitetura do SACI facilita muito a extensão de funcionalidades sem 'quebrar o que funciona'.

Abraço.
 
@rabello,

Qualquer coisa compativel com ESP8266 12-E (nodeMCU (Lolin/Amica), wemos e etc...) e superiores deve funcionar, mas tenha em mente que eu fiz a placa na medida para o nodeMCU da Lolin.

Se optar por outra placa, terá que fazer seu próprio shield.
Tirando esse ponto, o resto é bem tranquilo e deve funcionar bem.

Abraço.
você tem ideia do alcance do wifi deste módulo? Quantos metros em ambiente com paredes?

Enviado de meu LG-D625 usando Tapatalk
 
você tem ideia do alcance do wifi deste módulo? Quantos metros em ambiente com paredes?

Enviado de meu LG-D625 usando Tapatalk

Eu não tenho números mas...

O Access point fica no terceiro andar da casa e a cozinha, onde está o freezer, no térreo.

O ESP8266 é o ÚNICO dispositivo da casa que funciona na cozinha sem necessidade de usar repetidor de sinal, o que me faz pensar que a recepção de sinal desse cara é melhor do que a recepção de muito smartphone no mercado. :p

Abraço.
 
Olá Jefferson,
Primeiramente gostaria de parabenizar pelo projeto, ficou muito foda, fiquei com muita vontade em tentar montar aqui em casa e parabéns tbm por ter disponibilizados para todos aqui no forum, ótima iniciativa.
Eu estou querendo dar uma automatizada na minha brassagem, porque fiquei fascinado por essas automações e enquanto não consigo fazer uma gostaria de partir de algum lugar e curti muito seu projeto.
Minha duvida seria se teria como usar esse projeto para controlar a temperatura de resistência para brassagem e fervura e funcionamento de uma bomba de recirculação ( para brassagem em RIMS) . E se esse controle é On/Off ou PID. E se conseguiria controlar duas resistências independentes. Ou se teria como indicar uma luz aonde poderia começar a dar viva a esse projeto , pois não estou achando muita coisa pela net não.
Agradeço desde já.
 
Minha duvida seria se teria como usar esse projeto para controlar a temperatura de resistência para brassagem e fervura e funcionamento de uma bomba de recirculação ( para brassagem em RIMS) .

E se esse controle é On/Off ou PID. E se conseguiria controlar duas resistências independentes. Ou se teria como indicar uma luz aonde poderia começar a dar viva a esse projeto , pois não estou achando muita coisa pela net não.
Agradeço desde já.

Cara, obrigado pelo incentivo. :)
Quanto as tuas perguntas, vamos lá.

Eu não usaria o SACI do jeito que está para brassagem, porque as chances de torrar o microcontrolador são altas. O circuito não contempla motores nem equipamentos de alta potência.

Já existem outros projetos que contemplam mosturação, como o OpenArdbir, o elsinore brew e o craftbeerpi.

Eu testei os três e não uso nenhum por diversos motivos, mas são bons projetos. Eu particularmente gosto mais do craftbeerPI do que dos outros. :)

Se mesmo assim quiser hackear o SACI, saiba que eu dou o maior apoio. Troque os relés de bobinas por SSR´s e escreva sua própria rotina de controle, usando uma biblioteca de PID. É um ótimo exercício de programação, recomendo. :)

A rotina de controle que eu escrevi trabalha com ON/OFF, histerese e delay entre acionamentos. Estou trabalhando numa versão de PID temporizado (me baseei no projeto brewpi) para controlar o motor da geladeira, mas o código ainda esta instável e "rebelde". Uma hora eu resolvo isso, mas não tenho pressa. O SACI funciona bem do jeito que está hoje. :)

Qualquer dúvida, grita!

Abraço.
 
Olá Jefferson,
também só posso te parabenizar por disponibilizar seu tempo para ajudar aos que como eu não entendem nada de eletrônica.

Mas estou estudando para montar um e você poderia me dizer se neste projeto tem como adicionar mais sensores para monitorar tipo 3 geladeiras com uma placa?

Obrigado.
Henrique Milk
 
Olá Jefferson,
também só posso te parabenizar por disponibilizar seu tempo para ajudar aos que como eu não entendem nada de eletrônica.

Mas estou estudando para montar um e você poderia me dizer se neste projeto tem como adicionar mais sensores para monitorar tipo 3 geladeiras com uma placa?

Obrigado.
Henrique Milk

Henrique,

Depende da sua habilidade em programação.

Os sensores onewire são a parte mais fácil de trabalhar.
Atualmente meu saci de testes está com 4 sensores no mesmo fio (One wire, né?), basta copiar e colar as funções que fazem a leitura da programação.

A parte das geladeiras, também.
A classe que eu criei usa arquivos de configuração e pinos de atuação separados justamente porque eu quero essa funcionalidade de duas ou mais geladeiras na mesma placa funcionando no futuro, mas entenda que eu só criei o caminho. Do caminho até o produto funcionando, pra mim fazer sozinho, vai demorar um pouco. Mentira, vai demorar pra caramba. No mínimo, vai demorar o tempo que for necessário pra eu sair do aluguel e ir para um lugar onde eu consiga ter duas geladeiras. ;)

A parte da eletrônica é simples também.
Basta criar uma shield para 6 relés ao invés de dois, ou comprar uma dessas ->
http://www.baudaeletronica.com.br/modulo-rele-5v-8-canais.html

Eu particularmente acho mais barato criar um shield.

Pra mim, a parte mais chata seria alterar a interface de configuração. É chato, mas não é dificil.

Se você (ou qualquer um...) programa e tem interesse em tocar esse projeto paralelo me chama inbox, porque eu tenho interesse em ver isso funcionando e publicado lá no github. Só não tenho tempo de implementar. :)

Abraço.
 
Jefferson, você tem um modelo de PCB para mandar fazer


Enviado do meu iPhone usando Tapatalk

Sim, eu compartilhei o projeto completo, inclusive o diagrama para montar a placa.

Olha com calma que você acha. :)

Abraço.
 
Show de bola o projeto! Parabéns pelo desenvolvimento e por compartilhar conosco!

Uma dúvida, se eu usar um shield de arduino (http://produto.mercadolivre.com.br/MLB-804920460-modulo-rele-2-canais-5v10a-foto-acoplado-_JM) posso sacar fora o diodo e transistor né?

Esses módulos acionam o relé quando o pino está sem energia e desligam o relé quando o pino de acionamento está energizado.

No SACI, eu ligo a geladeira quando o pino está energizado, e desligo quando o pino está 'morto', justamente porque já tive problemas com esse módulo no passado. Eu usei ele na primeira versão do saci, numa protoboard. Protoboard dá mal contato, e eu acordei com a cerveja congelada no freezer. :p

Inclusive nesse dia eu decidi que se eu quisesse ter sucesso com o SACI e outros projetos, eu teria que aprender a fazer minhas próprias placas.
Protoboard é só pra testes rápidos mesmo!

Mas é isso. Se tu inverter a lógica, deve funcionar sim.

Abraço.
 
Sim, eu compartilhei o projeto completo, inclusive o diagrama para montar a placa.

Olha com calma que você acha. :)

Abraço.



Blz, só tinha aberto pelo celular e não tinha visto as pastas do projeto. Me empolguei e vou montar a minha.

Abraço


Enviado do meu iPad usando Tapatalk
 
Olá cara parabéns pelo projeto.
Queria te perguntar uma coisa, como faz a configuração dá rede a primeira vez? Tem que acessar o código?

Enviado de meu XT1563 usando Tapatalk
 
@jalexandre

Configurei o arquivo config.h com as minhas informações de rede, fiz o "built" e depois upei o firmware para o NodMcu, aparentemente e segundo o platformio deu tudo certo, porém quando fui testar não consegui acessa-lo, inclusive a luz azul que antes da configuração ficava piscando no nodemcu, só pisca uma vez quando energizo o Saci de pois apaga novamente. Tem alguma ideia do que pode ser?

Obrigado
 
Olá cara parabéns pelo projeto.
Queria te perguntar uma coisa, como faz a configuração dá rede a primeira vez? Tem que acessar o código?

Enviado de meu XT1563 usando Tapatalk

Sim, você configura a rede através do arquivo config.h, conforme as instruções na página do projeto.

Abraço.
 
@jalexandre

Configurei o arquivo config.h com as minhas informações de rede, fiz o "built" e depois upei o firmware para o NodMcu, aparentemente e segundo o platformio deu tudo certo, porém quando fui testar não consegui acessa-lo, inclusive a luz azul que antes da configuração ficava piscando no nodemcu, só pisca uma vez quando energizo o Saci de pois apaga novamente. Tem alguma ideia do que pode ser?

Obrigado

Cara,

Sai de férias esse fim de ano e não levei nem celular, por isso fiquei esse tempo todo off line e só vi tuas mensagens privadas agora. :)

Enfim... Conseguiu fazer o bicho funcionar?

Eu tive esse problema usando a USB de um notebook.
O relé puxa corrente e derruba a energia da porta USB, fazendo o SACI reiniciar.

Isso já não acontece no meu desktop que tem uma fonte parruda (computador de jogos, hehe).

Minha sugestão é usar uma fonte de celular de 1A e configurar fora do computador, ou configurar o SACI fora da shield e configurar ao menos os ciclos de acionamento.

Se mesmo assim não conseguir, me chama por aqui ou inbox.

Abraço.
 
Cara,

Sai de férias esse fim de ano e não levei nem celular, por isso fiquei esse tempo todo off line e só vi tuas mensagens privadas agora. :)

Enfim... Conseguiu fazer o bicho funcionar?

Eu tive esse problema usando a USB de um notebook.
O relé puxa corrente e derruba a energia da porta USB, fazendo o SACI reiniciar.

Isso já não acontece no meu desktop que tem uma fonte parruda (computador de jogos, hehe).

Minha sugestão é usar uma fonte de celular de 1A e configurar fora do computador, ou configurar o SACI fora da shield e configurar ao menos os ciclos de acionamento.

Se mesmo assim não conseguir, me chama por aqui ou inbox.

Abraço.

Valeu Jefferson,

Cara não consegui, realmente eu fiz o upload através de um notebook e mesmo com o NodeMcu fora da shield ele da o mesmo erro, estou em São Paulo a trabalho e assim que eu voltar vou tentar novamente. Achei estranho porque enquanto esta gravando o firmware na placa, ele fica piscando rápido, aparentemente indicando que está sendo gravado com sucesso. Como é feita a configuração fora do computador? Eu vi que tem que colocar o IP no lugar da porta e tal, mas como sei qual IP coloco? Abração!
 

Latest posts

Back
Top