使用arduino做一个电脑风扇PWM调速器-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6168|回复: 8

使用arduino做一个电脑风扇PWM调速器

[复制链接]
发表于 2021-8-24 11:59 | 显示全部楼层 |阅读模式
本帖最后由 element115mc 于 2021-8-25 11:03 编辑

不知道各位是否有这样的问题:电脑机箱风扇有时很吵,有时太慢,转速无法随心所欲随时调节,每次调节都要重启进入bios,但电脑上正在进行着主要任务(码word、打游戏中)无法重启。今天,我就和大家分享我的arduino pwm调速器方案,该方案非直流调压式调速,直接输出PWM信号给四线风扇调速,更加可靠。准备材料:Arduino UNO(并非必须要UNO,6脚能输出PWM就行)、B50K电位器(阻值随意,不一定要50K)、电脑4线风扇、12V直流电源、杜邦线若干(最好多点两端公头的)、USB线一条(刷写程序用)、有Arduino IDE的电脑一台。
制作过程
第一步:在IDE中写入以下代码
  1. int pwmPin = 6;
  2. int anaPin = A0;
  3. int pwmspeed = 0;
  4. void setup() {
  5.   pinMode(pwmPin,OUTPUT);
  6.   Serial.begin(9600);
  7. }

  8. void loop() {
  9.   int pwmspeed = int(analogRead(anaPin)/4);
  10.   analogWrite(pwmPin,pwmspeed);
  11.   Serial.println(pwmspeed);
  12.   delay(50);
  13. }
复制代码
第二步,上传到开发板
第三步:按以下方式连接电路(红正黑负)
Arduino UNO - 副本.png
第四步:插上12V电源,开始运行
以上就是组装过程
运行效果展示(楼主亲自上传的视频):https://www.bilibili.com/video/BV1L44y1C7Bx/
特别说明:代码中和Serial有关的只是楼主上机用串口调试工具调试用的,可以选择删除
以上就是我的项目展示,感谢阅读本文,谢谢!
 楼主| 发表于 2021-8-25 11:02 | 显示全部楼层
另外说明:为什么
  1. int pwmspeed = int(analogRead(anaPin)/4);
复制代码
当中,从anaPin中读出的数值得除4,还要化整型?这是因为analogRead()函数返回的值在0至1023当中,众所周知1020/4=255,analogWrite(引脚,数值)中数值只接受0至255,但1023/4超过255,不到256,用int化整型不至于溢出,保证了程序稳定性.。
发表于 2021-8-24 13:59 | 显示全部楼层
本帖最后由 XlinliY.Zhang 于 2021-8-24 14:00 编辑

风扇PWM调速最起码PWM频率要设置为5KHz以上, Arduino默认的490Hz调速噪音不仅低不了多少,还会引入高频电流声
发表于 2021-8-24 15:49 | 显示全部楼层
风扇 spec 要求载波是 25K 唉~
 楼主| 发表于 2021-8-25 10:49 | 显示全部楼层
XlinliY.Zhang 发表于 2021-8-24 13:59
风扇PWM调速最起码PWM频率要设置为5KHz以上, Arduino默认的490Hz调速噪音不仅低不了多少,还会引入高频电 ...

这个倒是不知道,反正我用时最低最高转速都十分安静
发表于 2021-8-25 13:38 | 显示全部楼层
element115mc 发表于 2021-8-25 10:49
这个倒是不知道,反正我用时最低最高转速都十分安静

arduino默认的PWM频率就是490Hz,想改频率也很简单。只需要配置一下就可以了。具体配置网上教程一大堆,我就不码字了
发表于 2021-8-25 13:39 | 显示全部楼层
element115mc 发表于 2021-8-25 10:49
这个倒是不知道,反正我用时最低最高转速都十分安静

arduino默认的PWM频率就是490Hz,想改频率也很简单。只需要配置一下就可以了。具体配置网上教程一大堆,我就不码字了
发表于 2021-8-25 13:42 | 显示全部楼层
element115mc 发表于 2021-8-25 10:49
这个倒是不知道,反正我用时最低最高转速都十分安静

arduino默认的PWM频率就是490Hz,想改频率也很简单。只需要配置一下就可以了。具体配置网上教程一大堆,我就不码字了

点评

发多了老铁···  发表于 2021-8-26 08:49
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:32 , Processed in 0.117957 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表