找回密码
 加入我们
搜索
      
查看: 13562|回复: 127

[电脑] 我的,理想的,终极的,FormD T1。

  [复制链接]
发表于 2024-11-23 21:44 | 显示全部楼层 |阅读模式
本帖最后由 我輩樹である 于 2024-11-29 17:38 编辑

人,物,事

做为一名坚定的星巴克背包侠 + 服务器remoting党,游戏只玩3A大作原崩绝,一直以来装一台日常机器好像对我没啥用。

之前都是装了拆拆了装,家里的那几台破烂只是满足尝试新配件或新方案的载体。

故事源于阴差阳错的加入了FormD T1 China官方群。这个群里面可以不活但不能没活的老登比较多,他们时不时发点东西,总能够刺激你对自己的机器做点什么,所以感觉自己也不得不整点啥来满足一下虚荣。

从某种程度来说,我这次装机也算是时髦的社区驱动了。

SB.jpg

FormD T1是一款体积控制在9.99升的A4架构纵梁可调整的ITX机箱,它也算ITX装机界的老熟人网红机箱了。

我所用的2.0版本是很稀有的版本了,所以本贴里面分享的东西,包括图纸其实都没有什么参考意义,如果要使用均需要经历调整和验证。

此外,这是我第一次采用数字化的装机方式,首先通过测量机箱部件并在软件中建立起3D CAD模型,基于这个CAD模型完善自己的设计,然后通过3D打印和来自嘉立创的铝合金CNC打样进行反复验证,最后进行装机测试。

2.png 3.png

我之前从来没有做过CAD建模,但有一定Mesh建模的基础,且软件上选择了面向初学者的Autodesk Fusion360软件,所以这个过程反倒不是很困难。

验证无疑是整个流程中最困难的一步,大量的3D打印件和高昂的铝合金打样,付出了无数的时间和金钱(3D打印200个小时以上,嘉立创CNC打样1W+的费用)。

新手的学费是高昂的,但也不得不感叹蓝星第一的工业实力,就这么一个玩票的坐在家中就能相对廉价的调用加工机器实现自己的想法,可不敢轻易想象。

CONCEPT
设计的概念是制作一款“刚体(Rigidbody)”机器。
全身尽量使用金属构成,部件和线束牢牢的固定在机体上,适应运输环境。
走线做隐藏处理。
有点老派的风格,但我一直都想做这么一款机箱。
最好能体现一点智能性,就它了。

1. 设备清单


硬件设备:
机箱FormD T1 V2.0
中央处理器
AMD  Ryzen 9 7950X3D
图形处理器
NVIDIA  GeForce RTX 4090 Founder Edition
主板
ASUS  ROG STRIX X670E-I GAMING WIFI
内存 SK Hynix 48GB 5600Mhz OC 6400Mhz x 2
固态硬盘
FANXIANG  S790 4TB x 2
电源
ROG  Loki 1000W

水冷设备:
处理器冷头
Modultra LOBO AM5 + Emitter Heatsink
冷排
XSPC TX240 Crossflow Ultrathin Radiator
风扇
Noctua A12X25 Black Editon x 2
接头
EKWB、Bitspower、Barrow、Bykski

嵌入式设备:
核心算力模组
M5Stack M5Core2
AI摄像头模组 M5Stack UNITV2 USB + UVC Camera
继电器模组
M5Stack 4Relay Module
指纹识别模组
M5StickC Plus + M5StickC Fingerprint HAT

其他设备:
前置液晶面板
EKWB Lumen

2. 成品展示

这里展示两款皮肤。
第一套皮肤。
这款皮肤的设计概念是挂件。侧板开窗,均有螺丝孔位可以挂上特别定制的铭牌等。
DSC_1548.jpg DSC_1550.jpg DSC_1551.jpg DSC_1552.jpg DSC_1553.jpg DSC_1555.jpg DSC_1563.jpg DSC_1567.jpg DSC_1568.jpg DSC_1570.jpg DSC_1573.jpg DSC_1575.jpg DSC_1576.jpg DSC_1581.jpg DSC_1697.jpg DSC_1698.jpg

第二套皮肤
这款皮肤的设计概念是YOLO。类似目标检测框体的方式将主要部件框出。
本来想做分件彩色的,可惜价格太贵放弃了。
5.jpg DSC_1836.jpg DSC_1838.jpg DSC_1841.jpg DSC_1843.jpg DSC_1847.jpg DSC_1848.jpg DSC_1849.jpg DSC_1851.jpg DSC_1852.jpg DSC_1853.jpg DSC_1854.jpg DSC_1855.jpg DSC_1856.jpg DSC_1857.jpg DSC_1858.jpg

