开源 EDA 工具 KiCad 6.0 电路设计小书
对于国内的中小型电子企业而言,Allegro、Pads、Altium
Designer 等商业 EDA 工具的授权费用过于昂贵,且大部分只提供
Windows
操作系统版本,缺乏相应的跨平台支持。在电子信息技术行业版权问题充分受到重视的今天,一款易于使用并且受到厂商广泛支持的开源
EDA 工具,对于硬件电子工程师而言尤为重要。本文介绍的 KiCad 就是一款基于 GNU GPL
v3 开源许可协议的跨平台 EDA
电子设计自动化工具集,其能够处理多达 32
个铜层、14 个技术层、4 个辅助层的 PCB
电路板,并且生成加工制造所需要的网表
、物料清单
、光绘文件
、钻孔文件
、元件放置文件
。
自 2018 年 07 月 22 日发布 KiCad 5.0 版本以后,历经了三年时间,终于在 2021 年 12 月 25 发布了全新的 KiCad 6.0 版本,新版本采用了全新的用户交互界面,带来全新原理图编辑器、PCB 编辑器、3D 查看器的同时,还增加了更为丰富的 DRC 设计规则约束,并且提供了对于中文语言的良好支持。全文最早基于 5.0 版本写作,鉴于官方已经升级至功能更为完善的 6.0 版本,所以基于官方新版的 《Getting Started in KiCad》 对本文进行了全面的重写。
KiCad 6 简介
本文涉及的 KiCad 工程源文件,已经全部共享至笔者的
Github 项目 Abrams,欢迎大家
Clone
或者 Fork
。类似于其它的
EDA 电子设计自动化工具,KiCad 同样将
PCB
电路板的绘制过程划分为原理图(Schematic
[skiːˈmætɪk],电路的符号表示)与电路板(PCB,Printed
Circuit
Board,原理图的物理实现)两个部分,并且分别提供了独立的原理图/符号编辑器,以及电路板/封装编辑器:
- 首先,采用 KiCad 原理图编辑器绘制原理图,即在原理图当中添加符号并且绘制连接,同时为每个元件指派或者创建封装。在通过 ERC 电气规则检查之后,就可以将其更新至电路板编辑器;
- 然后,运用 KiCad PCB 编辑器进行元件封装的物理布局与布线,这个过程当中需要特别注意 SI 信号完整性相关的问题。在通过 DRC 设计规则检查之后,就可以交付给工厂进行生产制造输出;
注意:KiCad 的原理图编辑器和PCB 编辑器之间可以进行双向的同步更新,即支持交互式布线功能;
创建工程
运行 KiCad
之后,就会打开工程文件管理窗口,鼠标选择菜单栏的【文件
➞ 新建工程】或者直接按下快捷键【Ctrl +
N】,浏览至希望保存工程的位置,并且将工程命名为
uinio
,然后鼠标点击【保存】:
此时 KiCad 就会自动在工程目录当中,分别创建后缀名为
.kicad_pro
(工程)、.kicad_sch
(原理图)、.kicad_pcb
(电路板)
的三个源文件:
除此之外,KiCad 还会自动生成一个用于工程备份的
-backups
目录,可以通过鼠标选择菜单栏的【偏好设置 ➞
偏好设置】或者直接按下快捷键【Ctrl +
,】,打开【偏好设置】对话框,设置工程自动备份的规则:
调整配色方案
下载 kicad-color-schemes
到本地,解压之后得到一系列的配色方案,这里选择笔者比较喜欢使用的
behave-dark 配色方案,拷贝该目录当中的
behave-dark.json
和
behave-dark_footprints.json
文件至目录
C:\Users\用户名\AppData\Roaming\kicad\6.0\colors
,然后重新启动
KiCad,分别在原理图编辑器和PCB
编辑器当中,鼠标选择菜单栏上的【偏好设置 ➞
偏好设置】或者按下快捷键【Ctrl +
,】,打开【偏好设置对话框】里的【颜色】菜单,将配色主题设置为Behave Dark
:
对于其它的操作系统,可以参考 kicad-color-schemes
工程自述文件当中的说明,拷贝 .json
配色文件至相应的目录:
- Linux:
~.config/kicad/6.0/colors
; - macOS: 用户 Home 主目录 +
/Library/Preferences/kicad/6.0/colors
; - Windows 10:
C:\Users\username\AppData\Roaming\kicad\6.0\colors
,即%APPDATA%\kicad
;
原理图编辑
符号库表设置
首次打开 KiCad
的原理图编辑器时,会出现【配置全局符号库表】对话框,即指定原理图符号库文件
sym-lib-table
的存储位置,如果当前已经安装了默认库,那么可以选择默认的选项【复制默认全局符号库表】(把安装目录下的
sym-lib-table
文件复制一份至用户目录):
如果 KiCad 在默认的位置找不到
sym-lib-table
符号库文件,则上述的默认选项将会被禁用。这种情况下,应当选择第 2
个选项【复制自定义全局符号库表】,然后分别浏览到当前操作系统的如下目录,手动的选择
sym-lib-table
文件:
- Linux:
/usr/share/kicad/template/
; - macOS:
/Applications/KiCad/KiCad.app/Contents/SharedSupport/template/
; - Windows:
KiCad\share\kicad\template
;
原理图编辑器基础
通过 KiCad 的原理图编辑器打开
uinio.kicad_sch
原理图文件之后,可以通过【鼠标中键】或者【鼠标右键】平移原理图,或者使用按键【F1
/ F2】或者【鼠标滚轮】进行放大与缩小操作:
原理图编辑器 默认勾选了【偏好设置 ➞ 鼠标和触摸板 ➞ 缩放时居中光标】,可以在用户执行缩放操作时,使得鼠标光标能够自动的在屏幕上面居中。
除此之外,还可以打开原理图编辑器当中的【偏好设置 ➞ 快捷键】菜单,由用户自定义快捷键:
原理图编辑器左侧的工具栏包含了基本的显示设置,而右侧的工具栏则包含了常用的原理图绘制工具:
原理图设置
鼠标单击原理图编辑器菜单栏的【文件 →
图框设置】,对原理图相关的信息进行设置,原理图框的尺寸默认为
A4 210 × 297mm
大小,而发行日期、修订、标题、厂商信息设置分别如下图所示:
添加原理图符号
鼠标点击工具栏右侧的【添加符号】按钮或者直接按下快捷键【A】,打开【选择符号】对话框,选择当前需要放置的原理图符号:
首先,向下滚动并且展开【Device】库,选择【LED】符号,鼠标点击【确定】按钮或者按下【回车键】,再次点击【鼠标左键】放置原理图符号:
然后,通过在【选择符号】对话框顶部过滤器内输入
R
或者 R_US
来添加一个限流电阻,并将其放置在原理图当中:
最后,再放置一个 Battery_Cell
电池符号,用于为上面添加的
LED 供电:
选择和移动符号
在原理图编辑器当中,如下的快捷键用于选择原理图符号:
- 【鼠标左键】是选择一个原理图符号,
- 【Shift + 鼠标左键】则是选择多个符号,
- 【Ctrl + Shift + 鼠标左键】移除当前选择的符号,
而如下的快捷键,则可以用于操作原理图符号:
- 【R】旋转原理图符号;
- 【M】移动符号(连线不会跟随移动);
- 【G】拖动符号(连线同时跟随移动);
- 【Del】 删除原理图符号;
将之前放置在原理图上的 3 个符号,按照下图所示的位置进行摆放:
连接原理图符号
首先,鼠标点击原理图编辑器右侧的【添加连线】按钮或者按下快捷键【W】,把原理符号按照下图所示的形式连接起来:
注意:按下快捷键【Esc】可以取消连接,或者将鼠标悬停在未连接的符号引脚上,当光标指示发生改变的时候,点击【鼠标左键】,同样可以从这个位置开始绘制连线。
接下来,为了更加方便的理解原理图,需要再行添加电源符号
和接地符号
,鼠标左键点击原理图编辑器右侧的【添加电源端口】按钮或者按下快捷键【P】,打开【选择电源符号】对话框:
然后,分别向原理图当中添加一个 VCC
和一个
GND
符号,再使用连线将其连接至刚才的电路:
最后,在发光二极管
和电阻器
之间的导线上添加网络标签,鼠标左键点击原理图编辑器左侧的【添加网络标签】按钮或者按下快捷键【L】,放置过程当中需要让标签的方形连接点与连线重叠:
注意:相同名称的标签和电源符号表示相互之间是连接在一起的,即使它们在视觉上没有连接关系。
位号 / 符号属性 / 封装
位号是每一个原理图符号的唯一标识,鼠标点击原理图编辑器顶部工具栏的【填写原理图符号位号】按钮,打开【批注原理图】对话框,并且点击【批注】按钮:
符号属性是每一个原理图符号的属性值,鼠标选中原理图里的
LED
发光二管,然后按下快捷键【E】或者选择鼠标右键菜单里的【属性】,打开【符号属性】对话框,将
Value
字段的 LED
修改为 Red LED
字符串,然后点击【确定】按钮:
采用同样的方法,将电阻器和电池符号的
value
属性分别修改为 1k
和
3V
,修改完毕之后的原理图如下面所示:
封装用于描述原理图符号映射到电路板时的物理形式,某一些原理图符号默认自带封装,而另外一些符号则需要手动进行指定。鼠标点击原理图编辑器顶部工具栏的【运行封装分配工具】按钮,打开【关联封装】对话框:
分别为当前原理图当中的符号,选择如下对应的封装规格,然后点击【确定】按钮完成封装分配:
- 电池:
Battery:BatteryHolder_Keystone_1058_1x2032
- 电阻:
Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_Horizontal
- 发光二极管:
LED_THT:LED_D5.0mm
筛选封装的过程当中,要善于利用对话框顶部的【封装筛选器】功能,它们分别是:
- 按 库 筛选封装列表;
- 按 引脚数量 筛选封装列表;
- 按 符号中定义的封装筛选器 筛选封装列表;
注意:除此之外,也可以选择在原理图符号的【符号属性】对话框直接分配封装。
ERC 电气规则检查
通常会在原理图设计的最后阶段,执行一次电气规则检查(ERC,Electrical Rules Check),鼠标点击原理图编辑器顶部的【执行电气规则检查】按钮,打开【电气规则检查 (ERC)】对话框,然后点击【运行 ERC】按钮执行检查:
可以看到,通过 ERC
电气规则检查器,KiCad
发现了两处错误。用鼠标选中错误信息,KiCad
就会自动定位至原理图当中的报错位置。这个
输入电源引脚不受任何输出电源引脚驱动
错误在初次上手
KiCad 的时候比较常见,需要添加原理图符号库当中的
PWR_FLAG
符号,显式的将 VCC
和
GND
标注为电源引脚,并且重新分配位号和运行
ERC 检查。正常情况下 KiCad
将不会再提示错误信息,最终获得的原理图如下面所示:
虽然 KiCad 提供的 ERC 电气规则检查器,无法确保原理图设计能够正常工作,但是仍然可以检查出一些常见的问题。具体的 KiCad 电气检查规则,可以通过鼠标点击原理图编辑器菜单栏的【文件 ➞ 原理图设置】:
然后,打开【原理图设置】对话框下的【电气规则】菜单项进行查看:
BOM 物料清单
最后一个可选的步骤是生成物料清单(BOM,Bill Of Material),鼠标点击原理图编辑器顶部工具栏的【生成当前原理图的 BOM】按钮,打开【BOM (物料清单)】对话框:
选择对话框当中的 bom_csv_grouped_by_value_with_fp
脚本,然后鼠标点击【生成】按钮,此时
KiCad 就会执行如下 Python 脚本:
1 | python |
从而在当前工程所在的目录下面,生成以 .csv
和
.xml
作为后缀名的文件,其中的 .csv
就是
BOM 文件:
电路板绘制
完成原理图的绘制工作以后,鼠标左键点击原理图编辑器顶部工具栏的【在电路板编辑器中打开
PCB】按钮,或者返回工程管理器点击【PCB
编辑器】按钮,就可以打开 PCB 电路板文件
uinio.kicad_pcb
。在 PCB
编辑器当中同样可以通过【鼠标中键】或者【鼠标右键】平移原理图,或者使用按键【F1
/ F2】以及【鼠标滚轮】进行放大与缩小。
PCB 编辑器的中间是用于设计电路板的编辑区,左侧工具栏是各种显示选项,而右侧工具栏则包含有 PCB 设计工具。除此之外,最右侧还有【外观】面板和【选择筛选器】面板。
PCB 设置
开始设计 PCB 电路板之前,可以先设置一些 PCB
电路板文件的信息,鼠标左键单击【文件 ➞
图框设置】,这里同样将 PCB 图框的尺寸设置为
A4 210 × 297mm
大小,而发行日期、修订、标题、厂商信息设置分别如下图所示:
接下来,转到【文件 ➞ 电路板设置】定义 PCB
如何进行生产制造,这里最重要的选项是【物理压层】,这里保持默认的铜层数量为
2
层即可:
接下来,转到【设计规则 ➞ 约束】界面,这里需要根据 PCB 制造工厂的工艺规格进行相应设置,在这里我们保持默认值即可:
最后,打开【设计规则 ➞ 网络类表】界面,KiCad 可以支持基于网络类来为特定的电路网络配置设计规则:
注意:虽然可以在绘制电路板的过程当中手动管理这些约束,但是 KiCad 官方还是建议使用网络类,因为它能够自动的进行设计规则检查。
导入原理图
打开原理图编辑器顶部工具栏的【在电路板编辑器中打开 PCB】按钮或者直接按下快捷键【F8】,打开【从原理图更新 PCB】对话框,点击【更新 PCB】按钮,将之前原理图当中的设计数据导入至 PCB 编辑器:
然后移动鼠标,选择的合适的位置按下【鼠标左键】,把原理图当中的 3 个元件封装放置在原理图编辑器的编辑区当中:
绘制 PCB 板框
放置好元件封装以后,就可以开始绘制 PCB
板框,绘制板框时通常需要将网格尺寸切换至
1mm
,同时选中【外观】面板当中的 Edge.Cuts
层:
鼠标选择右侧工具栏当中的【绘制矩形】,围绕 3 个元件封装绘制一个闭合的矩形作为 PCB 板框:
注意:除此之外,还可以利用右侧工具栏当中提供的工具,绘制出线、圆弧、矩形、圆形、多边形,组合运用它们就能够绘制出复杂的板框形状。
元件的摆放布局
完成板框的绘制之后,接下来的工作便是对元件进行合理的摆放与布局,通常需要考虑到下面几个因素:
- 遵循结构要求,合理的布局
连接器
、屏幕
、按钮
、开关
等接插元件; - 考虑信号完整性问题,例如旁路电容应当靠近关联的电源引脚,敏感的模拟元件应当远离数字信号的干扰;
- 合理的选择将元件封装放置在 PCB 电路板的正面(Front)或者反面(Back);
- 根据预拉线(也称为飞线,Ratsnest)的提示,元件的摆放位置要便于布线操作,相互连接的元件封装要摆放到一起;
选择 KiCad 右侧外观面板上的 F.Cu
顶层铜层,按下快捷键【M】按照下图所示移动与摆放元件封装,然后选中电池座
BT1
,接下快捷键【F】将其从
F.Cu
顶层(显示为红色)翻转至
B.Cu
底层(显示为蓝色):
开始布线
完成元件封装的摆放布局之后,就可以开始着手进行布线了。首先将当前的活动层切换至
F.Cu
顶层铜层,然后点击工具栏上的【布线】按钮,或者直接按下快捷键【X】,开始连接元件封装的焊盘,布线过程当中如果按下快捷键【V】则会在鼠标停留位置添加一个连接顶层与底层的通孔,按下鼠标放置过孔之后,同时走线也会自动切换至
B.Cu
底层铜层,完成布线之后的 PCB
电路板如下图所示:
注意:布线过程当中,可以通过按下快捷键【W】和【Shift + W】前后切换预定义的线宽。
覆铜操作
数字电路设计当中,覆铜区域通常会与 GND
或者
VCC
相互连接,从而降低地线阻抗提升抗干扰能力,或者降低电压降提升电源效率。鼠标点击右侧工具栏当中的【添加填充覆铜】或者按下快捷键【Ctrl
+ Shift + Z】。此时 KiCad
会自动弹出【覆铜区属性】对话框:
这里选择覆铜区所在的层为 B.Cu
底层铜层,所要连接的网络为
GND,然后点击按钮【确定】,依次选择出覆铜区域的四个角,最后双击鼠标完成覆铜区域的框选:
接着鼠标展开 KiCad 顶部菜单栏的【编辑 ➞ 填充所有覆铜】,或者直接按下快捷键【B】,对覆铜区域进行填充操作:
注意:覆铜操作之后,如果移动了元件封装,此时 KiCad 并不会自动重新进行覆铜,必须再次手动进行覆铜操作。除此之外,如果覆铜区域在视觉上比较遮挡接下来的布线操作,则可以点击左侧工具栏上的【仅显示覆铜边界】按钮,隐藏覆铜区的高亮颜色。
DRC 设计规则检查
最后,鼠标选择 KiCad 顶部工具栏的【显示设计规则检查器窗口】,点击【运行 DRC】按钮开始执行 DRC 设计规则检查:
DRC 设计规则的相关提示信息,可以在 KiCad 顶部菜单栏【文件 ➞ 电路板设置 ➞ 设计规则 ➞ 违规严重程度】的下面进行配置:
注意:当 KiCad 提示 DRC 检查的错误和警告数量为
0
的时候,就完成了 PCB 电路板的全部设计过程。
查看 3D 效果
KiCad 的 PCB 编辑器提供了一个 3D 查看器,可以用于查看 PCB 电路板的实物效果。鼠标点击顶部菜单栏的【视图 ➞ 3D 查看器】,或者直接按下快捷键【Alt + 3】,就可以实时的查看到当前 PCB 电路板的 3D 预览效果:
制造输出
完成 PCB 电路板的设计工作之后,就可以导出 Gerber 光绘文件,交付给工厂进行加工制造生产。
生成 Gerber 文件
鼠标选择 PCB 编辑器顶部菜单栏上面的【文件 ➞
制造输出 ➞ Gebers
(.gbr)】,在弹出的【绘制】对话框里,按照下图所示的选项进行设置。按下【绘制】按钮之后,生成的
Gerber 文件将会存放至当前工程的 Gerber
目录下面:
生成钻孔文件
按下【绘制】按钮生成 Geber
文件之后,再点击【绘制】对话框右下角的【生成钻孔文件】按钮,在打开的【生成钻孔文件】对话框里勾选如下设置,这里依然将生成的钻孔文件存放在当前工程的
Gerber
目录:
生成封装位置文件
鼠标选择 PCB 编辑器顶部菜单栏上面的【文件 ➞
制造输出 ➞ 元件放置文件
(.pos)】,在弹出的【生成放置文件】对话框里进行如下设置,这里同样把生成的位置文件存放在当前工程的
Gerber
目录:
预览 Gerber 文件
使用 KiCad 提供的 Gerber 文件查看器
,可以打开上述步骤在 Gerber
目录下生成的绘制文件与钻孔文件进行预览:
生产制造文件清单
经过上述一系列的操作步骤之后,就可以将生成的这 11 个文件交付给 PCB 电路板工厂进行生产制造:
1 | D:\Workspace\abrams\Tutorial\Gerber(master -> origin) |
电路板的分层
KiCad 提供的 PCB 编辑器 支持多达
49
个不同的图层,其中 32
个用于布线的铜层,以及 14
个固定用途的技术层(包含 12
个正面或背面的配对技术层以及 2
个独立技术层)。除此之外,还拥有
User.1 ~ User.9
一共 9 个可供用户自定义的图层,以及
User.Eco1
、User.Eco2
、User.Comments
(注释层)、User.Drawings
(图纸层)
这 4 个辅助层:
打开 PCB 编辑器顶部菜单栏的【电路板设置】,展开【电路板压层】菜单的物理压层与电路板编辑器图层,就可以对当前 PCB 电路板的分层信息进行设置:
铜层
铜层(F.Cu
、B.Cu
、In编号.Cu
):用于放置元件与布线的常用工作层,层编号从0
开始(即最前面的第
1
个铜层)到 31
(即最后的第 32
个铜层)结束,由于元器件不能摆放在编号 1 ~ 30
的内层当中,因而只有第 0
和第 31
这两层属于元件层。
配对技术层
这 12
个配对技术层总是成对出现:一个用于正面(用
F
标识),另外一个用于背面(用
B
标识),构成这些层之一的覆盖区(焊盘,绘图,文本)元素将会自动镜像,并在翻转覆盖区时移动到补充层。
- 粘合剂层(
F.Adhesive
、B.Adhesive
):用于粘合剂涂抹,通常在波峰焊之前将贴片元件粘贴至 PCB; - 焊膏层(
F.Paste
、B.Paste
):用于制造钢网,以方便在进行回流焊之前,在贴片元件焊盘上涂抹锡浆; - 丝印层(
F.Silkscreen
、B.Silkscreen
):用于标识元件的层,例如元件的极性、首引脚标识、安装参考等; - 阻焊层(
F.Mask
、B.Mask
):用于放置焊盘的层,该层不会被阻焊油覆盖; - 封装层(
F.Courtyard
、B.Courtyard
):用于展示元件在电路板上面占用物理空间的大小; - 制造层(
F.Fab
、B.Fab
):用于记录需要传递给 PCB 电路板生产工厂的加工制造信息;
独立技术层
- 边缘切割(
Edge.Cuts
)用于绘制电路板边框,放置在该图层上的任何元素(例如图形
与文本
)都会出现在其它层; - 电气边界(
Margin
)用于划分板框的电气边界,避免元件封装和走线被放置到板框以外;
库与库表的管理
KiCad 当中的原理图符号
和
PCB 封装
都是以库的形式进行组织(即原理图符号库与
PCB
封装库),它们分别以原理图符号库表和
PCB 封装库表的形式被 KiCad
纳入进行管理,库表当中主要保存有库的名称以及所存储的磁盘位置。
库表分为全局和工程两种作用域,其中全局库表里的符号
与封装
在所有工程当中共用,而工程库表当中的符号
与封装
只对指定的工程可用,KiCad
允许用户将自定义的库添加至全局库表或者工程库表当中。
在原理图编辑器当中,点击顶部菜单栏的【偏好设置 ➞ 管理符号库】,就可以打开符号库的管理界面:
在PCB 编辑器当中,同样点击顶部菜单栏的【偏好设置 ➞ 管理封装库】,也可以打开封装库的管理界面:
观察上图可以发现,库的路径都是采用路径变量进行定义的,这样即使用户把所有库移动到新的位置,只需要重新定义路径变量指向新的位置即可,KiCad 的路径变量可以在原理图编辑器或者PCB 编辑器顶部菜单栏的【偏好设置 ➞ 配置路径】界面进行设置:
注意:上述界面当中的
{KIPRJMOD}
是一个非常有用的路径变量,该变量始终指向当前的工程目录,因而可以用于指定仅用于当前工程的符号库或者封装库
通过鼠标点击 KiCad
提供的符号编辑器或者封装编辑器顶部菜单栏的【文件
➞
新建库】,就可以新建一个符号库
或者封装库
,此时两者都会弹出一个【添加到库表】对话框,询问要将该新建库添加至全局库表还是工程库表:
符号
和封装
库表文件的具体存放位置,取决于当前所使用的操作系统:
- Linux:
~/.config/kicad/6.0/sym-lib-table
和~/.config/kicad/6.0/fp-lib-table
; - Windows:
%APPDATA%\kicad\6.0\sym-lib-table
和%APPDATA%\kicad\6.0\fp-lib-table
; - MacOS:
~/Library/Preferences/kicad/6.0/sym-lib-table
和~/Library/Preferences/kicad/6.0/fp-lib-table
;
自定义原理图符号
新建符号库
鼠标点击原理图编辑器顶部菜单栏的【工具 ➞ 符号编辑器】,就可以打开原理图符号编辑器对话框:
继续点击符号编辑器顶部菜单栏的【文件 ➞
新建库】,新建一个名称为 Getting_Started.kicad_sym
的符号库,将其加入至【工程】库表,并且选择存放在当前的工程目录之下,此时符号编辑器左侧的【库】面板就会自动刷新显示出
Getting_Started
库:
新建符号
鼠标选中左侧【库】面板当中的
Getting_Started
库,再点击鼠标右键菜单当中的【新建符号】选项,新建一个符号名称为
M2011S3A1W03
,默认位号为 SW
的单刀单掷开关(SPST,Single-Pole
Single-Throw):
注意:该型号为
M2011S3A1W03
单刀单掷开关的数据手册点击可以这里进行下载。
此时,这个新建的名称为 M2011S3A1W03
的原理科符号就会出现在【库】面板当中,接下来就可以在
KiCad 中间的编辑区进行符号的绘制工作:
绘制符号引脚
首先点击符号编辑器右侧工具栏当中的【符号引脚】按钮,或者直接按下快捷键【P】,然后再点击编辑区弹出【引脚属性】对话框。这里设置引脚名称为
A
,引脚编号为
2
,电气类型选择为
无源
,方向设置为
向右
,X
坐标设置为-5.08
,Y 坐标设置为
0
,最后按下【确定】按钮把引脚放置在编辑区当中:
注意:如果需要再次编辑当前选中的引脚属性,可以【鼠标双击】引脚符号,或者选择鼠标右键菜单当中的【属性】,以及直接按下快捷键【E】。
接下来直接按下键盘上的【Insert】按键,在上述引脚的右侧放置一个引脚编号为
3
的引脚,并将其引脚名称设置为
B
,引脚编号自动被赋值为
3
,方向设置为 向左
,X
坐标设置为5.08
,Y 坐标设置为
0
:
原理图符号的引脚必须放置在 1.27mm/50mil
尺寸的网格,没有与网格对齐的引脚将无法在原理图编辑器当中进行连线操作。经过上述一系列操作之后,获得的效果如下图所示:
注意:快捷键【Insert】在 KiCad 当中用于重复上一个动作,此时所添加原理图符号的编号将会自动增长。
放置其它图形
在编辑区按下鼠标右键,选择弹出菜单当中的【网格】,将符号编辑器的网格从
1.27mm/50mil
切换至更小的尺寸,以便于绘制其它的图形:
在更小的网格尺寸下,分别再绘制一个矩形和圆形,使得原理图符号的形状更加接近于单刀单掷开关:
注意:在完成了其它图形的绘制操作之后,务必从更小的网格尺寸切换回
1.27mm/50mil
网格。
编辑符号属性
鼠标点击符号编辑器菜单栏上的【文件 ➞
符号属性】,或者【鼠标双击】中间的编辑区,打开【库符号属性】对话框,将关键字
描述设置为
SPST Switch Toggle
,点击【确定】按钮并且保存,这样就完成了原理图符号的绘制:
自定义 PCB 封装
前面完成了原理图符号的绘制工作之后,接下来着手进行 PCB 封装的绘制,同样用鼠标点击PCB 编辑器顶部菜单栏的【工具 ➞ 封装编辑器】,就可以打开 PCB 封装编辑器对话框:
继续点击封装编辑器顶部菜单栏的【文件 ➞
新建库】,新建一个名称为 Getting_Started.pretty
的封装库,依然将其加入至【工程】库表,并且选择存放在当前的工程目录下面,此时封装编辑器左侧的【库】面板就会自动刷新显示出
Getting_Started
库:
新建封装
鼠标选中左侧【库】面板当中的
Getting_Started
库,再选择鼠标右键菜单当中的【新建封装】选项,设置封装名称为
Switch_Toggle_SPST_NKK_M2011S3A1x03
,封装类型为通孔
:
点击【确定】按钮,就可以在封装编辑器的左侧【库】面板当中看到这个新建的封装:
放置焊盘
这个单刀单掷开关拥有 2
个引脚,在数据手册当中的编号分别为 2
和
3
,引脚之间的间距为
4.7mm
。这里鼠标依次点击封装编辑器顶部菜单栏上的【视图
➞
网格属性】,打开【网格设置】对话框,添加一个尺寸为
4.7mm
的自定义网格:
添加好自定义网格之后,切换封装编辑器顶部工具栏上的【网格】为上面设置的
4.7mm
用户网格:
接下来,鼠标点击封装编辑器右侧工具栏上的【添加焊盘】按钮,习惯上通孔封装的引脚
1
通常会位于编辑区坐标的 (0, 0)
位置(即封装左上角处),由于这个单刀单掷开关没有编号为
1
的引脚,因而只能将 (0, 0)
的位置留空,并且把焊盘 2
和 3
分别放置在
(0, 4.7mm)
和 (0, 9.4mm)
的坐标位置:
注意:由于单刀单掷开关的引脚对角线尺寸为
1.42mm
,所以需要将钻孔的尺寸设置为1.42mm + 0.2mm = 1.62mm
,焊盘的尺寸设置为1.62mm + 2 × 0.15mm = 1.92mm
。
观察可以发现此时的焊盘尺寸过小,因而可以将焊盘的尺寸增大至
1.62mm + 2 × 0.3mm = 2.22mm
,以确保更好的固定开关元件。由于
KiCad
的许多输入框都能够直接输入数学表达式,这里分别选择焊盘 2
和
3
按下快捷键【E】修改其属性,直接将等式
1.62 + 2 * 0.3
作为焊盘的尺寸输入进去,然后按下【确定】按钮进行保存:
制作轮廓
制作封装轮廓的时候,首先会在 KiCad
的制造层(F.Fab
)绘制一个精确的真实轮廓,用于标识元件的实际尺寸;然后在丝印层(F.Silkscreen
)绘制一个稍大一些的丝印轮廓,用于展示元件的安装位置,而在封装层(F.Courtyard
)绘制一个更大的封装轮廓,用于防止与其它的封装发生重叠。
第一步,鼠标点击封装编辑器右侧外观面板当中的
F.Fab
切换到制造层,此时的轮廓必须与元件的物理尺寸精确匹配,即宽度为
7.9mm
,高度为
13mm
。接下来,就可以利用右侧工具栏当中提供的线、圆弧、圆形、矩形、多边形工具绘制轮廓。通过将用户网格设置为如下参数,可以实现矩形轮廓的精确放置:
- 网格尺寸 X 和 Y 分别设置为
7.9mm
和13mm
; - 网格原点坐标 X 和 Y 分别设置为
7.9mm / 2 = 3.95mm
和4.7mm - (13mm / 2) = -1.8mm
;
首先,切换封装编辑器顶部工具栏上的【网格】为上面设置的用户网格;然后,在右侧【外观】面板切换至
F.Fab
制造层;最后,点击右侧工具栏当中的【绘制矩形】按钮,用鼠标拖拽出一个下图这样的矩形框:
第二步,切换到 F.Silkscreen
丝印层,因为丝印轮廓正好在真实轮廓之外,所以绘制的时候需要向外移动
0.11mm
。这里同样可以通过设置如下的自定义网格参数,快速实现轮廓的精确绘制:
- 网格尺寸 X 和 Y 分别设置为
7.9mm + 2 * 0.11mm = 8.12mm
和13mm + 2 * 0.11mm = 13.22mm
; - 网格原点坐标 X 和 Y 分别设置为
8.12mm / 2 = 4.06mm
和-1.8mm - 0.11mm = -1.91mm
;
依然选中右侧工具栏当中的【绘制矩形】按钮,使用鼠标在真实轮廓外面拖拽出一个类似于下图这样的矩形框:
第三步,切换到 F.Courtyard
封装层,同样由于封装轮廓正好位于丝印轮廓外侧,所以绘制时依然需要向外移动
0.25mm
。这里不再利用自定义网格的方式进行精确的绘制,而是直接切换至
KiCad 预定义的 1mm
网格,使用鼠标点击【绘制矩形】按钮并大致的拖拽出一个下图这样的矩形:
接下来再选中这个矩形,选择鼠标右键菜单当中的【属性】,或者按下快捷键【E】,打开【矩形属性】对话框,分别设置该矩形起始点的
X 与 Y 坐标为 -4.2mm
和
-2.05mm
,结束点的 X 与
Y 坐标为 4.2mm
和
11.45mm
,按下【确定】按钮之后,封装轮廓就会自动缩小至正确的位置:
第四步,按照下图展示的样子,重新摆放一下封装当中的文字信息,从而就完成了 PCB 封装的全部绘制工作:
注意:KiCad 官方提出《KiCad Library Convention》规范用于维护高质量的原理图符号与 PCB 封装库。
关联符号与封装
返回到符号编辑器,打开单刀单掷开关的原理图符号,依次打开【文件
➞
符号属性】,打开【库符号属性】对话框,鼠标单击
Footprint
字段,选择刚才在 Getting_Started
封装库下制作的 Switch_Toggle_SPST_NKK_M2011S3A1x03
封装,完成之后再点击【确定】按钮保存配置:
从现在开始,单刀单掷开关的原理图符号与 PCB 封装之间就建立起了关联,每次从原理图更新 PCB 时,就不需要再手动选择封装。接下来再打开原理图编辑器,将上面绘制的单刀单掷开关原理图符号添加到电路里去,并且重新进行【填写原理图符号位号】和【执行电气规则检查】的操作,最后得到的原理图如下面所示:
保存上面的原理图,然后按下【F8】键,将原理图更新到
PCB
电路板,并且删除之前的布线
与过孔
,在【PCB
编辑器】当中重新进行布局、布线、覆铜、设计规则检查,并且添加上丝印
UinIO.com by Hank
,最后得到的 PCB 电路板如下图所示:
在【PCB 编辑器】按下快捷键【Alt + 3】打开 3D 查看器,就可以对 PCB 电路板的效果进行预览:
原理图编辑器当中的每一个符号都需要分配相应的封装,分配给每一个原理图符号的封装名称,都会被保存在【符号属性】的
Footprint
字段里面:
注意:原理图符号必须指定相应的 PCB 封装,但是反过来 PCB 封装并不需要关联至原理图符号。
封装的 3D 模型同样会被保存在【封装属性】的
3D 模型标签下面,KiCad 可以支持以
.step
和 .wrl
作为后缀的 3D
模型格式,这些格式可以通过 FreeCad 和 KiCad
StepUp 两个工具进行创建:
总而言之,原理图符号
、PCB 封装
、3D 模型
三者之间的关联关系可以概括为原理图符号
➥ PCB 封装 ➥ 3D 模型,全文至此正式结束,更多关于
KiCad 使用技巧方面的内容,可以直接浏览《KiCad
官方文档》。
PCB 原点
KiCAD 的 PCB 编辑器当中,原点的位置可以被设置为图框原点(编辑器图框左上角)、钻孔/放置文件原点(手动放置)、网格原点(手动放置)三种形式。由于历史遗留原因,PCB 编辑器默认的坐标系原点位置计算方式如下所示:
可以发现上图当中 Y 轴的定义,与传统认知当中数学平面直角坐标系的定义相悖(如下图所示):
面对这种情况,可以通过 PCB 编辑器【偏好设置】下的原点和轴的选项进行调整:
拼板
KiCAD 插件 kicad panelizer 只能支持一款 PCB 的复制拼板,如果需要拼接多块不同的 PCB,则推荐使用 GerberTools 工具。
插件缺失 pyclipper 的问题
解决过孔栅栏生成器(Via Fence Generator) 插件找不到
pyclipper
库的问题,可以进入 KiCad
安装目录下的 D:\Software\Tech\KiCad\bin
,执行
python -m pip install pyclipper
命令即可解决问题。
1 | D:\Software\Tech\KiCad\bin |
开源 EDA 工具 KiCad 6.0 电路设计小书