Ir para conteúdo

Fazendo um controlador de temperatura com arduino


Postagens recomendadas

Segue a lista:

 

1) Termopar + Leitor/Conversor

2) SSR AC DC 25A (acho que teria outras opções de SSR bem menores, mas não vou arriscar)

3) HeatSink para o SSR (creio que seja opcional)

4) Arduino Nano (esse é só para brincar)

5) Arduino Uno

6) Cabos

Link para o comentário
Compartilhar em outros sites

Certo, antes de liberar o fogo ruivo, deixa eu entender umas coisas:

 

- com esse kit eu consigo controlar a resistência e fazer o log da curva via roastlogger, certo?

- tem espaço no arduino para outro termopar (já pensando no forno)? Precisaria de outro MAX31855?

- o arduino tem porta extra para controlar a ventoinha (já estou pensando no forno também)?

 

PS. Algum moderador poderia desmembrar o tópico a partir do post #218 e abrir um tópico separado com o título "Instalando um controlador Arduino na Pipoqueira"

 

Abs.

Link para o comentário
Compartilhar em outros sites

Sim, o arduino uno tem portas extras que lhe permitirão adquirir e instalar mais um sensor max31855. Para ventoinha, você pode usar um shield controlador de motor dc (se for usar ventoinha DC) ou basta usar uma porta pwm digital para controlar outro relê (aqui pode ser um SSR de menor amperagem, mas tem que ser DC AC também). O meu sketch já tem linhas de controle do fan usando pulsos por frequência (é muito bom para controlar ventoinhas AC, eu uso as faixas do meio, pois a definida para o hottop não é adequada para ventoinhas AC comuns).

Link para o comentário
Compartilhar em outros sites

Comprei também:

 

1) Termopar + Leitor/Conversor (2 unidades, já pensando no forno)

2) SSR AC DC 25A (2 unidades, idem)

3) Arduino Uno

 

Agora é sentar e esperar. Enquanto isso vou ler algum material sobre arduino e sobre o roastlogger. :)

 

Abs.

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Negócio andou rápido: comprei tudo dia 13/03. O arduino chegou hoje ao Brasil (Curitiba), depois de 13 dias corridos.

 

Por outro lado, o termopar e os relês nem saíram da China ainda...... :o. Tenho o rastreamento, mas ao que consta o objeto não foi postado.

 

Vai entender...  

Link para o comentário
Compartilhar em outros sites

das coisas que comprei, chegou no brasil:

1) termometro digital - 1 semana atras

2) fan cooler - 3 dias atras

3) termopar - ontem

o resto tudo já deu saída da China, mas ainda nao deu entrada nos brasils

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Começaram a chegar as traquitanas. Ontem foi o fan cooler, hoje o Arduino nano. Já brinquei um pouco e achei Bem básico.

Ainda não tinha mexido direito com Arduino, mesmo tendo disponível um Duemilanove há dias.

Link para o comentário
Compartilhar em outros sites

Alguém anda fornecendo café para os funcionários dos correios? Os caras acordaram e estão trabalhando... Nunca havia recebido as tranqueiras da China em um prazo razoável. Hoje já recebi o SSR que foi enviado dia 16/03. Pelo jeito, as coisas estão melhorando.

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

Minhas coisas já chegaram, só está faltando entregar o controlador de termopar.

 

A partir de agora começam as minhas dúvidas. Pretendo ligar 2 sensores, um ambiente e outro nos grãos, portanto serão 2 controladores + o arduino. A pergunta é: como ligar tudo isso. 

 

Para não dizer que não pesquisei, até achei um esquema da ligação de apenas 1 controlador.

 

Resta saber como ligar 2. Alguém poderia ajudar?

 

E o SSR? (na foto só mostra um fio)

 

pid_schematic1.png

Link para o comentário
Compartilhar em outros sites

Liga-se 2 da mesma forma que liga-se 1. É uma conexão SPI sem MOSI (Master-out Slave-in), o que significa que usa-se 3 pinos para cada conversor. Até pode compartilhar os pinos de clock e habilitação (SCK e DO) dos conversores. 

