有点硬核的DIY,自动控制的机箱面板,篇2

2020-02-29 22:10:48 302点赞 732收藏 132评论

创作立场声明:大家好,本人大概是传说中的技术宅一员吧。本职为软件行业从业人员,业余爱好电子DIY,偶尔动手折腾个小玩意儿,通常偏向有实用性、便利性的东西,欢迎探讨指正。

上篇文章文末说到V2.1版还不太满意,最大的问题是,CPU的温度有时候波动很大,而且机箱盖开启和关闭状态也会造成机箱内温度变动,最终导致的结果是有时一场游戏里,机箱盖可能会开开关关好几回,尝试了修改BIOS风扇温控曲线的上升、下降速率,效果也不理想。

如果能采集到显卡温度,效果可能会好些,可惜风扇策略中温度来源可以选择CPU、主板甚至是给CPU供电的MOS管,唯独没有GPU。单片机温度采样算法调试修改了多遍,简单的程序写着写着,FLASH空间就已用掉了6KB(总大小8KB),加之STVD这古董开发工具用的人头疼,于是决定重新设计3.0版。

要不就直接从系统中获取CPU温度吧,意味着需要写一个Windows软件了,而既然都在系统中跑软件了,顺便温度记录、平均值计算都可以在电脑中完成,再不用在单片机那可怜的空间上面扣扣索索的。更进一步的,CPU温度都读到了,再加个GPU温度应该也不过分吧有点硬核的DIY,自动控制的机箱面板,篇2 ,干脆控制策略都在这软件中做好了,装置只需要接收下软件发送的控制指令,转化成舵机的控制命令就行,策略还可以写成配置的方式,修改策略就不需要每次编译代码了,想想就有点小激动有点硬核的DIY,自动控制的机箱面板,篇2

于是现在需要解决两个新问题:

1.PC端软件(通常称为‘上位机’)编写,负责获取温度等;

2.软件与自己的装置(通常称‘下位机’)通信。

资料搜集

首先得确定Windows中读取CPU温度的可行性,万一有什么没法解决的难点就麻烦了。

很快找到了一个老外做的一个温控风扇的Demo http://www.lattepanda.com/topic-f11t3004.html

用到了一个开源的软件库叫Open Hardware Monitor, 看起来可行,找到软件官网一看感觉不太妙,最后更新是2016年,能支持2019年上市的CPU么?怀着忐忑的心情下载了软件,果然CPU只识别出来使用率这一个参数,这一开始就被卡住了,放弃又点不甘心哎。

要不到GayHub,啊错了是GitHub上找找,居然真的有收获有点硬核的DIY,自动控制的机箱面板,篇2

https://github.com/LibreHardwareMonitor/LibreHardwareMonitor

看介绍,这是一个fork自Open Hardware Monitor的软件库,而且一直有人在维护,看起来有希望能支持新的CPU,马上下载一个最新编译的版本看看:

有点硬核的DIY,自动控制的机箱面板,篇2

这回支持了,温度、使用率、频率甚至功耗都可以获取到了,同样也是开源软件,可以获取到C#源代码(C#是微软开发的编程语言,Windows软件开发最常用的语言之一)。至此Windows中获取温度应该是没有问题的。

另一个问题是上/下位机如何通信,常用的方式有网络、串口、USB等。网络速度最高,但软硬件都较复杂;串口程序最简单,不过现在的PC大多已经不再提供串口(九针)了,USB转串口需要额外硬件和安装对应的驱动;综合考虑决定采用USB方式:设计成自定义HID设备,不需要驱动,也不需要额外的芯片,就是单片机需要支持USB功能,价格会高点,不过DIY也不在乎多花几块钱。方案确定了,就开始动手吧。

硬件

顺带一提,在上一版完成之后还找到了同牌子的另外一款舵机,比上一版用的那款更薄,意味着可以考虑使用完整的光驱外壳,而不是上一版那样只用了半个铁壳,控制指令基本完全相同,也省去了很多事。新款的电压能直接支持到12V, 可以直接使用电脑电源供电了。

