ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

KiCad eeschema实战:从原理图到网络表的完整流程解析

KiCad eeschema实战:从原理图到网络表的完整流程解析

简介:《KiCad使用指南——开源的PCB设计工具》是一份面向电子爱好者、PCB初学者和硬件工程师的完整PDF手册,重点讲解KiCad中核心组件Eeschema(原理图编辑器)的操作方法。内容从Eeschema简介与技术概述出发,系统涵盖鼠标命令、键盘热键、菜单命令、顶部菜单栏、左右侧工具栏、弹出菜单与快速编辑等功能,并详细说明了文件、编辑、视图、帮助和首选项菜单的用法,还包括网格选择、缩放、光标坐标显示等辅助操作,帮助读者从零掌握绘制、编辑和设计印制电路板的流程。资源包仅为1个PDF文件,大小1.94MB,方便离线阅读和随时查阅。目前已有442人学习,适合作为PCB设计初学者的入门参考或日常速查手册。文档章节安排由浅入深,读者可按顺序系统学习,也可直接查找对应操作。无论是课程设计、DIY制作还是小型项目开发,都能从中获益。

1. 一本 2017 年的 KiCad PDF 还值得翻开吗:流程没变,变的只是按钮位置

如果手头有一本 2017 年的 eeschema2017.pdf,翻开会发现界面全是老 KiCad 4.x 时代的灰底工具条,菜单和现在差出一大截。但核心章节里的思路并没有过时:KiCad 这个开源 PCB 设计工具的工程流程十年没动过,eeschema 的放元件、连线、分配封装、生成网络表,一路沿用到现在。这篇文章就照着这条主线,把 eeschema 从空白图纸到能和 PCB 编辑器衔接的完整路径写一遍,再把网格参数、库管理、连接问题的排查细节拆开讲。适合从 AD、Eagle、立创EDA 迁过来的工程师,也适合想在开源嵌入式项目里改板子、复现板级设计的开发者。

2. eeschema 原理图设计:从放元件到生成网络表的完整走法

2.1 先适配认知:界面在变,设计骨架没变

Eeschema 的界面无论哪个版本,核心就三块:中间一大片图纸区,右侧竖排的放置工具条,以及顶部负责工程文件、库管理和运行检查的菜单。2017 年那会儿,放置元件、电源符号、连线、网络标签这些操作都摆在右侧工具条上;现在这些按钮还在,只是图标换过样式,一些入口被收进菜单和右键菜单。对于照着 PDF 学习的人来说,真正要做的不是背按钮位置,而是先把"原理图 → ERC → 网络表 → PCB"这条链路焊在脑子里。

我用一张表把 2017 版和新版本的关键差异列出来,方便你对照手里的 PDF 判断哪些步骤可以直接照做:

维度2017 版(4.x 时代)当前 KiCad
符号库格式.lib 纯文本.kicad_sym(S 表达式)
封装库格式.mod 单个文件.kicad_pretty 目录
封装分配工具独立 CvPcbeeschema 内置封装选择器
网络表衔接手动导出 .net,再到 pcbnew 导入pcbnew 一键从原理图同步
电气规则检查ERC 对话框ERC 检查 + 错误面板双击跳转

表里前两行是库格式,这是老版本用户迁移时最容易摔跤的地方,后面章节会专门讲。网络表衔接这一行变化最大:老流程里"导出网络表 → 导入网络表"是必经之路,新版本把这一步压缩成了按钮。但本质上,KiCad 仍然以网络表为核心数据结构,只是不再让你手动操作而已。

2.2 最小可用操作:安装、建项目、放元件、连线

先把腿跑起来。KiCad 是开源 PCB 设计工具,安装方式很直接,最常见的三个平台都有现成途径:

# Debian / Ubuntu 直接用系统仓库 sudo apt update && sudo apt install kicad # macOS 用 Homebrew brew install --cask kicad

