亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

智能影音柜风扇控制器 - Arduino Nano、DHT11 与继电器实现最优散热

组件与物料清单

组件数量
Arduino Nano R31
DHT11 温湿度传感器 (4针)1
5V 直流继电器模块1

项目背景

我的 AV 功放机运行温度过高,夏季来临前需要加装机柜风扇。最初想从功放机外部寻找仅在开机时供电的 5-12V 直流电源,但仅在内部找到几处可用点。同时希望关机后风扇延时运行,电容方案调试困难。

室温 24℃ (75℉),机柜内温 43℃ (109℉) —— 亟需散热方案。

市售温控风扇均价超 $30,核心仅是风扇、温度探头和继电器,而我零件盒里正好全有。

原型开发

基于 $2 的 Arduino Nano 编写草图,接入 DHT11 传感器和 5V 继电器,面包板验证成功。随后扩展状态指示 LED 和压电蜂鸣器过热报警,全部塞入小型项目盒。

选用两个 80mm 和一个 120mm 废旧电脑风扇,5V 供电下风量仍达 200mA 以下,剪除 Molex 接头改为 USB 供电,整套系统由废弃手机充电器供电。

最终成品

紧凑外壳大量热熔胶防短路,外观与影音设备融为一体。状态指示灯布局:左上绿灯(电源)、左下绿灯(温度正常)、中橙灯(风扇运行)、右红灯(过热报警)。

上电自检 (POST) 流程验证风扇、LED、蜂鸣器全功能正常。

控制逻辑

控制器每 30 秒采样一次温度并计算平均值:

实测:开机约 2 分钟风扇启动,全程运行;关机后风扇至少运行 5 分钟降温;过热报警暂未触发。

改进方向

若重做,将 Arduino Nano 替换为 ATtiny85,继电器换为 MOSFET,体积更小且支持 PWM 调速。

核心代码


// A/V 机柜温控风扇控制器
// 10A 继电器控制 12V(电脑)或 5V(USB) 风扇
// 压电蜂鸣器过热报警

int FANTEMP = 95;    // 风扇启动温度 (℉)
int ALARMTEMP = 120; // 过热报警温度 (℉)
int FANLED = 2;      // 风扇运行指示灯
int TEMPOK = 3;      // 温度正常指示灯
int ALARMLED = 4;    // 报警指示灯
int ALARMPIN = 7;    // 蜂鸣器引脚
#define DHTPIN 8     // DHT 传感器引脚
int FANPIN = 9;      // 继电器控制引脚

#include "DHT.h"
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

const int numReadings = 10;
float avetemp = 0, temp = 0, checkdelay = 0;

void setup() {
  Serial.begin(9600);
  Serial.println("Temp Monitor Started");
  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++) { tone(ALARMPIN, 220 * x, 75); delay(100); }
  Serial.print("Fan Test Started (5 Seconds) ");
  for (int x = 0; x < 5; x++) { Serial.print("."); delay(1000); }
  Serial.println("Done");
  
  digitalWrite(FANPIN, LOW);
  digitalWrite(FANLED, LOW);
  digitalWrite(ALARMLED, LOW);
  digitalWrite(TEMPOK, LOW);
  noTone(ALARMPIN);
}

void loop() {
  delay(2000);
  temp = 0;
  Serial.print("Realtime Temp: \t");
  
  // 10次采样求平均,间隔3秒
  for (int x = 0; x < numReadings; x++) {
    float f = dht.readTemperature(true); // 华氏度
    Serial.print(f); Serial.print("\t");
    temp += f;
    delay(3000);
  }
  Serial.println();
  
  avetemp = temp / numReadings;
  Serial.print("Average Temp is "); Serial.println(avetemp);
  
  if (isnan(temp)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  
  // 过热报警处理
  if (avetemp > ALARMTEMP) {
    digitalWrite(ALARMLED, HIGH);
    Serial.print("Temperature over "); Serial.print(ALARMTEMP); Serial.println(", Alarm ON");
    for (int x = 0; x < 3; x++) {
      tone(ALARMPIN, 660, 1000); delay(500);
      tone(ALARMPIN, 440, 1000); delay(500);
    }
    noTone(ALARMPIN);
    checkdelay = 30000; // 报警状态下30秒复测
  } else {
    digitalWrite(ALARMLED, LOW);
    Serial.print("Temperature under "); Serial.print(ALARMTEMP); Serial.println(", Alarm OFF");
    checkdelay = 300000; // 正常状态5分钟复测
  }
  
  // 风扇控制
  if (avetemp > FANTEMP) {
    digitalWrite(FANPIN, HIGH);
    digitalWrite(FANLED, HIGH);
    digitalWrite(TEMPOK, LOW);
    Serial.print("Temp over "); Serial.print(FANTEMP); 
    Serial.print(", Fan ON for "); Serial.print(checkdelay / 60000); Serial.println(" min");
    delay(checkdelay);
  } else {
    digitalWrite(FANPIN, LOW);
    digitalWrite(FANLED, LOW);
    digitalWrite(TEMPOK, HIGH);
    Serial.print("Temp under "); Serial.print(FANTEMP); Serial.println(", Fan OFF");
  }
  Serial.println(); Serial.println();
}

原理图

电路原理图请参考项目附件。

制造工艺

  1. 消除风机振动:现场动平衡实战方案
  2. 文件柜:设计、制造与现代应用
  3. 温控风扇DIY:媒体柜散热的继电器驱动方案
  4. 基于 Web 控制的 DMX 灯光系统 – Arduino 主控制器
  5. 自动游戏助手:为玩家打造的智能任务自动化装置
  6. DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
  7. Unopad:基于 Arduino 的无缝 Ableton Live MIDI 控制器
  8. Arduino 驱动的真空荧光显示器(VFD)控制器套件
  9. Alexa 语音控制 Arduino 智能家居中枢:基于 Yun + PubNub + AWS Lambda 全栈实现
  10. 自制 MK2 Plus 机械臂控制器 - 基于 Arduino 与 CNC 扩展板
  11. Arduino + TEA5767 打造 FM 收音机:Nokia 5110 显频谱/信号强度/立体声
  12. PWM功率控制器:构建脉宽调制灯驱动器