2829 字
14 分钟
用AI做了一套电子元件管理全流程:从BOM对比到PCB分析到自动采购

用AI做了一套电子元件管理全流程:从BOM对比到PCB分析到自动采购#

当 AI 学会”看”原理图、“读”规格书、“比”BOM 表格,硬件工程师的工作流会发生什么变化?这不是科幻,是我上周真实做完的事。


起因:一个让人头大的采购任务#

事情的起因很简单:708AI 实验室需要采购一批无刷电机驱动板(逐飞科技 AI8051U BLDC Lite3S)的电子元件,但供应商给了三个不同品牌的同规格肖特基二极管,BOM 清单有新旧两个版本,原理图是 PDF 格式的 CID 编码中文文档,PCB 位号图是 7017×4962 的超大 PNG。

手动处理这些?光是核对三个规格书的参数差异就要半天,从 PDF 原理图里一个一个数元件又是半天,再加上对比新旧 BOM 的差异、检查采购链接是否完整——一个完整的采购流程,至少要一天半。

我用 AI 在一个晚上搞定了。

下面是完整的流程记录。


第一步:BOM 版本对比与合并#

问题#

我手上有两份 BOM:

  • v2 版本(之前的采购清单)
  • 新版本(从厂商拿到的最新数据)

两份 BOM 都是 Excel 格式,加起来几百行,人眼对比基本不可能。

AI 做了什么#

用 Python(openpyxl 库)写了一个自动对比脚本:

# 核心逻辑:按元件型号 + 位号做联合 key,对比两份 BOM 的差异
# 输出:新增元件、删除元件、参数变更、数量变更

AI 不只是帮我写了这个脚本——它还帮我发现了 v2 版本中一个被遗漏的关键芯片(DRV8701E),这个芯片在采购清单里存在但没被正确归类。

最终输出:统一采购清单 v3,含完整的差异对比报告和验证脚本。

教训#

BOM 对比这类工作,AI 的优势不是”比你快”,而是不会遗漏。几百行 Excel 逐行对比,人总会走神;机器不会。


第二步:从 PDF 原理图提取完整 BOM#

问题#

逐飞科技提供的原理图是 PDF 格式(无刷驱动-STC-无感-Lite3S_原理图_V2.0.2.0.pdf),4 页完整原理图。我需要从中提取全部元件清单——位号、型号、参数、封装。

挑战:CID 编码的中文 PDF#

这是整个流程中最坑的一步。

我先尝试用 PyMuPDF(fitz)提取 PDF 中的文本。代码本身很简单:

import fitz
doc = fitz.open(pdf_path)
for page in doc:
text = page.get_text('text')
print(text)

结果输出了一堆乱码。原因是这个 PDF 使用了 CID/Identity-H 编码的中文字体,直接文本提取会丢失编码映射。

我尝试了 latin-1→GBKlatin-1→UTF-8 等多种编码修复方案,全部失败。

解决方案:两步法#

最终我用了**“PDF 渲染 + AI 视觉分析”的两步法**:

Step 1:用 PyMuPDF 把每页原理图渲染成高清 PNG

mat = fitz.Matrix(3.0, 3.0) # 3x 放大 ≈ 216 DPI
pix = page.get_pixmap(matrix=mat)
pix.save(f'page_{i+1}.png')

Step 2:把 PNG 丢给 AI 视觉模型(image-reader MCP),用精确提示词引导分析

"这是无刷电机驱动板的原理图第 1 页(电源模块)。
请识别所有电子元件:位号(如 R1, C1, U1)、
型号、参数值、封装类型。"

元件审计结果#

4 页原理图逐页分析后,我提取出了 76 个元件的完整 BOM:

类别数量代表元件
电阻22R1-R22(栅极电阻、BEMF 上拉、分压)
电容35C1-C20(22μF 滤波)、C21-C35(去耦/BEMF)
二极管6D1-D4(自举)、D5(过压保护)、D6(指示)
MOSFET6Q1-Q6(TPN2R703NL)
IC3U1(FD6288Q 预驱)、U2(SE8650 LDO)、U3(AI8051U MCU)
LED2LED1(ERR 红)、LED2(RUN 绿)
连接器2P1(PWM 输入)、P2(调试串口)