有点硬核的DIY,自动控制的机箱面板,篇2

既然准备使用完整的光驱外壳,那么为了利用原有的固定柱、螺丝之类的,PCB就得兼容原版的形状,最简单的方法就是照抄原版PCB的外形啦,幸好之前拆出来的部件还没扔掉。

原PCB形状有点复杂原PCB形状有点复杂

测量记录各个部分尺寸 (据说真正的大佬是不屑使用数显卡尺的有点硬核的DIY,自动控制的机箱面板,篇2 )

有点硬核的DIY,自动控制的机箱面板,篇2

又来一次奇奇怪怪的原理图了,PCB面积好大,忍不住又加了些备用/测试元件(光耦,晶振,DC-DC降压部分,I2C接口),对了这次的USB口是真有用的了。供电就准备直接从电脑电源获取,所以增加了一个SATA电源插座(J1):

有点硬核的DIY,自动控制的机箱面板,篇2

这次的MCU是STM32G431KBT,这是ST近期出的一款单片机,带有USB功能,128KB的FLASH,用在这里其实性能过剩了。之所以选它是因为它还带有PD功能,想要顺便多做一块板测试。至于DC-DC部分是考虑如果需要换别的舵机,而新舵机支持的电压低于12V时就把DC-DC部分焊上,调整好电压而不用重新画板。

有点硬核的DIY,自动控制的机箱面板,篇2

上一篇评论看到有朋友对学习单片机和PCB设计有兴趣,就多说几句,没有太好的技巧,两个字:多练。现在网上视频资料很多,但不能光看,一定要自己动手。这里先打住了,不然就跑题了,评论里可以再聊吧。

还是JLC给做的板子,才5块还包邮,便宜到快不好意思了有点硬核的DIY,自动控制的机箱面板,篇2 ,想要尝试的小伙伴上吧,做错了也就5块钱。不过目前最好是先等一等,这段时间大概因为复工未完全产能还比较紧张,我们做着玩的就先别添乱了。

有点硬核的DIY,自动控制的机箱面板,篇2

跟原版对比下,没有100%照着做的,只要不影响安装固定就行。

有点硬核的DIY,自动控制的机箱面板,篇2

装到光驱中框里试下。其实有点误差,左边的矩形有一条边打磨掉了约2mm,当然不需量产,就不必重做了。

有点硬核的DIY,自动控制的机箱面板,篇2

再一次铁板烧(恒温加热台)+电烙铁之后,元件都装好了。左下比较多的空元件位是DC-DC降压部分,新舵机直接支持12V不需要降压,就不装了。未来如果换了别的电压的舵机可以装上。

有点硬核的DIY,自动控制的机箱面板,篇2

下方的排线连接到了光驱的另一块小板上,上边原本还有一个电机,已经被拆掉了。这块板上现在只有一个LED和一个按钮,都可有可无的,就懒得单独再画一块板了。

有点硬核的DIY,自动控制的机箱面板,篇2

装到中框上,试试会不会影响安装:

有点硬核的DIY,自动控制的机箱面板,篇2

背面,旁边的木块是用来辅助固定舵机的,后面会有体现:

有点硬核的DIY,自动控制的机箱面板,篇2

新舵机背后有一个螺丝孔,安装固定起来更方便了些,光驱背壳上对应位置打一个孔

有点硬核的DIY,自动控制的机箱面板,篇2

上盖中间原来有个部件用来压光碟的,影响到了拨杆转动,把它挖掉了,还剩下一个铁质环形凸起,手上没有什么工具能搞定,就留着了。黑乎乎的斑点是上一版贴的胶布撕不干净,不管了。

有点硬核的DIY,自动控制的机箱面板,篇2

上图的凸起部分妨碍了拨杆转动,也只能妥协了。重新做一条吧,折成这个形状:

有点硬核的DIY,自动控制的机箱面板,篇2

结果孔没钻好废掉了有点硬核的DIY,自动控制的机箱面板,篇2 ,最后还是用回旧的,折弯(好难看,想重做可铝条没有了)。

有点硬核的DIY,自动控制的机箱面板,篇2