Weiler, só cuida se o MAX31855K não é alimentado com 3~3.6V ao invés de 5V. Digo isto pois meu conversor é 3.3V. 

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

Boa lembrança, conferi e o MAX é 3~3.6v mesmo. 

 

A respeito da ligação, vejamos se eu entendi:

 

- usando o diagrama acima como exemplo, posso compartilhar os fios GND, DO e CLK, apenas cuidando de ligar o Vin no 3v3, correto?

 

- o fio verde (CS) - que eu imagino seja o sinal - usa o pino 7. Qual seria outro disponível?

 

- ainda ficou a dúvida de como ligar o SSR, já que ele usa um (-) e um (+) para ser acionado. 

Link para o comentário
Compartilhar em outros sites

DO é Data Out. Esse é o dado de fato do conversor.

SCK ou, nesse exemplo, CLK é Serial Clock. Relógio que fornece a sincronização da transferência dos dados serialmente.

CS é Chip Select. Tu pode ter vários chips ligados no barramento SPI. Cada um destes chips recebe um fio CS que o habilita, ou seja, informa "tu é o cara a quem estou me dirigindo agora". Tu ativa esse CS, manda o sinal de relógio CLK e o conversor começa a te mandar de volta os dados de temperatura em DO.

O único sinal que tu obrigatoriamente não pode compartilhar é o DO. Como o Arduino não manda dados pro conversor, só recebe, então tu poderia compartilhar todos os demais pinos. Só tem que ver a lógica do circuito no arduino.

 

Sei que tem uma biblioteca pronta da Adafruit para o MAX31855. Procura no google que é fácil. Já tá tudo mastigado...

Link para o comentário
Compartilhar em outros sites

  • 2 months later...

Fiz as ligações do Uno com os shields e já defini as ligações dos dois relês.

 

Segue foto:

 

42378b4f792742b06f2c273c455283da.jpg

 

Será que está tudo ligado certo ou fiz besteira?

 

Preciso terminar essa parte logo para por o meu torrador pra funcionar...rsrsrs

Link para o comentário
Compartilhar em outros sites

Caro Weiler. Acredito que quanto a pinagem esteja tudo correto. Verificou a alimentação do leitor de termopar? Está correta? Meu UNO não chegou. Vou começar a testar na empresa com um Mega. Vamos começar o projeto.

Link para o comentário
Compartilhar em outros sites

A alimentação, como vc tinha alertado antes, era realmente de 3.3v. Se observar na figura, a pinagem ficou assim:

 

Sentido UNO -> SHIELD:

- fio laranja: 3.3v -> VCC

- fio azul: GND -> GND

- fio branco: 7 -> SO

- fio branco: 8-> SO

- fio amarelo: 2 -> CS

- fio amarelo: 4 -> CS

- fio lilás: 12 -> CSK

- fio lilás: 13 -> CSK

 

Sentido UNO -> SSR

 

- fio azul: GND -> (-) SSR 1

- fio azul: GND -> (-) SSR 2

- fio verde: ˜10 -> (+) SSR 1

- fio verde: ˜11 -> (+) SSR 2

 

Posso passar a régua e montar? Só falta isso para fechar a caixa de controle do meu torrador e começar os testes com o Roastlogger.

 

Desde já valeu!!!

Link para o comentário
Compartilhar em outros sites

Novidades, algumas boas outras ruins!

 

Liguei o arduino no PC, tudo beleza. Ao definir o sketch, começou o problema. No anúncio do AliExpress, dizia que o shield era MAX31855. Mas na plaquinha (inclusive dá para ver na que postei acima), estava escrito MAX 6675. Liguei no 3.3v e fiz a fiação conforme diagrama.

 

Baixei o sketch do 6675, acertei os pinos e gravei. O termopar marcava temperatura na casa dos 1.000ºC, oscilando loucamente, 3, 5, 10 graus pra cima/baixo.

 

Desconfiado, peguei uma lupa e verifiquei que no chip da placa tinha a inscrição MAX31855. 

 

