有点硬核的DIY,自动控制的机箱面板,篇1
创作立场声明:大家好,本人大概是传说中的技术宅一员吧。本职为软件行业从业人员,业余爱好电子DIY,偶尔动手折腾个小玩意儿,通常偏向有实用性、便利性的东西,欢迎探讨指正。
这个东西做好其实已经有段时间了,最近由于大家都知道的原因假期意外被延长了,空闲时间多了点,整理下折腾的过程,考虑到读者可能没有很多电子&软件专业人士,也不具有太多仿制意义,所以具体的技术细节就比较简略,当给大家看个新鲜吧。
缘起
去年中配了台主机,AMD 3700X,原配散热器灯光效果很炫, 像这样:
不过我是实用主义者,对RGB其实不感兴趣,机箱看的本站推荐选了先马黑洞,静音没灯,综合效果还可以。
这机箱前面板是可以活动的,像这样:
用一段时间发现散热效果不太理想,玩游戏一会儿整个机箱都是温的。CPU风扇有温控,有时会有一阵一阵的加速声传出来,频率还很高,大概1秒1次,听着怪不舒服。
于是换了一套水冷,没RGB,便宜,效果还可以:
这时冷排就只能装在机箱前部,像这样:
然而机箱前部原本设计是进风的,盖上面板之后开口较小,用来出风不太足够:
面板合上之后就只剩下两边的出风口,重负荷运行时机箱还是会热,需要将面板打开,虽然噪音会有点大,但玩游戏时比较专注注意不到,平常还是合上,噪音能小一点,还能少落点灰。
就这样又过了一段时间,经常打完游戏才注意到面板没打开,这时整个机箱都已经是热的了。。。加之另外一个原因——懒的每次都要打开关上。于是决定制作一个装置来控制它,温度高的时候自动打开,温度低了自动关上,一劳永逸。
设计要点
1.首先明确需求:设计一个装置,能够根据CPU温度自动控制机箱面板的开启和关闭,需要解决几个问题:CPU温度获取、动力部件、开关面板的机构。
2.CPU温度来源经过分析想到有两种方法:
a.在CPU上外挂温度传感器,美观性和准确度都不好,传感器安装固定都不方便,可行性不高;
b.从系统中获得,准确性没问题,需要系统中软件读取再设法传给装置,难度较高。
c.研究了下主板带有好几个SYS FAN (或称机箱风扇)接口,且都可以配置成温控PWM调速,这样就可以将CPU的温度转化为PWM信号输出,装置通过测量PWM信号的占空比即可还原CPU温度值啦(这部分可能有点难理解,简单说就是通过主板上的风扇接口得到CPU温度)。 BIOS SYS FAN设置图:
3.温度采集到之后需要用来驱动一个机械装置,这里要补充下,由于光驱位安装了一个快拆硬盘盒,为了方便拆装硬盘。所以希望这个装置不能阻碍手动开合机箱面板。为了达到这个效果,考虑了许久,想到了一种类似'离合器'的结构,于是买了一批模型齿轮、连杆、支架等来实验。
4.面板的开关参考了一些门窗电动开关的结构,最后采用 拨杆+拉杆+L型铁片的组合实现。那个,不会画CAD,此处就没图了,看后续的安装大概能明白 。
V1.0验证版
舵机、减速电机、齿轮组构成一个简单的离合器。来个特写:
简单描述下工作过程:需要控制面板开合时,舵机先通电,推动伞齿轮组咬合并维持,此后减速电机通电,最后带动拨杆旋转(拨杆末端圆孔用来连接拉杆,拉杆再连接到面板,图上没有安装);控制结束后,减速电机先断电,然后舵机复位到初始位置,复位弹簧将伞齿轮推回,两伞齿轮分离,此时拨杆及面板即可自由开合。旋转电位器安装在拨杆同一条轴上,用来检测拨杆位置。
至此看起来都没啥毛病的样子,然而运行起来发现不可行 。原因是电机速度太快了,转起来就像脱缰的野狗 ,眨眼功夫拨杆就转到头了,而电机还没停下,齿轮咔咔的打滑眼看就要崩坏;又由于没有刹车装置,位置检测也没有了意义:电机即使只通电一瞬立即断电,惯性都能让拨杆转过头。。。
后来尝试了降低电机驱动电压,最后降到扭力已经不足以推动面板的程度,速度还是很快。重新找减速比更高的电机也许能找到,不过综合考虑,对于整个部件是否能真正投入使用没多少信心,于是放弃了。
V2.0原型版
1.0版失败后一时想不到别的方案, 搁置了一段时间,后来找出了这个:
这也是一个舵机,前两年曾经买过一个某牌子机器人半成品,本想DIY个语音控制的智障机器人,后来迟迟没动手,吃灰大半年后又转手了,剩下了多余的一个舵机。这个舵机与1.0版中用的那个舵机最大的不同是,前者是模拟的,通过一定范围内的PWM信号控制转动角度,而后者是数字的,需要通过串口收发控制指令,功能也多了很多,比如有些带有角度回读,速度设置等。这些功能此款舵机都有,而且网上能找到其公开的控制指令表,于是有了2.0版:
电路上跟1.0版相比少了电机驱动部分(舵机内部集成了),DC-DC降压模块也换了一块,原因是上一块稳定性不好,电压调在6V,过段时间可能变成8V. 随便写下舵机测试代码,测试了拨杆力量,角度回读都满足要求,理论上应该可以使用,但是这万能板看着好丑,真不想装到机箱里。。。所以再改进吧。
V2.1实用版
首先是原理图,(USB是测试用的,没有通信功能)。
查询了Intel关于风扇接口的定义,得知PWM信号是5V电平,单片机工作电压是3.3V,所以加了电阻分压,再经过电容器滤波之后送到单片机中,单片机通过ADC测量得到电压值,最后得到CPU温度。相比12.0版还多了个热敏电阻(RT1),是准备用来测量机箱空间中的温度。
然后转化为PCB. 中间那个大大的圆形元件原理图里没画,计划用于外扩一个大电容,实现当装置检测到电脑关机(装置断电)瞬间,此时如果面板是处于开启状态就立即关上,这个电容用来维持此期间装置的电量消耗,由于不知道需要多大容量和体积的电容,就随便画了(后续测试后采用两个4700uF/35V的电容并联)。
发给板厂,很快就做好啦,还很便宜,感谢下JLC.
焊接过程中 铁板烧(恒温台)、电烙铁云雾缭绕的图就不上了,这是成品:
装到壳子里的样子,看起来顺眼多了 (中间包了黄色胶布的扁铝条是加固作用):
拨杆上连接的是一根拉杆,买齿轮材料时候顺便带的,两头的夹子有弹性,可以撑开连接到合适的部件:
准备装到硬盘盒下方的一个光驱位:
内部的样子(单片机调试线还连接着,调试完成后是可以拔掉的):
面板这边是一个多孔 L 型铁片,第一次安装位置不太合适,所以拆了重新安装,留下了痕迹,这里是对机箱唯一的破坏。拉杆的另一端扣在铁片下部的孔里,安装就完成了。
装完用手开合面板,由于需要带动舵机齿轮组转动,稍有阻滞感,不过手感貌似比原来的更好哈哈,这时面板最大开启角度能到约100度,比没装置时稍有减小,但硬盘的拆装没有影响。
剩下的就是枯燥又奇怪的码代码啦。吐个槽,ST公司这开发工具实在是丑陋,难用得仿佛上世纪的软件:
代码就不放了,估计也没人看哈。控制流程描述,间隔1秒测量记录一次ADC信号,然后计算30秒里的平均温度:高于60℃ 将面板推开到70度;高于60℃而小于70℃则将面板推开到45度;低于60℃合上面板。然后是供电检测,断电瞬间检查面板位置,如果是开启状态则将其关闭。
编译下载,开启AIDA64烤机测试,伴随着轻微的齿轮声,面板徐徐推开,烤机结束后面板自动关上;来一盘游戏,玩一会儿也自动打开了,DIY成功!
后续还增加了一个维护模式:待机时每隔5秒读取一次舵机(面板)的位置,当检测到面板位于非装置设定位置时判断为人为拨动了面板,则停止工作,3分钟后恢复到工作状态,方便进行拆装硬盘等操作。
结语
好了,这个DIY还算有点硬核吧?总共花费包括测试的齿轮材料好像还没到100块吧,当然DIY也不是为了省钱哈。
虽然设计的功能基本都实现了,但还是有些不满意之处,包括单片机容量太小,温度检测不够理想等,实际上两周后就又升级了,更具体的下一篇再介绍哈。
PS:头图是另外一个DIY的小玩意儿,与本篇主题无关哦 。。。
souren
校验提示文案
真的都想买
校验提示文案
从爱尔兰到契丹
校验提示文案
非宁静无乂致远
校验提示文案
古流沙
校验提示文案
钢普拉
校验提示文案
Draq
校验提示文案
torobucks
校验提示文案
Awakenbullet
校验提示文案
_啱key
校验提示文案
yeqing0123
校验提示文案
澳門Kingson
校验提示文案
黄先生河
校验提示文案
独家回忆0513
校验提示文案
值友4909754504
校验提示文案
颓客要杠
校验提示文案
109109109lf
校验提示文案
焖肉
校验提示文案
crskyor
校验提示文案
NAOKIZXX
校验提示文案
waney2008
校验提示文案
味精的风暴
校验提示文案
a7214387
校验提示文案
林ven
校验提示文案
可乐baby爹地
校验提示文案
凉凉皮
校验提示文案
大唐帝国
校验提示文案
伞下一肩雨i
校验提示文案
小蝴蝶zy
校验提示文案
值友8545358997
校验提示文案
没吃饱的熊
校验提示文案
xcpeter
校验提示文案
萝卜爸
校验提示文案
Infiniter
校验提示文案
CharlesCh
校验提示文案
yeqing0123
校验提示文案
_啱key
校验提示文案
焖肉
校验提示文案
我这名字好吧
校验提示文案
109109109lf
校验提示文案