Windows 上直接去官网下载安装包,装完会带出 eeschema、pcbnew、gerbview 一套工具。要注意的是 apt 和 brew 里的版本通常比官网慢一到两个大版本,如果你打算跟着新教程走,建议从官网下载;如果只是为了打开老 PDF 里教的工程,系统仓库版本反而更接近旧界面。

装好之后,按下面这套流程走一遍。这套操作在 2017 版和现在都能跑通,差异我会标出来:

  1. 新建工程:主窗口里 File → New Project,输入工程名,会生成一个工程目录和原理图文件。2017 版生成的是 .pro 加 .sch,现在多了统一的 .kicad_pro 工程文件,原理图文件后缀也换成了 .kicad_sch。
  2. 打开 eeschema:双击工程里的原理图文件,或者从主窗口点 eeschema 图标进入。
  3. 放置元件:按 A 键弹出符号选择对话框,输入 R、C、74HC 这类关键字搜索。如果搜不到,说明符号库路径没配好,后面第 3 章会展开。
  4. 连线:按 W 键,从元件的引脚端点开始拖线。这里有个关键机制:eeschema 会自动吸附到电气网格,线头只有落在引脚端点上才算真正连接。
  5. 放置电源符号:从右侧工具条找电源符号按钮,放 VCC 和 GND。注意电源符号有方向性,VCC 引脚朝上、GND 引脚朝下是约定俗成的规矩。
  6. 运行 ERC:点工具栏上的绿色对勾图标,检查电气规则。这一跑能把漏接的线和错误引脚暴露出来。

步骤 4 里的"吸附"是新手第一道坎。线看着搭到了引脚上,但如果连接点(圆点)没有出现,那就是没接上。电气网格默认是开启的,它像一块磁铁,把光标吸到引脚、线头这些电气对象上。很多从 Altium 转过来的人习惯把网格调得极细,结果线头就是落不到引脚上,ERC 里全是报错。我一般保持默认的 1.27mm 网格画原理图,只有画大芯片内部电路时才临时切细。

2.3 两块起步参数:图纸与网格大小

原理图阶段真正需要主动设置的参数不多,图纸和网格是两块最值得先确定的。

图纸在 File → Page Settings 里设置。2017 版的入口和现在基本一样,只是对话框样式换了。A4 适合单板原理图,复杂一点的电源板或主控板建议用 A3,不然元器件密度一大,打印出来根本看不清位号。标题栏信息也在这里填,包括项目名称、版本、设计人。这块看着不起眼,但板子一旦交到加工厂、或者开源出去给别人看,标题栏就是第一印象。我曾经收到过标题栏全是默认值的原理图,想确认版本都找不到地方,只能一个个对比文件时间。

网格设置是更重要的一个。eeschema 里有两种网格:绘制网格和电气网格。绘制网格决定放置元件、画线的坐标步进,默认 1.27mm(50mil),这是 KiCad 最常用的值,和元器件引脚间距匹配;电气网格是独立的吸附范围,专门作用于引脚端点、线头、网络标签这些电气对象。电气网格默认开启,不要关。有些人为了对齐图形把电气网格关掉,结果线头悬空,ERC 一片红,这就是典型的为省事反而翻车。

参数建议值说明
绘制网格1.27mm(50mil)与元件引脚间距兼容,连线最不易错位
电气网格保持开启关闭后线头容易落空,连接点不生成
图纸尺寸A4 / A3按电路复杂程度选,优先保证打印可读
网格细分0.635mm仅在调整器件对齐细节时临时切换

3. 符号库与封装库:开源 PCB 设计里资源管理的重头戏

3.1 符号、封装、3D 模型:三个文件一套账

在 KiCad 里,一个元件在图纸上只是"符号"——逻辑层面的引脚排列。真正决定板子上焊盘怎么排的是"封装"(footprint)。3D 模型则纯粹是给预览和结构验证用的,不影响电气结果。这三个文件各管各的,靠元件属性里的字段关联起来。理解这层关系,才能理解为什么打开别人开源项目时经常出现"符号在,封装找不到"。