Baixei o sketch do 31855, acertei novamente os pinos e gravei no arduino. Desta vez o termopar marcou a temperatura corretamente, mas ainda oscilava muuuuito. 

 

Fiz o experimento comparativo com um termopar tipo K Minipa e um multímetro. A diferença de temperatura entre os dois ficou em +/- 10%, porém o termopar do arduino oscilava sempre para baixo. Exemplifico:

 

ÁGUA a 80ºC

- Multímetro: 80ºC

- Arduino: oscila entre 72 ~ 74ºC

 

ÁGUA a 4ºC

- Multímetro: 4ºC

- Arduino: oscila entre 1.2 ~ 2.5ºC

 

Além disso, o tempo de resposta do arduino é ridículo. Enquanto o multímetro é praticamente instantâneo, o arduino demora uns 10 segundos para ir do frio para o quente e vice-versa.

 

Tentei usar um comando no sketch para ajustar uma compensação, mas não tive sucesso.

 

Agora preciso de uma MEGA AJUDA, porque sem um controle de temperatura confiável, não dá para prosseguir.

 

No aguardo dos universitários..... :D

Link para o comentário
Compartilhar em outros sites

Weiler,

Me parece que vc inverteu os polos do termopar. Se está lendo para baixo quando aumenta a temperatura, isso acontece normalmente quando os polos estão invertidos. Daí ocorre também uma discrepância razoável na leitura.

Link para o comentário
Compartilhar em outros sites

Relendo, parece que configurou certo e ligou nos polos corretos. Que sketch está usando? Aqui não dá essa discrepância toda e é relativamente rápido. Se usar um lcd ao invés do serial read write é bem mais rápido

Meu controlador que uso na coffee é bem preciso quanto à temperatura de fervura. Obviamente, tem que considerar a massa metálica onde ele está medindo a temp. Tentativa e erro é vc chega na temperatura.

Se for para torrar café, sugiro que vc desencane pois esses 10% não são relevantes, até porque o sensor não vai estar imerso em água e a posição dele influência muito na temperatura medida que não vai equivaler a temperatura interna dos grãos

Só depois de umas 20 torras vai dar para vc saber e previr o comportamento do torrador e da torra

Agora já adianto uma coisa, nunca vai se comportar igual a um controlador PID ou minipa. E cuidado com eletricidade estática, pois interfere. Até hoje não encontrei uma solução 100% livre de erros. Uso códigos para compensar erros de leitura.

Link para o comentário
Compartilhar em outros sites

Guilherme, blz?!

 

Estou usando o sketch fornecido para download pelo site do Roastlogger: RoastLogger-MAX31855

 

Teria um outro código mais refinado para me passar? 

 

Sobre a estática, pensei em aterrar a estrutura metálica e a malha externa do termopar.

 

E pesquisando o assunto, talvez seja interessante uma mini gaiola de Faraday ao redor do sensor ET. 

 

O que acha?

Link para o comentário
Compartilhar em outros sites

Boa idéia weiler. Talvez, envolvê-lo com alumínio resolva. Já usei um sensor termopar revestido de cerâmica.Funcionou muito bem. O problema é que o tempo de resposta fica muitoooo lento, por conta da cerâmica (ela aquece um pouco mais devagar que o aço, mas também demora para esfriar bem mais).

Quanto ao código. Já fiz algo, mas ainda ficou um pouco rudimentar. Vou bolar alguma coisa e te digo.


As abordagens na malha já tentei. Ajuda muito, mas não resolve 100%.

Link para o comentário
Compartilhar em outros sites

Consegui finalmente fazer os dois termopares funcionarem ao mesmo tempo com leituras coerentes e bem próximas. UFA!!! Que luta!!!

 

Próximo round será fazer acionar os relés SSR.

 

O relê do aquecimento eu já manjei, porque está muito claro no sketch. Mas o da ventoinha (fan) eu vi o slider no programa, mas não achei a porta no sketch.

 

Podem me ajudar?

 

PS. lembrando que vou usar uma ventoinha AC.

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...