2. 组装


零部件展示
零部件使用嘉立创CNC,加红黑银三种阳极氧化方案。
水冷管因为无法CNC的原因,使用304不锈钢打印。
1.png
DSC_1596.jpg DSC_1599.jpg DSC_1601.jpg DSC_1702.jpg DSC_1700.jpg

电源相关组件
包含:电源个性面板、电源挂架、电源理线架、ATX24PIN线材线梳。
通过定制的电源挂架,提升电源的安装高度,将上部空间压缩到极限,为线材部分腾出有效空间。
电源理线架主要用于束缚电源供电线和前置显示屏的供电USB与HDMI线。
DSC_1604.jpg DSC_1605.jpg DSC_1606.jpg DSC_1608.jpg DSC_1609.jpg DSC_1610.jpg DSC_1612.jpg DSC_1614.jpg DSC_1615.jpg DSC_1617.jpg DSC_1644.jpg

显卡支架
包括:显卡支架(公头),尾部扣锁
根据设计理念,要求将所有硬件设备都牢固在机箱上,所以设计了这2个配件。
充分利用了公版显卡自带的服务器支架安装位。
DSC_1618.jpg DSC_1639.jpg

水冷总成
包括:冷排,冷头,水冷管。
从这里可以看出,本次安装展示并不是从零开始的。
因为我是装完后再边拆边拍照的,但是水冷一旦装好不排水的话就很难拆卸,就放弃了。
水冷管采用嘉立创的304不锈钢打印,除了可以走复杂造型外,还省去了自己弯管的麻烦。
缺点是外观如果不做处理就只有不锈钢本色可选了。
另外,经测试没有发现和铜水路的电化学反应。
所有三根电源线均为定制长度,ATX24PIN线材还特意建模并定制了不等长线材,以最大限度的节省空间。
水路采用内外循环被动切换的方式。
cable.png
DSC_1619.jpg DSC_1620.jpg DSC_1622.jpg DSC_1623.jpg DSC_1624.jpg DSC_1625.jpg DSC_1634.jpg DSC_1696.jpg

显示面板多用途扣具
这个零件的作用有两个,第一是将EKWB的前置显示屏固定在FormD T1的前面板上,第二是提供了显卡支架的母口。
显示器的USB供电与HDMI信号线路使用PFC软排线纵向穿过整个机器(见总装部分)。
接头也采用了可拆卸式的,这种接头在飞控领域很常用,所以在走线不便的时候式很便宜很有效的方案。
DSC_1628.jpg DSC_1629.jpg DSC_1630.jpg DSC_1632.jpg DSC_1633.jpg DSC_1657.jpg

AC电源线导线套装
包括:后置导线器,中置导线器。
中置导线器还兼具遮盖显卡12vhpwr转接器的作用。
因为空间的限制,12vhpwr的180度转接器不得不去掉上盖,然后贴上绝缘胶带。
DSC_1636.jpg DSC_1637.jpg DSC_1650.jpg DSC_1659.jpg DSC_1656.jpg DSC_1655.jpg

RTX4080/4090旅行套件
在机箱尾部定制了RTX4080/4090的旅行套件。该套件基于官方的旅行套件改造而来,不需要拆卸档板,当然也会牺牲一定的紧固性能。
螺丝孔位稍微有点偏差,我也懒得去修正了。根据机箱走线的策略,特意留了PFC排线的开口。
DSC_1693.jpg DSC_1643.jpg DSC_1691.jpg DSC_1695.jpg

3. 总装


首先安装电源,将电源总成装上线材,再安装到机箱上去。
DSC_1645.jpg DSC_1646.jpg DSC_1647.jpg DSC_1651.jpg DSC_1652.jpg DSC_1653.jpg DSC_1658.jpg DSC_1660.jpg

然后,安装前置显示屏总成。这里仅试装,同时安装前置显示屏的两根排线。
DSC_1661.jpg DSC_1663.jpg DSC_1664.jpg DSC_1665.jpg DSC_1666.jpg

在不安装显卡的情况下已经可以开机测试了。
因为自带显示屏,所以不需要外接。
DSC_1669.jpg DSC_1668.jpg DSC_1671.jpg DSC_1667.jpg DSC_1672.jpg DSC_1673.jpg DSC_1674.jpg DSC_1675.jpg DSC_1883.jpg

取下前置显示屏,安装显卡。
装完显卡后,还需要安装显卡的固定扣具。
显卡的12vhpwr供电线采用中间走线直达电源的方式。
这对机箱的布局有一些小小的要求。要采用“双抬”的方案。
即A4的两侧(主板侧和显卡侧)都需要抬升以远离中间的纵梁。
这样才能腾出空间安装12vhpwr的180度转接头。
可以参考俯视图中的中置理线器的位置,基本就是顶着主板安装。
DSC_1676.jpg DSC_1680.jpg DSC_1682.jpg DSC_1678.jpg DSC_1679.jpg

最后是安装电源延长线了。
因为电源被抬高,能够使用的电源线屈指可数。
经过寻找,这款来自JLMake的电源线符合要求。
三根黑色镀银线穿过导线器接入AC母口。
DSC_1874.jpg DSC_1879.jpg DSC_1881.jpg

4. 八视角图

DSC_1681.jpg DSC_1683.jpg DSC_1685.jpg DSC_1686.jpg DSC_1687.jpg DSC_1688.jpg DSC_1689.jpg DSC_1690.jpg

5. 嵌入式设备

借用成品图中的一张来说明。
在机器之外我还安排了一套基于ESP32的嵌入式“带外管理”系统。
采用的方案是M5STACK全家桶。
M5STACK是嵌入式入门非常友好的品牌,模块化的设计提供了很多功能,有利于新手。
AI摄像头模块自带算力和一系列视觉算法,可以无需编程构建一些简单的感知类应用。
设备由USB供电驱动同时进行串口连接。
为了能放入狭小的机体,外壳都进行了重新设计,并使用CNC铝合金制作,加强散热。
4.jpg
包含:核心计算板、AI摄像头、继电器模块和M5STICK指纹模块。
目前能做的事情就是:人脸识别与远程指纹开机。
“带外系统”虽然做之前想了很多,但确实没有精力和时间去实现了。
完成这2个功能只需要2段简短的代码。
因为AI摄像头可以检测人脸然后通过串口以JSON的形式回报结果,那么在核心算力模块上,需要运行一段代码来解析这个结果。
核心算力模块M5Core2可以安装一个继电器模块,将它和主板插针连接,就可以通过核心算力模块控制计算机开关机了。
代码如下(C/C++):
  1. #include <ArduinoJson.h>
  2. #include <M5Core2.h>
  3. #include "Module_4RELAY.h"
  4. #include <WiFi.h>
  5. #include <WebServer.h>

  6. MODULE_4RELAY RELAY;

  7. HardwareSerial SerialPortA(1);

  8. StaticJsonDocument<512> send;
  9. StaticJsonDocument<512> receive;
  10. char jsonBuffer[512];

  11. int succeededDetectCount = 0;
  12. int failedDetectCount = 0;

  13. String detectedName = "liu";
  14. float matchProbThreshold = 0.5;

  15. // 自建AP的账号和密码
  16. const char* ssid = "RYU_M5STACK";
  17. const char* password = "PASSWORD";

  18. WebServer server(80);

  19. void setup() {

  20.   M5.begin();
  21.   M5.Axp.SetBusPowerMode(0);

  22.   delay(100);

  23.   Serial.begin(9600, SERIAL_8N1);

  24.   delay(100);

  25.   SerialPortA.begin(115200, SERIAL_8N1, 33, 32);

  26.   delay(100);

  27.   RELAY.begin(&Wire, MODULE_4RELAY_ADDR, 21, 22, 200000L);

  28.   delay(100);

  29.   send["function"] = "Face Recognition";
  30.   send["args"] = "";
  31.   serializeJson(send, jsonBuffer);
  32.   SerialPortA.println(jsonBuffer);

  33.   delay(100);

  34.   WiFi.softAP(ssid, password);

  35.   delay(100);

  36.   Serial.printf("WiFi AP created. IP address: %s \n", WiFi.softAPIP().toString());

  37.   delay(100);

  38.   //建立一个Web Server,用来响应远程指令
  39.   server.on("/genshinstart", powerOn);
  40.   server.begin();
  41. }

  42. void powerOn() {

  43.   RELAY.setAllRelay(true);
  44.   Serial.println("Relay On");
  45.   delay(100);
  46.   RELAY.setAllRelay(false);
  47.   Serial.println("Relay Reset");

  48.   server.send(200, "text/plain", "from m5stack core2.");

  49.   delay(10000);

  50.   succeededDetectCount = 0;

  51. }

  52. void loop() {

  53.   server.handleClient();

  54.   String receivedJson = SerialPortA.readStringUntil('\n');
  55.   deserializeJson(receive, receivedJson);

  56.   if (receive["num"].as<int>() == 1) {

  57.     String name = receive["face"][0]["name"].as<String>();
  58.     float matchProb = receive["face"][0]["match_prob"].as<float>();

  59.     Serial.printf("name: %s | prob: %.2f \n", name, matchProb);

  60.     if (name == detectedName && matchProb >= matchProbThreshold) {

  61.       succeededDetectCount++;

  62.       if (succeededDetectCount >= 3) {

  63.         RELAY.setAllRelay(true);
  64.         Serial.println("Relay On");
  65.         delay(100);
  66.         RELAY.setAllRelay(false);
  67.         Serial.println("Relay Reset");

  68.         delay(10000);

  69.         succeededDetectCount = 0;
  70.       }
  71.     } else {

  72.       failedDetectCount++;

  73.       if (failedDetectCount >= 20) {

  74.         succeededDetectCount = 0;
  75.         failedDetectCount = 0;

  76.         Serial.println("Detect Count Reset");
  77.       }
  78.     }
  79.   }

  80.   delay(500);
  81. }
复制代码
代码中还有一段让核心算力模块自建AP并创建一个Web服务器的部分,这一部分主要服务于指纹模块。

指纹模块是由M5StickC Plus和其指纹模块组成。
DSC_1859.jpg DSC_1860.jpg
在检测到正确的指纹后,该模块会向核心算力模块的Web服务器发送指令的方式进行开关机控制。
代码如下(python):
  1. from m5stack import *
  2. from m5ui import *
  3. from uiflow import *
  4. import time
  5. import hat
  6. import network
  7. import urequests

  8. setScreenColor(0x111111)

  9. label0 = M5TextBox(71, 4, "Connecting to M5Stack Core2...", lcd.FONT_Default, 0xFFFFFF, rotate=90)

  10. hat_Finger_0 = hat.get(hat.FINGER)
  11. wlan = network.WLAN(network.STA_IF)
  12. ssid = wlan.config('essid')


  13. def connect_to_m5stack_core2():
  14.     if wlan.isconnected() == True and ssid != 'RYU_M5STACK':
  15.         wlan.disconnect();
  16.         wlan.active(False)

  17.     if wlan.isconnected() == False:
  18.         wlan.active(True)
  19.         wlan.connect('RYU_M5STACK', 'PASSWORD')

  20.         while not wlan.isconnected():
  21.             time.sleep(1)

  22.         print('Network config:', wlan.ifconfig())
  23.         label0.setText('Connected.')

  24.     pass


  25. connect_to_m5stack_core2()


  26. def unknown_fingerprint_cb():
  27.     print('fingerprint identification failed.')
  28.     pass


  29. def known_fingerprint_cb(user_id, access):
  30.     print('fingerprint identification succeeded.')
  31.     print(wlan.ifconfig()[2])
  32.     response = urequests.get('http://<核心算力模块IP地址>/genshinstart')
  33.     if response.status_code == 200:
  34.         print('success.')
  35.         print('response:', response.text)
  36.     else:
  37.         print('failed to fetch data.')
  38.     response.close()
  39.     print('control command delivered.')
  40.     pass


  41. def add_new_fingerprint():
  42.     print('start adding new fingerprint.')
  43.     hat_Finger_0.addUser(1, 1)
  44.     pass


  45. def remove_all_fingerprint():
  46.     print('remove all fingerprint.')
  47.     hat_Finger_0.removeAllUser()
  48.     pass


  49. hat_Finger_0.getUnknownCb(callback=unknown_fingerprint_cb)
  50. hat_Finger_0.readFingerCb(callback=known_fingerprint_cb)
  51. btnA.wasPressed(add_new_fingerprint)
  52. btnB.wasPressed(remove_all_fingerprint)

  53. while True:
  54.     label0.setText(str(hat_Finger_0.state))
  55.     wait_ms(50)
复制代码
这两段代码是非常简陋的,只实现了基本的功能,也没做任何验证,只作为抛砖引玉之用。

6. 出行箱套装
最后还缺一个旅行套装,因为还是想把它带出去逛逛,当然不是带去星巴克喝咖啡。
于是就定制了这款派力肯的1550设备箱,并配置了全套微软设计师套餐。
键鼠也有了,显示屏也有了,您是否是在找 笔记本电脑。
装入3D打印的收纳盒,然后装入定制的EVA海绵中。
DSC_1862.jpg DSC_1863.jpg DSC_1865.jpg DSC_1866.jpg DSC_1867.jpg DSC_1868.jpg DSC_1870.jpg DSC_1873.jpg
整装,出发。


7. 完。

-------------------------------------------------------------------------------------------------------------------------------------------
时间,空间

超过一百张照片,超过一年半的折腾,也算有了一个落幕。
有很多想法、问题、和遗憾,只要还想做可以无尽的迭代下去。
但断舍离也同样的重要,拿得起要放得下。
成为一段我想分享给大家的、一段关于执着一件事情的快乐也未尝不是一件好事。
辛苦大家看到这里,还有很多内容无法言尽,如果有疑问我一定回答。

设计图纸和文档已在FormD T1 China官方群公开(群号:837637024),请谨慎使用。

谢谢。

评分

参与人数 25邪恶指数 +700 门户文章 +1 收起 理由
kpchan + 10 牛B plus pro max ultra!
ilas + 200
ktaster + 10 就是NB
oicw + 5
龙舞天堂 + 10
mkkkno1 + 10 就是NB
ersic + 5 真极客
13ioS_Mode + 10 就是NB
dexterchen + 10 就是NB
bil + 20 就是NB
两只大狗 + 10 就是NB
arms + 10 就是NB
itss + 20
erid414 + 20 就是NB
y_chow + 10 就是NB
kingmason + 20
其实天涯 + 100
nApoleon + 1
TernenceS + 30
hudizhoutube + 10

查看全部评分

发表于 2024-11-23 22:11 | 显示全部楼层
便携需求没必要A4结构吧;主体用CNC其他可以用碳板吧
发表于 2024-11-23 22:13 | 显示全部楼层
螺蛳壳里做道场,树导牛逼!!!
发表于 2024-11-24 00:36 来自手机 | 显示全部楼层
牛逼!(破音)
发表于 2024-11-24 09:27 | 显示全部楼层
这个太帅了
发表于 2024-11-24 09:56 | 显示全部楼层
wifi天线有关键词吗
发表于 2024-11-24 10:51 | 显示全部楼层
这个真帅

 楼主| 发表于 2024-11-24 10:57 | 显示全部楼层
guangshun 发表于 2024-11-24 09:56
wifi天线有关键词吗

扣子迷你防水小天线
发表于 2024-11-24 11:10 | 显示全部楼层
牛哇!牛哇!牛哇!
发表于 2024-11-24 16:01 | 显示全部楼层
能实现太牛了
发表于 2024-11-24 17:03 | 显示全部楼层
只能用 “卧槽”来形容
发表于 2024-11-24 21:31 | 显示全部楼层
树导牛逼!
发表于 2024-11-24 22:12 | 显示全部楼层
这水管子。。。。
发表于 2024-11-25 08:24 | 显示全部楼层
不错风格统一了
发表于 2024-11-25 08:32 | 显示全部楼层
膜拜一下大神
发表于 2024-11-25 08:33 | 显示全部楼层
太厉害了
发表于 2024-11-25 08:37 | 显示全部楼层
这个太狠了,真是帅
发表于 2024-11-25 08:40 | 显示全部楼层
妮这个机箱屏幕不是二次元的
发表于 2024-11-25 08:50 | 显示全部楼层
真厉害,叹为观止
发表于 2024-11-25 08:52 | 显示全部楼层
这个无敌了....
发表于 2024-11-25 08:56 来自手机 | 显示全部楼层
CPU冷头本身就是倾斜的吗
发表于 2024-11-25 08:59 | 显示全部楼层
看完了,有一种这东西应该是用在我们的太空站的感觉
发表于 2024-11-25 09:02 | 显示全部楼层
真的帅,字里行间便已体会其中不易,能看到这样也一篇记录也算轻舟已过万重山了。
发表于 2024-11-25 09:07 | 显示全部楼层
这以后换件了咋整
发表于 2024-11-25 09:11 | 显示全部楼层
这真的是相当的NB plus max pro
发表于 2024-11-25 09:17 | 显示全部楼层
御乘 发表于 2024-11-23 22:11
便携需求没必要A4结构吧;主体用CNC其他可以用碳板吧

是的,便携还是笔记本才是王者,A4主打的就是颜值。桌面神器
发表于 2024-11-25 09:29 | 显示全部楼层
任时间流逝T1还是最喜欢最帅的机箱,NB
 楼主| 发表于 2024-11-25 09:30 | 显示全部楼层
其实天涯 发表于 2024-11-25 08:40
妮这个机箱屏幕不是二次元的

 楼主| 发表于 2024-11-25 09:30 | 显示全部楼层
calorie412 发表于 2024-11-25 08:56
CPU冷头本身就是倾斜的吗

是倾斜的。
 楼主| 发表于 2024-11-25 09:32 | 显示全部楼层
regedityou 发表于 2024-11-25 09:07
这以后换件了咋整

最好不要拆了,多用几年。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2024-11-30 18:23 , Processed in 0.024753 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表