符号库和封装库的文件格式是这十几年变化最剧烈的一部分。2017 年那会儿,符号库是 .lib 文本文件,封装是 .mod 单文件;现在符号库变成了 .kicad_sym(S 表达式结构),封装库演变成 .kicad_pretty 目录,目录里每个封装一个 .kicad_mod 文件。这点必须认清:老 PDF 里教你直接把 .lib 拷到工程目录的做法,放到新版本里不一定兼容。

资源当前格式老版本格式说明
符号库.kicad_sym.lib逻辑引脚定义、图形、字段
封装库.kicad_pretty 目录.mod焊盘、丝印、阻焊、3D 模型引用
3D 模型.step 为主.wrl 为主只用于 3D 预览和结构检查

好消息是:这些文件本质上都是文本,用 Git 做版本管理非常友好,这是闭源 EDA 比不了的。很多嵌入式开源项目直接把整个 KiCad 工程连同库文件一起放仓库里,你 clone 下来就能改,不需要走什么格式转换。这也是我推荐新手从开源项目入手的原因——有完整的库和工程结构可以对照。

3.2 手写一个 .lib 符号:看懂文本格式就不怕库迁移

2017 年老 PDF 里教的 .lib 符号文件,剥开看其实就是一段有规律的文本。在终端里用 head 看一眼就全明白了:

head -n 20 ~/kicad/project/libs/resistor.lib

输出类似这样,这是一颗电阻符号的定义:

DEF R R 0 40 Y Y 1 L N F0 "R" 0 0 50 H V C F1 "R" 0 50 50 H V C F2 "" 0 0 50 H V C F3 "" 0 0 50 H V C DRAW P 2 0 1 0 5 0 5 2 5 P 2 0 1 0 -5 0 -5 2 5 X ~ 0 -10 0 50 L 50 50 1 1 P X ~ 1 10 0 50 R 50 50 1 1 P ENDDRAW ENDDEF

逐行拆解一下这套语法:DEF 行定义了符号名字 R、引脚数量、放置属性和镜像方式;F0 到 F3 是字段,分别对应位号、值、封装和 3D 模型引用;DRAW 段是画符号图形用的线;X 行是引脚定义,每行一个引脚,包含引脚名、引脚号、坐标、方向、长度和电气类型,最后那个 P 表示 Passive(无源)。整段文本里最关键的就是 ENDDEF 前面的引脚定义,它们决定了 ERC 能不能正确判断电源、输入输出这些电气关系。

理解了这套语法,你就明白为什么老库迁移会出问题:新版本 .kicad_sym 用的是完全不同的 S 表达式树形结构,不是简单改个后缀就能读的。好在新版本提供了导入入口,在 eeschema 里用 File → Import → Legacy Symbol Libraries 可以批量转老 .lib 文件,转换后要手动检查一遍引脚方向——我转过一次带 40 个引脚的连接器符号,转换后有一半引脚电气类型从 Passive 变成了 Unspecified,跑 ERC 时电源警告报了一堆。转换完先跑一次空 ERC 是对自己负责。

3.3 把封装放到引脚上:从原理图到板子前的必经步骤

在 eeschema 里给元件分配封装,双击元件符号打开属性对话框,在 Footprint 字段后面点书本图标,会弹出封装浏览器。搜索框里输入 R_0603、SOIC-14 这类关键字,选中封装,原理图和 PCB 的关联就建立了。老版本里这一步在独立的 CvPcb 工具里做,现在直接集成在 eeschema 里,路线更短,但逻辑一样:一个符号必须挂上一个封装字段,否则网络表同步到 pcbnew 时会报"missing footprint"。

封装命名本身有一套约定,比如 Resistor_SMD:R_0603_1632,前面是库名,冒号后面是封装名,包含了尺寸和焊盘信息。看封装名就能大概猜出这是贴片电阻还是直插电容。新手常犯的错是在原理图里把所有电容都填同一个封装,等到画 PCB 时才逐个改,浪费两三个小时。我习惯在放元件时就顺手填好封装,后面 ERC 和 BOM 检查能省一大堆事。