装起来试试:

有点硬核的DIY,自动控制的机箱面板,篇2

这是外挂的断电关门用电容器,这里也看到木块的作用了:

有点硬核的DIY,自动控制的机箱面板,篇2

这时候还不能把外壳装起来,得先写好软件,至少先测试好电路设计、焊接以及元件都没有问题。

终于摆脱STVD这货了,STM32开发可选的IDE挺多的,MDK是其中比较常用的一个,网上还有人提供了MDK工程转Visual Studio工程的工具,虽然VS只能用来编辑,编译和调试还是需要用MDK,但能有智能提示、代码补全等,编辑起来体验也要好很多:

有点硬核的DIY,自动控制的机箱面板,篇2

USB部分的代码基本都是STM32Cube(ST公司提供的STM32系列单片机开发辅助工具)自动生成的,剩下主要需要实现的是等待USB接收到数据之后解析操作,以及返回给上位机相应的数据。总结起来基本上就两个工作:读取舵机角度和控制舵机转到指定角度。

测试完没问题就可以专心写软件了,但是通常情况下是不会这么顺利的有点硬核的DIY,自动控制的机箱面板,篇2 。本来在线调试时挺正常的,但是重启后单片机就不工作了有点硬核的DIY,自动控制的机箱面板,篇2 。。。

折腾了不少时间,直接说结论吧,这个芯片有个BOOT0引脚,要接到GND芯片重启才会从FLASH区引导,好在这个引脚旁边就是个GND引脚,直接加点锡短接上就行,不然得飞线就比较难看了。

软件

硬件测试完,困难才刚刚开始,因为我不会C#编程有点硬核的DIY,自动控制的机箱面板,篇2 。。。

虽然写过不少程序,但基本没有写过Windows下,还带界面的有点硬核的DIY,自动控制的机箱面板,篇2

那就开始学吧

利用吃饭时间边看了几集视频,了解了一些基础:控件、变量、语法、类库……

网上找一些参考代码,差不多就可以动手了,使用了两个第三方库(图中红框),边查边学边改:

有点硬核的DIY,自动控制的机箱面板,篇2

终于V1.0出炉啦有点硬核的DIY,自动控制的机箱面板,篇2,丑了点,勉强也能用哈有点硬核的DIY,自动控制的机箱面板,篇2

有点硬核的DIY,自动控制的机箱面板,篇2

继续学习、完善,期间学了图表(chart)、配置文件读写、注册表读写、管理员权限检查、单一进程限制、最小化到系统托盘……

这是V2.0的,看起来顺眼点了吧:

有点硬核的DIY,自动控制的机箱面板,篇2

温度值通过图表展示出来,才终于知道上一版为什么效果调不好了,这CPU温度变化的也太任性了,居然是锯齿形的。接着就可以装上外壳了:

有点硬核的DIY,自动控制的机箱面板,篇2

前盖也可以装回去,不过留下的口子比较大,以后找到合适的像帘子之类的材料再装饰下吧,找不到也无所谓。

有点硬核的DIY,自动控制的机箱面板,篇2

背后看看(调试口PCB上的丝印看不到,只好写到外壳上了),这接口看着有点原装的意思吧有点硬核的DIY,自动控制的机箱面板,篇2

有点硬核的DIY,自动控制的机箱面板,篇2

装机:

有点硬核的DIY,自动控制的机箱面板,篇2

工作时LED会闪的:

有点硬核的DIY,自动控制的机箱面板,篇2

内部接线:

有点硬核的DIY,自动控制的机箱面板,篇2

USB为了整洁买了个USB3.0扩展模块,以便在内部连接。其实用2.0的就可以,不过这机箱前置两个USB口外加一个读卡器,把内置2.0接口用完了,只好买个3.0的了(主板共两个3.0接口):

有点硬核的DIY,自动控制的机箱面板,篇2

插在主板上了:

有点硬核的DIY,自动控制的机箱面板,篇2

成果展示

现在的控制规则写在上位机,容量可以说没了限制,写起来就任性了,加入了CPU最低温度和平均负荷参与判断。经过两个月的实测效果很好,几乎不会发生游戏中反复开合的情况了。

