» Eletrônicos » Arduino »Termostato para ventilador

Termostato para ventilador



Os ventiladores usados ​​para resfriar os componentes eletrônicos vêm de duas formas. Alguns são em miniatura, são enviados diretamente para os componentes resfriados, outros são maiores, conduzem o ar por todo o espaço da carcaça. É melhor quando os dois tipos de fãs são usados ​​juntos. Freqüentemente, os fãs do segundo tipo estão constantemente "debulhando" com força total, mesmo que isso não seja necessário. Com isso, o rolamento se desgasta mais rapidamente e muito ruído interfere no usuário. O termostato de contato mais simples pode ligar e desligar o ventilador, enquanto o recurso de mancal é consumido apenas quando o motor está funcionando, mas ruídos aparentes e desaparecidos podem ser ainda mais irritantes. Um termostato mais sofisticado - por exemplo, proposto pelo autor Instructables sob o apelido AntoBesline - controla a frequência de rotação do motor do ventilador com um PWM e o mantém necessário e suficiente para atingir a temperatura definida. É aconselhável conduzir o ar através do espaço da caixa de baixo para cima e colocar o sensor de temperatura de cima. Você também pode instalar filtros para impedir a entrada de poeira no gabinete, mas eles reduzirão o desempenho.

Um sensor de temperatura e umidade como o DHT11 é adequado apenas para o termostato que controla um segundo tipo de ventilador, pois mede a temperatura do ar e não de qualquer superfície. Seu suporte é fornecido por duas bibliotecas estabelecidas aqui e aqui. Se você precisar equipar um ventilador do primeiro tipo com um termostato, precisará usar outro sensor que mede a temperatura da superfície do componente a ser resfriado. O programa terá que ser refeito e outros serão necessários, porque o sensor pode diferir tanto na interface quanto na estrutura dos dados transmitidos a ele.

Usando a ilustração a seguir, o assistente mostra o que é PWM, a maioria dos leitores já sabe disso. Devido ao fato do transistor de saída estar sempre completamente fechado ou completamente aberto, uma potência muito baixa é sempre alocada a ele. Como você sabe, a energia é igual ao produto da corrente e da tensão, e aqui, quando o transistor é fechado, a corrente é muito pequena e, quando aberta, a queda de tensão é pequena. Um dos dois fatores é sempre pequeno, o que significa que o produto também é pequeno. Quase toda a energia no controlador PWM vai para a carga, não para o transistor.

Termostato para ventilador


O mestre elabora um diagrama do termostato:



Arduino é alimentado por uma fonte de 5 volts, a ventoinha - de 12 volts.Se você usa um ventilador de 5 volts, pode usar uma fonte com capacidade de carga suficiente, alimentando o Arduino através de um simples filtro LC. É necessário um diodo conectado em paralelo com o ventilador na direção oposta se o motor for um coletor (como em alguns ventiladores USB modernos). Ao usar um ventilador de computador com sensor Hall e controle eletrônico de corda, esse diodo é opcional.

O texto do programa compilado pelo assistente é bastante curto, é fornecido abaixo:

#include "DHT.h"
#define dht_apin A1
#include

Cristal líquido lcd (7,6,5,4,3,2);
DHT dht (dht_apin, DHT11);
int fan = 11;
int led = 8;
int temp;
int tempMin = 30;
int tempMax = 60;
int fanSpeed;
int fanLCD;
configuração nula ()
{
   pinMode (ventilador, SAÍDA);
   pinMode (led, OUTPUT);
   lcd.begin (16, 2);
   dht.begin ();
   lcd.print ("Room Temp Based");
   lcd.setCursor (0, 1);
   lcd.print ("Velocidade do ventilador Ctrl");
   atraso (3000);
   lcd.clear ();
}
loop vazio ()
{
    temperatura do flutuador;
    temperatura = dht.readTemperature ();
    temp = temperatura; // armazena o valor da temperatura na variável temp
   Serial.print (temp);
   if (temp  = tempMin) && (temp <= tempMax)) // se a temperatura for maior que a temperatura mínima
   {
       fanSpeed ​​= temp; // mapa (temp, tempMin, tempMax, 0, 100); // a velocidade real do ventilador // map (temp, tempMin, tempMax, 32, 255);
       fanSpeed ​​= 1.5 * fanSpeed;
       fanLCD = mapa (temp, tempMin, tempMax, 0, 100); // velocidade do ventilador para exibir no LCD100
       analogWrite (ventilador, velocidade do ventilador); // gire o ventilador na velocidade do ventilador
   }
      if (temp> tempMax) // se temp for maior que tempMax
     {
     digitalWrite (led, ALTO); // acende o led
     }
   else // else turn do led
     {
     digitalWrite (led, LOW);
     }
      lcd.print ("TEMP:");
   lcd.print (temp); // mostra a temperatura
   lcd.print ("C");
   lcd.setCursor (0,1); // move o cursor para a próxima linha
   lcd.print ("FANS:");
   lcd.print (fanLCD); // exibe a velocidade do ventilador
   lcd.print ("%");
   atraso (200);
   lcd.clear ();
 }


Além disso, um esboço pode ser baixado como um arquivo aqui. A extensão desconhecida terá que ser alterada para ino.

