|
之前折腾暴力风扇的时候,发现小口径风扇噪音大、风量小,无论多高转数都无法调谐这个矛盾。回想家中日常电扇,口径远大于小口径散热扇,转数不高但风量巨大。
这又到夏天,恰逢剁手时搞到了 12cm 口径的散热扇,于是搭一套 wifi 无线程控电源给电扇调速,特过来分享。
【设想】
这次入手的是温柔版的两线风扇,风力均匀柔和。标称 12V/0.45A,实测 4V 即可启动,速度调整均匀。
由于风扇比较薄、易倾倒,特找来铝型材装个支架:
理论上随便一个可调电源就可当调速器,但实际睡觉时风扇放置较远,若能有遥控调速最为舒适。
Arduino 主板有着兼容的插针位置,如果搞一套程控调压板,再配合不同主控,想要切换遥控媒介并不困难。
例如 UNO 端口较多,使用 UNO 主板配合一层堆叠板,就可以实现红外遥控,或者电位器线控。
而 Wemos 有Wifi功能,可以接入局域网走 Tcp/Udp 协议,如果再做一个 HttpServer,跨平台免App遥控并不困难。
【程控原理】
整个调压系统是个基于 MC34063 的程控电源,Arduino 主板以 PWM-DAC 方式参与电压调节。
选择 34063 主要是懒,风扇功率不大,正好适合这玩意使用 Buck 模式进行降压调速。
原本 34063 这类开关电源使用的是电压负反馈方式进行恒压控制:
当不接入 R3、Vda 时,输出电压 Vout 经过 R1-R2 反馈给 34063.Pin5(Vfb) 脚,与 1.25v 基准进行比较。稳定方程为:
Vout * R2/(R1+R2) = Vfb = 1.25v
可以解得此时稳压输出:Vout= 1.25*(1+R1/R2).
为用最少的零件实现程控电源,在此分压网络基础上进行改动,增加了 R3-Vda 直流偏量,此时稳定方程为:
(Vout/R1 + Vda/R3) * (R1//R2//R3) = Vfb = 1.25v
再由此解得稳压输出:Vout= 1.25*(1+R1/R2+R1/R3) - Vda*R1/R3.
选择合适的 R1~R3,即可确保 Vda 在 0-3.3v 范围变化时,Vout 在 0~12v 范围内连续可调。附上整个电路原理:
Arduino PWM 频率约为 500Hz~1kHz,因而使用 RC>1ms 网络进行了平滑处理,实际用了三级 RC 滤波。
电压负反馈网络(R5-R7)选择了 R7>>R1+R2+R3 的范围,避免前级滤波输出阻抗太大,电压跑偏。
【硬件焊接】
已然确认硬件参数,焊接就是个功夫活,CAD 先排一下线:
之后上板子焊接,先从低矮零件搞起:
之后焊上高一些的电感电容:
最后焊上 Arduino 插座、风扇线插座,大功告成:
【硬件调试】
由于扩展板大多数器件都工作在模拟状态,因而需要确认下各自工作点波形是否正常。首先从 RC 滤波开始测:
第一级 RC 输入 Wemos 产生的方波信号,3.3Vpp, 1kHz, D=50%;
第一级 RC 输出类似三角波的玩意,峰峰值降至 90mVpp(AC档隔直流);
第二级 RC 输出微弱的正弦波,峰峰值降至 4-5mVpp(AC档隔直流);
第三级 RC 输出几乎无法测到,目测峰峰值 <1mVpp(AC档隔直流).
至此确认 PWM-DAC 信号经过三级 RC 滤波输出直流干净稳定,不会干扰到 34063 工作。
之后确认 34063 振荡,加载了合适的 Vda 后可以看到 34063 的间歇振荡,周期约 40us,和 1nF 振荡电容相吻合。
最后确认下输出端的纹波,大致有 300-400mVpp 的样子,带个大惯性的电扇还是没啥压力的:
系统输入 15v,输出 0-12V 带载测试中 34063 微热,考虑到 Buck 的效率也就不强求自行车了。最终打胶固定完成硬件:
【Wemos固件】
Arduino Wemos 固件就一个功能:输出 PWM 波,但是占空比需要支持后台 wifi 调整。
在 Arduino 的环境下编译 8266-wifi 非常简单,基本上改改示例就能用了:
由于纯 Tcp/Udp 通信需要网络调试助手,操作起来并不方便,因而在 Wemos 端搭建一个简单 Http 服务器。
相当于在局域网内由 Wemos-8266 搭建了一个简单的网站,通过访问特定网页实现加减速控制、油门监视。
附上整个 Wemos 固件源码:
【Html 网页】
Http 服务器只负责与远程浏览器的文本/文件传输,但具体界面仍需要另一层代码实现。
这里用纯 html 语言写个简单网页当做 UI,一行显示风扇油门,剩下两个文字链接到加速/减速网页:
附上网页 html 源码(已包含在 Wemos 源码中):
- <html>
- <head>
- <title>ESP8266 Fan</title>
- <style>
- body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }
- </style>
- </head>
- <body>
- <h1>Fan Speed= %d<br/><br/>
- <a href="/spdup">Speed UP</a>
- <a href="/spddn">Speed DN</a></h1>
- </body>
- </html>
复制代码
使用纯 html 有个好处:远程控制端不需要安装任何App,直接浏览器登录 Wemos 地址即可操作。
操作原理、体验类似于路由器的配置页面,通过 web 完成工作状态调整、监视。
【效果】
分别使用不同平台自带的浏览器,对风扇进行调速动作,起始时油门 100 不足以启动,之后逐步加速。
#1. iPhone4S,操作系统 iOS,浏览器 safari:
#2. 三星平板,操作系统 Android,浏览器系统自带:
#3. 笔记本,操作系统 Win8-x64,浏览器 IE11:
实测调速效果良好,网络延时基本无感。即使躺床上玩手机,也可以随时调整远端电扇风力,不影响睡意。
---------------------------------------------
以上,使用 MC34063 搭建了一套程控电源扩展板,配合 Arduino 可以实现程控调压输出;
主板选用 Wemos 编写 wifi-http 固件,在局域网内实现 Http 网页遥控风扇调速;
由于使用了标准 html 界面,因而远程遥控支持跨平台、免App操作,专用于躺平玩手机。
最后祝大家折腾愉快!
补充内容 (2021-8-17 02:54):
在 #94 楼更新了 web 控制界面(含源码),猫羽登场!附上链接:
https://www.mydigit.cn/forum.php ... 34&pid=10407643 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|