关键发现#

AI 在分析过程中发现了两个我自己没注意到的问题:

  1. R20-R22 标有 NC(不贴装)标记——这三颗下拉电阻是 V2.0.2 版本新增的预留位,实际不焊接。如果没发现这个,采购就多了三颗没用的料。
  2. U3(MCU)在 PCB 背面——原理图上没有体现元件的物理位置,但 AI 视觉分析通过位号图发现了这个。这对后续焊接和调试有实际意义。

第三步:三份二极管规格书对比#

问题#

采购清单里有三个候选的肖特基二极管:

  • 1N5819WS(深圳合泰电子)
  • B5819WS(珠海宏建诚科技)
  • 1N5819HW1-7-F(Diodes Incorporated)

看起来是同规格的替代品,但性能差异到底有多大?需要逐项对比。

AI 做了什么#

把三份规格书的 PDF 分别丢给 AI,让它做结构化对比。输出直接是一个完整的参数对比表:

参数1N5819WSB5819WS1N5819HW1
VF @1A0.60V0.60V0.36V
IR @25°C0.5mA1.0mA0.05mA
结电容110pF120pF30pF
热阻80°C/W400°C/W75°C/W
浪涌电流25A10A30A

结论:1N5819HW1(SBR 技术)在每一项参数上都碾压传统肖特基方案,特别是正向压降低了近一半(0.36V vs 0.60V)和漏电流低了一个数量级(0.05mA vs 0.5mA)。

但有一个坑:封装不兼容。1N5819HW1 是 SOD123F 封装,比另外两颗的 SOD-323 大一圈,PCB 焊盘需要修改。

教训#

规格书对比是 AI 最擅长的工作之一——结构化数据、固定格式、需要精确数值比较。人做这件事容易”差不多就行”,AI 会把每一个参数都对齐了给你看。


第四步:PCB 布局分析#

问题#

我需要确认原理图中 76 个元件在 PCB 上的实际布局——哪些在正面、哪些在背面、散热设计是否合理。

挑战:超大图片处理#

PCB 位号图是 7017×4962 的 PNG 文件。直接丢给 AI?API 有时会因为 base64 数据量太大而响应失败。

经过多次尝试,我找到了”甜点分辨率”:

缩放比例分辨率效果
100%(原图)7017×4962API 偶尔超时
50%3508×2481最佳平衡:丝印可读,API 稳定
25%1754×1240稳定但丝印文字模糊

最终方案:位号图用 50% 缩放,丝印图尽量用 75%

分析结果#

AI 输出了一个完整的双面布局报告:

Top 面(信号层):
├─ 预驱 IC (U1 FD6288Q)
├─ LDO (U2 SE8650)
├─ BEMF 电阻网络 (R14-R22)
├─ 栅极驱动电阻 (R2-R7)
├─ 二极管/LED
└─ PWM 输入接口 (P1)
Bottom 面(功率层):
├─ MCU (U3 AI8051U)
├─ 6× MOSFET (Q1-Q6)
├─ 20× 滤波电容 (C1-C20)
├─ 电池分压 (R10/R11)
└─ 调试串口 (P2)

这个布局设计很聪明——功率回路在背面,滤波电容紧贴 MOSFET,回路极短;信号电路在正面,远离大电流干扰。

双重验证#

最关键的一点:我把原理图 BOM 和 PCB 位号图的分析结果做了交叉验证。76 个元件中,72 个完全一致,4 个需要补充确认(如 U2 封装太小难识别、C29 位置未确认)。

这就是 AI 辅助硬件分析的核心价值:不是替代工程师,而是帮你做”第一遍全面扫描”,你再做”精确确认”。


第五步:采购链接自动化修复#

问题#

整理完所有元件后,发现采购清单里大量元件缺少淘宝/立创商城的购买链接。手动查找 76 个元件的链接?又是半天。

AI 做了什么#

写了两个脚本:

  1. fix_links.py — 根据元件型号自动搜索匹配的采购链接
  2. fix_all_links.py — 综合修复脚本,同时处理链接缺失、格式错误、URL 过期等问题

