littlebot
Published on 2025-04-08 / 62 Visits
0

【源码】基于ESP32的温度驱动风扇控制系统

项目简介

本项目借助ESP32开发板,读取热敏电阻的温度数据,输出PWM信号以控制风扇转速。适用于服务器散热、实验室环境控制等需根据温度自动调节风扇转速的场景。

项目的主要特性和功能

  • 温度读取:通过NTC热敏电阻实时获取环境温度。
  • PWM控制:依据温度数据输出PWM信号,实现对风扇转速的控制。
  • 温度曲线设定:用户可自定义温度与风扇转速的对应关系。
  • 校准功能:提供电压和温度传感器校准功能,保证读数准确。

安装使用步骤

1. 硬件准备

  • ESP32开发板
  • PWM风扇
  • NTC热敏电阻(推荐100K 3950型号)
  • 电压调节器(若使用12V风扇)
  • 100KΩ电阻
  • 1KΩ下拉电阻
  • 12V或5V电源

2. 硬件连接

按照提供的接线图连接ESP32、风扇、热敏电阻和电压调节器,确保ESP32的引脚连接正确,尤其是PWM输出引脚和ADC输入引脚。

3. 软件设置

  1. 从项目文件夹下载pwm_fan_control.ino文件。
  2. 打开Arduino IDE,将下载的文件导入。
  3. 根据实际连接的引脚,修改代码中的引脚定义: cpp const int fanOutput = 32; // 风扇PWM输出引脚 const int thrm = 25; // 热敏电阻输入引脚
  4. 根据需求设置风扇的最小和最大工作温度及对应的PWM值: cpp const int MINTEMP = 35; // 最小工作温度 const int MAXTEMP = 60; // 最大工作温度 const int maxDutyCycle = 190; // 最大PWM值

4. 校准

  1. 电压校准:连接外部电压源,校准ESP32的ADC读数,确保电压读数准确。
  2. 温度校准:将热敏电阻置于已知温度的环境中,校准温度读数。

5. 编译和烧录

使用Arduino IDE编译代码,并将其烧录到ESP32开发板。若烧录过程出现问题,可参考提供的教程排查。

6. 测试

烧录完成后,连接电源,观察风扇是否根据温度变化自动调节转速。可通过串口监视器查看实时温度和PWM输出值,进行进一步调试。

许可证

本项目遵循GNU GPLv3.0许可证。详细信息请参阅LICENSE文件。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】