数码之家

 找回密码
 立即注册
搜索
查看: 28086|回复: 157

[Arduino] 暴力风扇折腾手记:PWM调速+激光标定测速+OLED显示油门转数(原创)

    [复制链接]
发表于 2021-6-3 23:11:02 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
偶遇某宝处理暴力风扇(12V 4.5A),成色价格都很理想,于是入手(坑)了几台。
把玩后发现全速太猛烈,故细究了四线测控机理,并用 Arduino 搭建了一套测控平台,特来分享之。

【入手】
风扇是台湾 AVC 品牌,双滚珠标称 12V 4.5A,全速一万多转,号称“碎指扇”:

IMG1a.JPG

拨动扇叶能明显感觉到强磁吸引,手感与常见风扇差别很大。风扇对外有四根线:

IMG1b.JPG


【调速研究】
稍微查阅资料可知,风扇的四根线分别是:电源正负、PWM控制输入、FG转速反馈。

经测试,PWM 脚悬空即可获得最大转速,施加电压调整为 0-5V,风扇转速平稳地上升或下降。
至此可以确认,风扇内部有对 PWM 脚的低通滤波、弱上拉电路,大致原理:

IMG2a.png

其中 R1 的存在确保即使只连接电源线,PWM悬空,风扇也能正确启动并达到最大转速;
R2-C1 网络确保风扇速度变化平稳,即使是低频 PWM 信号也能很好实现恒速控制。

后续使用 Arduino 控制转速时,只需要简单产生 0%-100% 的 PWM 信号,即可实现风扇油门调节。


【测速研究】
相比于PWM调速控制,风扇的测速信号略废了些功夫。

风扇的 FG 转速信号属于 OC 式逻辑输出,理论上可以兼容任意电平逻辑系统,大致原理如下:

IMG2b.png

风扇转子在某些特定角度,三极管Q1导通并由 FG_OUT 输出低电平;其他角度Q1关断,外部上拉电阻将 FG_OUT 拉高。
风扇转子周期性地转动,带动Q1周期性通断,最终输出方波频率正比于转数(RPM),此为测速原理。

受限于无刷电机、强磁转子磁极数目,仅能确保 FG_OUT 输出频率正比于转数,但比例系数未知。
具体表现为:转子每转一周,FG_OUT 输出方波周期数不一定为1,因而需要实验标定。

使用激光管-光敏管构成透射式转速检测机构,D1从扇叶旋转区域射入激光并由D2接收,如下图所示。
扇叶每转一周,光敏管 D2 被遮光 N=扇叶数目 次,使用示波器可轻松获得真实转速信号。

IMG2c.png

系统加电,调节PWM控制转速,使得 FG 反馈信号有 10ms 的周期方波:

IMG3a.JPG

此时开启激光标定系统,示波器切换到 D2 光敏管输出回路,可以看到明显的遮光动作:

IMG3b.JPG

从上图看来此时扇叶遮光的间隔为 4ms,配合五片扇叶的转子,可知当前旋转周期为 20ms.
再与 10ms 方波周期相比较,可有结论:转子每圈旋转,FG 信号输出两个方波周期。

因而想换算每分转数就很简单了:N(RPM) = fo(Hz) * 30
后续使用 Arduino 测得方波周期(或者1/4电平时长),即可换算得到实时转速。


【硬件:转接板】
既然要做调速、测速一体化的系统,整机就上 Arduino 扩展板。
一方面处理好外部电源、Arduino 供电的关系,另一方面把 PWM、FG 信号都接在合适的 GPIO 上方便连线;
最后装一个电位器用作油门,电位器转角与实际PWM之间可以做一级 Gamma 校正,避免油门响应不均匀。

基本连线原理:

IMG4a.png

扩展板焊好的样子,还是适配祖传 UNO:

IMG4b.JPG

接上电线、装上旋钮:

IMG4c.JPG

电源需要一个能到 5A 的玩意,否则分分钟过流保护:

IMG4d.JPG