还有一类高频场景:从开源项目里拿来的封装库,到了本地全变成问号。原因多半是库路径没配好。KiCad 库路径可以在 Preferences → Manage Footprint Libraries 里添加,但更稳妥的做法是把库文件直接放进工程目录下的 libraries 文件夹,用相对路径引用。这样整个工程打包发出去,别人解开就能用,不依赖任何环境变量。用相对路径这个习惯,是从一次整板封装全部丢失的教训里捡回来的。

4. 原理图到 PCB 的衔接段:ERC、网络表与跨工具边界

4.1 ERC 检查:把这些连接错误挡在制板之前

ERC(Electrical Rules Check)是 eeschema 里的电气规则检查,作用是在原理图阶段发现连接错误。进入方式在 Inspect → Electrical Rules Check,2017 版的位置也在类似的菜单层级里。运行后,错误和警告会列在检查面板里,双击任意一条,视图会直接跳到图纸上对应的位置,并显示一个标记。

ERC 能查出来的问题比想象中多:未连接的引脚、输出引脚相互短路、电源符号接错、同一个网络里两个输出怼在一起。这些错误如果留到 PCB 阶段才发现,改起来伤筋动骨。跑 ERC 之前,顺手把所有元件的位号重新标注一遍(Tools → Annotate Schematic),可以避免位号重复导致的假报警。

ERC 参数里有几个值得说一说的项。默认情况下,某些连接会被标记为警告而不是错误,比如悬空的输入引脚——这在数字电路里常见,不接不代表错,可能是上拉下拉在设计里管理。单独处理会比较吵,可以在 ERC 的排除列表里忽略指定类型的告警。但电源相关的错误我从来不会排除,因为电源接错是整板烧毁级别的故障。还有一个隐藏细节:ERC 的检查结果跟你画的符号电气类型直接相关。第 3 章里说过,引脚电气类型在符号库里定义,如果你把电源引脚画成了 Passive,ERC 就识别不出电源冲突。这解释了为什么有时你觉得原理图没问题,ERC 却一堆噪音。所以自建符号时,引脚类型要认真填,别偷懒全选 Passive。

4.2 网络表:2017 版要先导出,现在只需一键同步

2017 年的标准流程是:在 eeschema 里 File → Export → Netlist,生成 .net 文件,再打开 pcbnew 导入。现在这个环节被压缩成了一个按钮:在 pcbnew 里 Tools → Update PCB from Schematic(快捷键 F8),原理图改完,点到 PCB 编辑器一同步,元件位置、网络连接、封装信息全部更新。新版流程爽是爽,但网络表这个概念并没有消失,它只是变成后台数据了。

理解网络表仍然有实际价值,尤其是排查同步异常的时候。网络表是一个纯文本文件,用 cat 就能看:

cat RT8059.net | head -n 12

节选内容类似这样:

(export (version "D")) (net (code "6") (name "+5V") (node (ref "U1") (pin "8")) (node (ref "C1") (pin "1"))) (net (code "9") (name "GND") (node (ref "U1") (pin "4")) (node (ref "C2") (pin "2")))

结构很直观:每一条网络有名字和编号,底下挂着一串节点,每个节点由一个元件位号和一个引脚号组成。原理图同步到 PCB 时,KiCad 就是靠 ref 和 pin 这两个字段来匹配连接关系的。如果某个元件位号在原理图里被人工改乱了,同步时就会出现"元件被移除又重新添加"的怪现象。位号一定要用工具自动标注,不要手动改。我也吃过这个亏,一次为了排序方便手改了几十个位号,同步完 PCB 上所有布线关系全部断掉,那叫一个后悔药都没处买。

4.3 跨工具转换边界:KiCad 与 EasyEDA 互转能到哪一步