As fotos a seguir mostram a montagem do dispositivo protótipo em uma placa do tipo placa de ensaio:









Depois de montar um protótipo, o mestre o testa. A temperatura é exibida em graus Celsius, o valor real da tensão no ventilador - como uma porcentagem do máximo.







Resta montar o circuito por solda e fazer com que o termostato faça parte caseiroque ele vai esfriar.
8
8
6

Adicionar um comentário

    • sorrirsorrisosxaxaoknão seiyahoonea
      chefearranhartolosimsim simagressivosegredo
      desculpedançardance2dance3perdãoajudabebidas
      pararamigosbomgoodgoodapitodesmaiarlíngua
      fumaçapalmascraydeclararirônicodon-t_mentionbaixar
      calorirritantelaugh1mdareuniãomoskingnegativo
      not_ipipocapunirlerassustarsustospesquisar
      provocarthank_youistoto_clueumnikagudoconcordar
      malbeeeblack_eyeblum3corargabar-setédio
      censuradobrincadeirasecret2ameaçarvitóriayusun_bespectacled
      sacudirrespektlolpreviubem vindoKrutoyya_za
      ya_dobryiajudantene_huliganne_othodifludproibirfechar
10 comentários
O autor
Bem, na extremidade inferior do intervalo, a histerese pode ser implementada. Tendo modificado ligeiramente o programa. E no restante da faixa, onde o ventilador ainda gira, apenas a velocidade muda, é possível sem histerese.
Citação: tormozedison
A histerese é necessária com uma carga on-off acentuada. Com um ajuste suave do PWM, como aqui, é inútil.

Não concordo, a histerese é necessária precisamente na lógica liga / desliga. Por exemplo, um ventilador, mesmo na velocidade mais baixa, liga a> 30 graus e desliga a <30. Mas se você imaginar que a temperatura está em torno de 30 graus, o ventilador liga a baixas velocidades, após o que a temperatura cai imediatamente para 29, o ventilador pára. Em suma, verifica-se "masturbando" on / off ventilador. Apenas a histerese evita isso, por exemplo, ligue quando a temperatura for> 30 e desligue quando <25. Se isso não for feito, não haverá sentido no Arduino, uma vez que existem o KY-028 e os análogos que permitem usar um aumento suave da velocidade e apenas ligar / desligar, e apenas a ausência de histerese não torna esses módulos ideais.
O autor
A histerese é necessária com uma carga on-off acentuada. Com um ajuste suave do PWM, como aqui, é inútil.

Eu sei sobre o KU208 no final dos anos 80. Eu aprendi sobre o KY-028 com você, obrigado pela dica.

Não é necessário conectar um monitor a este termostato. Em vez de UNO, use um clone barato com os mesmos recursos. E será economicamente justificado.
2Dem não os insulte (e você sabe que eu sou PROFI, em eletrônica, você simplesmente não quer admitir).
Decidi redefinir todos os desgostos em seus kamens para meus produtos caseiros. Hoje é meu dia de sorte e feriado.
Estou começando a zerar seus desgostos ... E você pode retirar seus insultos?
Citação: Ivan_Pokhmelev
Citação: R555
O idiota nem sequer escreve o nome KU208 corretamente.
Mas ele escreve corretamente o nome do sensor de temperatura KY-028. O que o KU208 tem a ver com isso?

Em primeiro lugar, obrigado por citar a mensagem, fiquei muito engraçado ao ver que o "sabe tudo" não conhece coisas tão básicas. Em segundo lugar, dei o KY-028 como exemplo, vale a pena adicionar um interruptor de energia e obtemos um termostato mais eficiente. E eficaz em todos os sentidos. Se não me engano, também não há histerese na temperatura mínima. Ou seja, isso deve ser feito antes de tudo, caso contrário, não há razão para usar o Arduino. Uso ineficiente de materiais, grosso modo, em Nano chinês com 16k de memória, o controle de ventilação na sala da caldeira é baseado em temperatura e umidade, proteção contra vazamentos em toda a casa (6 sensores), circulação inteligente de água quente sanitária, descarga da membrana de osmose e exibição de todo essa informação é exibida 1602. E o uso do Uno para iniciar o ventilador é racional apenas se for uma lição para iniciantes, mas esse "feito em casa" como nenhuma lição, existem lições muito melhores. Então, qual é o seu significado?
Por que inútil? Obviamente, isso não é um produto, mas um layout, há erros no esquema, mas a ideia tem o direito de existir. E de que tela você está falando?
Eu não seria tão categórico: o dispositivo, além do próprio regulamento, também exibe a temperatura, o que pode ser útil. Mas o nome está errado, não é um termostato, mas disposição controle de velocidade do ventilador dependente da temperatura.
Citação: R555
O idiota nem sequer escreve o nome KU208 corretamente.
Mas ele escreve corretamente o nome do sensor de temperatura KY-028. O que o KU208 tem a ver com isso?
Por exemplo, para KY-028 não ouviu? Não faz sentido usar o UNO para um ofício tão inútil. A tela não é necessária em nenhuma implementação. Todo esse lixo é como o primeiro e mais importante trabalho malsucedido de um estudante, pois tudo o que pode ser feito de errado é exatamente o que foi feito.
Outro microscópio-martelo de unha! nea

Aconselhamos que você leia:

Entregue-o para o smartphone ...