Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Controlador de ventilador de gabinete AV

Componentes e suprimentos

Arduino Nano R3
× 1
Sensor DHT11 de Temperatura e Umidade (4 pinos)
× 1
Módulo de relé 5v DC
× 1

Sobre este projeto


Meu receptor AV estava muito quente, então eu queria adicionar um ventilador de gabinete antes do calor do verão. No início, tentei encontrar uma fonte de 5-12 V DC na parte externa do receptor que é ligada apenas quando o receptor está ligado, mas só consegui encontrar alguns lugares dentro do receptor. Eu também queria que as ventoinhas funcionassem por um tempo depois que o receptor fosse desligado, e dimensionar os capacitores para isso estava começando a ficar complicado.
Temperatura ambiente 75F, temperatura do gabinete 109F
Eu olhei os ventiladores com temperatura controlada no Amazon e todos eles pareciam mais caros do que eu pensei que deveriam ser. Eles custavam mais de $ 30 e eram basicamente apenas um ventilador, sonda de temperatura e um relé ... Eu olhei na minha caixa de peças e já tinha tudo isso.

Sim, isso deve bastar
Primeiro, escrevi um pequeno esboço para um Arduino Nano chinês de US $ 2. Adicionado um sensor de temperatura DHT11 e um relé CC de 5 V e funcionou como um encanto.
Protótipo Rápido
Em seguida, eu tive que encontrar alguns ventiladores de PC antigos que girariam e moveriam o ar em apenas 5v, já que eu queria que tudo fosse alimentado por um carregador de telefone USB antigo. Eu encontrei duas ventoinhas de 80 mm e uma de 120 mm que ainda moviam CFM suficiente a 5 V e ficavam abaixo de 200 mA, então cortei a conexão molex e conectei-as como USB.

Tudo estava funcionando na placa de ensaio, então acabei adicionando alguns LEDs de status e uma campainha piezoelétrica para um alarme de superaquecimento. Tudo se encaixava perfeitamente em uma pequena caixa de projeto que eu tinha.
O ajuste perfeito exige muita cola quente para evitar shorts Agradável e compacto, e combina com o resto do equipamento AV LEDs de status:canto superior esquerdo =energia (verde); inferior esquerdo =temp OK (verde); meio =ventiladores ligados (laranja); direita =superaquecimento (vermelho)
O controlador passa por um POST de inicialização para mostrar que todos os ventiladores, LEDs e alarmes piezoelétricos estão funcionando
Autoteste ao ligar






Arduino Sketch:




O controlador mede a temperatura média em um intervalo de 30 segundos. Se estiver acima de 95F, o ventilador liga por 5 minutos antes de verificar novamente. Se a temperatura estiver acima de 120F, o alarme soa enquanto os ventiladores continuam funcionando. O alarme soa a cada 30 segundos até que a temperatura esteja abaixo de 120F.
Saída serial
Na prática, os ventiladores são ativados cerca de 2 minutos após o receptor ser ligado e funcionarão durante todo o tempo em que estiver ligado. Depois de desligar a central de mídia, os ventiladores funcionam por pelo menos 5 minutos antes que a temperatura fique abaixo de 95F. Até agora, o alarme de superaquecimento não foi acionado.

Se eu estivesse fazendo este projeto novamente, pensaria em substituir o Arduino Nano por um ATtiny85 e o relé por um MOSFET. Este seria um fator de forma muito menor e também me permitiria usar o PWM para controlar a velocidade do ventilador.

Código

  • FanTempController