标题热词里有 KiCad 和 EasyEDA 同时出现,这个场景在现实里不少。客户图纸画在立创EDA,团队内部用 KiCad,或者反过来,于是就有了"能不能直接转"这个灵魂拷问。直接给结论:不要期待无损转换,这个问题上没有任何黑匣子能帮你全自动搞定。能稳定带过去的是原理图逻辑、网络连接和封装(前提是封装库匹配),会丢的是绘图顺序、图纸边框、规则设置、中文注释的编码,以及一部分线型和 3D 模型引用。

如果你不得不做转换,我走通的一条路线是:源工具导出中间格式,再在 KiCad 里导入,导入后强制做三件事——重新分配所有缺失封装、全量跑一次 ERC、逐个元件核对封装名称。如果电路里信号比较密集,还可以把双方导出的网络表文件做一次文本比对,确认每个网络的节点数一致。这一步用 diff 命令就能做,比肉眼靠谱得多。

跨工具转换本质是中间格式之间的语义映射,每个工具对线宽、焊盘形状、网络类的表达都不一样。抱着"转完直接投板"的心态一定失望,抱着"转完当参考,重新整理一遍"的心态才能用。我见过太多人花一整天和格式较劲,实际重新画一遍也只要半天。

5. KiCad 高频翻车现场:5 个常见问题与排查路径

5.1 引脚看着连上了,ERC 却疯狂报错

现象:原理图里两根线明显相交,引脚也搭在线上,但 ERC 一跑全是"未连接"错误。

原因:线头和引脚端点没有落在同一个电气网格点上。电气网格的吸附范围是固定的,如果线是从引脚旁边某个点开始画的,线即使视觉上穿过引脚,也不会生成连接节点。

解决:把网格切到 1.27mm,删掉那条线重画。画线时一定从引脚端点开始拖,看到一个小圆圈出现再松手。如果电路比较密,可以打开视图里的"显示连接点"选项,所有已生成节点都会显示为实心圆点,一眼就能看出哪里有悬空。

5.2 快捷键失灵、旋转不对:老版本和现在的习惯差

现象:按 R 旋转元件,每次都只转 90 度,想放一个 45 度角的连接器怎么都放不出来。

原因:R 键默认就是按 90 度步进旋转。2017 版的 4.0 时代,原理图里旋转角度只有 90 度一档,新版加入了 45 度步进,需要配合快捷键去触发。

解决:连续按 R 转到需要的大方向,如果非要 45 度,按 R 的同时按住 Shift 或者检查热键设置里的旋转角度步进。不过我的习惯是尽量保持元件在 90 度方向,45 度放元件在原理图里看着帅,实际打印和检查都不方便。如果你按下 R 完全没反应,去 Preferences → Hotkeys 里查一下快捷键是不是被改过,老版本里很多热键需要手动启用。

5.3 开源项目封装全变问号:库路径与打包问题

现象:从 GitHub 拉了一个开源项目,原理图符号正常显示,但封装浏览器里全是问号,同步到 pcbnew 后所有元件没有 footprint。

原因:项目作者的封装库路径写的是他本机的绝对路径,比如 C:/Users/xxx/kicad/libs。你这边没有这个目录,KiCad 找不到封装文件。

解决:先看工程目录下有没有 libraries 文件夹,有就把它的路径添加到 Manage Footprint Libraries 里;没有就联系作者要封装库,或者根据封装名称去官方库下载对应封装。更根本的做法是把库拷贝到工程目录下,改成相对路径引用,这样整个工程移交给任何人都不出问题。开源社区里,KiCad 工程的标准做法就是把库文件一并提交到仓库,拿回来就能用;遇到不带库的项目,先别急着画板,补完封装再动手。

5.4 2017 年老 .lib 库导入失败:新旧符号库迁移

现象:拿到一份老项目里拷出来的 .lib 文件,在 eeschema 里添加符号库时直接报错,或者符号能显示但引脚属性全乱。

原因:新旧符号库格式不兼容。.lib 是老版本文本格式,新版本的 .kicad_sym 是 S 表达式树形结构,两者不是简单改后缀就能互通。

