项目简介
本项目借助ESP32开发板,读取热敏电阻的温度数据,输出PWM信号以控制风扇转速。适用于服务器散热、实验室环境控制等需根据温度自动调节风扇转速的场景。
项目的主要特性和功能
- 温度读取:通过NTC热敏电阻实时获取环境温度。
- PWM控制:依据温度数据输出PWM信号,实现对风扇转速的控制。
- 温度曲线设定:用户可自定义温度与风扇转速的对应关系。
- 校准功能:提供电压和温度传感器校准功能,保证读数准确。
安装使用步骤
1. 硬件准备
- ESP32开发板
- PWM风扇
- NTC热敏电阻(推荐100K 3950型号)
- 电压调节器(若使用12V风扇)
- 100KΩ电阻
- 1KΩ下拉电阻
- 12V或5V电源
2. 硬件连接
按照提供的接线图连接ESP32、风扇、热敏电阻和电压调节器,确保ESP32的引脚连接正确,尤其是PWM输出引脚和ADC输入引脚。
3. 软件设置
- 从项目文件夹下载
pwm_fan_control.ino
文件。 - 打开Arduino IDE,将下载的文件导入。
- 根据实际连接的引脚,修改代码中的引脚定义:
cpp const int fanOutput = 32; // 风扇PWM输出引脚 const int thrm = 25; // 热敏电阻输入引脚
- 根据需求设置风扇的最小和最大工作温度及对应的PWM值:
cpp const int MINTEMP = 35; // 最小工作温度 const int MAXTEMP = 60; // 最大工作温度 const int maxDutyCycle = 190; // 最大PWM值
4. 校准
- 电压校准:连接外部电压源,校准ESP32的ADC读数,确保电压读数准确。
- 温度校准:将热敏电阻置于已知温度的环境中,校准温度读数。
5. 编译和烧录
使用Arduino IDE编译代码,并将其烧录到ESP32开发板。若烧录过程出现问题,可参考提供的教程排查。
6. 测试
烧录完成后,连接电源,观察风扇是否根据温度变化自动调节转速。可通过串口监视器查看实时温度和PWM输出值,进行进一步调试。
许可证
本项目遵循GNU GPLv3.0许可证。详细信息请参阅LICENSE文件。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】