之前买了一台跟红米K50同期发布的红米AX5400电竞版路由器

它不仅没有继承红米一贯的高性价比与强悍性能,反而塞进了一颗小米早已用烂的IPQ5018(1.0GHz)处理器,性能孱弱不说,发热还极其严重。唯一的亮点或许就是配备了一个连自家大哥AX6000(全千兆网口)都不曾拥有的2.5G网口,以及正面那条极其显眼的RGB灯带。结合前面提到的IPQ5018,严重怀疑高通就是借这台机器在清库存。它实在是太热了,夏天如果不加风扇辅助散热,甚至会自动下调协商速率,正常状态下协商速率在2400左右,测速能跑到1600;一旦过热,速率就会掉到1200,测速也仅剩800甚至600Mbps左右。之前我加装过一个酷宇的微型PWM风扇控制模块

但手头那个买CPU附赠的散热风扇功率太大,小模块根本带不动,只能让它默认全速运转无法调速,所以便有了这次的折腾。起初打算用ESP8266,但考虑到PWM控制需要频繁拉高拉低,担心ESP8266性能跟不上,最后还是翻出了一块吃灰的ESP32-C3 Super Mini

明确了需要PWM手动/自动控制以及时间限制等功能后,便开始构建写代码。这是当时测试的时候,拿了一个可调电源给了一个12v的电给风扇

这里踩了一个巨大的坑:为了防止风扇正负极直连ESP32的5V和GND导致供电不足,我采用了外接12V供电,仅将PWM线接在GPIO4上。网页测试一切正常,但拉高或拉低PWM时,只有那一秒正常,随后风扇就忽高忽低地狂跳。查阅资料后才恍然大悟:ESP32的GND必须与12V风扇电源的GND共地!否则ESP32检测不到有效电压,程序就会陷入反复调整的死循环,导致转速乱跳。唯一的遗憾是,由于四线PWM风扇的物理特性,即使控制滑块拉到0%,风扇依然会以最低速转动,原本想加继电器实现物理断电,但手头只剩一个ESP01S的继电器模块,还得单独再接一路5V,嫌太麻烦就放弃了。后续可以期待一下,我计划把弱电箱的风扇也接入ESP32,将所有网络设备上的散热风扇统一集中控制!以下是代码公开和接线顺序,我以下的代码控制的pwm信号是GPIO4,pwm在线路中多为蓝色,黄色是测速线,剩下皆为供电
链接:https://1815817375.share.123pan.cn/123pan/v3jzVv-siOp3?pwd=NciD#


Comments NOTHING