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