- 规则:铜层 2→4,差分 0.28/0.18,间距 0.15,过孔 0.3/0.2(rules_base) - 几何:98×98 板框 + 4×M3,槽阵居中,L1 12V 大铜 + 指头(pcb_base) - 摆位:五插槽留 L1,其余 133 件翻到 L4;背面镜像规则实测;Hub 放走廊 2、 东移 2.5 mm;扇出圈 / 小件间距 1.5(去耦例外)/ 9 A 过孔阵禁区(place_base) - 叠层按用户决定改为 L1 槽面 / L2 整层 +3V3 / L3 整层 GND / L4 器件面 - 布线:D± 七对按构造布通(USB3 掉头、USB1/2 北去掉头、USB4/5 东绕、 J23 桥),+3V3 / GND / +12V 平面网每脚一孔,0.125 网格 + PathFinder 开关(route_base、remote_route.ps1);剩 37 个网待手工补 - 铺铜:4 层重写,入口链自南向北切段 + 断面校核(pour_base); 已下发布线 / 缝合孔 / 铜面轮廓,填铜未成功(待查) - 工具:plot_base / plot_routes / shot_base,board_check 通孔两层都算 Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_0168Bu6SEx3cXXCJLkdnE6zB
69 行
3.7 KiB
Markdown
69 行
3.7 KiB
Markdown
# PhoneRail —— 五路手机直供电源板
|
||
|
||
给手机农场用的一块电源板:12V 输入,5 路独立 3.5~4.2V / 4A,直接从**电池座**给
|
||
小米8(dipper)主板供电(去掉电池和保护板),ESP32-S3 负责遥测、断电重启、
|
||
侧键模拟和 USB 通断。
|
||
|
||
## 先读这两份
|
||
|
||
| 文件 | 内容 |
|
||
|---|---|
|
||
| **`五路直供电源板设计.md`** | 设计定稿 v1.6。规格、拓扑、逐项计算、保护链、BOM、PCB 要点、调试顺序、小米8 侧接口引脚定义。**改任何设计决定都要同步更新它。** |
|
||
| **`PROGRESS.md`** | 当前进度与下一步。原理图画到哪一页、还有哪些阻塞项。 |
|
||
| **`刀片式方案规划-R2.md`** | **R2 新架构**(底板 4 层 98×98、器件全在背面 + 5 片相同刀片、PCIe 竖插;D15,2026-09-10 由 2 层改),2026-09-08 起与 R1 并行。工程 UUID 在 `.claude/r2/r2-uuids.json`。**R1 保留不动。** |
|
||
|
||
## 布线计算硬规则
|
||
|
||
**所有 PCB 布线运算统一在 `10.5.5.13` 服务器执行。** 本机只允许刷新 EasyEDA
|
||
快照、校验服务器结果、下发和跑 DRC;不得在本机运行 `route_base.py --replan`、
|
||
`--dp-only` 或其他 A* 试算。底板统一从 `.claude/r2/remote_route.ps1` 进入。
|
||
服务器上优先用 PyPy(`-Interp /root/pypy/bin/pypy3`,单轮快约 4.7 倍,输出确定);
|
||
`-Variants @('...','...')` 并行跑多组参数、自动取未完成最少且不比当前缓存差的结果。
|
||
|
||
设计文档里 **§0.1 是决策清单**(13 条已定稿,不要再重新讨论),
|
||
**§12 是待确认项**。动手前先扫这两节。
|
||
|
||
## 画原理图时
|
||
|
||
工程已建好在 EasyEDA Pro 里,通过 `easyeda-api` skill 的 WebSocket 桥接操作。
|
||
|
||
**动手前必须先读 `easyeda-sch-geometry` skill**(项目级,在 `.claude/skills/` 下)。
|
||
它记录了 Y 轴方向、旗/端口的旋转语义、坐标吸附、导线数组格式等一批实测约定——
|
||
这些坑每一个都已经真实踩过一次,不读会重蹈覆辙。
|
||
|
||
器件和工程的 UUID 全部缓存在 **`.claude/eda-parts.json`**,
|
||
直接读取即可,不用重新 `lib_Device.search`。
|
||
|
||
每次改完跑(**它跑的是当前打开的那一页**,所以先 `openDocument` 再验):
|
||
|
||
```bash
|
||
/c/Python314/python .claude/skills/easyeda-sch-geometry/scripts/verify_sch.py --nets
|
||
```
|
||
|
||
改完还要跑一次**跨页对账**,确认没有"全工程只有一个实例"的网络:
|
||
|
||
```bash
|
||
/c/Python314/python .claude/xpage.py
|
||
```
|
||
|
||
六项检查全过之后,**还要让用户截图确认方向与排版**——
|
||
几何验证证明不了"看着对",本项目所有方向问题都是靠人眼截图发现的。
|
||
(`python .claude/shot.py <pageUuid> out.png` 可以自己先截一张看。)
|
||
|
||
⚠️ **几何验证有一类抓不到的错**:端口/旗的引脚和元件引脚放在**同一个坐标**时,
|
||
中间是一段零长度导线,验证会通过,重画那一页时才会真的断开。
|
||
本项目已经踩到三处(P2 的 `K1_VUP`、P1 的 `BLD_REF`/`BLD_A`)。见 skill §8a。
|
||
|
||
## 硬件参考资料
|
||
|
||
`小米8原理图/Xiaomi_Mi_8_Schematic.pdf`(44 页,Rev E8)——
|
||
主板电池座 J600、侧键 J601~J604、尾插 J1401 的引脚定义已从中逐脚追踪出来,
|
||
结论写在设计文档 §13。图纸本身是第三方扫描件,**以实测为准**。
|
||
|
||
## 两条容易搞混的约定
|
||
|
||
- **电池侧接排线的 `P+`/`P−`(保护板输出侧),不是 `B+`/`B−`。** 焊错边常温下现象完全正常,
|
||
只有过压时才暴露。判别方法和验证步骤见设计文档 §13.5 / §13.7。
|
||
- **J600 的 `GND3`/`GND4` 固定脚实际接的是 VBATT,不是地。** 同理 J1401 的 `GND2` 是 USB_VBUS。
|
||
按名字当地用会直接短路电池。
|