【软件:显示转数+风压测试】
临时找一个液晶堆叠板显示转数,风扇固定在铁架台上方便测试风力。
下图中油门已经推到底,显示转速 13661Rpm,噪音似飞机起飞:

IMG5a.JPG

录一段视频感受下。
转速从 7kRpm 加到 13kRpm 全速,下压风力从几十克增长到 258g,超过风扇自重(235g):

IMG5b.gif

附上这段液晶测试所用固件: Fw1-Fan0802.zip (14.79 KB, 下载次数: 14)


【软件:OLED显示状态】
可调速的风扇用来给笔记本散热着实不错,但天天挂个 0802 液晶还是有些浪费的。
于是小板走起,焊一片 OLED 当显示屏,用来指示油门和实时转数。

IMG6a.JPG

写个开机界面,运行时进度条指示油门,数字显示实时RPM:

IMG6b.gif

买一对风扇罩装上,这样一来终于可以安心吹笔记本了。办公小风,游戏大风:

IMG6c.JPG

附上上述 OLED 显示状态固件: Fw2-FanOLED.zip (17.64 KB, 下载次数: 13)


【后记:OLED烧屏】
伴随着彻夜的迅雷和整个夏天,风扇成功吹到了深秋。笔记本没有过热,然而蛋疼之事随之而来。
都说 OLED 容易烧屏,这用了一个夏天的显示器会怎样?

如下图,这显示的是一张全白的图片,烧屏到惨不忍睹:

IMG7.png

不光烧屏,字符出现频率甚至都烧出了灰度效果,大致可以看到油门平均在 1/5 位置,转数 2k-3kRPM 附近。

OLED 的静态显示实在是不敢恭维,屏保算法也懒得搞了,反正一块屏没几个钱。
如果用定期反色的话虽不会这么明显,但估计油门附近还是会有不均匀。

不过好在 OLED 模块也是插接的,哪天心情好换个 LED 插接板上去,也就没有烧屏的顾虑了。

--------------------------------------------------------------------------------------------------------------------

以上,记录了一套四线暴力风扇的折腾历程,从测试PWM、激光标定FG脉冲,到系统组装。
最终焊接了 Arduino 转接板、OLED显示板,实现了一套带油门界面的调速吹风系统。

一整个夏天工作下来,OLED 发生了众望所归的“烧屏”现象,美观性受到影响,但系统功能依旧正常。

最后祝大家折腾愉快!


打赏

参与人数 17家元 +1291 收起 理由
reewin + 30
mydigit + 1000 恭喜获得原创文章热度奖励1000M.
hfsp + 20 謝謝分享
powell007 + 20 優秀文章
aping365 + 20 優秀文章
cbh1a + 10 謝謝分享
newnet1234 + 20 謝謝分享
moontree + 20 謝謝分享
sunnyquan + 20 原創內容
马扎了撒 + 20 謝謝分享

查看全部打赏

发表于 2021-6-3 23:25:38 | 显示全部楼层
这种风扇如果只插正负极,连接淘宝上几块钱那种廉价PWM控制模块,能不能调转速?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-3 23:35:15 | 显示全部楼层
jqt 发表于 2021-6-3 23:25
这种风扇如果只插正负极,连接淘宝上几块钱那种廉价PWM控制模块,能不能调转速? ...

调速都用不着 PWM,直接电位器分压接调速端就可以。

但是要测速、转角油门Gamma校正的话,就得上单片机了。
回复 支持 反对

使用道具 举报

发表于 2021-6-3 23:59:03 | 显示全部楼层
屏幕亮度低一点是不是烧屏会慢一点?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-4 00:09:09 | 显示全部楼层
我不是小连 发表于 2021-6-3 23:59
屏幕亮度低一点是不是烧屏会慢一点?

只是理论上会慢一点。

但是我这就是最低亮度下烧出来的,如果是高亮度,无法想象。
回复 支持 1 反对 0

使用道具 举报

发表于 2021-6-4 00:14:12 | 显示全部楼层
这东西调速没啥意义,风力再小声音也大:sweat:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-4 00:23:18 | 显示全部楼层
ww5223017240 发表于 2021-6-4 00:14
这东西调速没啥意义,风力再小声音也大