解决:在 eeschema 里用 File → Import → Legacy Symbol Libraries 做转换,选中老 .lib 文件后会生成对应的新格式符号库。转换完成之后,务必抽查几个符号的引脚电气类型和方向。我之前转过一个老单片机符号,几十个引脚全变 Unspecified,ERC 里电源冲突报警一大堆,最后花半小时手工修正。如果导入工具不好用,还有一个笨办法:直接用文本编辑器按新格式重写符号,语法摸熟了并不复杂,就是费时间。

5.5 中文注释乱码与字体缺口

现象:原理图里的中文注释在 eeschema 里显示方块,导出的 PDF 里中文字缺胳膊少腿。

原因:老版本的原理图文本默认用系统编码保存,中文在跨平台打开时编码不一致;另外 KiCad 默认字体不含中文字形,导出 PDF 时会用系统字体替代,替代不到就缺字。

解决:优先把文件内容统一成 UTF-8 编码,把注释文本重新粘贴一遍让编辑器按当前编码重写。字体方面,在新版 KiCad 的 Preferences 里可以指定系统字体,选一个带中文的字体(比如 Noto Sans CJK、微软雅黑)再导出 PDF。我的习惯是:原理图里的中文只出现在注释框里,位号和值一律英文,需要中文说明写进标题栏的备注字段。这样不管文件传到谁手上、什么系统打开,都不会出一堆乱码。

6. 把 eeschema 用出专业感:BOM 验证、快捷键与个人化手册

6.1 用 BOM 反向核对原理图:三个命令快速发现异常

原理图画完,ERC 跑过,很多人觉得这件事就结束了。其实还有一道我强烈建议做的验证:导出 BOM,用文本命令反向核对一遍。BOM 导出在 Tools → Generate Bill of Materials,选 CSV 格式,导出后先看一眼表头,确认位号、值、封装分别在哪个列,然后跑一条管道命令就能发现异常:

# 假设第 5 列是封装,统计每种封装出现的次数,按频次倒序 cut -d, -f5 bom.csv | sort | uniq -c | sort -rn

这里加一句:列号务必先确认,不是所有导出模板都相同。封装数量分布是否合理,是判断原理图有没有低级错误的高效手段——一块电源板子上,0603 电容出现 10 个、0805 电阻出现 4 个是合理的;但如果你看到某型号电阻只出现 1 次,而它在电路里其他地方还有对称位置,那就要回头检查是否漏画了元件。

6.2 高频快捷键:效率差就藏在指头上

eeschema 的快捷键体系从老版本到现在基本延续,记住下面这几个就能覆盖大部分操作。

快捷键功能备注
A放置符号搜索元件并放置
W画线从引脚端点拖出,自动吸附
C复制元件按住 C 再点击目标
R旋转 90 度配合 X/Y 镜像使用
E编辑属性位号、值、封装都在这
M移动元件连接线跟随移动
J放置连接点交叉线显式打节点

如果你照着 2017 年的 PDF 操作发现某个快捷键没反应,大概率是那个版本里热键需要手动在 Preferences → Hotkeys 里设置。新版默认值已经和主流 EDA 习惯对齐,基本开箱即用。

6.3 把 PDF 指南变成自己的工程手册

我从第一次照着 PDF 学 KiCad 到现在,习惯保留了一点:每做完一块板子,就回到自己的笔记里补三条内容——这次踩了什么坑、哪些参数值得记、下一步要试什么。两三年下来,这份笔记的价值远超任何原始 PDF。那本 2017 年的 eeschema 指南真正教会我的,不是哪个按钮在哪,而是"先理解流程,再记位置"的学习方式。我现在每开一个新板子,第一件事永远是把网格调到 1.27mm、确认封装库路径是相对路径、跑一次空 ERC,这个习惯从一次整板封装全变问号的教训里捡回来后再没丢过。希望这篇能帮你在 eeschema 上少走那一段路。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进