开头
玩KiCad快五年了,从最初被AD的版权问题逼着试用,到后来主动把手上几个量产项目全迁过来,中间踩过无数坑。今天这篇不是官方文档的复读,而是把我从原理图到PCB在KiCad里走完整个流程的经验、教训、快捷键、参数选择逻辑全部摊开讲。不管你是被学校逼着交作业、被公司要求切换EDA,还是纯粹想找一个免费且跨平台的方案,这篇应该都能让你少走我当初走过的弯路。
先说它解决的痛点:KiCad是完全开源免费的PCB设计套件,不限画板面积、不限引脚数、没有树脂授权弹窗,Windows、macOS、Linux通吃。配合嘉立创这类国产打样服务,从原理图到PCB文件再到打样回来,一晚上就能搞定一块板。老手用它转向做复杂项目,新手可以拿它避开学AD第一周就撞上的各种版权和操作门槛。
1. 为什么是KiCad:一次工具链的重新审视
1.1 与立创EDA的对比和选型逻辑
热搜里"立创EDA和KiCad哪个好用"这个问题我几乎每周都被人问。我的回答是:如果只是画简单双面板、用立创商城现成元件、追求"打开浏览器就能画",立创EDA确实上手更快,元件库集成得很舒服,打样流程无缝对接。但如果你要画的板子有上百个元件、有差分对等长、有复杂电源平面分割,或者你受不了EDA工具把你绑定在一家商业生态里,KiCad的开放性和纵深会明显胜出。
立创EDA最大问题是完整导出自由格式不顺畅,换工具时迁移成本高。KiCad文件全是文本格式,原理图、PCB、封装都能做版本管理,两三个人协作时用Git管理工程文件特别顺手,这一点在团队里价值极高。另外KiCad的社区插件体系成熟,比如交互式BOM插件、IPC-2581导出、以及各类自动化脚本,这些在国产EDA上还很薄弱。只画简单板子,随便选;走职业路线或做复杂板子,KiCad后劲更足。
1.2 下载安装与界面认知
KiCad官网下载对应平台安装包,Windows用户一路Next即可。打开后你会看到一个项目管理器,里面分原理图编辑器、PCB编辑器、封装编辑器等模块,很多人第一次会被这种模块化设计弄懵:为什么不像AD那样一个窗口全搞定?实际上这是优势:每个模块专注一个任务,崩溃影响范围可控,改动原理图后PCB端手动刷新一下就会自动同步网表。
在动手画之前先设置几个路径:偏好设置里的用户库路径、封装库路径、3D模型路径,建议统一指向一个你自己建的库文件夹。这一步很多人忽略,等到画了一百个封装后系统盘爆了才后悔。同时打开"首选项->原理图编辑器选项->默认图纸大小"选A4,网格选1.27mm配合2.54mm排针间距,这是做小板最顺手的参数。
2. 原理图阶段:把想法变成能出网表的图纸
2.1 从SW6206、STM32F103C8T6这类芯片说起
热搜词里出现"SW6206原厂方案全套资料",说明很多人想对着数据手册自己画快充电源板。SW6206是颗集成度很高的电源管理SOC,内部集成了升降压、协议识别、电量显示,外部只需要电感、MOS、电阻电容和Type-C座子,适合做移动电源。这类芯片的参考设计一般会提供一个PDF原理图,初学的人看着PDF用KiCad画,操作顺序大概是:先在原理图编辑器里放符号芯片,再摆外围阻容、接口座。
绘制时最影响效率的操作是:按M键移动元件、按R键旋转、按C键复制、按X键镜像。同时按住鼠标右键拖动可以快速平移画布,鼠标滚轮是缩放。放一个元件后,按R旋转到合适方向,按C复制连续放置。这一套键位记熟了,一小时画完SW6206的典型应用电路完全没问题。更关键的一点是:**原理图里用全局网络标签连接相同名字的网络,比用导线满图飞线要干净得多。**比如把3.3V、GND、VBUS这些电源网络全用电源符号和网络标签标示,ERC检查时也更清晰。
STM32F103C8T6核心板的原理图是另一个高频搜索。这类最小系统需要关注:3.3V供电要加0.1uF和10uF去耦电容,复位引脚要接10k上拉电阻加0.1uF电容到地,BOOT0下拉到地,晶振8MHz加两个20pF负载电容。用KiCad画时,我会先在图纸右边做好电源网络,然后按信号流向从左到右放MCU和外围器件。每个去耦电容尽量靠近对应供电引脚放置,这个习惯从原理图阶段就建立,到了PCB阶段会轻松很多。
2.2 封装选择与自建符号
画完符号只是一半工作,另一半是保证每个元件都有正确封装。KiCad自带的标准库非常全,常见排针、电阻电容0805/0603、STM32LQFP48都有。但国产专用芯片往往库里没有,这时有两条路:去GitHub找第三方库,或者自己画封装。SW6206这种QFN/SSOP封装,建议直接用原厂数据手册里的封装尺寸自己画,因为第三方库可能过时且缺少散热焊盘。
自建封装的路径是:封装编辑器->文件->新建,然后用画布放置焊盘,设置焊盘编号、形状、尺寸。排针类元件建议直接复制现有库里的,改一下丝印和编号就行,不用从零画。封装焊盘尺寸的原则是IPC标准或数据手册推荐,别自己拍脑袋:精度差的碳膜电阻可以按普通标准,小封装芯片优先按数据手册推荐值和钢网开孔考虑。封装画好后在原理图编辑器里给对应符号添加封装属性,保存后按F8可以预览3D模型,这一步能提前发现封装错引脚的问题。
2.3 ERC电气规则检查与网络表生成
原理图画完,点击"检查->电气规则检查",ERC会列出错误和警告。新手常见问题是:未连接的引脚、名称冲突的输出引脚、悬空的电源引脚。ERC报错=必须处理,ERC警告=根据实际情况忽略或修正。我在给STM32F103C8T6画最小系统时,最容易漏的是MCU的VDD和VDDA引脚接3.3V网络没标,如果不检查直接进PCB,少一个供电引脚直接板子不跑。养成画完就跑ERC的习惯,每次报错都看一遍具体引脚,比后期飞线排查省几小时。
网表生成是原理图到PCB的桥梁。在原理图编辑器点"生成网表",选"KiCad EDA及其外部插件使用的默认格式",保存为.net文件。下一步在PCB编辑器里点"更新PCB",把网表导入。很多初学的人会问:为什么我PCB里找不到元件?因为忘了做这一步或者选错网表格式。导入后元件会堆在一起,接下来就是布局与布线的重头戏。
3. PCB布局布线:从堆元件到可打样的板子
3.1 板框、螺丝孔与层叠设计
在PCB编辑器里,第一件事永远是定板框和固定安装孔。用Edge.Cuts层画板框,快捷键"图形线"绘制矩形边界,然后用"指定精确尺寸"把宽高改成目标值。例如画一块15mm乘27mm的移动电源控制板,直接在图纸上拉矩形再改尺寸。板框画完后,放安装孔用"Pad"工具,孔径3.2mm外径6mm的M3螺丝孔,放在四个角时注意距离板边至少3mm,防止打样时板边崩裂。
层叠设计要看信号复杂度和成本。双面板是最常见选择,顶层走信号,底层走地平面,适合大部分MCU板和电源板。如果涉及DDR4这类高速总线,热搜里出现的"ddr4原理图"说明有人在做高速板,那推荐4层:顶层信号、第二层完整地平面、第三层电源平面、底层信号。KiCad在"图层设置"里可以直接定义层叠结构,板厂支持的叠层厚度也会在这里标注。给四层板设置层叠时,默认的FR4厚度和铜厚通常可以直接用,但要注意在制板说明里写清楚1.6mm厚度、1oz铜厚,这是最常见组合。
层叠设计有一条黄金律:紧邻信号层下方必须有完整的参考平面,这样信号回流路径最小,EMI和串扰都小。反面教材是有人把两层板都用顶层走信号、底层也走信号,然后各个方向拉了一堆地线,结果50MHz以上的信号波形惨不忍睹。
3.2 布线规则、线宽与电流换算
布线前必须设置设计规则,KiCad中点击"设置->设计规则->约束",设置最小线宽、最小间距、孔尺寸。常规双面板建议:最小线宽0.2mm、最小间距0.2mm、最小过孔外径0.6mm/孔径0.3mm。如果打样厂家支持,极限可以做0.15mm线宽,但没必要,成本更高且返修困难。
线宽和电流的关系是布电源线时避不开的问题。标准经验值:1oz铜厚、温升10摄氏度时,1mm线宽大约承载1A电流。所以3A输出的SW6206电源路径,线宽至少3mm,或者用覆铜填充一大片铜来替代。计算逻辑是:走线越宽,电阻越小,压降和发热越低。我习惯把电源线开到6到8mm宽的覆铜,关键功率回路用负片填充方式铺铜而不是每一根都拉线。
注意线宽电流对照是粗略估算,还要看铜厚和散热条件。2oz铜厚可以减半线宽需求,但打样价格会涨。普通项目优先1oz,功率大再考虑2oz。另外在相同电流下,走线越短越好,这是很多人忽略的:同样10A,10mm长和100mm长的压降差别明显,开关电源尤其敏感。
3.3 布局布线的核心顺序
布局顺序决定了布线顺不顺手。我的习惯是:先把连接关系最复杂的主芯片放在中心,然后按信号流向把外围器件围绕芯片按功能分区摆放。不要一个区域同时放电源、MCU、接口,然后指望自动布线搞定。SW6206这类电源芯片布局时,功率电感要尽量靠近SW引脚,输入输出电容靠近相应引脚,反馈网络走线要远离电感和SW节点。遵循"小回路"原则:输入电流路径、输出电流路径、地回流路径都要尽量紧凑,这是降低噪声的前提。
布线的顺序是:先布电源主干,再布敏感信号(晶振、USB差分线、I2C等),最后处理普通IO。晶振走线要短而粗,尽量远离大电流开关节点;USB差分线要等长并包地。自动布线器KiCad里有FreeRouting插件,作为辅助把难走的地方先通一通,但最后肯定要手动整理。纯靠自动布线做出来的板子,EMC基本失控。
3.4 特殊场景:反激式开关电源、高低压隔离、4-20mA电路
热搜里"反激式开关电源PCB""高低压隔离PCB"这类词说明很多人就在做电源类板子,而这类板子的布局布线是真正考验功力的地方。反激电源的初级地和次级地之间有安规电容跨接,布局时要把初级侧和次级侧分区放置,用光耦和变压器作为跨区连接点,中间留出足够的爬电距离。高压侧的走线间距要按电压等级来放宽,220V交流输入端的线间距至少1.5到2mm,别拿普通低压0.2mm规则直接套用。
关于"高低压隔离PCB",还有一个通用建议:先做一个单独的地平面区域给高压原边,再做一个单独给低压副边,原边地和副边地不能直接连一起,靠Y电容跨接。这个隔离带画板时要在Keep-Out层画一条2mm宽的禁布区,板厂会识别。反激电源的漏感尖峰会使SW节点产生高压振铃,所以RCD吸收电路应紧靠MOS管,吸收回路尽量短,否则辐射干扰会直接拉高EMI测试值。
至于"4-20mA的设计原理图",这类模拟信号电路在布局时讲究"单点接地"和"星型接地"。模拟地与数字地(或功率地)用0欧电阻或磁珠单点连接,防止数字噪声流入模拟地影响电流源精度。原理图里画星型接地,PCB上就用覆铜把模拟地围起来,在一点与系统地相接。而"H桥驱动电路原理图"最重要的是MOS驱动回路要短,续流二极管靠近输出端,逻辑控制部分与高压功率部分分开放。
4. 库的迁移与兼容:嘉立创库、AD经验与封装自制
4.1 从嘉立创EDA导入KiCad的正确姿势
热搜里"嘉立创库导入kicad"是大热点。嘉立创EDA库很方便,但要把它们导入到KiCad里,正统方式其实分两步。第一步:在嘉立创EDA里打开想要的元件,然后导出为KiCad格式,注意这个导出功能主要导出原理图符号和PCB封装。第二步:打开KiCad的"文件->导入->非KiCad工程",选择导出的文件。如果导入失败,大概率是版本兼容问题,这时直接在KiCad中重建符号和封装可能更快。
更靠谱的思路是:不要纠结单个库文件的导入,而是把嘉立创工程里的封装库整体导出成KiCad封装库。嘉立创EDA专业版的导出功能可以生成一个包含全部封装信息的文件夹,然后在KiCad偏好设置里追加这个封装库路径。我在实际项目中用过几次,发现封装焊盘编号能对上,但个别丝印字体和层属性需要调整。导入后务必做一次封装预览和3D查看,确认所有元件都有正确的3D模型,否则后续做结构干涉检查就是空谈。
还有一条更轻但更稳妥的路径:在嘉立创下单时直接导出Gerber文件,并不把工程落入KiCad,这在原理图与打样环节完全可行。如果想彻底用KiCad做设计,元件库里缺失的走"自建"路线,反而能保证封装数据可控。库迁移属于一次性成本,第一次花半天,之后一劳永逸。
4.2 管脚多的器件封装如何处理
"candence原理图封装设计管脚数很多的器件"这类热搜词其实在KiCad里同样适用。管脚多的芯片(比如FPGA、大MCU),封装绘制时会遇到两个痛点:焊盘间距很小、引脚数量多到看花眼。我的经验是把LQFP100或QFN64这类封装画成"图形辅助引导"形式:先画一个芯片边框,再按机械图纸把焊盘坐标逐一放入。
处理栅格设置很重要。LQFP48的焊盘间距通常是0.5mm,画封装时要把栅格设为0.1mm,这样坐标对得准。对于QFN封装,散热焊盘在芯片底部,画一个大一点的方形焊盘后要标注散热过孔位置。这类焊盘在PCB布局时也要在对应区域打扇出过孔到地平面。另外,画完封装后一定用"检查封装"做DRC,确认没有重叠焊盘、没有超出丝印框。引脚顺序与芯片数据手册不一致是最坑的问题,画完直接对照数据手册编号检查一遍,别只看PCB里能放上去就以为是对的。
4.3 从AD、Allegro转过来的快捷键习惯
AD用户转KiCad最常见的抱怨是快捷键不习惯。KiCad采用自带的一套快捷键体系,但可以改:偏好设置->快捷键,把常用的AD快捷键对应设置进去。例如AD里"ctrl+S保存、v+d对齐、P+G铺铜"可以改成KiCad对应的动作。Allegro用户则要适应KiCad没有"slide"命令时那种平滑推挤走线,KiCad的走线是"关闭相邻走线修饰"下直接画,配合Shift+B把已经布好的线推挤。实际上KiCad 7之后的推挤拉线功能已经很好用,熟练掌握后效率差距并不大。
我给转工具的用户一个建议:不要一上来就追求快捷键完全一致,先老老实实用默认键位画一块小板,比如一个LED闪烁板,不要多复杂,就10个元件。画完这块板,你会发现KiCad的键位其实是为效率和直觉设计的,再加自己的高频操作设置了Autohotkey或键盘映射,速度和AD差不多。
5. 常见问题排查与效率技巧实录
5.1 器件不能选中、原理图移元件断开连接
热搜里"ad中pcb上器件不能选中",这个在KiCad里同样存在。遇到过这类情况的人通常做了以下操作之一:锁定了元件、在错误图层上放置、或者打开了"选中过滤器"屏蔽了某些对象类型。排查方式很直接:点一个元件看右侧属性面板,锁定状态如果是"已锁"就解锁。在KiCad里还有一个"筛选器"按钮,默认是"全选",如果你不小心只勾选了"文本",那当然选中不了器件。如果依然选不中,大概率是元件堆叠了,用"编辑->查找"按参考编号定位。
"ad原理图移元件断开连接"对应到KiCad里则是另一回事。KiCad的导线连接是智能重连的:你移动一个元件时,连在它上面的导线会自动跟随,如果位置跨度太大导线会断开。解决方法不是去设置什么"坚强连线的选项",而是调整移动方向:先把元件垂直往旁边移,走线会自动跟着生成,再往目标位置移。拖拽的同时按键盘上下左右可以强制走线方向,熟练后比AD的手动连线更灵活,这也是KiCad画原理图时很多人没发现的隐藏技能。
5.2 螺丝孔、拼版与层叠厚度
热搜里"AD24如何在PCB上制作螺丝孔"以及"请问大的电源模块如何从PCB上拆下来"都属于制板后的实操细节。KiCad里做螺丝孔的方法很简单:在需要的位置放置一个通孔焊盘,孔径设为螺丝直径加0.3mm,外径设置为焊盘铜环。但要注意:如果是金属机箱安装孔,这个孔要接大地,连接到大面积的覆铜地平面,可以增强EMC性能;如果是塑料外壳的浮地安装孔,焊盘周围要铺隔离铜空槽,避免和内部电路短路。
热搜里"PCB拼版"也是量产前常做的操作。KiCad 8新增了拼版功能,可以在PCB编辑器里复制当前板框,按照行列排列,并保留工艺边和V-cut。自己拼版的要领是:板间距保持0.4mm,工艺边加5mm以上,V-cut线放在Edge.Cuts层用槽标记画线,最好给板厂提供一份装配说明。拼版后的钻带会包含所有定位孔,注意检查邮票孔和V-cut线是否和元件重叠。
5.3 热风枪拆大电源模块的实操体会
热搜里"大的电源模块如何从pcb上拆下来?用热风枪感觉没什么效果",这个我能深聊几句。热风枪吹不动大模块往往是因为:温度和风速不够、没有配合助焊剂、没有提前预热板子。正确做法是先用恒温台预热到120度左右,再用320到350度、风速5至6档的热风枪对着模块底部引脚扫,同时用镊子轻轻试探模块边缘有没有松动。如果还是不行,加一点中温焊锡膏把引脚全部覆盖,这样热传导更均匀。注意别长时间吹一个点:把温度设定在400度以内,一次不超过30秒,让板子冷却后再补一次,总比把板子烤鼓包好。这个方法适合所有大体积多引脚模块,实测非常稳。
5.4 交互式BOM、3D模型与文档输出的加分项
KiCad最让我离不开的是审板这步。原理图完成后跑完ERC,我会在PCB编辑器里启用"3D查看器"看整板效果,检查散热片是否干涉、插接件会不会撞外壳。更实用的是"交互式BOM"插件,一键生成网页版清单,包含每个元件位号、封装、数量、坐标,还可以和采购Excel表联动。给工厂投板前,我习惯导出三份文件:Gerber压缩包、钻孔文件、BOM清单。在KiCad里文件->制造输出->Gerber文件,选好层和精度1:1,页面设置好板间距,点击生成。别小看这步,Gerber里漏了"Edge.Cuts"图层导致板子外形缺失,是返工头号原因。
6. 从原理图到PCB的完整项目案例复盘
6.1 一块WS2812B灯板从零开始
拿"WS2812B控制原理图"举个例子。WS2812B是单线级联的RGB灯珠,原理图非常简单:数据脚串联一个330欧电阻到MCU引脚,VDD接5V供电,GND共地。用KiCad画时,很多人台灯板的MCU是STM32F103C8T6,所以先按前面说的搭好最小系统,再把WS2812B的输入脚接PB5之类引脚的输出,最后放一个5V转3.3V的LDO,整个电路骨架就成型了。
布局时注意WS2812B灯珠间距按LED灯带需求来,比如一厘米一个像素,全部排成一行,每个灯珠下方都要有良好的地平面连接。布线时把5V电源从一端供入,用覆铜把整条地网络铺满,保证电流均匀分布。数据线沿灯珠一路串过去,中间不要靠近电源开关节点。这块板用KiCad画完大概一小时,打样回来贴片焊好就能跑起来。
6.2 DHT11温湿度传感器小板的注意事项
"dht11原理图嘉立创画图"同样可以迁移到KiCad。DHT11原理图主要就是单总线接个10k上拉到3.3V,再加0.1uF去耦。但它有个常见坑:传感器三根引脚间距是2.54mm排针,画封装时直接库里选排针封装即可。然而市面上有些DHT11是四脚封装,其中有一个空脚。原理图里空脚不能悬空,要接一个"NC"标记,ERC才不会报错。做这个小板时最容易翻车的是把VCC和DATA接反,我在这上面烧过两次传感器。之后养成一个习惯:在原理图里给电源引脚加"电源标记",给信号线加不同的颜色标签,一眼就能看出哪根是地、哪根是信号。把这块板子做成邮票孔的圆形小板,跟任意开发板连接测试,非常实用。
6.3 一个小技巧:使用Git管理KiCad工程
分享了这么多案例,最后一个额外建议是用Git管理KiCad工程文件。KiCad各文件是文本格式,改版对比、回滚、多人并行协作非常方便。我的做法是:工程目录下放版本控制;每次画完原理图/PCB/封装就提交一次,提交信息写清楚"更换了电源芯片封装"或"调整了板框尺寸"。几个月后回看Git日志,能快速定位当初为什么改这块板。配合代码托管平台的在线预览,团队里其他硬件工程师也能随时查看最新版本。这是AD和立创EDA很难给到的工作流优势。
我个人的体验是:KiCad不是"免费替代品"那么简单。它把EDA设计真正控制在设计者手里,文件格式、库、工具链都是开放的。从一开始的不适应,到后来可以完全脱离商用EDA完成从原理图、仿真、PCB、到出生产文件的全流程,你也会慢慢适应这种掌控感。后面如果大家需要,我可以再把"KiCad差分对与等长布线""开关电源PCB环路优化"这些专题单独展开,每个专题里都有更多值得细讲的坑可以绕开。