FanTempController C / C ++
Esboço do Arduino que usa a leitura de temperatura média de um sensor DHT11 para ligar um ventilador por meio de um relé.
 // Controlador de temperatura para gabinete A / V // O ventilador é controlado por relé 10A conectado a um 12v (computador) ou 5v (USB) Ventilador // Alarme piezoelétrico para alerta alternativo de superaquecimento FANTEMP =95; // Temperatura alta na qual o ventilador liga (90 * F) int ALARMTEMP =120; // Temperatura de superaquecimento (120 * F) int FANLED =2; // Pino para ventilador "ligado" LEDint TEMPOK =3; // LED para quando a temperatura está abaixo de FANTEMPint ALARMLED =4; // LED de alarme int ALARMPIN =7; // Alarme sonoro de superaquecimento // DHTPIN =8; (definido abaixo) int FANPIN =9; // Relé para a chave do ventilador # inclui "DHT.h" // Escrito por ladyada, domínio público # define DHTPIN 8 // Sensor DHT // Descomente qualquer tipo que estiver usando! #Define DHTTYPE DHT11 // DHT 11 // # define DHTTYPE DHT22 // DHT 22 (AM2302) // # define DHTTYPE DHT21 // DHT 21 (AM2301) // Inicializa o sensor DHT para 16mhz ArduinoDHT dht normal (DHTPIN, DHTTYPE); // NOTA:Para trabalhar com um chip mais rápido, como um Arduino Due ou Teensy, você // pode precisar aumentar o limite para contagens de ciclo consideradas 1 ou 0.// Você pode fazer isso passando um terceiro parâmetro para esse limite. É um pouco // complicado encontrar o valor correto, mas, em geral, quanto mais rápida a CPU, // maior é o valor. O padrão para um AVR de 16 mhz é um valor de 6. Para um // Arduino devido que funciona a 84 mhz, um valor de 30 funciona.// Exemplo para inicializar o sensor DHT para Arduino Vencimento:// DHT dht (DHTPIN, DHTTYPE, 30); // Leituras usadas para averageconst int numReadings =10; // Definir variáveis ​​para zerofloat avetemp =0; float temp =0; float checkdelay =0; void setup () {Serial.begin (9600); Serial.println ("Monitor temporário iniciado"); dht.begin (); pinMode (FANPIN, OUTPUT); pinMode (ALARMPIN, OUTPUT); pinMode (ALARMLED, OUTPUT); pinMode (FANLED, OUTPUT); pinMode (TEMPOK, OUTPUT); digitalWrite (FANPIN, HIGH); digitalWrite (FANLED, HIGH); digitalWrite (ALARMLED, HIGH); digitalWrite (TEMPOK, HIGH); for (int x =0; x <5; x ++) {// Testa o tom do alarme (ALARMPIN, 220 * x, 75); atraso (100); } Serial.print ("Teste do ventilador iniciado (5 segundos)"); para (int x =0; x <5; x ++) {Serial.print ("."); atraso (1000); } Serial.println ("Concluído"); digitalWrite (FANPIN, LOW); digitalWrite (FANLED, LOW); digitalWrite (ALARMLED, LOW); digitalWrite (TEMPOK, LOW); noTone (ALARMPIN); } void loop () {// Aguarde alguns segundos entre as medições. atraso (2000); temp =0; Serial.print ("Realtime Temp:\ t"); para (int x =0; x 
 ALARMTEMP) {digitalWrite (ALARMLED, HIGH); Serial.print ("A temperatura acabou"); Serial.print (ALARMTEMP); Serial.println (", Alarme ativado"); for (int x =0; x <3; x ++) {// Soar o alarme por tom de 5 segundos (ALARMPIN, 660, 1000); // Ventilador já deve estar funcionando desde o último loop, caso contrário, ele iniciará logo após o alarme soar delay (500); tom (ALARMPIN, 440, 1000); atraso (500); } noTone (ALARMPIN); checkdelay =30000; // Muda o atraso normal de 5 minutos para 30 segundos antes de passar pelo loop novamente} else {digitalWrite (ALARMLED, LOW); Serial.print ("A temperatura está abaixo de"); Serial.print (ALARMTEMP); Serial.println (", o alarme está desligado"); checkdelay =300000; // A menos que a temperatura seja superior a 120 * F, o ventilador funciona por 5 minutos antes que a temperatura seja verificada novamente} // Ligue o ventilador se o gabinete estiver quente if (avetemp>
 FANTEMP) {digitalWrite (FANPIN, HIGH); digitalWrite (FANLED, HIGH); digitalWrite (TEMPOK, LOW); Serial.print ("A temperatura acabou"); Serial.print (FANTEMP); Serial.print (", a ventoinha está ligada (para"); Serial.print (checkdelay / 1000/60); Serial.println ("minutos)"); atraso (checkdelay); // liga no mínimo 5 min (a menos que o alarme esteja disparando, então ele faz um loop após 30 segundos)} else {digitalWrite (FANPIN, LOW); digitalWrite (FANLED, LOW); digitalWrite (TEMPOK, HIGH); Serial.print ("A temperatura está abaixo de"); Serial.print (FANTEMP); Serial.println (", Ventilador desligado"); // Quando o ventilador está desligado, a temperatura é lida a cada 30 segundos} Serial.println (); Serial.println (); } 

Esquemas


Processo de manufatura

  1. Controlador de energia PWM
  2. Arquivo
  3. Ventilador com temperatura controlada
  4. Resolvendo problemas de vibração do ventilador
  5. Controlador DMX operado pela web
  6. Dispositivo de automação de tarefas de videogame
  7. Controlador de jogo Arduino
  8. Unopad - Controlador Arduino MIDI com Ableton
  9. Controlador de display fluorescente a vácuo
  10. Arduino Home Controller ativado por Alexa