初始导入:PhoneRail 五路手机直供电源板

原理图/PCB 已在 EasyEDA 里做到 12 页跨页 0 漏接,固件刚完成骨架包 A1。
这次是把已有的一切一次性纳入版本控制,没有改动任何设计内容。

纳入:
- 设计与需求文档、PROGRESS.md、小米8 参考原理图 PDF 与追脚脚本
- .claude/ 下的 EasyEDA 桥接工具链与几何/网表缓存(eda-parts.json、
  pcb-parts.json、pcb-pads.json、p2-ch1.json 等,是重画各页的唯一事实来源)
- 117 张验证截图(本项目所有方向问题都是靠人眼看截图发现的,属于证据不是垃圾)
- firmware/ 的 A1 骨架与 site/ 文档站源码

.gitignore 排除:构建产物(firmware/build、host/build、sdkconfig)、
site/node_modules、__pycache__、桥接日志 _bridge.log、脚本自标的 *.stale。

.gitattributes 默认 `* -text`:现有 .py/.json 大多是 CRLF,原样存,
不让 git 重写行尾。唯一例外是 *.sh 强制 LF —— 带 \r 的 shell 脚本 bash 跑不了。

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QYuExfgyYa6DzRRcUso8M8
这个提交包含在:
zhou yang
2026-09-06 18:18:14 +08:00
共同撰写人 Claude Opus 5
当前提交 2bfe308b30
共修改 526 个文件,包含 80633 行新增和 0 行删除
+59
查看文件
@@ -0,0 +1,59 @@
# PhoneRail —— 五路手机直供电源板
给手机农场用的一块电源板:12V 输入,5 路独立 3.5~4.2V / 4A,直接从**电池座**给
小米8(dipper)主板供电(去掉电池和保护板),ESP32-S3 负责遥测、断电重启、
侧键模拟和 USB 通断。
## 先读这两份
| 文件 | 内容 |
|---|---|
| **`五路直供电源板设计.md`** | 设计定稿 v1.6。规格、拓扑、逐项计算、保护链、BOM、PCB 要点、调试顺序、小米8 侧接口引脚定义。**改任何设计决定都要同步更新它。** |
| **`PROGRESS.md`** | 当前进度与下一步。原理图画到哪一页、还有哪些阻塞项。 |
设计文档里 **§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。
按名字当地用会直接短路电池。