十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

SuperPower硬件文档自动化:kiplot+GitHub Actions自动生成ERC/DRC检查与PCB渲染完整教程

SuperPower硬件文档自动化:kiplot+GitHub Actions自动生成ERC/DRC检查与PCB渲染完整教程 SuperPower硬件文档自动化kiplotGitHub Actions自动生成ERC/DRC检查与PCB渲染完整教程【免费下载链接】SuperPowerHere you should find the best power supplies for your low-power projects项目地址: https://gitcode.com/gh_mirrors/sup/SuperPowerSuperPower 是一个面向树莓派与低功耗微控制器的开源硬件电源项目它用 KiCad 完成电路设计并通过kiplot GitHub Actions实现硬件文档自动化每次修改原理图或 PCB 文件自动运行 ERC/DRC 检查、导出 PDF/SVG 文档并渲染 PCB 图。本文带你完整配置这条自动化流水线让硬件文档和检查报告零手动产出。项目背景SuperPower 电源设计的文档痛点SuperPower 包含两块板卡SuperPower-RPi为树莓派供电的电源板SuperPower-uC面向 ESP32 等低功耗微控制器的电源板含 original 与 lowcost 两个版本三套 KiCad 工程意味着每次改动都要重复繁琐的工作手动跑 ERC、手动跑 DRC、手动导出原理图和 PCB 图、再手动更新文档。SuperPower 的解法是把这一切交给 CI核心只有两个文件文件作用config.kiplot.yamlkiplot 配置定义检查项与渲染输出.github/workflows/kicad-export.ymlGitHub Actions 工作流触发并上传结果快速上手克隆仓库与自动化相关文件清单先克隆项目仓库地址如下git clone https://gitcode.com/gh_mirrors/sup/SuperPower cd SuperPower自动化相关文件一览config.kiplot.yaml # kiplot 全局配置 .github/workflows/kicad-export.yml # CI 工作流 SuperPower-RPi/SuperPower-RPi-KiCAD/ # 树莓派电源板工程 SuperPower-uC/original/ # MCU 电源板标准版 SuperPower-uC/lowcost/ # MCU 电源板低成本版 .generated/ # 自动生成的文档与报告 build/ # CI 上传的产物目录 sphinx/ # 文档站点直接引用生成图 记住这个套路一个 yaml 配置 一个 workflow 文件就能把任意 KiCad 项目接入同样的自动化流程。配置 kiplot一键完成 ERC/DRC 检查与 PCB 渲染config.kiplot.yaml 分为两大块preflight检查和outputs渲染导出。preflight自动运行 ERC、DRC 与铜皮检查preflight: run_erc: true # 原理图电气规则检查 run_drc: true # PCB 设计规则检查 check_zone_fills: true # 检查铺铜是否失效 ignore_unconnected: false filters: - filter_msg: Pin connected to other pins, but not driven by any pin error_number: 3 regexp: (Power input) of component⚙️ 两个关键点检查全覆盖ERC 管原理图连线错误DRC 管 PCB 间距与规则铜皮检查防止过孔断连。误报过滤filters允许对特定报错做正则白名单。SuperPower 中电源输入引脚未被驱动是设计使然于是把 error 3 按(Power input) of component正则过滤掉避免 CI 天天假报警。outputs原理图 PDF/SVG 与 PCB 渲染图outputs: - name: Print Schema as PDF type: pdf_sch_print # 原理图 - PDF dir: schematics - name: Pront Schema as SVGs type: svg_sch_print # 原理图 - SVG供文档引用 dir: schematics - name: print board type: pdf_pcb_print # PCB - PDF layers: all dir: layout - name: plot images of pcb TOP type: pcbdraw # PCB 3D 风格 2D 渲染 options: dpi: 300 format: svg style: /opt/pcbdraw/pcbdraw/styles/jlcpcb-green-enig.json - name: plot images of pcb BOTTOM type: pcbdraw options: bottom: true # 渲染底面PcbDraw 输出的是 300 DPI 的高清 PCB 渲染图风格指定为打板厂常见的绿色沉金配色顶面、底面各一张README 与文档开箱即用。配置 GitHub Actions原理图变更自动触发文档生成工作流 .github/workflows/kicad-export.yml 的精华在于按文件路径精准触发——只有 KiCad 源文件变更才跑节省 CI 资源on: push: paths: - **.sch # 原理图文件 - **.kicad_pcb # PCB 文件 pull_request: paths: - **.sch - **.kicad_pcb任务体依次执行actions/checkout拉取代码三遍调用nerdyscout/kicad-exports动作分别指向三套工程- uses: nerdyscout/kicad-exportsv2.0 name: kiplot-SuperPower-RPi with: config: config.kiplot.yaml dir: build/SuperPower-RPi schema: SuperPower-RPi/SuperPower-RPi-KiCAD/SuperPower-RPi-KiCAD.sch board: SuperPower-RPi/SuperPower-RPi-KiCAD/SuperPower-RPi-KiCAD.kicad_pcbactions/upload-artifact将build/目录整体打包为产物Generated Schematics and Layouts 也就是说提交一个.sch或.kicad_pcb改动 → CI 自动跑完 ERC/DRC 全部渲染 → 产物可下载全程无需人工干预。查看自动产出ERC/DRC 报告与 PCB 渲染图存放位置CI 完成后生成物落在.generated/下按板卡分目录例如树莓派板卡.generated/SuperPower-RPi/SuperPower-RPi-KiCAD.erc # ERC 报告 .generated/SuperPower-RPi/drc_result.rpt # DRC 报告 .generated/SuperPower-RPi/kiplot_errors.filter # 被过滤的报错清单 .generated/SuperPower-RPi/build/Pi-MCU-Pi-MCU.svg # 各页原理图 SVG .generated/SuperPower-RPi/build/Pi-Charger-Pi-Charger.svgMCU 板卡的 PCB 渲染图同样自动生成.generated/SuperPower-uC/lowcost/layout/SuperPower-uC-KiCad-Board_top.svg .generated/SuperPower-uC/lowcost/layout/SuperPower-uC-KiCad-Board_bottom.svg更妙的一环Sphinx 文档站点直接引用这些生成图。例如sphinx/uc/low/overview_keep.rst中写入../../../.generated/SuperPower-uC/lowcost/schematics/l_charger.svg于是文档里的电路图和 ERC/DRC 检查永远同步——PCB 一改文档自动跟着变不存在文档过期问题。自动检查如何守住硬件文档质量ERC/DRC 不只是报错机器它还替你监督整个团队的绘图规范。SuperPower 在sphinx/project/guidelines.rst中定下了原理图规范配合自动检查形成质量闭环。以下示例都来自该规范文档位号贴近元件、不与其他文字重叠保持文本整洁逻辑流向从左到右正电源向上、地向下同类符号保持同向引脚按功能而非芯片物理位置摆放输入在左、输出在右、VCC 在上、GND 在下减少走线交叉、直接连接让 ERC 报告更聚焦真实问题当渲染出的 SVG/PDF 明显不好看时说明设计偏离了规范当 ERC/DRC 报告出现错误时说明功能可能有问题。两者结合硬件文档质量有了双重保障。✅常见疑问kiplot 自动化 FAQQ1CI 里某个报错是设计意图怎么办在config.kiplot.yaml的preflight.filters中按报错编号 正则加白名单被过滤的内容会记录在kiplot_errors.filter中可追溯。Q2想换 PCB 渲染风格或分辨率改pcbdraw输出的style换成其他 JSON 配色与dpi10–1200 可选即可无需改动 workflow。Q3想让 ERC 有错就 CI 失败kiplot 的preflight默认会把检查失败视为流程失败。若当前 CI 容忍告警可结合 workflow 中 kiplot 的fail_on_error类参数收紧实现带病提交零容忍。Q4多板卡项目如何扩展照抄 workflow 中现有的 step改name、dir、schema、board四个参数即可SuperPower 的三块板就是这么跑出来的。总结把硬件文档交给 CI回顾 SuperPower 这套硬件文档自动化的完整链路写config.kiplot.yaml声明检查什么、渲染什么触发GitHub Actions 监听*.sch/*.kicad_pcb变更产出ERC/DRC 报告 原理图 PDF/SVG PCB 高清渲染图消费Sphinx 文档直接引用生成图文档与电路永不过期整套方案只依赖两个 YAML 文件任何 KiCad 硬件项目都可以照搬。让 CI 替你盯紧每一根走线、每一份文档你只管专注电路设计本身。【免费下载链接】SuperPowerHere you should find the best power supplies for your low-power projects项目地址: https://gitcode.com/gh_mirrors/sup/SuperPower创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表