8mm 的风扇还可以,1k-4kRPM 范围内没啥声音,7k 以上就声音大了;

口径 <5mm 声音是真大
回复 支持 反对

使用道具 举报

发表于 2021-6-4 00:29:55 | 显示全部楼层
t3486784401 发表于 2021-6-3 23:35
调速都用不着 PWM,直接电位器分压接调速端就可以。

但是要测速、转角油门Gamma校正的话,就得上单片机 ...

电流大的话,电位器分得的功率会很大很热,所以我想外接PWM模块。就是想知道自带PWM调速功能的风扇,外接那种模块还能不能用?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-4 00:36:42 | 显示全部楼层
本帖最后由 t3486784401 于 2021-6-4 00:38 编辑
jqt 发表于 2021-6-4 00:29
电流大的话,电位器分得的功率会很大很热,所以我想外接PWM模块。就是想知道自带PWM调速功能的风扇,外接 ...


我说的是电位器分压,接给 PWM 信号端,不是分电源。风扇是三线接法。

至少在我这个风扇上,拿电位器抽头代替 PWM 是能行的。
回复 支持 反对

使用道具 举报

发表于 2021-6-4 08:07:17 | 显示全部楼层
屏装一个单独开关?
回复 支持 反对

使用道具 举报

发表于 2021-6-4 09:05:45 | 显示全部楼层
手里还有几个2.5A的暴力风扇,2.5A的全速声音就很大了,你这个4.5A岂不是要起飞了:lol:
回复 支持 反对

使用道具 举报

发表于 2021-6-4 10:06:21 | 显示全部楼层
好文当赏!,通读下来补习了一些一直被忽略的知识点,多谢分享。
回复 支持 反对

使用道具 举报

发表于 2021-6-4 10:54:10 | 显示全部楼层
t3486784401 发表于 2021-6-4 00:23
8mm 的风扇还可以,1k-4kRPM 范围内没啥声音,7k 以上就声音大了;

口径

晚上听都挺大的,比如要在房间放个路由,改下散热加个风扇,白天没问题,晚上还是觉得声音大,各种尺寸都试过,4CM-12CM都大,最后是电瓶车充电器上拆的一个6cm的反而好点,估计转速低的关系
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-4 11:20:33 来自手机浏览器 | 显示全部楼层
ww5223017240 发表于 2021-6-4 10:54
晚上听都挺大的,比如要在房间放个路由,改下散热加个风扇,白天没问题,晚上还是觉得声音大,各种尺寸都 ...

我是3000rpm左右连续开了几个月,笔记本也没停过,低转速还是很友好的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-4 11:21:20 来自手机浏览器 | 显示全部楼层
慕名而来 发表于 2021-6-4 10:06
好文当赏!,通读下来补习了一些一直被忽略的知识点,多谢分享。

感谢支持!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-4 11:22:53 来自手机浏览器 | 显示全部楼层
solarshen666 发表于 2021-6-4 09:05
手里还有几个2.5A的暴力风扇,2.5A的全速声音就很大了,你这个4.5A岂不是要起飞了 ...

全速声音可以压制装修电镐,猫都吓到要藏起来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-4 11:25:50 来自手机浏览器 | 显示全部楼层
忘不了黑猫 发表于 2021-6-4 08:07
屏装一个单独开关?

原来计划是写个屏保程序,油门长期不动检测为没人,然后自动熄屏。
结果后来发现想看转数时就不方便了,索性常亮随便烧
回复 支持 反对

使用道具 举报

发表于 2021-6-4 16:15:26 | 显示全部楼层
处理的多少钱败得呀
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-6-4 16:50:22 | 显示全部楼层
落花萧然 发表于 2021-6-4 16:15
处理的多少钱败得呀

八块八一只
回复 支持 反对

使用道具 举报

发表于 2021-6-4 18:12:22 | 显示全部楼层
FG一个周期10ms,光敏管可以接收到2个完整脉冲
按照5片扇叶来计算的话,应该是转了2/5圈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-3-29 20:06 , Processed in 0.156001 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

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