三层架构:把一次性工作变成系统#

以上五步做完后,我意识到这些不应该是一次性的工作。实验室每个月都有采购需求,每次都要重复这些流程太蠢了。

所以我设计了一个三层架构的电子元件管理系统:

┌─────────────────────────────────────┐
│ 应用层(用户看到的) │
│ 查询视图 · 入库表单 · 库存报表 │
├─────────────────────────────────────┤
│ 统计仓库层(数据处理) │
│ 元件库存表 · 出入库记录 · 自动统计 │
├─────────────────────────────────────┤
│ 原始数据层(数据存储) │
│ 淘宝订单 · 嘉立创订单 · 原始 BOM │
└─────────────────────────────────────┘

平台选的是金山文档多维表格 + WPS JS 脚本。原因很简单:实验室的同学都会用金山文档,不需要额外安装任何东西。


工具链总结#

整个流程用到的工具链:

PDF 原理图 → PyMuPDF(文本+渲染) → AI 视觉分析 → 完整 BOM
BOM Excel → openpyxl(对比/合并) ← 采购链接修复 ← 交叉验证
规格书 PDF → AI 结构化对比 → 选型报告 → 三层管理系统
PCB 位号图 → 图片缩放 → AI 视觉分析 → 布局报告
工具用途关键参数
PyMuPDF (fitz)PDF 文本提取 + 渲染Matrix(3.0, 3.0) = 216 DPI
image-reader MCPAI 视觉分析50% 缩放最佳平衡
openpyxlExcel BOM 读写按型号+位号联合 key 对比
Python (PIL)图片缩放LANCZOS 算法
金山文档 API数据管理系统dbsheet + WPS JS

给嵌入式工程师的建议#

1. AI 视觉分析的提示词要具体#

❌ "分析这张 PCB"
✅ "这是无刷电机驱动板的正面位号图。已知使用 6 颗 TPN2R703NL MOSFET。
请列出图片中能看到的所有元件位号,特别是 Q1-Q6、C1-C20。"

越具体的提示词,AI 输出越可靠。给它已知信息(板类型、核心芯片、预期元件),减少它的猜测空间。

2. 永远做交叉验证#

AI 视觉分析可能误判位号(特别是低分辨率下 U1/U3 混淆),文本提取可能遗漏图形元件。两个来源的结果交叉比对,才能得到可靠结论。

3. 大图片处理是瓶颈#

分辨率太高 → API 超时;分辨率太低 → 识别不准。我的经验是:位号图 50%,丝印图 75%。如果 50% 仍然太大,先裁剪成区域再分析。

4. CID 编码是中文 PDF 的常见坑#

遇到中文 PDF 文本提取乱码,不要在编码修复上死磕。直接渲染成图片,用 AI 视觉识别,效率更高,准确率也不低。

5. 从”一次性”到”系统化”#

如果你发现自己在重复做同一件事(比如每次采购都要对比 BOM),就该把它系统化。三层架构不是为了炫技,是为了下次采购时一键搞定


结语#

AI 辅助硬件开发目前还处于”工具增强”阶段,不是”替代工程师”。它的价值在于:

  • 把重复劳动从几小时压缩到几分钟(BOM 对比、规格书对比)
  • 做你容易忽略的全面扫描(76 个元件逐一核对)
  • 在数据密集型工作中保持零遗漏(交叉验证)

但它不能替代你的工程判断:选型的取舍、PCB 布局的合理性评估、采购策略的制定——这些仍然需要你。

好消息是,当 AI 帮你处理了 80% 的”体力活”,你就有更多精力放在那 20% 真正需要判断力的工作上。

这不就是工具该有的样子吗?


项目:708AI 实验室电子元件管理 板卡:逐飞科技 AI8051U BLDC Lite3S V2.0.2.0 工具链:Python + PyMuPDF + image-reader MCP + openpyxl + 金山文档

用AI做了一套电子元件管理全流程:从BOM对比到PCB分析到自动采购
https://wmm-site.pages.dev/posts/ai-hardware-development-workflow/
作者
WMM
发布于
2026-06-11
许可协议
CC BY-NC-SA 4.0