|
本帖最后由 colourwp 于 2019-9-20 20:34 编辑
好久没做机箱了...
上一个机箱应该是STX规格的...
其实玩过各种非标准小机器后,最后还是希望能有一个一直使用下去的箱子,即使硬件更新换代,只要硬件规范不变,就能继续使用下去...
在各种标准规格中,小巧一点的,性能主流级的,也就ITX了,以后如果还设计箱子,应该基本都在ITX这个范围内了...
能够自己设计并制造机箱的,在chh里,我应该算是第一批的了...,然而我并没有像其他玩家那样慢慢向工作室去发展,而是基本自己一个人玩...
所以我设计的东西基本都是考虑自己的需求,不怎么考虑成本,不怎么考虑大众化的需求...
什么样的机箱才是满足我自己需求的机箱呢?,外观、散热、结构、体积、材料、做工...,其实这个在不同的玩家心里,侧重点都不一样的,有人喜欢漂亮的外观,散热过得去就行;有人喜欢大体积,安装方便;有人喜欢有更好的散热,这样能把风扇转速调得尽量低,有着更低的噪音表现;有人喜欢厚重的感觉;有人喜欢极致的做工...
这个问题其实困扰了我很久,之前设计的小箱子虽然也优先考虑了散热,但是重点考虑的还是体积(大家可以去翻我以前发的贴子看...),这次我考虑了很久,也纠结了很久,打算弄一个不太“小”的机箱,为了得到更好的散热,更好的静音表现...
这个箱子的设计,其实从18年底就开始了,在6月份的时候才开始慢慢验证结构,这个时候正好第五届机王大赛的帖子出来了,想着最后可以把箱子发到机王大赛上,于是就有了这个帖子...
今天终于把一个关键的模块做好并验证好功能,应该是我发帖的时候了...
所以就把这个小模块当作这个帖子的第一个照片吧:
机箱上集成一个OLED屏,并能显示一些基本信息,这个是我很喜欢的一个设计,因为我之前的工作接触的很多设备都是带个小液晶屏的,能显示设备的一些基本状态...
为了这个东西,自己去学了一些单片机编程的东西,最后慢慢也能实现我需要的功能,虽然功能不像人家成品设备上的那么强大,但是能满足我现在的需求,我觉得已经很满意了...
这个模块不仅仅是显示,还有其他功能,这个后续慢慢更新帖子再一一说明...
[2019-08-25]
背板:
跟主板固定架安装在一起:
室内光线实在是不够,细节很难拍得好,于是拿到阳台拍了几张细节:
这个背板是用7075铝加工出来的,质感是要比6061好一些...
这次没有做任何的铝表面加工处理,阳极氧化在当地没有产业,我很难找到一个靠谱的地方做这个...
之前找过广东那边朋友让帮忙弄,但是板子回来后各种划痕、各种凹坑,还不如不做表面处理...
[2019-08-27]
支撑整个机箱用的脚垫:
为了让固定的螺丝能隐藏在内部,做了这样的一个螺丝从内部面拧紧的结构...
如果螺丝是在外面往里面拧紧,加工上要简单很多...
底部加了一个凹槽,用来贴防滑硅胶垫:
一共有4个这样的支撑脚:
两个猫头鹰的NF-A14 PWM风扇做为进风风扇,为了考虑到尽可能大的进风量,只开了个两个大孔在风扇对应的位置,这个风扇固定板也是7075铝板加工出来的:
两个风扇是在不同时间点上买的,不知道是不是版本的原因,颜色上有点不一样,一个颜色深一点,一个颜色浅一点 :
脚垫跟风扇固定板安装在一起:
其实看到这里大家应该能想到这是一个垂直风道的机箱了...
在各种结构的机箱里面,垂直风道一直是我喜欢的结构,整个风道能够照顾到机箱里面所有部件的散热需要,加上热风的自然上升,散热效率在已有的各种机箱结构中是最高的...
一些其他零件:
前面看到有回帖说像是要上铰链,从这个图上看确实很像,不过这个不是铰链,只是背板跟侧板固定的结构设计成了这样
[2019-08-28]
既然标题带了glass字眼,这个机箱肯定是跟玻璃有关的啦~
这个玻璃的厚度是6mm的,切割精度控制得很好,磨边非常光滑,还加了倒角处理:
这个玻璃的加工也是头疼,毕竟我的设备不是专门加工玻璃的,测试了好多种加工方案后,最后只能做出这样的效果来(边缘不够平滑,不过铝件遮挡后基本看不到了):
这个是内嵌到玻璃凹槽里的模块:
玻璃是不能直接跟铝件硬接触的,需要用一片很薄的硅胶片垫在玻璃和铝件之间:
每一个铝件跟玻璃之间都垫了硅胶片:
最后螺丝上紧:
效果还不错 :
底部稍微简单一点,玻璃上只有一个通孔,用硅胶片包好整个跟铝件有接触的地方:
将玻璃卡入到这个脚垫的槽上:
玻璃上的通孔正好对应铝件上的螺丝孔:
螺丝如何穿过玻璃将玻璃固定,但是又不能硬接触,最后想到的是用这种合适规格的台阶螺丝套一小段硅胶管,效果超级好,即能很好的固定,又不会跟玻璃硬接触 :
拧好螺丝(螺丝长度、铝块铣下去的深度都经过严格计算,不会因为螺丝拧得太紧压碎玻璃):
最后将露出来的多余的硅胶片用裁纸刀去掉:
这个螺丝从内部拧紧的设计,可以将螺丝隐藏在内部,从外部看就看不到螺丝孔了 。
[2019-08-29]
开始把所有零件安装起来...
这个是安装好后的脚垫,从外部看不到螺丝的设计让整体质感更棒:
四个面都是玻璃,中间没有其他材质的支撑结构,整个箱子的结构强度完全靠玻璃和上下两个铝板提供,因为玻璃只是普通的超白玻璃,没有做钢化处理(后续可以拿到本地的玻璃店做钢化处理),刚开始是有那么一点担心的,但是装配起来后发现强度还是很不错的,只要不用硬物撞击到,日常使用完全没有任何问题...
回帖里有人给了“鱼缸机”的称号,其实这个称号早就有人给过了,后面肯定还会有人继续给的 ...
玻璃跟铝板之间、玻璃跟玻璃之间设计上都留有一点缝隙,不会有直接硬接触,否则热胀冷缩有可能会造成玻璃碎裂:
为了最大的进风量考虑,底部就直接开大孔了,正常使用的时候这个进风面是向下的:
脚垫的凹槽贴了防滑用的硅胶片:
把主板装进去,可以看出这个箱子体积不小...
之前一直玩小箱子,想体验一下高端显卡的性能总是无能为力,这次就直接考虑上80ti这个级别显卡了,所以箱子的尺寸相对于之前设计的就显得非常的“巨大”:
显卡跟底部的进风风扇大概有15mm的空隙:
装上电源:
电源的进风口是向着显卡这边的,中间大概有10mm的空隙,这个结构只适用于涡轮扇的显卡了,非涡轮扇的显卡可能会影响电源的散热...
这个电源的风扇在我这套配置里,裸奔状态下除了跑稳定性测试或者跑其他跑分程序,平时是不转的,装到机箱里后由于整个风道散热的照顾,电源的温度反而更低了(内部的风压会促使冷风从电源的风扇处进入,顶部排出):
把定制线装上(最开始我是想弄硬走线的,看了chh的某个硬走线的帖子,感觉用在我这个全透明的玻璃箱子里应该蛮好看的,但是尝试了一天最后放弃了 ,一个原因是硬线的弯折控制,最大的原因是电源侧和主板侧的线序不是一一对应的,要弄得好看非常困难):
所有配件安装到位后通下电看看这个OLED小模块能否正常工作:
整个机器除了显卡是之前留下来的外,其他都是全新的,散热器在折腾过程中经常拆装,上面留下了很多指纹...
机器的配置如下:
CPU:9900K
主板:华硕Z390I
显卡:公版1080ti
内存:幻光戟16G*2
SSD:三星970pro 512G + 镁光1T(背面)
电源:海盗船SF750
散热器:猫头鹰U9S
机箱风扇:猫头鹰NF-A14 PWM *2
[2019-08-30]
比赛规则要的东西,还是要去做的(这堆东西就是为了这个箱子准备的):
这个窄面已经不能叫做“前面”了,因为机箱平时摆放是“宽面”为正面:
另外一侧:
背面(为了透明的玻璃能看清楚内部的零件,主板固定框尽量设计成了边框的样式,这样可以尽可能多的展示内部的主板):
玻璃细节:
晶莹剔透 :
因为在底下塞了个灯 :
其实刚开始的时候想过在4个脚垫上安装RGB灯,接到主板的RGB灯接口同步灯效,应该很不错,不过最后没有去实施这一步...
平时的用机环境:
开机认证:
说说缺点:
1. 玻璃不是钢化玻璃;不过这个好解决,本地的玻璃加工店就能做(我真要拿到玻璃店做钢化处理的话应该会拿5片玻璃去,做好后直接砸碎一片,要不根本没有办法确认是否真的做了钢化处理)...
2. 顶面没有盖子;很多朋友看到我这个设计图的时候,就提出了为啥不设计一个顶盖遮挡下的建议,其实在我的设计图里我画了很多遍顶盖,各种能想到的样式都画了,但是因为线材凸起的原因,顶盖到顶板需要预留很大的一个空间,本来机箱的高度就已经有点高了,如果再增加这部分高度,从图纸里看感觉就很不协调,最后我决定不做顶盖,线材直接从顶面出来对整体外观并不会有太大的影响,这样反而插拔线材,插拔USB设备非常方便,没有顶盖对我来说其实并不算缺点...
3. 铝件没有氧化处理;这个开头说过了,铝件的氧化处理在本地没有厂家,寄到外地做又很不放心,虽然铝的氧化处理是一种很成熟的工艺,但是防不住工人的不用心,对于你来说,这些自己设计并加工出来的东西,移动的时候都是轻拿轻放,尽量不要弄花弄磕碰,但是对于氧化工厂的工人来说,他根本就不管你这个东西是拿来干嘛的,反正夹到夹子上就丢氧化池里,出来后也是随手一丢,除非你能够跟工厂老板谈一个很大的单子,所以这个真的很无解...
说说设计:
1. 顶板上的沉头螺丝;顶板(IO板)能塞下标准显卡+SFX电源,280mm的宽度其实已经很极限,螺丝孔设计得又很靠边(螺丝孔中心到边距离是3mm),开始的时候是考虑用平头螺丝的,但是需要找合适的小平头螺丝很难,要找到有质感的就更难...,之前也看到很多装机贴里用YFS的沉头螺丝,想了想用沉头应该也不错,不过沉头螺丝的头部直径一般很大,超过了6mm,这样就没法用(螺丝头超过6mm会碰到玻璃),然后就想着要么换M2.5规格的,设计都定型的时候,把YFS的M2.5螺丝买回来,发现M2.5是没有打YFS的logo的,瞬间让我没了兴趣,然后转向M3规格,跟老板再三确认后,M3规格的沉头是有打logo的,并且头部宽度精度比国产螺丝高,即使有误差,也不会超过6mm的直径,最后才改版用了M3的螺丝,这里来来回回买了N多螺丝,也花了很多时间...
2. 玻璃面板上凸出来的“小耳朵”不是顶着“顶板”固定的,而是“吊”着顶板固定的;按照常理,4个玻璃面的固定点应该是支撑整个顶板安装才合理的,因为机箱内除了底部的两个进风风扇不是靠顶板吊着,其他所有零件都是靠这个顶板吊着的,玻璃的固定点如果是在顶板的下面,起支撑固定,这样螺丝不用拧紧都能起到很好的支撑和固定作用,但是并不能这样设计,因为脚垫的设计原因,玻璃必须从上往下插进去,要拆开其中一个玻璃面,就必须让固定点在顶板的上面,否则单块玻璃就不能拆出来,这样装机就会非常痛苦,所以必须要设计成能单块玻璃能拆出来...
3. 顶面的风扇固定孔;顶面设计了两个8cm的风扇固定位,不过机器装起来后发现这两个风扇装不装都一样,索性就不装这两个风扇了...
......
[2019-08-31]
看到这里,是不是感觉少了点啥?
4个玻璃面,顶面IO,底面风扇...
开机...,对了,开机按钮哪里去了?
整个机箱没有找到任何可以按下去的按钮,那开机怎么开呢 ...
...
刚开始画这个机箱的时候,因为一直在关注结构方面的东西,想着最后随便找个合适的地方铣个小按键出来装上去就行了...
等所有结构都确定好后,发现没有合适的地方放开机按钮了...
在玻璃上再打个洞?在顶板上再开个孔?好像都不合适...
开机一定要用按钮去触发吗?难道就不能用别的方法触发吗...,这个问题想了好久...
之前折腾过一个触摸开机的NUC,要不就用触摸开关吧...
查了下之前购买的这个触摸开关的资料,好像也不行,放在玻璃后面因为玻璃太厚了,触摸感应不到,放金属后面就更不行了...
还有没有什么其他既能放在玻璃后面,又不需要开孔的方案呢...
然后想到了很久以前接触过一个大型裁纸设备,上面有个计数器,转子每转一圈,计数器就加1,这个东西是通过一个叫做接近开关来实现的,实现的原理很简单,就是通过一个红外发射管和接收管,发射管不停的发射脉冲信号,接收管收到被物体遮挡反射的信号后就给出一个确认信息,这样就能感应到发射管和接收管前面有没有物体遮挡...
能不能把这个东西当作开关来用呢...
答案是肯定的,但是需要一些特定的结构,因为玻璃本身也会反射红外信号,直接把这个东西放玻璃后面,就会一直处于触发的状态...
这里也是想了好久,最后避免玻璃反射红外信号触发的方法其实很简单,就是在发射管和接收管上都套一个隔离环就行,当然这个结构我直接集成在了模块里面...
眼尖的同学看第一个图的时候其实应该看出来了,OLED屏模块的左侧有两个开孔,这两个开孔一个是红外发射管,一个是红外接收管...
弄这样的一个开关模块到这个玻璃机箱上,只要有东西在这个模块面前遮挡一下,就能实现机器开机或者关机,是不是很酷呢...
脑子里想着这样一定很酷,但是实际上直接拿感应开关当电脑的开机开关并不酷,为啥?
因为会误触 ...
你不想插个U盘就自动关机吧?你不想插根网线就自动开机吧?
有什么办法能让这个误触的几率降低呢?调整红外发射管的功率,控制好距离,每次触发都只能在特定的距离触发?好像也不实际,并不能解决误触的问题...
想了好久,最后想到通过延迟或者计时的方式去控制,这样误触的几率就会大大降低...
但是如何去控制这个延迟或者计时呢...
然后想到了用个单片机去控制...
虽然不是码农出身,但是之前的工作也偶尔会写点windows下的简单代码,要不就去学点单片机编程吧 ...
既然单片机都上了,那就再加个OLED屏吧,这样就更直观了,还能显示一些其他信息...
一通捣鼓测试后,一个真正可用的感应开关诞生了,就是帖子开头第一个图里的那个小东西
关机状态:显示SYS POWER OFF:
开机状态:第一行显示SYS POWER ON,第二行显示温度(这个温度是采集一个外部温度传感器的数据,为啥不是读取系统里的温度信息,这个后面解释...)
感应状态1:当感应模块前有物体遮挡,不管是POWER OFF或者POWER ON状态,都会出现进度条:
感应状态2:当进度条增加到一定长度后(大概3~4秒钟,这个时长可以修改代码来调整),出现PS_ON active状态,这个时候单片机会给主板一个开机信号,相当于电源按钮按下触发的情况:
如果遮挡物一直存在,相当于电源按钮一直处于按下状态,如果电脑死机,可以这样强制断电关机:
来个动图更直观展示这个开机的过程(论坛有1M大小的限制,只能压缩到很小很小的分辨率了,帧数也很低...):
通过这个感应的方式来开机,玻璃上就不需要开孔了,加上延迟的设计,已经达到了实用的程度,从已知的“电脑主机”开机方式来看,这个方式我应该是第一个实现的,估计后面会有各种类似的感应开机的机箱出现吧  ...
关于温度显示,一开始我是希望OLED屏显示的信息跟系统联动的,类似aida64的屏显那样把需要的信息输出到OLED屏幕上,但是我不希望用第三方的程序去实现,我想自己去写这个代码,但是折腾了好久,一直搞不定温度的读取,从网上找到的信息来看,要读取CPU温度信息,需要写一个sys0驱动级别的程序才能读取到,这个对于我这个非码农出身的来说实在是太难了 ,所以现在只能通过一个外部传感器来获取温度信息(温度传感器固定在了CPU散热器的热管上),其他的信息,比如CPU主频、CPU使用率、内存使用率等常用的系统状态参数,到是很简单就能读取出来,后面再慢慢优化这些东西吧...
[2019-09-01]
感应开机、OLED显示其实是通过Arduino nano来实现的,也就是下面这个小东西:
这个是原版的Arduino Nano,用国产的兼容板子也是可以的,国产的兼容板子要便宜不少...
这个实现其实很简单,想了想还是公开让大家一起玩吧
接线图如下:
红色和黑色是供电,我是接主板的USB2.0的插针上取的电,[to主板5V]是接在speak的5V插针上(这个5V是拿来判断主板是否处于通电状态的),[to主板开机]就是接ps_on的插针...
实现的代码如下(拷贝到Arduino的IED里刷进去就行了):
- #include "U8glib.h"
- #include "OneWire.h"
- #include "DallasTemperature.h"
- #define ONE_WIRE_BUS 2
- U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);
- OneWire oneWire(ONE_WIRE_BUS);
- DallasTemperature sensors(&oneWire);
- float temperature = 0;
- int powerState = 0;
- int respondState = 0;
- int respondPin = 3;
- int powerPin = 4;
- int mbpowerPin = 5;
- int responTime = 0;
- void setup() {
- // put your setup code here, to run once:
- pinMode(respondPin,INPUT_PULLUP);
- pinMode(powerPin,INPUT_PULLUP);
- pinMode(mbpowerPin,OUTPUT);
- digitalWrite(mbpowerPin, HIGH);
- }
- void loop() {
- // put your main code here, to run repeatedly:
- respondState = digitalRead(respondPin);
- if (respondState == LOW)
- {
- //触发感应
- if (responTime < 64)
- {
- u8g.firstPage();
- do
- {
- u8g.drawBox(0,0,responTime,15);
- }
- while(u8g.nextPage());
- responTime++;
- }
- if (responTime == 64)
- {
- //触发ps_on信号
- digitalWrite(mbpowerPin, LOW);
- }
- if (responTime > 63)
- {
- u8g.firstPage();
- do
- {
- u8g.drawBox(0,0,responTime,16);
- u8g.setFont(u8g_font_unifont);
- u8g.setPrintPos(0,28);
- u8g.print("PS_ON active");
- }
- while(u8g.nextPage());
- responTime++;
- }
- }
- if (respondState == HIGH)
- {
- //非触发感应
- responTime = 0;
- digitalWrite(mbpowerPin, HIGH);
- powerState = digitalRead(powerPin);
- if(powerState == LOW)
- {
- //关机状态
- u8g.firstPage();
- do
- {
- u8g.setFont(u8g_font_unifont);
- u8g.setPrintPos(0,12);
- u8g.print("SYS POWER OFF");
- }
- while(u8g.nextPage());
- delay(100);
- }
- if (powerState == HIGH)
- {
- //开机状态
- sensors.requestTemperatures();
- temperature = sensors.getTempCByIndex(0);
- u8g.firstPage();
- do
- {
- u8g.setFont(u8g_font_unifont);
- u8g.setPrintPos(0,12);
- u8g.print("SYS POWER ON");
- u8g.setPrintPos(0,28);
- u8g.print("TEMP: ");
- u8g.setPrintPos(48,28);
- u8g.print(temperature);
- }
- while(u8g.nextPage());
- delay(100);
- }
- }
- }
复制代码
本来还想实现前面说的屏幕跟系统互动的,因为最近忙了别的东西,也就一直没有进行这方面的尝试了...
不过还是折腾了不少东西,OLED屏、LCD屏、墨水屏、Arduino、树莓派、超微的IOT主板等,以后要是再设计机箱的话,也许就会集成更多的这些东西在上面了 :
这次的机箱大概用了有20来天,每天都在用,最大的感受就是安静,放在桌面上用,平时运行噪音不可闻,打游戏的时候偶尔会有风扇加速的声音...,在这个性能的基础上,能有这样的效果,我自己反正是满意了...
跑分...
其实9900K+1080ti这样的一套配置,大家都玩得很透了,CPU是个大火炉,1080ti同样也不是吃素的,在这么小的一个箱子里,想让这套硬件安静的跑起来,已经是很难得了...
aida64的fpu测试,我跑第一次的时候是用的默认4.8G,然后发现U9S实在是顶不住,一会就破百了,于是就固定了一下电压,跑在4.7G下...
测试环境开了一点空调,室内大概29度这样:
AIDA64的FPU稳定性测试总共跑了15分钟,CPU最高温度维持在95度(我在BIOS里设置的电压是1.18V,CPUZ读出来的电压偏低,不知道是不是大家说的ASUS电压作弊问题...):
这里可以看到虽然CPU满载了15分钟,温度最高上到了95度,但是主板的温度(黄色线)还是维持在很低的一个值,这个是垂直风道对整个机箱内部零件进行充分散热的最好证据。
CPUZ:
4.7G的9900K,跟内置的9900KF的成绩基本一样:
3Dmark Time Spy跑出了9716分:
GPU最高温是84度(1080ti公版BIOS,全默认状体,也没有装MSIAfterburner控制风扇曲线):
CPU温度最高出现在第三阶段,67度:
整个测试过程风扇基本都是满转速的,不过猫头鹰风扇的最大转速都不大,能听到呼呼响,不过不算刺耳,玩游戏的时候戴上耳机基本就听不到了...
测试过程还发现个问题,DS18B20数字温度探头是个三极管封装的,很难跟热管有良好的接触(我是用轧带把这个DS18B20绑到了U9S的热管上),OLED屏幕上的读数并不高,这个算是设计上的一个失误,下一个机箱再改进
For the king of computers CHH 5th ... Done...
[2019-09-20]
|
评分
-
查看全部评分
|