Controle%20Temperatura.txt

Boa tarde galera ... eu estou querendo fazer um fogareiro automatizar um fogareiro. 


Ex: Tenho uma panela de água no fogo, quero que a água fique sempre na temperatura que eu setar...tipo 60 graus. para manter na temperatura eu vou usar uma válvula de esfera e um servomotor para atuar essa válvula abrindo e a fechando para manter a temperatura.

uma parte do codigo ja escrevi, porem preciso de ajuda pra fazer a parte de set de temperatura.

meu codigo esta em anexo.

Exibições: 792

As respostas para este tópico estão encerradas.

Respostas a este tópico

Bom dia LPB,

Recomendações:
  1. Remova seu sketch da área de texto do seu tópico;
  2. Leia http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
  3. Comente as linhas do seu sketch. Fica mais fácil entender o que vc quer fazer com cada
     linha e facilita a ajuda.
  4. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
     com o seu sketch.

Este seu sketch é o que está no link: https://playground.arduino.cc/Code/PIDLibaryBasicExample,

então basta postar o link ao invés de postar todo o code na área de texto do tópico.

RV

Ola.

  O PID é um metodo de controle de temperatura. Vc controla uma valvula de gás, a potencia de uma resistencia, coisa assim para manter a temperatura constante.

   A saída do PID não é proporcional a temperatura e sim a resposta de toda uma calculeira para fazer uma correção na temperatura.

  Diga melhor sua intenção. Seria mover um "botao" de ajuste de potencia de aquecimento ? Se sim vai acabar funcionando, está no caminho correto.

  Se pretende  "controlar um servo motor de acordo com a temperatura" ou seja: fazer o servo indicar a temperatura, como num painel analógico, vc não precisa de um PID e sim de uma interpolaçao (conta de regra de 3 ou map(,,,);)

Eduardo bom dia ....

Minha ideia é o seguinte.

Estou querendo automatizar um fogareiro. Eu queria controlar a chama. Queria estar a temperatura tipo coloquei água lá no fogareiro e quero que ela fique a 60°C ... aí queria usar um servo motor para poder abrir e modular a válvula de gás para permanecer a temperatura que de setpoint

Existe um perigo muito grande no seu projeto...

O problema é que imagine que vc liga e a temperatura chega a 70 graus. O controlador vai mandar diminuir o maximo a chama para parar de esquentar. Vai que ele desliga... Cortou o gas, apagou o fogo. Aih quando chegar em 59 (com PID na verdade até antes...) ele vai começar a abrir novamente o gás e não tem fogo !!! Vai virar um vazamento de gás.

Acredito que depois que vc tiver uma resposta boa para essa questão daria para prosseguir, antes acho até arriscado darmos suporte a uma ideia que pode virar uma bomba.

Alguns fogoes do mercado (tive um) tem termostato. Ele funciona assim:

O botão de ligar afunda. Para ligar o fogo vc precisa colocar no maximo e afundar o botão, aih apertar a ignição Esse apertar é o bypass do sistema de segurança. Esse sistema de segurança é um sensor que fica no fogo. Pode ser só um arame bimetálico. Ele percebe que existe chama e abre o gás. Se não tiver chama não abre (fecha).

Existem ao menos 3 valvulas:

A do botão (virou para a esquerda, fechou o gas), a da segurança, que fica fechada também se frio, e a do segundo estágio.

Se a primeira e a segunda estiverem abertas fica em fogo baixo. Se a terceira abrir fica em fogo alto.

Essa terceira é comandada pelo termostato. 

Quando vc liga está frio ,entao ela está aberta e a chama fica forte. Minutos depois a temperatura do forno chega a programada (180 graus, por ex) e a valvula se fecha, indo para fogo baixo. Aih está o perigo. Quando o queimador é velho é dificil de manter fogo baixo. Tende a apagar. Isso acontece minutos depois de ligar quando ninguem está olhando. Se não tivesse a segurança ia dar o disparo assim que esfriasse.

Enfim, começaria pela segurança...

Se vc está certo de que nunca ira provocar um vazamento de gas pq seu controle apagou a chama, nem que seja limitando o braco mecanicamente de forma que ele regule entre o minimo e o maximo que permite chama aih dá pra continuar.

Continuando, o PID é um negocio complexo... Por sorte essas bibliotecas ajudam muito, inclusive fazendo o setup da coisa toda.

Mas a sugestão é começar sem.

Primeiro meça a temperatura e mande para o monitor serial. Feito isso coloque um simples if() verificando se a temperatura está acima ou abaixo de 60. Faça o servo ir para o ponto de minima e de máxima.

Sabendo os valores de minimo e maxima descubra na biblioteca PID o que ela solta como output. Seria um numero de 0 a 100, de 0 a 255 ou o q ???? Quando usei PWM ainda nao existiam bibliotecas, tiver que fazer na unha.. Nao sei usar essa biblioteca.

Feito isso vc tera o numero para minimo e o numero para maximo a ser "jogado" no servo e o numero de minimo e de maximo "entregue"  pela bilbioteca.

Usando a função map(,,,); ou matematica simples (regra de 3)  vc converte de uma escala para a outra e finalmente aplica esse valor no seu servo.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço