R2:底板 / 刀片布局布线脚本、快照、截图与规划文档更新(含外壳、打印件、布线归档)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
+615
-12
@@ -33,7 +33,7 @@
|
||||
| **D16** | **底板电源入口改 USB-C PD 取电**(2026-09-11 用户拍板「走方案 B」,取代决策 #20 的 DC-005):C 座 + CH224A 只请求 20V → LM61495 降压到 12V,12V 母线及以下不改 | 兼容各家手机氮化镓充电器的只有 PD(私有 100~120W 协议要手机鉴权);单口 20V×5A = 100W ⇒ 12V 侧约 95W,常态 10~25W 够、最坏 108W 靠固件限功率。见 §36 |
|
||||
| **D13** | **ESP32-S3 的原生 USB 接到 Hub 的第 6 个下行口**,删掉 J22 调试 USB-C,改留一个 5 针 UART 应急口 | **全机只剩一根线到电脑**(5 台手机 + 控制器共用上游)。详见 §8.2 |
|
||||
| **D15** | **底板改 4 层、板框硬上限 98 × 98,插槽面只放 5 个插槽,其余器件全部放背面**(2026-09-10 用户拍板,取代 D5)| 2 层版布到 63 条卡死:D± 墙(19 个网 0 通过)+ 西侧 12V 干道(18 个网只能走底层跳)。4 层后 L2/L3 两块完整地给 D± 和所有信号当参考,墙不存在;背面没有刀片投影,高件不限位置;U32 可直接坐在中间槽正下方。**叠层:L1 插槽面 = 槽焊盘 + 12V 大铺铜 + 少量线 / ~~L2 GND~~ ⇒ ~~L2 整层 +3V3~~(2026-09-10 晚)⇒ **L2 整层 GND**(2026-09-10 深夜用户拍板:双地,L1 信号参考 L2 地、L4 参考 L3 地,换层回流靠 GND 孔闭合;依据 Ott 叠层 / 乐鑫 ESP32-S3 指南 / TI SPRAAR7;+3V3 约 0.5 A 改回布线)/ L3 GND / L4 器件面 = 全部器件 + 信号 + D±(参考 L3)+ 5V 局部铜**。
|
||||
**L2 改 +3V3 的理由**:4 层布线跑了十轮,信号网卡在 37~38 个,大头是 +3V3 这棵 47 只脚、跨全板的电源树。L3 保持整层地(L4 上全部器件与 D± 的参考不变,M5「D± 参考层 L3 无开口」原样成立);L2 让出来做一整块 +3V3,+3V3 每脚打孔下去、不再布线。L1 上仅有的几段 D±(USB6 / 上行、USB4 的一跳)参考的是一整块 +3V3,同样不跨分割。曾考虑在 L3 分区,被否:L3 在 D± 下必须留地条,会把 +3V3 切成几块,+5V 平面也排不开。98 的理由同 D14。**插槽手焊**,工厂只贴背面。代价:2 层版布局布线作废(存档 `.claude/r2/archive_base2L/`);背面最高 12 mm(C2/C3 直立电解),底板下要 ≥ 15 mm 铜柱,外壳跟着改 |
|
||||
**L2 改 +3V3 的理由**:4 层布线跑了十轮,信号网卡在 37~38 个,大头是 +3V3 这棵 47 只脚、跨全板的电源树。L3 保持整层地(L4 上全部器件与 D± 的参考不变,M5「D± 参考层 L3 无开口」原样成立);L2 让出来做一整块 +3V3,+3V3 每脚打孔下去、不再布线。L1 上仅有的几段 D±(USB6 / 上行、USB4 的一跳)参考的是一整块 +3V3,同样不跨分割。曾考虑在 L3 分区,被否:L3 在 D± 下必须留地条,会把 +3V3 切成几块,+5V 平面也排不开。98 的理由同 D14。**插槽手焊**,工厂只贴背面。代价:2 层版布局布线作废(存档 `.claude/r2/archive_base2L/`);~~背面最高 12 mm(C2/C3 直立电解),底板下要 ≥ 15 mm 铜柱~~ ⇒ ⛔ **2026-09-13 更正:这个前提已失效**。`C2`/`C3` 那两颗 Φ8 直立电解 2026-09-12 已随风扇座一起**挪到顶面 L1**(`pcb_base.TOP_EXTRA`),SolidWorks 实测底板背面最低只到 **−6.30**(`SRP1265A` 电感)⇒ **底板下立柱由 15 降到 10**(余量 3.70,兼顾底板下走线),外壳托盘 `Tray_v3` 按 10 建 |
|
||||
|
||||
### 0.2 本文档按这些默认值展开(要改说一声)
|
||||
|
||||
@@ -214,6 +214,256 @@ R1 §22.3e 里有一处**自相矛盾**——「侧键面(贴合面)最高
|
||||
|
||||
外壳要重画:R1 的平铺外壳完全不能用。
|
||||
|
||||
#### ✅✅ 外壳改**两件式**(2026-09-13 用户拍板:顶盖一体打印 + 底盖一整块 + 螺丝固定)—— **现行方案**
|
||||
|
||||
| 件 | 文件 | 内容 |
|
||||
|---|---|---|
|
||||
| **一体顶盖** | **`TopShell_v1.SLDPRT`** | 顶板 + 南北侧墙 + 两端墙 + 4 根内角立柱,**底部敞开**,外形 174.8 × 110.8 × 84.4(z −10~74.4)。沿用:15 mm 分风腔、顶内表面 z=72(离刀片顶 0.66,兼导轨)、11 条泄压缝、两端 Ø60 风口 + 4ר3.4 风扇孔、南墙 2 个 13×9 Type-C 窗、北墙 J33 窗 + 风扇出线窗 |
|
||||
| **一整块底盖** | **`BottomPlate_v1.SLDPRT`** | 174.8 × 110.8 × 2.4 平板(z −12.4~−10,与顶盖外形齐平)+ 底板 PCB 的 4 根 Ø8×10 立柱(柱顶 Ø4.2 螺母孔,盲孔深 10)+ 四角 4 个 Ø3.4 过孔 |
|
||||
|
||||
**固定**:4 颗 M3,**从底盖下方往上拧**,穿过底盖四角过孔进顶盖角柱底部的 Ø4.2 热熔螺母
|
||||
(角柱 10×10、在分风腔四角 x −36~−26 / 124~134;柱孔从底面进、深 82 的盲孔,顶面看不到)。
|
||||
六件式的 A 组 8 颗 + C 组 4 颗 + 端板脚锁孔 4 个**全部随拆件取消**。
|
||||
|
||||
**总装复验**(`place_twopiece.py`):两件包围盒 ✅;分风腔西 15.01 / 东 15.51 ✅;干涉 **360 = 基线** ✅;
|
||||
顶盖墙底落在底盖板面 z=−10 ✅;底盖过孔 ↔ 顶盖螺母孔**同轴 4/4** ✅;
|
||||
端墙风扇孔 ↔ 风扇安装孔(R2.15)**同轴 8/8** ✅(六件式时代没核过的一项)。总装顶层件 14 → **10**。
|
||||
|
||||
**装配顺序与代价**(按包围盒推的,未做运动仿真):
|
||||
- 顶盖内腔 xy 覆盖了全部内部件,角柱那四列下方没有任何件 ⇒ **顶盖可以竖直往下扣到底**。
|
||||
- 风扇先从外侧用螺丝固定在顶盖端墙上,扣盖时把两根风扇线插到 J26/J27;**东端风扇线要跨过整机长度到西北角**。
|
||||
- 拆盖要把机器侧过来拧底部 4 颗螺丝 —— 手机农场日常换机时要考虑这个。
|
||||
- 打印尺寸:顶盖倒扣打印 175 × 111 × 84.4 —— ✅ 拓竹 A1(256³)放得下(加滤网导轨后见下节)。
|
||||
- ⚠ 南墙 Type-C 窗下沿(z −5.7)离墙底只有 **4.3 mm**,是一条细梁,打印/拆装注意别掰断。
|
||||
|
||||
#### ✅✅ Type-C 外侧沉槽(2026-09-30,**现行外壳:`TopShell_v11` + `BottomPlate_v6`**)
|
||||
|
||||
**起因**:v4 起记下的已知风险兑现 —— 用户实测两个 Type-C 口墙太厚,线插不到底(母座口面缩在墙外表面里 4.26,开口只有口那么大)。
|
||||
**改法**(用户:不要完全掏空,留 1 mm 薄壁):贯穿孔仍 = 母座口内侧轮廓 8.34×2.60 R0.7;南墙外侧加 **13.4 × 7.4、R3.2 沉槽,深 1.4,槽底留 1.0**,
|
||||
护套能伸进墙 1.4 ⇒ 护套前端到口面 4.26 → **2.86**,要求金属壳 ≳ 2.86 + 4.05 ≈ **6.9**(原 8.3)。标识(闪电 / 箭头)右移到口中心 **+10.5**(离沉槽边还剩 1.6)。
|
||||
**回读**:槽底薄壁面积 138.213 = 2×(90.370−21.263) 精确相等;圆柱面 R0.7 ×8 + R3.2 ×8 在位。**复验**(`place_v11.py`):干涉 360 = 基线、嵌入间隙四边 0.300、螺丝孔 4/4、风扇孔 8/8。
|
||||
STL:`新建文件夹\5blades\print\PhoneRail_TopShell_v11.stl`(封闭、体积差 0.002%)。
|
||||
⚠ **仍需实插验证**:6.9 仍比常见金属壳(约 6.5,未核规格书)略长;插不到底就把 `make_v11.py` 的 `PK_LEFT` 调小(0.6 ⇒ 要求 6.5)或改回贯穿。
|
||||
|
||||
#### ✅ 螺丝选型与建模(2026-09-30,`screws_v1.py`,取代下文「M3 × 6 左右」)
|
||||
|
||||
用户实测原配螺丝太短。三种螺丝已建模并装进总装:**底盖 → 顶盖 M3×10 薄头内六角 DIN 7984 ×4**(头 Ø5.5×2.0 刚好埋进沉孔、与底面齐平,进角柱 8.4)、
|
||||
**PCB → 立柱 M3×8 同款 ×4**(PCB 模型实测厚 1.67,进立柱 6.3、孔深 10)、**风扇 5×12 自攻 ×8**(穿 2.4 墙后进风扇 9.6,不伸进分风腔)。
|
||||
复验:干涉 368 = 基线 360 + 8 处风扇螺丝咬风扇孔(预期),其它 0。⚠ 热熔螺母长度按 ≤ 6 考虑;风扇螺丝螺纹外径须 ≤ 5.1(墙孔 Ø5.2)。
|
||||
|
||||
#### ✅ 底盖改嵌入式(2026-09-13,`TopShell_v10` + `BottomPlate_v6`,顶盖已被上面 v11 取代,底盖沿用)
|
||||
|
||||
用户要求:底盖螺丝拧紧后嵌入顶盖、被顶盖包裹。
|
||||
|
||||
| 项 | v9 | **v10** |
|
||||
|---|---|---|
|
||||
| 顶盖四面墙 | 墙底 z −10 | **向下延长 3.6(= 底盖厚),墙底 z −13.6**,包住底盖侧边 |
|
||||
| 角柱 | 底面 z −10 | 不变,**当底盖顶面的限位** |
|
||||
| 底盖外形 | 顶盖外沿内缩 0.5(阴影缝) | **= 顶盖内腔四边各让 0.3**:x −15.7~113.2、y −1.355~104.045;四角 **R1**(让开打印出来带圆角的墙内角) |
|
||||
| 拧紧后 | 底盖挂在墙底下面 | 底盖顶面顶住 4 根角柱,**底面与墙底齐平**,侧面看不到底盖 |
|
||||
|
||||
整机外形不变 **134.3 × 110.8 × 88.0**;沉头、脚垫窝、PCB 立柱、四角过孔位置都不变(沉头离底盖边 ≈1.45)。
|
||||
放置时**脚垫着地**(窝深 1.0、脚垫厚 1.5 ⇒ 凸出 0.5),墙沿不碰桌面。原「阴影缝」取消,底面只剩一圈 0.3 缝。
|
||||
|
||||
**复验**(`place_v10.py`):墙底 −13.600 = 底盖底面 −13.600;底盖离墙内侧间隙 西/南/东/北 **0.300 / 0.300 / 0.300 / 0.300**;
|
||||
干涉 360 = 基线;底盖过孔 ↔ 顶盖螺母孔 4/4、风扇孔 8/8。顶盖格栅等其余特征回读与 v9 逐项相同。
|
||||
⚠ 间隙 0.3 按 A1 精度定;首件太紧改 `make_v10.py` 的 `CLR` 为 0.4,太松改 0.2。
|
||||
|
||||
#### ✅ 风扇格栅改可打印(2026-09-13,`TopShell_v9` + `BottomPlate_v5`,已被上面 v10 取代,格栅参数沿用)
|
||||
|
||||
**问题**:v7 的竖槽格栅打不出来。顶盖倒扣打印时端墙竖着长高,竖槽之间的筋 **1.2 宽 × 2.4 厚 × 最长 64 高**(长细比 > 50),
|
||||
只有下端连着墙往上悬空长 ⇒ 晃、拉丝、断。槽头 R2.25 半圆只是 4.5 的小桥接,不是问题。
|
||||
|
||||
**改法**(用户选:加横筋 + 加厚纵横筋 ⇒ 方案 ③):
|
||||
- 槽宽 4.5 → **6.0**;竖筋 1.2 → **2.0**(约 5 道线);新增水平横筋 **2.0**、中心距 12 ⇒ **最长悬空槽段 10**(原 64)。
|
||||
- 7 条竖槽被切成 **34 段**;只有真正的槽头保留半圆,横筋处为平边;放不下「端头 + 0.8」的碎段做成实心。
|
||||
- 开孔 **1705 mm² = 原 Ø60 的 60.3%**(v7 为 81.2%、v8 三横撑 75.6%)⇒ ⚠ **两端风阻明显增加**,
|
||||
叠加薄风扇 + 分风腔 10,**首件必须实测刀片温度**;不够就退回 ①(槽宽 6 / 筋 1.6 / 段长 12,开孔 65.2%)。
|
||||
- 离风扇螺丝孔最近 3.85。横筋处桥接 6 mm,A1 无需支撑。
|
||||
|
||||
**回读判据**:每面墙外表面面积减少 1790.04 = 理论(34 段槽 1705.09 + 4 个螺丝孔 84.95)**精确相等**;
|
||||
槽头半圆柱 +10、横筋平端面 +58,与生成器预期逐个相等;风扇孔在位。
|
||||
**复验**:干涉 **360 = 基线**(首次报 288,是中间刀片板体被人在 GUI 里隐藏、而复验设了忽略隐藏实体 —— 已改为不忽略,见 NOTES §39);
|
||||
螺丝孔 4/4、风扇孔 8/8。整机尺寸不变 134.3 × 110.8 × 88.0。
|
||||
|
||||
#### ✅ 外观美化 + 去掉滤网(2026-09-13,格栅已被上面 v9 取代,其余美化项沿用)
|
||||
|
||||
**整机 134.3 × 110.8 × 88.0**(x −18.4~115.9 / y −4.055~106.745 / z −13.6~74.4)。
|
||||
|
||||
用户选的美化项与之后的两次修改:
|
||||
|
||||
| 项 | 做法 | 回读判据 |
|
||||
|---|---|---|
|
||||
| 顶面圆角 | 顶面外轮廓 8 条边(4 直 + 4 段 R3 弧)一次倒 **R1.5** | R1.5 圆柱面 4 个 |
|
||||
| 圆头泄压槽 | 11 条 1.5×60 直角缝 → 1.5×**60.32** 圆头槽(面积仍 90/条)| R0.75 半圆柱 22 个、直边长 58.82 |
|
||||
| **两端风扇格栅** | 两端墙 Ø60 圆孔 → **11 条竖向圆头槽**(外包 R32、槽宽 4.5、筋 1.2),开孔 **2295 mm² = 原 Ø60 的 81.2%**,离风扇螺丝孔最近 2.59 | 每面外表面面积减少 2379.94 = 理论(槽 + 4 个 Ø5.2 螺丝孔)**精确相等**;槽端半圆柱 y 跨槽宽、z 跨半径 ⇒ 竖槽 |
|
||||
| Type-C 标识 | J1 右侧 9 mm 凹刻 **闪电**(PWR 20V)、J23 右侧凹刻 **箭头 + 圆点**(USB),深 0.6 | 凹槽底面积 17.361 = 理论;「点在面内」判据确认**无镜像、无翻转** |
|
||||
| 阴影缝 | 底盖四边比顶盖**内缩 0.5**,四角 R2.5(与顶盖 R3 同心)| 包围盒 |
|
||||
| 底部沉头 + 脚垫 | 底盖加厚 2.4 → **3.6**(向下);四角 **沉头 Ø6.5 深 2**(头下留 1.6);4 个 **Ø10 深 1 脚垫窝**(螺丝内侧,不盖螺丝)| 各 R 圆柱面 4 个、z 深度与圆心逐个在位 |
|
||||
| **去掉滤网设计**(用户 2026-09-13)| 删滤网框与西端导轨;西端改成与东端相同的格栅;底盖西沿回到 −17.9 | 总装顶层件 10;干涉 360 |
|
||||
|
||||
⚠ **推翻了一条旧决定**:之前定的「进风口加滤网 + 顶盖泄压缝维持轻微正压」不再成立 ——
|
||||
**没有滤网,灰尘会直接进机箱**(手机主板、刀片、风扇),要靠定期清灰;泄压缝仍保留作出风/散热用。
|
||||
整机长 140.7 → **134.3**(少了滤网导轨 6.4)。
|
||||
|
||||
**复验**(`place_v7.py`):干涉 **360 = 基线**;底盖沉头过孔 ↔ 顶盖角柱螺母孔 4/4;两端风扇孔 ↔ 风扇模型腰孔 8/8(偏 0.1 = 模型 50.0 vs 实物 50.2);
|
||||
分风腔按实物 10.01(模型回读 9.27,因模型厚 10.75)。
|
||||
**打印**(拓竹 A1、PETG):顶盖倒扣打,圆头槽与圆角都在热床面,干净;格栅竖槽在竖墙上桥接 4.5,无需支撑;顶面 R1.5 圆角贴床那一圈首层可能略毛,介意就在切片里给一圈 0.4 的边缘处理。
|
||||
螺丝:M3 × 6 左右(沉头下 1.6 + 螺母深 6,按热熔螺母实际长度取);脚垫买 Ø10 × ≥1.5 自粘硅胶垫。
|
||||
|
||||
#### ✅ 开口精简(2026-09-13,`TopShell_v4`,已被上面 v7 取代,开口规格仍有效)
|
||||
|
||||
用户要求两项:
|
||||
1. **北墙去掉 J33 调试插针窗口、J26/J27 风扇插座出线窗口** ⇒ 北墙整块无开口。
|
||||
⚠ 连带:J33 是 D13「删 J22 调试 USB-C」之后的**应急调试口**,现在**要开盖才能接**;风扇线在机内插 J26/J27,不外露。
|
||||
2. **南墙两个 Type-C 开口 = 母座口内侧轮廓**(用户拍板,不外扩):
|
||||
STEP 实测母座 `USB-C_SMD-TYPE-C-31-M-12` 口内侧 **8.34 × 2.60、四角 R0.70**(外壳外侧 8.94 × 3.20,口内腔深 4.05),
|
||||
开口中心 **J1 (12.50, −1.65) / J23 (84.00, −1.65)**。
|
||||
⚠ 顺带修正:旧窗口中心 z=−1.20 是按连接器整体包围盒(含焊脚)定的,**比真实口中心偏 0.45**。
|
||||
|
||||
**⚠⚠ 已知风险(用户知情选择):插头可能插不到底。** 母座口面在 y=0.20,墙外表面 y=−4.055 ⇒ 口缩进墙内 **4.26**;
|
||||
开口只有口那么大 ⇒ 插头塑料护套进不了墙,只能靠金属壳伸进去,需要金属壳长 ≳ 4.26 + 4.05 ≈ 8.3。
|
||||
常见 USB-C 插头金属壳约 6.5(规格书值未核)⇒ 普通线大概率差约 2 mm 插不到位。
|
||||
退路(参数化,改一个数重生成):开口以母座口轮廓等距外扩 2.1 → 12.54 × 6.80、R2.8(常见 12×6.5 护套可进)。
|
||||
**首件务必拿常用的几根线实插验证。**
|
||||
|
||||
**复验**(`place_v4.py`):干涉 360;螺丝孔 4/4、风扇孔 8/8;滤网间隙全等设计值;
|
||||
南墙外表面面积 10785.99 = 无开口 10828.52 − 2 × 母座口轮廓面积(精确相等)、北墙外表面 10828.52 = 无开口(精确相等)。
|
||||
圆柱面 {R0.7 ×8、Ø4.2 ×4、Ø5.2 ×8、R3 ×4、Ø60 ×2}。
|
||||
|
||||
#### ✅✅ **短机版**(2026-09-13 用户要求缩短整机)—— 零件除顶盖已升 v4 外以这一节为准
|
||||
|
||||
用户拍板两项:**分风腔两端 15 → 10**、**风扇 60×60×25 → 60×60×10**(用户指定:广诚散热科技薄风扇,孔距 50.2、配机箱自攻螺丝、小 4PIN)。
|
||||
|
||||
| 段(沿 x) | 原 | 现 |
|
||||
|---|---:|---:|
|
||||
| 风扇 ×2 | 25 | **10** |
|
||||
| 分风腔 ×2 | 15.01 / 15.51 | **10.01 / 10.01** |
|
||||
| 滤网导轨 | 5.4 | **6.4**(滤网框加厚 1,让开自攻螺丝头)|
|
||||
| **整机长** | 180.2 | **140.7(−39.5)** |
|
||||
|
||||
现行件:**`TopShell_v3`**(内腔 x −16~113.5、外 −18.4~115.9、唇边 −24.8;角柱 x −16~−6 / 103.5~113.5;端墙风扇孔 **Ø5.2、孔距 50.2**)、
|
||||
**`BottomPlate_v3`**(x −24.8~115.9,四角过孔 x −11 / 108.5)、**`FilterFrame_v2`**(70×90×**4**,贴墙层 3)。风扇模型 Orion `OD6010`(仅查干涉)。
|
||||
|
||||
**复验**(`place_v3.py`):干涉 **360 = 基线**(模型厚 10.75 比实物厚仍不撞);底盖↔顶盖螺丝孔 4/4 同轴;
|
||||
滤网间隙 贴墙 0 / 唇边侧 0.40 / 南北 0.30 / 底 0;端墙风扇孔 ↔ 模型腰孔中心偏 **0.100**(= 模型孔距 50.0 与实物 50.2 之差,按实物开孔)。
|
||||
分风腔:模型回读 9.27(模型厚 10.75),**按实物 10 mm 为 10.01**。
|
||||
|
||||
⚠ **散热代价(用户已知情拍板)**:
|
||||
- 分风腔 10 的横向/通道阻力比 **1.26(> 1)** ⇒ 边缘通道(1 号手机 9.18 缝、C1、C4)会重新偏缺风;
|
||||
- 薄风扇风量 / 静压低于原 25 mm 款,还要推过滤网 + 刀片堆叠;**这款风扇没有拿到任何风量 / 静压 / 电流数据**。
|
||||
⇒ 首件必须实测各刀片温度(尤其 1 号、2 号、5 号);不行的退路按代价从小到大:分风腔回 12(+4)、换高静压 6010、风扇回 25 mm。
|
||||
|
||||
⚠ **要实物核的两个数**:机箱自攻螺丝**螺纹外径**(墙孔 Ø5.2 是按常见机箱风扇螺丝估的)、**螺丝头高**(滤网贴墙层 3 mm 按 ≤ 2.8 让位)。改一个参数即可重生成。
|
||||
✅ 电气接口:小 4PIN 针序 1 GND / 2 +12V / 3 TACH / 4 PWM 与 `a6_fan.py` 里 J26/J27 一致;板上 PWM 为开漏、靠风扇内部上拉,符合 PC 4 线规范(通用风扇是否真按规范,要实物验证)。
|
||||
|
||||
打印(拓竹 A1):顶盖 140.7 × 110.8 × 84.4、底盖 140.7 × 110.8 × 12.4,余量更大;打印要点同下节。
|
||||
|
||||
#### ✅ 西端**插拔式滤网**(2026-09-13,两件式的补充;零件升到 `TopShell_v2` / `BottomPlate_v2` + 新增 `FilterFrame_v1`)
|
||||
|
||||
| 件 | 改动 |
|
||||
|---|---|
|
||||
| `TopShell_v2` | 西端墙外侧加两条通高 L 形导轨:滑槽 x −41.8~−38.4(3.4)、y 16.045~86.645(70.6);唇边 x −43.8~−41.8、各压滤网边 3.0,两唇之间开口 **64.6 ≥ Ø60 风口** |
|
||||
| `BottomPlate_v2` | 向西加长 5.4 到 x −43.8,托住导轨下端和滤网底边 |
|
||||
| **`FilterFrame_v1`**(新) | 70 × 90 × 3,62×62 窗口 + 1 mm 的 6×6 格栅托滤材(滤网纱/滤网棉外购,粘在格栅上);从上方插入,底边落在底盖上,**顶部露出顶盖 5.6 mm 当把手** |
|
||||
|
||||
**为什么选插拔**:手机农场要定期清灰,插拔不用工具。否掉的两种:用风扇螺丝压滤网(拆滤网 = 松开风扇,风扇在封闭顶盖里会掉);磁吸(多零件、多建模步骤)。
|
||||
|
||||
**为什么不漏风**:4 颗风扇螺丝头(Ø5.6 × 1.8)都落在 62×62 窗口里、低于框厚 3 ⇒ 框体能平贴墙面;
|
||||
进风时外侧气压高,吸力把框压在墙上 ⇒ 基本自密封。
|
||||
|
||||
**复验**(`place_filter.py`):滤网框间隙实测 贴墙 **0** / 唇边侧 **0.40** / 南北各 **0.30** / 底边落在底盖上 **0** / 露出顶盖 **5.60**;
|
||||
干涉 360 = 基线;底盖过孔↔顶盖螺母孔 4/4、风扇孔 8/8 同轴;分风腔 15.01 / 15.51 不变。
|
||||
|
||||
整机长 174.8 → **180.2**。✅ **打印机定为拓竹 A1(256 × 256 × 256)**,全部件放得下,不必为打印改尺寸(⚠ A1 mini 是 180³,放不下)。
|
||||
|
||||
#### 打印要点(拓竹 A1,开放式无腔体)
|
||||
|
||||
| 件 | 朝向 | 支撑 / 注意 |
|
||||
|---|---|---|
|
||||
| 一体顶盖 180.2×110.8×84.4 | **倒扣**(顶板贴热床) | 泄压缝只是底层镂空;角柱螺母孔竖直、孔口朝上,直接压热熔螺母;导轨竖向无悬垂;墙上矩形窗桥接 13 / 15.7 / 18.5,无需支撑。**两端 Ø60 风口**顶部约 42 mm 弦长那段悬垂 >45°,不支撑会轻微下垂(只过风、不影响功能),要好看就给这两个孔开「仅热床支撑」 |
|
||||
| 底盖 180.2×110.8×12.4 | 平放、立柱朝上 | 无 |
|
||||
| 滤网框 70×90×3 | 平放、格栅层贴热床 | 无 |
|
||||
|
||||
- **材料 PETG**:机箱内 40~50 ℃,PLA 约 55 ℃ 软化、热熔螺母会松;A1 无腔体,ABS/ASA 大件翘边。
|
||||
- 滤网滑槽单边间隙 0.3 / 0.4,按 A1 精度 ±0.1~0.2 够用;首件太紧就把 `topshell_v2` 里的 `CLR` 放到 0.4。
|
||||
|
||||
#### ⛔ 已被上面两件式取代:竖插外壳第一版(2026-09-13,封闭盒子 / 分件打印)
|
||||
|
||||
**5 个 3D 打印件**(都在 `新建文件夹\5blades\`,SolidWorks 原生特征、可直接改尺寸):
|
||||
|
||||
| 件 | 文件 | 装配位置 / 要点 |
|
||||
|---|---|---|
|
||||
| 底板托盘 | **`Tray_v9`** | 106×106×2.4;y −1.655~104.345(与侧板**内**表面齐平,否则侧板悬空);四角 Ø8 立柱高 **10**(原 15,因 C2/C3 已挪顶面、背面最低只 −6.30);柱顶 Ø4.2 热熔螺母孔;南边两个 **USB-C 缺口**(J1/J23 朝南埋在板底,不开就插不进)。**15 mm 分风腔那轮托盘没动** |
|
||||
| 端板 ×2 | **`EndPlate_v10`** | 西 x −38.4~0 / 东 x 98~136.4;Ø60 风口 + 4× Ø3.4 风扇孔(50×50);**L 脚长 36**(原 25,端板外移 11 后要够回托盘原有锁孔 x −1.9/99.9);**4 根角柱**(截面 8(y)×10(x)、通高 z 0~72)|
|
||||
| 南板 / 北板 | **`SouthPanel_v4`** / **`NorthPanel_v3`** | 各一整块 **175×82×2.4**(原 153,跟分风腔加长);南开 2 个 13×9 Type-C 口,北开 J33 口 + J26/J27 风扇出线口;各 7 个 Ø3.4 过孔 |
|
||||
| 顶盖 | **`TopPanel_v4`** | x −38.4~136.4、**y −4.055~106.745**(v3 只到 102,与北板内表面差 **2.345** ⇒ 沿全长开着一条缝,回读比对才发现);内表面 z=72,离刀片顶 71.34 仅 **0.66** ⇒ 兼做上端导轨(咬边 ≤1 ✅);11 条 1.5×60 泄压缝 + 4 个 Ø3.4 过孔 |
|
||||
|
||||
**风道**:进风口加滤网 + 顶盖开泄压细缝(用户拍板)。R2 改「一进一出」后 R1 的
|
||||
「4 进 1 出正压」不再成立,靠这条恢复轻微正压、灰尘往外走,也给风扇覆盖不到的
|
||||
边缘通道(槽1/槽5,覆盖率仅 61%)一条出路。
|
||||
|
||||
**全部外壳件外轮廓倒 R3 圆角**,每件都用圆柱面半径直方图验过 4/4 条。
|
||||
|
||||
⛔ **两条一次就踩中的几何约束**(都是回读实测出来的,不是推出来的):
|
||||
- **端板必须以风口中心 51.345 做 y 对称**(−1.655~104.345)。按托盘边缘取 −4~102 时
|
||||
板几何中心 49 ≠ 风口中心 51.345,东端板绕 z 翻转后偏 4.69、撞穿北板 616 mm³。
|
||||
- **南北板贴的是端板外侧、不是托盘边缘**:端板比托盘宽,按托盘摆会重叠 2.345。
|
||||
|
||||
✅ **螺丝孔已全部用脚本做完(2026-09-13,`EndPlate_v13`)**,不再需要 GUI 补:
|
||||
A 组 8 × Ø4.2 深 6(沿 y,角柱南/北外侧面,z=10/60)、C 组 4 × Ø4.2 深 6(沿 z,角柱顶面)、
|
||||
L 脚锁孔 4 × Ø3.4(沿 z,装配 x −1.9/99.9)。
|
||||
装配内同轴核对:**12/12 螺母孔对上相邻板的 Ø3.4 过孔、4/4 脚锁孔对上托盘锁孔,横偏全 0**;干涉 360 = 基线。
|
||||
⚠ 仍待补:西端进风口滤网槽。
|
||||
|
||||
#### 风墙的 3D 定位与覆盖率(2026-09-13 在装配体里实测)
|
||||
|
||||
**布置**:两只,**西端进风(x −25~0)+ 东端排风(x 98~123)**,厚度方向沿 x(= 通道方向),
|
||||
按刀片堆叠中心对中。两只风扇与刀片/底板**零干涉**。
|
||||
|
||||
⚠ **一只 60×60 盖不住迎风面**(这是实测出来的新约束):
|
||||
堆叠迎风截面 **y 87.6 × z 67.0 = 5869 mm²**,60×60 正面只有 3600 ⇒ **覆盖 61%**,
|
||||
按中心摆时**通道 4(槽 4–5,中心 y=81.83)落在风扇正面之外**。
|
||||
2026-09-13 用户先取**方案 ③:接受边缘通道,靠外壳导流罩分风**
|
||||
(另两个被否的选项:每端并排两只 60、或换 80×80×25)。
|
||||
|
||||
#### ⛔ 但「导流罩」这条路当天就被几何否掉了 —— 改成 **15 mm 分风腔**
|
||||
|
||||
画之前先量了一遍,三个数把方案 ③ 直接判死(全部回读自活装配,不是推的):
|
||||
|
||||
1. **没有空间**。西端风扇出口 x=0、刀片前缘 x=4.01 ⇒ 分风腔只有 **4.01 mm**(东端 4.51)。
|
||||
把 Ø61 摊成 87.6×67 的无叶扩散段,按 7°/10°/15° 半角分别要 **183 / 128 / 84 mm**。
|
||||
2. **缺风比「61%」严重得多**。61% 是整面积口径;**逐通道**算(迎风面 = 通道宽 × 67):
|
||||
|
||||
| 通道 | edge-S | C1(刀片1-2) | C2 | C3 | C4(刀片4-5) | edge-N |
|
||||
|---|---:|---:|---:|---:|---:|---:|
|
||||
| 落在 Ø61 内 | **0%** | **19.9%** | 84.9% | 84.9% | **19.9%** | **0%** |
|
||||
|
||||
3. **决定性的一条**:4 mm 腔里「从风口中心横向喂到最远通道」的阻力是**通道本身的 18 倍**
|
||||
(等流量 Dh 口径)。⇒ 边缘通道被饿死**与有没有导流叶片无关**,只跟腔深有关:
|
||||
|
||||
| 腔深 | 4.01(原) | 8 | 10 | 12 | **15** | 20 |
|
||||
|---|---:|---:|---:|---:|---:|---:|
|
||||
| 横向/通道 阻力比 | **18.1** | 2.4 | 1.3 | 0.75 | **0.40** | 0.18 |
|
||||
|
||||
⇒ **2026-09-13 用户拍板:两端各外移 11 mm,做 15 mm 分风腔**(已实测落地:西 **15.01** / 东 **15.51**)。
|
||||
代价是整机 152.8 → **174.8**(y 110.8 / z 86.8 不变)。**导流叶片不做** —— 15 mm 腔本身就是分风器。
|
||||
|
||||
#### ⚠ 顺带纠正一条记反了的:南边那条窄缝**不是旁通,是 1 号刀片的手机通道**
|
||||
|
||||
刀片 B 面器件全部从 y=9.20 起、板体 7.53~9.20 ⇒ **手机在每片刀片的 −y 侧**。
|
||||
于是:南侧 9.18 mm 缝里装的是**1 号刀片的手机**(比别的通道的 13.95 窄,首件要量),
|
||||
北侧 9.17 mm 才是**唯一的纯旁通**。旁通总面积 1762 mm²,占迎风流通面积 32%
|
||||
(其中南条 661 要划掉)。⇒ 真要再加挡风板,只该挡北侧,且只能占 y 98.0~104.345
|
||||
(再往南就压到底板 PCB:J26 到 y 97.30、J33 到 96.77)。**本轮没做,留作后续可选项。**
|
||||
|
||||
**建模用的风扇模型**:山洋 `9G0612P4S001` 的 STEP 要填表才能下(脚本拿不到),
|
||||
改用 **Orion Fans `OD6025`**(`https://orionfans.com/3d/OD6025_m0_frame.stp`,**无登录直链**)——
|
||||
同规格 60×60×25 DC 轴流,数据手册第 2 页确认该系列有「4 线 PWM + Tach」版本。
|
||||
⚠ **这份模型只对"安装接口"可信**:实测安装孔 **50.00 × 50.00 / Ø4.30 贯穿** ✅ 标准,
|
||||
但**框体外缘量得 62.95 见方、风道 Ø61**,比 60 标称每边大 1.5。
|
||||
⇒ **外壳开孔按标称 60×60 留间隙、螺孔按 50×50**,不要照抄模型外缘。
|
||||
|
||||
---
|
||||
|
||||
## 4. 电气分界(BOM 归属)
|
||||
@@ -445,7 +695,67 @@ y 14.5┼───────────────────────
|
||||
|
||||
### 6.6 ⚠️ 刀片投影规则(竖插 + 降高度带来的新约束)
|
||||
|
||||
插槽把刀片底边抬到底板上方约 **11 mm**,所以:
|
||||
⛔⛔ **2026-09-12 晚更正:这个 11 mm 是错的,真值只有 3.21 mm。**
|
||||
11.56 是**插槽塑料体自己的高度**,被当成了刀片底边的离板高度。SolidWorks 实测:
|
||||
塑料体顶面在底板局部 z=**12.33**、板面 z=**1.67** ⇒ 完全不插入时也只有 10.66;
|
||||
再减去插入深度 d ⇒ 刀片底边离板面 = **2.66 mm**(2026-09-12 晚加深缺口后的现值)。
|
||||
|
||||
⇒ **d 由什么决定,取决于缺口深 `NOTCH_D` 和防呆键筋全高 8.00 谁大**:
|
||||
键筋是**通到槽底的全高 8.00**(竖壁 z 2.000~9.500 + 顶上 0.5 的 45° 导入角)。
|
||||
|
||||
| `NOTCH_D` | 谁先顶住 | 卡底停在 | d | 离板面 |
|
||||
|---|---|---:|---:|---:|
|
||||
| 7.45(旧) | 缺口封闭端顶在**键筋顶**上 | z=2.55 | 7.45 | 3.21 |
|
||||
| **8.3(现行)** | 缺口让开键筋,卡**坐到槽底** | z=2.000 | **8.00** | **2.66** |
|
||||
|
||||
⛔ **2026-09-12 晚用户拍板把 `NOTCH_D` 由 7.45 加深到 8.3**,正是为了消掉上面那 0.55:
|
||||
7.45 时卡是**坐在一条塑料防呆筋上**而不是坐在槽底,受力点从一个面变成一条筋。
|
||||
电气上本来就无碍(触点 z 6.18~7.12 被卡完全盖住),纯粹是受力点的选择。
|
||||
8.3 = 模型槽底 8.00 再留 0.3 余量,防实测键筋高于标称。
|
||||
⚠ 8.00 / 2.000 都是厂商 STEP 的标称值、不含公差,**卡尺实测仍是权威口径**。
|
||||
(早先写过的区间 `7.45~8.00` / `2.66~3.21` 曾被判"下限永远达不到",加深之后**达到的正是下限那一端**。)
|
||||
|
||||
### ✅ 这张表已作废(2026-09-12 晚逐件核过,**无碰撞**)
|
||||
|
||||
下面那张「刀片投影内 ≤8 mm」的表是从错的 11 mm 推出来的,但**重新核算的结论是:
|
||||
这条约束本来就不该按高度判,而且现状一处都不撞。**正确判据在 `place_base.py`:
|
||||
|
||||
> 顶面件(`pcb_base.TOP_EXTRA`)避让刀片**只管横向**:刀片板面占槽心 `±CARD_HALF`,
|
||||
> 净距 `CARD_CLR = 0.5` ⇒ 顶面件本体必须避开 `槽心 ±1.300`
|
||||
> (`place_base.py:984` 判的就是 `CARD_HALF + CARD_CLR = 0.8 + 0.5`)。
|
||||
|
||||
⚠ `CARD_HALF = 0.8` 取的是**标称板厚 1.6 的一半**;STEP 实测板体是 **1.67**(半厚 0.835)。
|
||||
下表两种口径都给,结论不受影响。
|
||||
|
||||
逐件实测(底板局部坐标,STEP 量得):
|
||||
|
||||
| 位号 | 封装 | z 顶 | y 范围 | 所属槽 | 净距(标称 ±1.300)| 净距(实测 ±1.335)|
|
||||
|---|---|---:|---|---|---:|---:|
|
||||
| `J26` | 2510 4P 立式 | 13.17 | 91.50~97.30 | 5 (89.64) | **0.56** | **0.525** |
|
||||
| `J27` | 2510 4P 立式 | 13.17 | 81.65~87.45 | 5 | 0.89 | 0.855 |
|
||||
| `J33` | 2.54 排针立式 | 10.21 | 94.23~96.77 | 5 | 3.29 | 3.26 |
|
||||
| `C2` / `C3` | Φ8 直立电解 | 9.67 | 31.00~39.01 | 2 (28.68) | 1.02 / 1.01 | 0.985 / 0.975 |
|
||||
|
||||
两种口径下全部 ≥ 0.5 ⇒ **无碰撞**
|
||||
(`J26` 只富余 0.06,说明当初就是照这条规则卡着摆的 —— 这一件以后别再动)。
|
||||
|
||||
**为什么高度不构成问题**:这几件最高 13.17,而刀片底边在 z = 12.33 − d = **4.88**
|
||||
⇒ 它们只够到**刀片局部 y ≤ 8.29**,整段落在 `ZONES['finger']`(y 0~12)这个
|
||||
**两面禁布区**里 —— 刀片在那一段只有 1.67 mm 裸板,没有器件可撞。
|
||||
(逐件核过:刀片本体下沿最低的是 `U4`,y=11.75,换算到底板 z **16.63**,
|
||||
比 13.17 还高 3.46;`J1` 的 y=−2.15 是金手指封装本身,平铜无高度。)
|
||||
|
||||
⇒ **派生上限(以前没有的数)**:底板顶面件一旦高过 **z = 16.88**(板面以上 **15.21 mm**)
|
||||
就会够到刀片的器件带,届时横向要按 `槽心 −0.835 ~ +5.535`(器件面朝 +y)判,而不是 ±1.335。
|
||||
现状最高 13.17,**余量 3.71 mm**。
|
||||
|
||||
**器件面朝向**(这条以前没写明,但决定横向判据是否对称):
|
||||
`fp_edge.LAYER = {'A':2,'B':1}` ⇒ A 排 = 刀片层 2(底面);
|
||||
`a5_slots.slot_pin` 把 `A(n)` 映到插槽脚号 1~32,而 `pcb_base` 的 N 北排正是焊盘 1~32
|
||||
(y = 槽心 +3.6)⇒ **A 排贴北排**。刀片 77 个器件里 77−5 全在层 2(层 1 只有 J1/K1~K4)
|
||||
⇒ **器件面与 A 排同侧,朝 +y(北)**。
|
||||
|
||||
~~(以下为作废内容)插槽把刀片底边抬到底板上方约 **11 mm**,所以:~~
|
||||
|
||||
| 区域 | 元件高度 |
|
||||
|---|---|
|
||||
@@ -590,7 +900,7 @@ J23 上游 USB-C 插电脑。于是一根线上同时有:
|
||||
| # | 事项 | 处理 |
|
||||
|---|---|---|
|
||||
| 1 | ESP32-S3 只有**一个**原生 USB PHY,接了 Hub 就不能再接 J22 | **删掉 J22**(省一个 USB-C + 2 颗 CC 电阻) |
|
||||
| 2 | ⚠️ **`HUB_RST` 由 ESP32 驱动,而 ESP32 的控制台在 Hub 后面** —— 固件一旦误复位 Hub,等于自断控制台,而且下一次烧录也进不来 | ① 保留 **J33 5P 应急口**(GND/TXD0/RXD0/EN/IO0),UART 永远能进;② `HUB_RST` 在固件里**只在启动自检时脉冲一次**,运行期不许再动;③ 该脚外部上拉,ESP32 复位期间 Hub 保持工作 |
|
||||
| 2 | ⚠️ **`HUB_RST` 由 ESP32 驱动,而 ESP32 的控制台在 Hub 后面** —— 固件一旦误复位 Hub,等于自断控制台,而且下一次烧录也进不来 | ① 保留 **J33 5P 应急口**(GND/TXD0/RXD0/EN/IO0),UART 永远能进;② ~~`HUB_RST` 在固件里**只在启动自检时脉冲一次**,运行期不许再动~~ ⇒ **2026-09-29 用户拍板改为按需启停**(固件 0.1.14 `hubctl`,见下方 8.2a);③ 该脚外部上拉,ESP32 复位期间 Hub 保持工作 |
|
||||
| 3 | 板子是**自供电 Hub**(12V→5V→3V3),不是总线供电 | 上游只取 D±,VBUS 只用于「电脑在不在」检测(沿用 R1 的 `UP_VBUS_DET`) |
|
||||
| 4 | 上游 480 Mbps 由 6 个设备共享 | 挂机农场的 adb 流量很小;大文件传输会互相分带宽,可接受 |
|
||||
| 5 | 底板多一对 D± 要走(§6.3 第 6 对,≈25 mm) | 同样受 §6.2 第 1 条约束 |
|
||||
@@ -599,6 +909,34 @@ J23 上游 USB-C 插电脑。于是一根线上同时有:
|
||||
**净收益**:桌面上从「一根 USB 到 Hub 上游 + 一根 USB 到 ESP32 调试口」变成**一根线**,
|
||||
且省掉一个 USB-C 座。
|
||||
|
||||
#### 8.2a Hub 按需启停(2026-09-29 用户拍板,固件 0.1.14,推翻上表第 2 条②)
|
||||
|
||||
**起因**:五路 VBUS 平时全关,但上行插着电脑时 Hub 一直是活动态 —— 第 6 口的 ESP32 USB-Serial-JTAG
|
||||
让电脑永远不挂起它。连着电脑时 Hub 空转,2026-09-29 板 B 实测 **1.03 W**(Hub 开 1.77 W / 关 0.69~0.80 W 底板损耗,12 V 输入电流差约 88 mA;原始数据 `10.5.5.13:/root/phonerail-src/bench-hub-20260929.jsonl`)。WiFi / MQTT / OTA 上线之后,
|
||||
USB 控制台已经不是唯一的进路,「运行期不许动 `HUB_RST`」的代价不再值得。
|
||||
|
||||
**做法**:不改硬件。ESP32 在没人用 USB 时把 `HUB_RST#`(GPIO8 → U32.43)**拉低**按住复位;
|
||||
要用时**放成输入**,靠 R716 拉高(固件从不主动驱高)。判定全在板上(`firmware/main/hubctl.{h,c}`):
|
||||
|
||||
| 开的理由 | 条件 |
|
||||
|---|---|
|
||||
| `mode` | 模式 = 常开(`hub` 命令,存 NVS;默认 `auto`) |
|
||||
| `vbus` | 任一路 VBUS 通着 |
|
||||
| `flash` | 任一路刷机模式窗口内 |
|
||||
| `act` | 任一路执行器序列在跑(EDL 要枚举 9008) |
|
||||
| `hold` | `hub` 命令给的保持窗口(1~240 分钟) |
|
||||
| `link` | MQTT 连续 60 s 没连上(含从没配过网) |
|
||||
| `idle` | 以上都不成立,但离最后一次「需要」不到 **10 分钟** |
|
||||
|
||||
「最后一次需要」还会被启动、上行电脑插上(`UP_VBUS_DET` 上升沿)、USB 链路上来一条命令刷新。
|
||||
全不成立 ⇒ 按住复位。
|
||||
|
||||
**退路(推翻 R-11 的前提)**:① 网断 1 分钟 Hub 自己回来;② ESP32 任何一次复位(上电 / 看门狗 / `esp_restart` /
|
||||
esptool / J33 EN)引脚都回高阻,R716 拉出复位,且启动后至少 10 分钟不关;③ 板子断电重上 = ②;④ J33 UART 不经 Hub。
|
||||
|
||||
**代价**:Hub 关着时电脑那边看不到 ESP32 的 COM 口,也不能 USB 烧录 —— 先发 `{"cmd":"hub","min":30}`
|
||||
(经 MQTT)或 `{"cmd":"hub","mode":"on"}`;手机 VBUS 一开 Hub 就自动回来,重新枚举约 1~2 s。
|
||||
|
||||
---
|
||||
|
||||
## 9. 从 R1 复用什么
|
||||
@@ -637,7 +975,7 @@ J23 上游 USB-C 插电脑。于是一根线上同时有:
|
||||
| R-9 | 误插真 PCI-E 卡 / 刀片误插进 PC | §5.2 电源针位对齐真 PCIe 语义 + 插槽旁丝印警告 |
|
||||
| R-10 | 刀片 30.5 mm 悬臂晃动 | 上端 3D 打印导轨;或 A1 换 x8 / x16 槽体(§3.1) |
|
||||
| **R-12** | **功率级与手机主板共面、只隔 2 mm**(降高度 + 收窄到 98 的代价):480 kHz 开关噪声离手机天线更近 | SW/电感/Cin 排在功率列最外边(x 88~98);L2 完整地平面铺到板边;必要时功率列加屏蔽罩 |
|
||||
| **R-11** | **D13 的自锁**:固件复位 Hub = 自断控制台与烧录口 | J33 UART 应急口 + `HUB_RST` 只在自检脉冲一次 + 外部上拉(§8.2 第 2 条) |
|
||||
| **R-11** | **D13 的自锁**:固件复位 Hub = 自断控制台与烧录口 | J33 UART 应急口 + 外部上拉;~~`HUB_RST` 只在自检脉冲一次~~ ⇒ 2026-09-29 起按需启停,靠 §8.2a 的四条退路(断网自动放开 / 任何复位即放开 / 断电 / J33) |
|
||||
|
||||
---
|
||||
|
||||
@@ -1215,8 +1553,15 @@ R1 的 `new` 表不能直接用:5 个 `VBUS_EN*` + 4 个 `KEY_*` 随 D9/D13
|
||||
- `NTC1` / `NTC2` —— **必须 ADC1**(ADC2 与 WiFi 冲突),脚本里有断言。
|
||||
~~`NTC1 = IO1` / `NTC2 = IO2`~~ ⇒ **2026-09-11 方案 B 改为 `NTC1 = IO4` / `NTC2 = IO5`**(仍是 ADC1,见 §29.6)。
|
||||
- `USB6_DM = IO19` / `USB6_DP = IO20` —— 原生 USB 硬定死,脚名脚号从 `_p3_live.json` 查的。
|
||||
- ⚠️ **模组是 R8(八线 PSRAM)还是 N8 没定**:本页按可能上 R8 保守处理,`IO35/36/37` 全部不接。
|
||||
若确定 N8,这三脚可放出来当 GPIO。~~现在全板只剩 `IO47/IO48` 两个备用脚~~ ⇒ 方案 B 之后
|
||||
- ~~⚠️ **模组是 R8(八线 PSRAM)还是 N8 没定**~~ ⇒ ✅ **2026-09-13 用户定为 `ESP32-S3-WROOM-1-N16R8`**
|
||||
(16 MB 四线 Flash @3.3 V + 8 MB 八线 PSRAM;立创 C2913202)。原本按 R8 保守处理、`IO35/36/37` 全部不接,现在这个做法正好对得上。
|
||||
**已从底板 PCB 读回 U20 焊盘网络核对**(与原理图符号脚名逐脚对上):
|
||||
`IO35/36/37`(脚 28/29/30)无网络 ✓;Flash 用的 `IO26~32` 模组没引出 ✓;
|
||||
`IO45`(脚 26,决定 VDD_SPI 电压)悬空,靠内部下拉 = 3.3 V,与 N16R8 的 3.3 V Flash 匹配 ✓(**绝不能上拉**,上拉就变成 1.8 V,Flash 起不来);
|
||||
`IO3`/`IO46` 悬空 ✓;`IO0` 只接 J33 下载脚,悬空为高 = 正常启动 ✓。
|
||||
✅ **U20 料号已换成 C2913202(2026-09-13)**:两颗库器件的封装 / 3D 模型 UUID 完全相同,只是符号 UUID 不同。所以没有删掉重放,
|
||||
而是在原理图和 BASE-PCB 上**直接改 U20 的属性**(`manufacturer` / `manufacturerId` / `supplierId` / `otherProperty`),两边都已存盘。
|
||||
改后读回:PCB 上 U20 的坐标、旋转和 41 个焊盘网络与改前逐项一致;A3-CTRL 的 verify_sch 只报 `a3-ctrl-nc.json` 登记的 20 个有意不接脚;xpage 漏接 0。~~现在全板只剩 `IO47/IO48` 两个备用脚~~ ⇒ 方案 B 之后
|
||||
`IO47/IO48` 给了风扇,备用脚变成 **`IO1/IO2`**(模块脚 39/38,都是 ADC1)。
|
||||
|
||||
### 20.7 ✅ T7 也一起结了:`F1` = `F1206SB2000V063TM`(2026-09-08)
|
||||
@@ -1368,8 +1713,8 @@ M2d 那两处「凭记忆写错针位」的教训之后,这一版的每个数
|
||||
| 手指宽 | 0.70 mm(净距 0.30) | 同上 |
|
||||
| 手指长 | 4.30 mm | 中文资料常写 4.0,同量级 |
|
||||
| **指尖到板边** | **1.30 mm** | multi-cb 给 PCIe 荐值 1.4,另一处给 0.6~1.5 窗口 ⇒ 1.3 在窗口内 |
|
||||
| 缺口 | 11/12 号针之间,宽 1.9、深 7.45,口部两个 0.5×45° 导入角 | KiCad 的 x1 与 x4 两个封装完全一致 |
|
||||
| 缺口到 11/12 号指 | 铜边距 **0.20 mm** | 直段两侧对称,`selfcheck` 里断言死 |
|
||||
| 缺口 | 11/12 号针之间,宽 **1.6**、深 **8.3**,口部两个 0.5×45° 导入角 | 宽取 CEM 值(KiCad 的 x1/x4 封装都是 1.9,到 11/12 号指只剩 0.2 ⇒ DRC 报「板框到焊盘 <0.3」,2026-09-11 改 1.6);深 2026-09-12 晚由 7.45 加深,见 §6.6 |
|
||||
| 缺口到 11/12 号指 | 铜边距 **0.35 mm** | 直段两侧对称,`selfcheck` 里断言 ≥0.3;板上实测 0.350 |
|
||||
| A 排 / B 排 | A = 底层,B = 顶层 | 同 KiCad |
|
||||
|
||||
**`A1` / `B31` 是短指(3.2,指尖再退 1.10)**,远端与长指齐平。这不是装饰:本方案的在位检测
|
||||
@@ -3201,6 +3546,7 @@ rot180 是扫出来的:针序反转把 12V 脚换到靠 C738 那侧,未完
|
||||
⇒ 只 `pour_base --push` 重建 147 块 / 填 135(L2、L3 各回 13),重铺前后线 0 变、孔 0 变、元件位姿 0 变;
|
||||
恢复前存档 `_base_board_before_repour_0912.json`,此后基准 `_base_board_d16_restored_0912.json`。
|
||||
**教训:交接 / 收尾前按快照逐项比,铺铜要按「层 + 网 + 名字」逐块比,光看总块数看不出内层被删。**
|
||||
- ⛔ **2026-09-13 第二次**:同样这 16 块(GND-L2-0~7 / GND-L3-0~7)又没了,DRC 报 GND 连接性 65 条。只按 `pour_base.plan()` 补建这 16 块,然后「重建所有」⇒ 147 填 135、DRC 连接性 0。触发原因仍未查明,详见 PROGRESS 顶部「底板内层 GND 平面第二次整块消失」。
|
||||
|
||||
## 38. 底板风扇窗口按用户新布局重布 + L1 走廊重开(2026-09-12 用户要求)
|
||||
|
||||
@@ -3370,10 +3716,29 @@ FAN_PWM_L (10.30, 83.90, 22.50, 87.30) 盖住 J27.4 与 Q6.3
|
||||
|
||||
| 项 | 值 | 说明 |
|
||||
|---|---|---|
|
||||
| 舌头宽 | **36.0 mm**(x 27.00~63.00)| 金手指本身跨 33.70(x 28.15~61.85),两侧各余 1.15 |
|
||||
| 台阶高 | **12.0 mm** | 槽体 ~9,余 3 |
|
||||
| 舌头宽 | ~~36.0(x 27.00~63.00)~~ ⇒ **34.5 mm**(x 27.75~62.25)| 金手指跨 33.70(x 28.15~61.85),两侧各余 ~~1.15~~ **0.40**(> DRC 板边 0.3,可做)|
|
||||
| 台阶高 | **12.0 mm** | ~~槽体 ~9,余 3~~ ⇒ 见下方更正 |
|
||||
| 内凹角 | **R1.0** | 外形铣刀下不去直角(嘉立创外形最小 R0.5) |
|
||||
| 切掉 | **648 mm²**(占 10.6%)| 左 27.0×12.0 + 右 27.0×12.0 |
|
||||
| 切掉 | **666 mm²**(占 10.9%)| 左 27.75×12.0 + 右 27.75×12.0 |
|
||||
|
||||
⛔ **2026-09-12 晚:36.0 收到 34.5 —— 因为 36.0 根本插不进去。**
|
||||
SolidWorks 量厂商 STEP 里 `PCIE-64P11L` 的顶面内环(= 卡槽开口)得 **35.08 mm**
|
||||
(x ±17.540,中间 0.78 是防呆键筋),36.0 比它宽 **0.92**,舌头两端会压在腔的端壁上。
|
||||
收到 34.5 后对开口留 **0.29/侧**。⚠ 35.08 是厂商标称值、不含公差,待卡尺复核。
|
||||
|
||||
✅ **2026-09-12 深夜 3D 复核通过**(重导两份 STEP 后在 SolidWorks 里实测,
|
||||
详见 `solidworks-assembly` skill 的 NOTES §29):
|
||||
舌头实测 **34.474**、台阶 **9.900**、防呆缺口 **1.926 × 8.3** —— 板上轮廓与设计一致;
|
||||
刀片**坐到腔底**,插入深度 **d = 8.00 达成**,刀片底边离底板板面 **2.66**,与 §6.6 的预测吻合。
|
||||
⚠ 扫描里「首次接触」发生在插入 3.03 处,那是 **64 根簧片触点**(模型把簧片建成刚性、
|
||||
通道 1.568 < 板厚 1.67),**不是机械止点** —— 判据要看干涉体积随深度的斜率并做阳性对照:
|
||||
坐到腔底时总干涉仅 **1.49 mm³**,再压 0.53 就暴涨到 **28.2 mm³**。
|
||||
5 块刀片同时插上时**刀片↔刀片 0 处干涉**,相邻净距 **13.95 mm**(B 面口径)。
|
||||
|
||||
⛔ **顺带更正「台阶高 12.0 = 槽体 ~9,余 3」的前提**:槽体实测高 **11.56**(不是 ~9)。
|
||||
但要比的本来就不是槽体高度,而是**插入深度**:d = **8.00**
|
||||
(2026-09-12 晚 `NOTCH_D` 加深到 8.3 之后,卡坐到槽底,d 改由槽底决定;见 §6.6)
|
||||
⇒ 台阶肩部离塑料体顶面还有 `12.0 − 8.00` = **4.00 mm**,结论仍然安全(且偏宽裕)。
|
||||
|
||||
常量在 `pcb_blade.TONGUE_X0/TONGUE_X1/STEP_H/STEP_R`;`outline_pts()` 改成凸字形,
|
||||
**第一段仍是舌头底边**(`segments()` 与 `outline_polygon()` 都按这个前提把防呆缺口插进去)。
|
||||
@@ -3385,7 +3750,8 @@ FAN_PWM_L (10.30, 83.90, 22.50, 87.30) 盖住 J27.4 与 Q6.3
|
||||
7 个定位孔最南 `H5` 在 y=14.46,全在板材上;两条铣穿槽在 y 56.86 起,都不受影响。
|
||||
|
||||
⚠ **唯一代价:手机主板投影底边在舌头两侧悬空 1.0 mm**
|
||||
(`PHONE_ORG.y = 11.0` < 台阶 12.0;左 x 1.50~27.00、右 x 63.00~68.59,合计 31.09 mm²)。
|
||||
(`PHONE_ORG.y = 11.0` < 台阶 12.0;左 x 1.50~**27.75**、右 **62.25**~68.59,
|
||||
合计 **32.59 mm²**;2026-09-12 晚舌头由 36.0 收到 34.5 后由 31.09 增加)。
|
||||
主板是 7 个 **M1.6 尼龙立柱**压住的(§3.2 中框式焊盘,螺柱间隙 1.0),不靠边缘托 ⇒ 无害。
|
||||
`selfcheck` 里改成判「悬空量 ≤ 1.5」+「定位孔不许落进台阶区」,不再用原来那条
|
||||
`phone.y0 >= finger.y1`(台阶之后 finger 区只剩舌头,那条断言已经没有意义)。
|
||||
@@ -3430,3 +3796,240 @@ FAN_PWM_L (10.30, 83.90, 22.50, 87.30) 盖住 J27.4 与 Q6.3
|
||||
抓板发现刀片上只有 **11 块铺铜**(L2 九块 GND + L3 两个岛),而 `plan()` 计划 25 块 ——
|
||||
**L1 七块 + L4 七块 GND 底填全都不在板上**(交接记录写的"铺铜 25/25"与板上不符)。
|
||||
已重建。台阶改动后每层 GND 由 7 → 9 块。
|
||||
|
||||
### 40.6 ⛔ 台阶内凹角的半径 bug(2026-09-12 晚,收窄舌头时才显形)
|
||||
|
||||
`pcb_blade.corner(cx, cy, a0, a1)` 原本**写死 `CORNER_R`(2.0)**,而两个台阶内凹角
|
||||
调用它时只把 `STEP_R`(1.0)用在了**弧心偏移**上:
|
||||
|
||||
```python
|
||||
pts += corner(TONGUE_X0 - ri, hs - ri, 90, 0) # 弧心 (26.75, 11.0),但半径仍是 2.0
|
||||
```
|
||||
|
||||
弧心 `(TONGUE_X0−1.0, 11.0)` 配半径 2.0 ⇒ 弧终点落在 `x = 26.75 + 2.0 = 28.75`,
|
||||
而不是应有的 27.75。于是舌头侧边成了一条 **(28.75, 11.0) → (27.75, 0.0) 的斜线**:
|
||||
|
||||
| | 尖端(y=0) | y=11 处 |
|
||||
|---|---|---|
|
||||
| 设计意图 | 34.5 | 34.5 |
|
||||
| 实际画出来 | 34.5 | **32.5**(两侧各内收 1.0)|
|
||||
|
||||
**为什么一直没发现**:36.0 时斜边最大只到 x=28.00,够不着 x=28.50 的线,
|
||||
DRC 与几何校验都不报;**把舌头收到 34.5 之后**斜边推进到 28.75,
|
||||
才把 `+12V` / `PRSNT#`(x=28.50)在 y>8.25 的部分切到板外 —— DRC 一次报出来。
|
||||
|
||||
修法:`corner()` 加半径参数(省略时仍用 `CORNER_R`),两个内凹角调用处传 `ri`。
|
||||
修正后侧边变成真正竖直的 `x=27.75 / 62.25`,`+12V`/`PRSNT#` 的净距由负值变成
|
||||
**0.575 / 0.650**,四条违规不用改线即消失。
|
||||
|
||||
⇒ **教训:参数传进去了 ≠ 用上了。** `STEP_R` 只影响弧心、不影响半径,
|
||||
而画出来的形状**仍然“看着像个圆角”**,人眼截图也看不出来 —— 这类错误只能靠
|
||||
「按实际点列量关键尺寸」发现,不能靠看图。
|
||||
|
||||
### 40.7 +5V 靠板边那一段:x 61.72 → 61.70,线宽 0.60 → 0.46(2026-09-12 晚)
|
||||
|
||||
舌头收到 34.5 后,x≈61.7 的三段共节点 +5V 线(`(60.10,13.75)→(61.72,12.13)→
|
||||
(61.72,6.67)→(61.50,6.46)`)到板框只剩 **0.235**,不满足板边规则 0.3。
|
||||
|
||||
**纯平移无解**(这是个几何死结,别再试):
|
||||
|
||||
| | 到板边(需 ≥0.3)| 到 GND 过孔 (60.83, 6.99) |
|
||||
|---|---|---|
|
||||
| 原位 61.72 / 0.60 | **0.235** ✗ | 0.28 |
|
||||
| 平移到 61.60 / 0.60 | 0.35 ✓ | **0.162** ✗ |
|
||||
| **定稿 61.70 / 0.46** | **0.32** ✓ | **0.33** ✓ |
|
||||
|
||||
板边要求 `x ≤ 61.65`,过孔要求 `x ≥ ~61.71` ⇒ 窗口为空,**必须同时收线宽**。
|
||||
|
||||
**载流核算**(按 §6.4 的 IPC-2221 / 1 oz 外层 / ΔT 20 ℃ 口径):
|
||||
+5V(VBUS)需求 **≤ 0.5 A**(§5.2 针位表);以本文档自有锚点
|
||||
「1.5 A → ≥1.2 mm」「0.30 mm → 0.65 A」换算,**0.46 mm ≈ 0.88 A**,余量 1.8 倍。
|
||||
⇒ 收窄无电气代价。改动后刀片 **DRC 间距错误 0 条**。
|
||||
|
||||
## 41. 刀片压到 89.5 × 67(2026-09-12 深夜 用户拍板)
|
||||
|
||||
**用户要求**:「缩短卡片板宽度,从金手指让出来的尺寸那里裁剪」,后补「68 那一边也裁」。
|
||||
|
||||
### 41.1 ⛔ 先证伪一个前提:「金手指让出来的那片」不是空板材
|
||||
|
||||
金手指铜只占 x 28.15~61.85(33.70 宽),舌头 34.50,两侧各"让出"约 27.75 —— 但那片地方
|
||||
在 y>12 处**早就被走线、过孔和功率列器件占满**。按**铜 + 孔 + 焊盘**(不能只看焊盘)实测:
|
||||
|
||||
| | 占用带 | 两侧/两端空白 |
|
||||
|---|---|---|
|
||||
| x | **2.195 ~ 89.140** | 西 2.195 / 东 **0.860** |
|
||||
| y | **3.201 ~ 66.400** | 南 3.201(但那是金手指区)/ 北 **1.600** |
|
||||
|
||||
而"金手指让出来的量"只有:舌头比金手指铜每侧富余 **0.40**;舌头 36.0→34.5 那次每侧让出 0.75。
|
||||
**都是 1 mm 以内,撑不起一次板宽裁剪。** 另外台阶那 666 mm²(§40)已经切过了。
|
||||
|
||||
⚠ **南边永远不能裁**:y=0 就是金手指所在的板边(指尖在 y=1.30),从南裁等于切金手指。
|
||||
|
||||
### 41.2 定稿:只裁东 0.5 + 北 1.0,器件一律不动
|
||||
|
||||
| 项 | 旧 | 新 |
|
||||
|---|---|---|
|
||||
| 板框 | 90 × 68 | **89.5 × 67**,四角 R2,读回折线 74 点、外接 0~89.5 × 0~67 |
|
||||
| `J1_X` | `BW / 2.0` | **常数 45.0**(解耦)|
|
||||
| 金手指居中 | 严格居中 | 偏心 **0.25**(板宽的 0.3%)|
|
||||
| 服务带 | 12.34 | **11.34** = §34 的下限「C60 本体 11 + 0.34」|
|
||||
| 面积 | 61.20 cm² | **59.97 cm²**(省 2.0%)|
|
||||
|
||||
⛔ **`J1_X` 必须解耦**:它原是 `BW/2`,板宽一改就会算出 44.75,**金手指连同舌头整体平移、
|
||||
全板器件与 64 根线立刻对不上**。解耦成 45.0 后金手指绝对位置一点没变。
|
||||
⚠ 代价是以后再改 `BW`,`J1_X` **不会**自动跟着走。
|
||||
|
||||
**为什么不两侧对称裁**:保持居中就得全板西移(899 段铜 + 346 孔 + 164 件),无现成工具、
|
||||
还会作废一批 `_blade_*.json` 缓存。用户拍板接受偏心。
|
||||
|
||||
### 41.3 ⛔ 东侧为什么只能裁 0.5 —— 又一个「几何死结」
|
||||
|
||||
卡点是 **`VO_P`(4 A 主通道,宽 1.283)那条铜的东沿到 88.391**。
|
||||
|
||||
| 板宽 | 铜面界 | `INA_ALERT` 贴边竖线 |
|
||||
|---|---|---|
|
||||
| 89.0 | 88.5 | 88.391 + 0.15 = **88.541 > 88.5** ⇒ y≈54.1~54.25 处**无解**,0.279/0.20/0.15 全试过,**收线宽也救不了** |
|
||||
| **89.5** | **89.0** | 窗口 [88.68, 88.86] 宽 0.18 ⇒ **外层可行**,线宽都不用改 |
|
||||
|
||||
裁到 89.0 的唯一出路是把那段 12.4 mm 挪进 **L15 内层**(内层扫描确认全程可行,最东中心 88.361),
|
||||
代价是多 2 个换层孔 + **在 GND 内层切一道 12.4 mm 的缝**,而只多省 0.6% 面积
|
||||
⇒ 用户拍板**不拿地平面完整性换**。
|
||||
|
||||
⚠ **判据教训**:第一版算东侧窗口时**只看过孔**(用 `VO_P` 过孔东沿 88.055),得出「裁 1.0 可行」;
|
||||
按**线段实际占用**逐 y 重扫才发现无解。宽铜线的东沿比它的过孔远 0.34。
|
||||
|
||||
### 41.4 `INA_ALERT` 西移(唯一要动的网)
|
||||
|
||||
它原本**贴着旧板边 x=89.000 走了 12.4 mm**(y 52.625~65.000)。新几何:
|
||||
竖线 **x=88.800**(东沿 88.939,到界余 0.061)、过孔 **x=88.600**(东沿 88.905,余 0.095),
|
||||
6 段 + 2 孔,线宽 0.279 不变。两端 `U3.3` / `U4.15` 并查集核到仍是同一块铜。
|
||||
|
||||
⛔ **两条踩坑记录**:
|
||||
|
||||
1. **`primitiveId` 必须整串传(16 个十六进制字符)**。第一次把诊断脚本里 `pid[:14]`
|
||||
**截断显示**的 id 复制进删除清单,`delete()` 收到不存在的 id **不报错、静默忽略** ⇒
|
||||
「删 6 线 / 2 孔」照常打印成功、`err` 为空,实际一个都没删,板上变成新旧并联(16→21 段),
|
||||
EasyEDA 还把重叠处打断重组成三段、原 id 当场失效。已写进 `router.py` 的 `clear_mine()` 前。
|
||||
2. **长条焊盘不能用 `max(w,h)/2` 当各向同性半径**。`Rs1.1` 是 1.283 × 3.457 的竖长条,
|
||||
圆近似假报「新线距它 −0.210」,按矩形判据算真实间距是 **0.877**。
|
||||
(`fan_check` 原版就是这个圆近似 —— 它偏保守、只误报不漏报,卡新线下发是安全的,
|
||||
但会挡住合法改动;同一个错今天已犯两次,另一次见 §38 的插槽针排假警报。)
|
||||
|
||||
### 41.5 北侧裁 1.0 是零代价的
|
||||
|
||||
北侧最高的 `J3.4` 焊盘顶在 **66.400**,新铜面边界 66.5 **刚好让过(余 0.10)** ⇒ **越界 0 项**。
|
||||
再往 66.5 走就开始撞 `J3` / `R63` / `EDL_EN`(1.5 时 6 项、2.0 时 10 项、3.0 时 25 项并吃到 `U3`)。
|
||||
|
||||
⚠ `IF_Y` 跟手机走(`PHONE_ORG[1]+PHONE_WH[1]` = 55.66)、**不跟 `BH`** ⇒ 改 `BH` 只压服务带,
|
||||
手机投影与两条排线槽都不受影响。**再压就放不下 C60。**
|
||||
|
||||
### 41.6 验收
|
||||
|
||||
板框折线 74 点 / 外接 0~89.5 × 0~67 / 挖槽 2 个;重铺 31 块填 31/31;
|
||||
**DRC 0 条**;`board_check` 900 段铜 / 346 孔、**56/57 连通**
|
||||
(`GND` 那 49 只脚是 `covered()` 在刀片下的固有假阳性,见 `board_check.py` 文件头)。
|
||||
|
||||
### 41.7 下游回归:位号丝印跟着板框修
|
||||
|
||||
板框缩小会让北侧几个位号越框 —— 这是改板框**最容易漏掉的下游影响**,
|
||||
`silk_blade` 的改前体检「越框/入禁区」从 §40 定版时的 1 涨到 **3**。
|
||||
|
||||
**只动了 3 个位号**,其余 78 个原位不变(上一轮的人眼确认基本保住):
|
||||
|
||||
| 位号 | 原位 | 新位 | 移动 | 新位离自己器件焊盘框 |
|
||||
|---|---|---|---:|---:|
|
||||
| `J3` | (20.12, 66.77) | (25.16, 63.45) | 6.031 | 0.857 |
|
||||
| `R63` | (13.24, 66.00) | (9.78, 64.46) | 3.795 | 1.513 |
|
||||
| `C69` | (7.83, 63.52) | (7.83, 61.48) | 2.043 | 0.751 |
|
||||
|
||||
`modify 81/81`、读回 81 个全部对上;改后体检回到 **1**(`J1` 白名单例外)、压焊盘 0 / 重叠 0;
|
||||
三个新位都在 `MAXD` 2.2 内,位号不会离器件太远。丝印非铜,**DRC 仍 0 条**。
|
||||
|
||||
⚠ **越框有两套口径,别混用**:按板框多边形判,真正跑到板外的**只有 `J3`**(2 个角在外);
|
||||
`silk_blade` 报 3 个是因为它更严 —— 越框要求「四角在框内**且到轮廓 ≥ `EDGE` 0.5**」,
|
||||
并且把「入金手指禁区 y<12」并进同一项计数。`R63` / `C69` 属于「离新板边不足 0.5」,不是真越框。
|
||||
|
||||
⚠ **验证脚本的一个坑**:`silk_blade --push` 过程中会重新抓板并**覆盖 `_blade_silk.json`**。
|
||||
拿它当「改前快照」去和 plan 比对时,若与 `--push` 并行跑,读到的已经是下发**后**的状态,
|
||||
于是「原位」「新位」算出同一个数。要比对改动量,必须在 `--push` **之前**把快照另存一份。
|
||||
|
||||
## 42. 舌头变短 + 缺口回标准值(2026-09-12 深夜 用户拍板,两项合并下发)
|
||||
|
||||
用户:「让舌头变短,并且解决缺口的问题」。两项都改板框层,合并成一次重画 + 一次重铺。
|
||||
|
||||
### 42.1 缺口 1.6 → 1.9:**1.6 那版根本插不进插槽**
|
||||
|
||||
厂商 STEP(SOFNG `PCIE-64P11L`)量出防呆键筋**根部宽 1.78**(竖壁 x −5.890/−4.110,
|
||||
中心 −5.000 与 `NOTCH_CX` 独立吻合)。顶上 0.5 是 45° 导入角 ⇒ 顶端 1.78 − 1.0 = **0.78**,
|
||||
与文档另一处记的「顶端 0.78」正好对上 —— **锥形这个前提由两个独立数据互证**。
|
||||
|
||||
⇒ 缺口 1.6 < 键筋 1.78:卡只能套住键筋顶端,往下插到 **z = 9.59** 就被撑住,
|
||||
离槽底 2.000 差 **7.59 mm**。不是勉强,是**根本插不进**。
|
||||
|
||||
| | 缺口 1.6(旧) | **缺口 1.9(现行)** |
|
||||
|---|---:|---:|
|
||||
| 键筋配合间隙/侧 | **−0.090**(过盈) | **+0.060** ✓ |
|
||||
| 到 11/12 号指铜边距 | 0.350 | **0.200** |
|
||||
|
||||
⛔ **2026-09-11 那次 1.9 → 1.6 是基于错误信息的决定**,两处都错:
|
||||
① 当时写作「CEM 的 1.6」——**CEM 标准缺口就是 1.9**(KiCad 官方 x1/x4 封装均为 1.9);
|
||||
② 代价只估成「防呆筋配合余量少 0.15」,没意识到会导致插不进。
|
||||
|
||||
**0.2 不是本项目的妥协,是 PCIe 几何定死的**:1.0 间距 / 0.7 指宽 / 1.9 缺口
|
||||
⇒ (3.0 − 1.9)/2 − 0.35 = 0.2,**任何 PCIe 卡都是这个数**(§27.8 原话)。
|
||||
⇒ `fp_edge.selfcheck` 的门槛已由 0.3 放回 **0.2**;按 0.3 反推缺口只能 ≤1.70,装不下 1.78,窗口为空。
|
||||
|
||||
⚠ **另一条没走的路**:把 `A11/A12/B11/B12` 四根指改窄到 0.50 可换回 DRC 0 条
|
||||
(那四根是 `EFUSE_EN` / `INT#` / `GND`×2,**都不走电流**,载流零代价),
|
||||
但会偏离 CEM 标准指宽、与簧片接触面积少 29%。**用户选了保标准指宽、接受 DRC。**
|
||||
|
||||
### 42.2 台阶 12.0 → 9.9:⚠ 这一刀让板材**变多**
|
||||
|
||||
`STEP_H` 是**台阶切掉的高度**:y ≤ `STEP_H` 只有舌头(x 27.75~62.25)有板材,y > `STEP_H` 是全宽主体。
|
||||
⇒ 降低它 = 舌头变短、**两侧原本被切掉的部分恢复成板材**:
|
||||
|
||||
| STEP_H | 两侧切掉 | 实际板材 |
|
||||
|---:|---:|---:|
|
||||
| 12.0(旧) | 660.0 | 5336.5 |
|
||||
| **9.9** | 544.5 | **5452.0(+115.5)** |
|
||||
|
||||
外接 89.5 × 67 = 5996.5 **不随 STEP_H 变**(嘉立创按外接矩形计价)⇒ **想减面积的话方向是反的。**
|
||||
|
||||
**9.9 是下限,三条约束同时卡住**:
|
||||
|
||||
| 约束 | 值 | 说明 |
|
||||
|---|---:|---|
|
||||
| **桥宽** = `STEP_H − NOTCH_D` | **1.60** | 缺口顶到肩部这段是**舌头左右两半唯一的连接** |
|
||||
| **肩部余量** = `STEP_H − 8.00` | **1.90** | 零件本地坐标(塑料体顶面 10.000 / 槽底 2.000)|
|
||||
| 丝印带上沿 9.40 离肩部 | **0.50** | = `silk_blade.EDGE` |
|
||||
|
||||
⛔ **定档时踩的坑**:先给过一档 **8.31**(「只保缺口不被切开」),但那**只保证缺口不被切开、
|
||||
没保证缺口上方还有板材** —— 8.31 时桥宽只剩 **0.01 mm**,等于把舌头从中间切断;
|
||||
肩部余量也只剩 0.31。⇒ 凡是「挖槽 + 外轮廓」同时收紧的地方,**必须单独校核两者之间的剩余板材**。
|
||||
|
||||
⚠ 另一处差点栽的:一度用底板坐标 z=12.33 算肩部余量,得出「肩部会陷进塑料体」。
|
||||
那是**两套坐标系搞混**(零件本地 vs 底板局部,差 2.33)。肩部余量恒等于 `STEP_H − 插入深度`。
|
||||
|
||||
**丝印与 J1 位号都不会被铣掉**(用实际折线多边形含 R1.0 圆角复判四角):
|
||||
丝印 8.40~9.40 完全在舌头内、离轮廓 0.750;`J1` 位号 9.56~10.70 **跨过肩部线**,
|
||||
但下半在舌头上、上半在全宽主体上,最近角离轮廓 1.695。
|
||||
⇒ `silk_blade` 体检改前 1 / 改后 1,**没有引入任何新的位号越框**。
|
||||
|
||||
### 42.3 验收:DRC **5 条**(预期 4 + 漏算 1),其余全过
|
||||
|
||||
板框折线 74 点 / 外接 0~89.5 × 0~67;缺口区读回 y 顶 **8.300**、断点 **38.55~41.45**;
|
||||
舌头侧边 y 值 [0, 8.90] 配肩部序列 8.9→9.1→…→9.9→10.05(R1.0 内凹圆角)⇒ 肩部落在 **9.90** ✓;
|
||||
舌头宽仍 34.50;重铺 31 块填 31/31;`board_check` 900 段铜 / 346 孔、**56/57 连通**。
|
||||
|
||||
| DRC | 条数 | 内容 |
|
||||
|---|---:|---|
|
||||
| 板框 到 贴片焊盘 | **4** | `J1_A11`(EFUSE_EN) / `A12`(GND) / `B11`(INT#) / `B12`(GND),均 **0.2**,PCIe 固有 |
|
||||
| 板框 到 过孔 | **1** | `GND` 孔 (41.500, 7.000),**0.245** |
|
||||
|
||||
⛔ **那 1 条过孔是我立 DRC 基线时漏算的**:基线只扫了**焊盘**,没扫过孔。
|
||||
成因也不是台阶下移,而是**缺口变宽** —— 右壁由 40.800 移到 40.950(+0.15),
|
||||
该孔净距从上一轮核过的 0.395 掉到 0.245。
|
||||
⇒ 教训与 §41.3「只看过孔漏了宽铜线」是同一个:**净距校核必须覆盖线 / 孔 / 焊盘三类,缺一类就会漏报**。
|
||||
|
||||
⇒ 5 条性质相同(板框到铜),且 0.245 比 0.2 更宽松。
|
||||
**下单时统一向嘉立创确认「金手指缺口处铜到板边 0.2 mm 可做」即可覆盖全部 5 条。**
|
||||
|
||||
在新工单中引用
屏蔽一个用户