大家想看的动图来啦,但这不是温度高自动开启的,而是为了录视频点的 '手动开'、'手动关'的效果:

有点硬核的DIY,自动控制的机箱面板,篇2

总结和补充

补充:文中提到的Open Hardware Monitor软件,在写此文时又去看了下,就在前几天已经再次更新了,测试了下最新版已经能支持AMD的新CPU。

这V3.0的作品大概是最后一版了,哪天可能换上个好点的散热器,它的使命也就完成了,不过大概可以继续留着没事时候点下开关玩玩,听着舵机吱吱声把门开开关关,还挺有机械感的。

其实C#软件还有些可以改进的地方,不过大都是锦上添花,工作已经很累,没太大动力去做了。。。

等等,好像有些什么不对,我在干啥来着?玩游戏->机箱热->……->写(学)C# 有点硬核的DIY,自动控制的机箱面板,篇2

有点硬核的DIY,自动控制的机箱面板,篇2


谢谢欣赏,以下是上一篇,有兴趣也欢迎去瞧瞧:

有点硬核的DIY,自动控制的机箱面板,篇1小编注:此篇文章来自#原创新人#活动,成功参与活动将获得额外100金币奖励。2020年新人计划正在进行,点击查看活动详情这个东西做好其实已经有段时间了,最近由于大家都知道的原因假期意外被延长了,空闲时间多了点,整理下折腾的过程,考虑到读者可能没有很多电子&软件专业人士,也不具有太多仿制意义,所以具体lingex| 42 评论48 收藏62查看详情
展开 收起

JINGDONG 京东 健康甄选 超声波洁牙套餐 单人洁牙+抛光

JINGDONG 京东 健康甄选 超声波洁牙套餐 单人洁牙+抛光

89元起

宝满 WPS2019视频教程 表格文字演示word/excel/ppt办公office在线课程

宝满 WPS2019视频教程 表格文字演示word/excel/ppt办公office在线课程

暂无报价

苏曼网校 Word2016 从入门到精通 视频教程

苏曼网校 Word2016 从入门到精通 视频教程

暂无报价

Photoshop cc2018 全套速成 入门视频课程

Photoshop cc2018 全套速成 入门视频课程

暂无报价

Photoshop CC 全套入门 自学视频课程

Photoshop CC 全套入门 自学视频课程

暂无报价

CAD2019 零基础入门到精通 全套视频课程

CAD2019 零基础入门到精通 全套视频课程

暂无报价

沪江网校 微软MOS认证专业级Word+Excel+PPT(13版)【11.11专享学霸班】

沪江网校 微软MOS认证专业级Word+Excel+PPT(13版)【11.11专享学霸班】

暂无报价

PPT office2016 全套 视频课程

PPT office2016 全套 视频课程

暂无报价

沪江网校 微软MOS认证专业级Word+Excel+PPT(13版)【全额奖学金班】

沪江网校 微软MOS认证专业级Word+Excel+PPT(13版)【全额奖学金班】

暂无报价

沪江网校 微软MOS认证专业级Word+Excel+PPT(13版)【特惠班】

沪江网校 微软MOS认证专业级Word+Excel+PPT(13版)【特惠班】

暂无报价

photoshop cc 广告平面设计在线课程

photoshop cc 广告平面设计在线课程

暂无报价

AutoCAD 室内设计 全套基础基础入门 视频课程

AutoCAD 室内设计 全套基础基础入门 视频课程

暂无报价

PS零基础 全套案例 视频课程

PS零基础 全套案例 视频课程

暂无报价

圈外同学 IDP职业发展规划课

圈外同学 IDP职业发展规划课

暂无报价

CAD2019 机械制图 机械设计制图

CAD2019 机械制图 机械设计制图

暂无报价

Photoshop cs6 平面设计零基础入门 自学基础班 视频课程

Photoshop cs6 平面设计零基础入门 自学基础班 视频课程

暂无报价
132评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
732
扫一下,分享更方便,购买更轻松