Ir para conteúdo

Guilherme Torres

Senior Members
  • Total de itens

    5.364
  • Registro em

  • Última visita

  • Days Won

    93

Tudo que Guilherme Torres postou

  1. Sei bem como é Gil. Quando estamos desenvolvendo algo, só vemos o dinheiro saindo, saindo.... Pelo menos vc já viu algum entrando. Eu, se acontecer, só verei ano que vem, quando tiver concluído todo o meu projeto. Estimo que o investimento ainda esteja longe de se pagar para vc
  2. Depois do trabalho, um merecido descanso. Curtindo um vinho e complementos.
  3. Preenchi logo de manhã tb. Só agora arranjei tempo para postar. Valeu Igor, por mais essa CL sob seu encargo.
  4. Hoje atualizei o menu gráfico para introduzir o marcador de tempo. Já praticamente acabei o sketch. Faltam apenas as rotinas da água e do vapor. Demorei a acertar a mão do loop da rotina do café (acabava travando). Agora que me acertei com o bichinho, vulgo nextion, e com o código relacionado a ele no Arduino, vai ficar pronto rapidinho. Depois posto vídeo
  5. Quando falamos de café Espresso, às vezes mencionamos que determinada extração foi um God shot, porque ficou excepcionalmente boa, muito acima da média. Vou fazer um paralelo. Anteontem, fiz uma God Roast, RSSs. O rubi é um café que nunca me agradou muito. Não sei, talvez o corpo seja porrada demais. Realmente não sei dizer. Mas, essa torra ficou tão boa, mas tão boa, que o café está delicioso. Nada exótico, mas muito redondo, desses expressos que vc toma em uma butique de cafés especiais e fica, depois, com aquele gostinho gostoso na boca, pensando em quando vai voltar lá para repetir a experiência. Bom, vou repetí-la diariamente, por uns bons dias, porque vai ser sempre o da vez após o almoço e o ultimo do dia, pelos próximos dias, RSSs Para não fugir do tópico, eis a fotinha: Ps: só de abrir o pote, deu vontade do repeteco.
  6. Santiago, Essa oscilação grande é porque, provavelmente, o sensor está tocando em algo metálico. Sugiro isolá-lo. Algo como isso, por exemplo (canotilha cerâmica):
  7. Valeu Ma Já dei uma adiantada na programação do sketch no final da tarde Acho que amanhã, se não ocorrer nenhuma zica, termino
  8. Valeu Fabio. Quem sabe no futuro. Por ora, estou me concentrando em acabar esse mod Refiz a interface gráfica Agora falta apenas o programa
  9. Minha esposa sugeriu que eu aumente mais os botões e retire o título. Volto a prancheta amanhã
  10. Resolvi mudar as funções na interface gráfica. Estava achando os botões pequenos demais para o tamanho diminuto do visor. Então, suprimi um dos botões e aumentei um tico os demais. O problema é que tinha editado a tela em corel x7. Só que minha versão de testes expirou e fiquei sem poder exportar para uma versão mais antiga (bobeira minha). Tive que refazer tudo. Como ia demorar demais para fazer da mesma interface, acabei fazendo a tela de fundo branca. Depois vou aprimorar
  11. Isso aí Valmor. Como diria aquele guri do YouTube: taca-lhe pau rsss
  12. Hoje torrei 320g do Rubi 14 minutos de torra Parei 3 minutos depois dos primeiros estalos
  13. Torrando com frequência alta para testar bastante antes de lançar Hoje foi o seleção do Mário
  14. Já está quase chegando na hora de lançar. O torrador em si já está pronto. Agora estou bolando o resfriador, que será vendido como opcional
  15. Valeu lipe. Passarei quinta então Igor, Acho que pego uns dois a três kg a mais, na minha cota (conta) pessoal
  16. Igor, Mais uma vez, está de parabéns! Daqui a pouco vai ter muita empresa querendo te contratar como coffee hunter. Todos me interessaram. Estou ainda por passar na belini para comprar esse café da mantissa. Ia hoje de manhã, mas não consegui porque minha janela de tempo livre era muito apertada. Vou na quarta, sem falta. To dentro. Sei que vai lançar planilha posteriormente. Mas, para ter uma estimativa de quanto cada um vai querer, já adianto que vou ficar com 5kg do MANTISSA (podendo aumentar depois de quarta, hehe) e 8kg do boasorte (topázio)
  17. inicio dizendo que mexer em eletricidade pode matar e que quem se arrisca mexer em eletricidade o faz por conta e risco próprio e que me eximo de responsabilidade por qualquer choque elétrico ou fatalidade que venha ocorrer a quem se arriscar a alterar o circuito da máquina de espresso. Tecidas essas considerações, deveras óbvias por sinal: Diego, Você pode partir para duas formas de abordagem. Controlar só a temperatura (que é muito mais fácil e não vai demandar maiores conhecimentos de elétrica - leia de novo o início desse post), ou controlar tudo. Se for controlar só a temperatura, basta introduzir o circuito do relê ssr no termostato de café (tira um dos pólos - com a tomada desligada, não quero ver nenhum forista eletrocutado - depois liga ele num dos pólos ac do relê 1 e 2 normalmente. O fio que sai do polo 2 do relê, você liga no pólo de onde retirou o terminal do termostato). Aí, qualquer sketch básico de controle de temperatura vai resolver. Por outro lado, se for controlar tudo, tem que alterar a fiação de toda a máquina, uma vez que os interruptores serão acionados por voltagem DC, enquanto os componentes - solenoide, bomba dágua, resistência elétrica, serão controlados por relês. O que posso adiantar é que essa versão da máquina 1.0, já está perfeitamente funcional. Tudo funciona perfeitamente, sem comportamentos erráticos. Pronto para quem quiser replicar (por conta e risco próprios).
  18. Valeu Fábio. Acho que o NEXTION chega amanhã lá em casa. Essa semana começo a brincar com ele. A plaquinha, graças a você (que meu deu as medidas da placa da fiamma) já está lá em casa aguardando o módulo nextion. Estou pensando em fazer uma placa idêntica, em acrílico, para fixar por baixo dela (e, assim, dar espaço para o nextion, sem eu ter que mexer na lataria da máquina), em que vou aproveitar e colocar uma fita led para enfeitar a máquina quando ela estiver ligada.
  19. Pessoal, Está bem fácil fazer esse controlador. Lista de materiais: MATERIAIS COMUNS 1 CAIXINHA PARA INSTALAR O ARDUINO NELA (ISOLANTE TÉRMICO) 3 interrutores (ai quem escolhe é o patrão); 3 resistores 10k (que serão soldados um em cada fio que vai para as portas analógicas) 1 relê ssr VDC/VAC (pode ser a partir de 10A/220v OU 15a/110v) - VAI SER LIGADO AO ELEMENTO DE AQUECIMENTO (RESISTÊNCIA) 1 sensor termopar (eu iria nesse daqui). COM ARDUINO UNO OU NANO PADRÃO 2 cabos macho/fêmea du pont (jogo de jumper cables du pont female/male) - que vão para o relê ssr 4 cabos macho/fêma du pont (compra logo um jogo que sai mais barato, pois abrange os de cima também) - que vão para o shield relê duplo 1 SHIELD RELÊ DOIS CANAIS (DUPLO) - VAI SER LIGADO À SOLENOIDE E À BOMBA DÁGUA 1 ARDUNO UNO OU NANO V3 (NO CASO DE USAR O NANO V3, OS CABOS JUMPER DEVEM SER FEMEA/FEMEA) 1 MÓDULO MAX31855 (SHIELD DA SUA ESCOLHA) COM OS MÓDULOS DA CIRCUITAR (MAIS FÁCIL) CONTROLADOR E BASEBOARD NUM SÓ https://www.circuitar.com.br/nanoshields/modulos/base-boarduino/ RELÊS - TEM QUE COMPRAR DOIS MÓDULOS https://www.circuitar.com.br/loja/produto/59/ SHIELD SENSOR TERMOPAR https://www.circuitar.com.br/loja/produto/133/ MINI TERMINAL - PARA LIGAR OS FIOS QUE VÃO PARA OS INTERRUPTORES https://www.circuitar.com.br/loja/produto/51/ fios para eletrônicos (espessura pequena. pode comprar meio metro de cabo flat e separar o que for usar)
  20. Segue o Código #include <PID_v1.h> // a magica da maquina acontece por meio do SISTEMA DE CALCULOS PID double Setpoint, Input, Output; // temperatura //sensor termopar #include <SPI.h> #include "Nanoshield_Thermocouple.h" Nanoshield_Thermocouple thermocouple; // portas analogicas PARA INTERRUPTORES (EM TRANSITO PARA A INCONSTITUCIONALIDADE HA HA HA) int porta_A0 = 0; int porta_A1 = 0; int porta_A2 = 0; // variaveis de tempo // variaveis if long contasegundos = 0; long intervalo = 1000; long contaquartosdesegundo = 0; long intervalo1 = 250; // variaveis intercambiaveis int segundos =0; int segundos2=0; int S1 = 0; // definicao portas de saida resistencia e bomba de agua const int POWER1 = 3; // DEFININDO PIN D3 COMO SAIDA PARA RELE SSR const int POWERAGUA = 2; // DEFININDO PIN D2 COMO SAIDA PARA O RELE DA BOMBA D'AGUA (RELE COMUM - ON/OFF) const int SOLENOIDE = 4; // DEFININDO PIN D4 PARA RELE DA SOLENOIDE (RELE COMUM ON/OFF) // variaveis para controle de erro de leitura do termopar float t1 = 0.0; int checaerro = 0; // variaveis de controle da maquina int prepara=0; int valorA0 =0; int valorA1=0; int valorA2 =0; // PID void setup() {// INICIO DO VOID SETUP Serial.begin(9600); // INICIA A COMUNICACAO SERIAL thermocouple.begin(); // iniciei o sensor termopar // DEFINE OS PINS pinMode(A0, INPUT_PULLUP); pinMode (A1, INPUT_PULLUP ); pinMode (A2, INPUT_PULLUP); pinMode(POWER1, OUTPUT); pinMode(POWERAGUA, OUTPUT); pinMode(SOLENOIDE, OUTPUT); } // FIM DO VOID SETUP void controlaprepara() { // nesse void vamos definir o que rola na maquina a depender do que o cabramaster mandou // AQUI NADA ESTA SENDO PREPARADO (MAQUINA EM STAND BY) if (prepara == 0) { Setpoint = 90; segundos =-1; segundos2 =-1; digitalWrite (SOLENOIDE, LOW); digitalWrite (POWERAGUA, LOW); } // AQUI ACIONEI O INTERRUPTOR DO EXPRESSO, MOTIVO PELO QUAL SERA SEGUIDA A SEGUINTE ROTINA, BASEADA NO TEMPO if ((prepara == 1)&& (segundos2==2)) { Setpoint = 100; digitalWrite (SOLENOIDE, HIGH); digitalWrite (POWERAGUA, HIGH); } if ((prepara == 1) && (segundos2==3)) { digitalWrite (POWERAGUA, LOW); } if ((prepara == 1) && (segundos2 == 8)) { segundos = 0; digitalWrite (POWERAGUA, HIGH); } if ((prepara == 1) && (segundos2 == 38)) { digitalWrite (SOLENOIDE, LOW); digitalWrite (POWERAGUA, LOW); Serial.println ("TRAVA MAQUINA"); Setpoint = 80; } // AQUI ACIONEI O INTERRUPTOR DA AGUA if ((prepara == 2)&& (segundos2==2)) { segundos = 0; Setpoint = 100; digitalWrite (POWERAGUA, HIGH); } if ((prepara == 2)&& (segundos2==12)) { digitalWrite (POWERAGUA, LOW); Serial.println ("TRAVA MAQUINA"); Setpoint = 80; } // AQUI ACIONEI O INTERRUPTOR DO VAPOR if ((prepara == 3)&& (segundos2==2)) { Setpoint = 200; } if ((prepara == 3)&& (segundos2==50)) { digitalWrite (SOLENOIDE, HIGH); } if ((prepara == 3)&& (segundos2==65)) { digitalWrite (SOLENOIDE, LOW); } if ((prepara == 3)&& (segundos2==180)) { Setpoint = 80; Serial.println ("TRAVA MAQUINA"); } }// FIM DO CONTROLA PREPARA void contadores(){// inicio desse void que tem por funcao estabelecer contadores e acoes consequentes unsigned long contadoratual = millis(); // aqui checa se implementou um quarto de um segundo e checa as portas analogicas if (contadoratual - contaquartosdesegundo > intervalo1) { contaquartosdesegundo = contadoratual; S1 = S1 +1; } if (S1 == 1) {valorA0 = analogRead(0);} if (S1 == 2) {valorA1 = analogRead(1);} if (S1 == 3) { valorA2 = analogRead(2); S1 = 0; } // define o valor do prepara e em consequencia o que vai rolar if (valorA0 < 800) {prepara = 1;} if (valorA1 < 800) {prepara = 2;} if (valorA2 < 800) {prepara = 3;} if ((valorA0 > 800) && (valorA1 > 800) && (valorA2 > 800)) {prepara =0;} // se mais de um interruptor foi acionado ao mesmo tempo ignorar if ((valorA0 < 800) && (valorA1 < 800)) {prepara =0;} if ((valorA1 < 800) && (valorA2 < 800)) {prepara =0;} if ((valorA0 < 800) && (valorA2 < 800)) {prepara =0;} if ((valorA0 < 800) && (valorA1 < 800) && (valorA2 < 800)) {prepara =0;} //conta os segundos if (contadoratual - contasegundos > intervalo) { contasegundos = contadoratual; segundos = segundos+1; segundos2 = segundos2 + 1; Serial.print ("prepara = "); Serial.println (prepara); Serial.print ("Temperatura = "); Serial.println (t1,0); Serial.print ("A0: "); Serial.println (valorA0); Serial.print ("A1: "); Serial.println (valorA1); Serial.print ("A2: "); Serial.println (valorA2); Serial.print ("Setpoint = "); Serial.println (Setpoint); Serial.print ("Potencia = "); Serial.println (Output); Serial.print ("segundos = "); Serial.println (segundos); Serial.print ("segundos2 "); Serial.println (segundos2); Serial.print ("ERRO 0 = NAO; 1 = SIM: "); Serial.println (checaerro); Serial.println (" "); } } // fim do void contadores // aqui vamos controlar a temperatura void controlatemperatura() { // primeiro vamos ler a temperatura e ver se deu erro no sensor thermocouple.read(); if (thermocouple.isShortedToVcc()) { checaerro = 1; } if (thermocouple.isShortedToGnd()) { checaerro = 1; } if (thermocouple.isOpen()) { checaerro = 1; } else { t1 = thermocouple.getExternal(); checaerro = 0;} // agora vamos definir a potencia com base nisso PID TEMPERATURA (&Input, &Output, &Setpoint,6,0.25,0.025, DIRECT); TEMPERATURA.SetMode(AUTOMATIC); // CALCULANDO A SAIDA DE POTENCIA COM BASE NA TEMPERATURA MEDIDA Input = t1; TEMPERATURA.Compute(); if (t1 == 0) {Output = 0;} if (checaerro == 1) {Output = 0;} analogWrite (POWER1, Output); }// fim do void controlatemperatura void loop() { contadores(); controlaprepara(); controlatemperatura(); }
  21. Te conto depois de mais umas dez torras se realmente peguei o jeito. Mas o que posso dizer é que minhas três últimas torras ficaram bem gostosas. Acho que estou começando a entender o comportamento dele.
×
×
  • Criar Novo...