====== 4. 电路原理图的绘制 ====== 无论任何一个PCB设计工具软件在设计原理图都会大致经历如下的10个步骤,KiCad也不例外。因此要想尽快熟悉KiCad在原理图这部分如何使用,就按照如下的10个步骤去体会每个步骤对应的功能是如何实现的,都需要什么样的操作,要注意哪些核心的要点和技巧,再自己动手设计一个项目,就能有所深刻体会。 - 创建工程和文件 - 设置图纸大小: 根据图纸的复杂程度、各元器件的原理图库,一般A3比较合适,一个设计可以采用多页 - 设置文件环境:格点大小、格点属性、光标属性、电气格点属性、图纸颜色等 - 加载元器件库:如果有已经构建好的符号,则直接加载来用,如果没有的话需要依照数据手册进行构建 - 放置元器件: 合理化、按照信号流程、可以翻转、旋转放置,方便连线、清晰理解 - 原理图连线: 减少交叉,尽量少用最好是不用文字的Net进行标记 - 调整修改原理图: 网标有没有重复、错误的连接、虚连接 - ERC检查(电气规则检查):电气连接上的错误 - 报表输出: 产生用于布局布线的Netlist、用于采购元器件的BOM清单 - 文件输出:保存、备份、导出到PDF或其它格式、打印 在此部分将介绍如何使用KiCAD开绘制原理图 ===== 4.1. 使用Eeschema绘制原理图 ===== 1 在Windows下运行kicad.exe,在Linux环境下可以在Terminal下键入“kicad”。 您现在就来到KiCad项目管理的主窗口中。 从这里您可以访问八个独立的软件工具:\\ {{ :kicad_main_window.png |}} KiCad主窗口 - Eeschema: 原理图输入 - Schematic Library Editor: 原理图库编辑器 - Pcbnew: PCB布局布线 - PCB Footprint Editor: PCB封装编辑器 - GerbView: Gerber 查看 - Bitmap2Component: 图片转元件 - PCB Calculator: PCB计算器 - Pl Editor: Pl编辑器。 请参阅工作流程图,了解如何使用这些工具。 2 创建一个新项目:**文件→新建→项目**。 将项目文件命名为//tutorial1//,系统将自动为项目文件采用扩展名“.pro”。 对话框的确切外观取决于你使用的平台,但应该有一个用于创建新目录的复选框。 如果你没有专用的目录,可以选中使用系统推荐的目录,您的所有项目文件都会保存在那里。\\ 3 那我们就开始创建原理图了。点击左侧的第一个按钮启动//Eeschema//(原理图编辑器){{:eeschema.png|}}\\ 4 单击顶部工具栏上的//Page Setting//(页面设置) 图标{{:sheetset.png|}}。设置合适的//纸张尺寸(A4,8.5x11//等)并输入标题为//Tutorial1//。如有必要,您将在此处看到可以输入更多信息。单击确定。此信息将填充右下角的原理图表。使用鼠标滚轮放大。保存整个原理图:文件→保存\\ 5 我们现在将放置第一个元器件。单击右侧工具栏中的//Place Symbol//(放置符号)图标{{:add_component.png|}}。您也可以按//Add Symbol//(添加符号)热键[a]。\\ 6 单击原理图表的中间部分,屏幕上将出现一个//选择符号//窗口。我们要放一个电阻器,在电阻器类别的R上搜索/过滤。您可能会注意到电阻器上方的//Device(器件)//标题。此器件标题是元器件所在库的名称,这是一个非常通用且有用的库。{{ :choose_component.png |}} 7 双击它,这将关闭//Choose Symble(选择符号)//窗口。单击要放置的器件的位置将选中的器件放在原理图页面中。 8 鼠标指在元器件上单击放大镜图标就可以放大元器件。或者使用鼠标滚轮放大和缩小。按下滚轮(中央)鼠标按钮可水平和垂直平移。 9 尝试将鼠标悬停在器件//R//上并按[r]。该器件就会发生旋转。你无需实际单击该器件即可旋转它。 注意:如果您的鼠标也在//Field Reference(R)//或//Field Value(R?)//上,则会出现一个菜单。 您将在KiCad中经常看到//Clarify Selection//菜单; 它允许处理彼此重叠的对象。 在这种情况下,告诉KiCad你想对Symbol ... R ...执行操作。 10 右键单击器件的中间位置,然后选择//属性→编辑值//。 将鼠标悬停在器件上并按[v]可以获得相同的结果。 或者,[e]将带你进入更通用的属性窗口。 请注意下面的右键单击菜单如何显示所有可用操作的热键。 {{ :edit_component_dropdown.png |}} 11 将出现“编辑值字段”窗口,用1k替换当前值R,单击确定。 注:不要改变元器件的参考标注字段(R?), 在后面系统将会自动编号,电阻器内的电阻“值”应该设置成了1k. {{ :resistor_value.png |}} 12 要再放置一个电阻器,只要用鼠标点击你要放置的位置,器件符号选择窗口将会再次出现。 13 你先前选用的元器件会在你的历史列表中,以R的形式出现,点击OK就可以放置该器件。 {{ :component_history.png |}} 14 如果你放错了器件想删除它,可以点击你要删除的器件,再点击“删除”就可以将该器件从原理图中移除,你也可以将鼠标悬浮在想要删除的器件上面,然后按“删除”。 15 如果你要复制放置在原理图上面的器件,将鼠标悬浮在想要复制的器件上面,按[c]. 鼠标点击你要放置器件的位置即可。 16 右键单击第二个电阻,选择“拖动”,重新定位器件并左键单击以放置。将鼠标悬停在器件上并按[g]可以实现相同的功能。 [r]将旋转器件,而[x]和[y]将围绕其x轴或y轴翻转。 注:右键单击→移动或[m]也是移动任何物体的有用选项,但最好仅将其用于尚未连接的器件标签和器件。 我们稍后会看到为什么会这样。 17 通过将第二个电阻悬停在其上并按[v]编辑第二个电阻。 将R替换为100. 您可以使用Ctrl + Z撤消任何编辑操作。 18 更改网格大小。 您可能已经注意到,在原理图表上所有元器件都被捕捉到大间距网格上。 您可以通过//右键单击→网格//轻松更改网格的大小,通常我们建议在原理图中使用50mil的网格。 19 我们将从还没有在默认项目中配置的库中添加元器件。 在菜单中,选择“首选项”→“管理符号库”。 在“符号库”窗口中,您可以看到两个选项卡:Global Libraries(全局库)和Project Specific Libraries(项目专用库)。 每一个库都有一个sym-lib-table文件。 如果要让一个库(.lib文件)可用,它必须位于其中一个sym-lib-table文件中。 如果你的文件系统中已经有某个库文件但却没有在这里显示出来,你可以通过“浏览库”将其添加到其中一个的sym-lib-table文件中。 为了方便练习,我们现在将添加一个已经可用的库。 20 您需要找到计算机上安装官方KiCad库的位置,查找包含数百个.dcm和.lib文件的库目录。 尝试C:\Program Files(x86)\KiCad\share\(Windows)和/usr/share/kicad/library/(Linux)。 找到目录后,选择并添加//MCU_Microchip_PIC12.lib//库并关闭窗口。 您将收到一个警告 - 该名称已存在于列表中; 但不用管,点击添加即可。 它将添加到列表的末尾。现在单击其昵称并将其更改//microchip_pic12mcu//。 单击"确定"关闭符号库窗口。 21 重复添加器件步骤,但这次选择//microchip_pic12mc//u库而不是//Device//库并选择//PIC12C508A-ISN//器件。 22 将鼠标悬停在微控制器器件上,[x]和[y]再次翻转器件,将器件返回到其原始方向。 23 重复添加器件步骤,这次选择//Device//(设备)库并从中选择LED器件。 24 有序排列原理图页面上的所有器件,如下所示。 {{ :gsik_tutorial1_010.png |}} 25 我们现在需要为我们的3针连接器创建原理图器件符号//MYCONN3//。 你可以跳转到KiCad中标题为“Make Schematic Components”的部分,了解如何从头开始制作该器件的符号库,然后返回本节继续使用该电路板。 26 现在可以放置新制作的器件。 按[a]并选择//myLib//库中的//MYCONN3//器件。 27 器件标记符J?将出现在//MYCONN3//标签下。 如果要更改其位置,请右键单击J? 然后单击//Move Field//(相当于[m])。 在执行此操作之前/之后放大可能会有所帮助。 重新定位J? 在如下所示的器件下。 标签可以随意移动多次。 {{ :gsik_tutorial1_010.png |}} 28 现在我们放置“电源”和“地”符号。 单击右侧工具栏上的//放置电源端口//按钮{{:add_power.png|}}。 或者,按[p]。 在器件选择窗口中,向下滚动并从//Power(电源)//库中选择//VCC//。 单击确定。 29 在1k电阻的引脚上方单击以放置VCC部件。单击微控制器//VDD//上方的区域。 在//器件选择历史//部分中,选择//VCC//并将其放在//VDD//引脚旁边。 再次重复添加过程,并在//MYCONN3//的//VCC//引脚上方放置一个//VCC//部件。 30 重复添加引脚步骤,但这次选择GND部分。 将GND部分放在//MYCONN3//的GND引脚下。 在微控制器的VSS引脚左侧放置另一个GND符号。 原理图现在应该看起来像这样: {{ :gsik_tutorial1_020.png |}} 31 接下来,我们将连接所有器件。 单击右侧工具栏上的“放置导线”图标{{:add_line.png|}}。 注:小心不要选择//Place bus(放置总线)//,它直接显示在此按钮下方,但线条较粗。 KiCad中的“总线连接”部分将详细介绍如何使用总线连接。 32 单击微控制器引脚7末端的小圆圈,然后单击LED引脚1上的小圆圈,在放置连接的时候你可以放大显示。 注:如果要重新定位已经被连线连接的器件,要使用[g](抓取)而不是[m](移动)。 使用“抓取”将保持电线连接。 如果你忘记了如何移动器件,请查看步骤24。 {{ :gsik_tutorial1_030.png |}} 33 重复此过程并连接所有其他器件,如下面的图所示。 要想终止继续连线,你可以双击即可。 当连接VCC和GND符号时,导线应接触VCC符号的底部和GND符号的中间顶部。 请参见下面的屏幕截图 {{ :gsik_tutorial1_040.png |}} 34 我们现在将考虑另外一种建立连接的方式 - 使用“标签”。 通过单击右侧工具栏上的//放置网络标签//图标{{:add_line_label.png|}}选择网络标签工具,你也可以用热键[l]。 35 单击连接到微控制器引脚6的导线的中间部位,将此“标签”命名为//INPUT//。 36 按照相同的步骤在100欧姆电阻的右侧放置另一个标签,也将其命名为//INPUT//。这两个标签具有相同的名称,在PIC的引脚6和100欧姆的电阻之间产生不可见的连接。 有些设计非常复杂,如果全部使用直接的连线将会使电路图非常杂乱,在这种情况下使用“标签”就比较合适。要放置标签,你不一定需要连线,只需将标签贴在管脚上即可。 37 标签也可用于简单地标记连线用于提供信息。 在PIC的引脚7上放置一个标签。 输入名称//uCtoLE//D。 将电阻器和LED之间的连线命名为//LEDtoR//。 将//MYCONN//3和电阻之间的连线命名为//INPUTtoR//。 38 您不必标记VCC和GND线,因为标签是从它们所连接的电源对象中隐含的。 39 最后的结果如下图所示: {{ :gsik_tutorial1_050.png |}} 40 我们现在处理未连接的连线。 当KiCad检查时,任何未连接的引脚或连线都会给出警告。为了避免这些警告,您可以告诉程序某些未连接的连线是故意这样设置的,或者手动将每个未连接的连线或引脚标记为未连接。 41 单击右侧工具栏上的//放置无连接标志//图标{{:noconn.png|}}。 单击引脚2,3,4和5. 放置一个“X”表示此缺少连线是故意的。 {{ :gsik_tutorial1_060.png |}} 42 某些器件有隐藏起来的的电源引脚,你可以通过单击左侧工具栏上的显示隐藏的图钉{{:hidden_pin.png|}}来使它们可见。 如果遵守VCC和GND命名,则隐藏的电源引脚会自动连接。 一般来说,你应该尽量不要制作隐藏的电源引脚。 43 现在需要添加一个//Power Flag//来向KiCad表明电源是从某个地方进来的。 按[a]并搜索//Power//(电源)库中的//PWR_FLAG//。 放置其中两个。 将它们连接到GND引脚和VCC,如下所示。 {{ :gsik_tutorial1_070.png |}} 注意:这将避免经典的原理图检查警告:“警告引脚power_in未驱动(Net xx)” 44 有时候很在这里和那里写评论是件好事。要在原理图上添加注释,请使用右侧工具栏上的放置文本图标{{:text.png|}}。 45 现在,所有器件都需要具有唯一标识符。 事实上,我们的许多器件仍被命名为R? 还是J? 通过单击顶部工具栏上的//Annotate schematic symbols icon//(标注原理图符号){{:annotate.png|}},可以自动完成标识符分配。 46 在Annotate Schematic(标注原理图)窗口中,选择//Use the entire schematic//并单击//Annotate//按钮。 在确认消息中单击“确定”,然后单击“关闭”。 请注意所有的?已被数字取代。 每个标识符现在都是唯一的,在我们的示例中,它们被命名为R1,R2,U1,D1和J1。 47 我们现在来检查一下原理图是否有错误。 单击顶部工具栏上的//执行电气规则//检查图标{{:erc.png|}},单击“运行”按钮。 生成一个报告,通知你任何错误或警告,例如断开的连线。 你应该有0个错误和0个警告。 如果出现错误或警告,原理图中将出现一个绿色小箭头,表示错误或警告所在的位置。 选中“创建ERC文件”报告,然后再次按“运行”按钮以接收有关错误的更多信息。 注意:如果您收到“未找到默认编辑器,你必须选择它”的警告,请尝试将路径设置为c:**\windows\notepad.exe**(windows)或**/usr/bin/gedit**(Linux)。 48 原理图现已完成。我们现在可以创建一个Netlist文件,我们将添加每个元器件的封装。单击顶部工具栏上的//Generate netlist icon//(生成网表){{:netlist.png|}}。单击//Generate Netlist//按钮并保存在默认文件名下。 49 生成Netlist文件后,单击顶部工具栏上的//Run Cvpcb icon//{{:cvpcb.png|}}。如果弹出丢失文件错误的窗口,请忽略它并单击“确定”。 50 Cvpcb允许你将原理图中的所有元器件与KiCad库中的封装链接起来。中心的窗格显示原理图中使用的所有元器件。在这里选择//D1//。在右侧窗格中,您可以看到所有可用的封装,此处向下滚动到//LED_THT:LED-D5.0mm//并双击它。 51 有可能右侧窗格仅显示可用封装的选定子组。这是因为KiCad正试图向您推荐一些合适的封装。单击图标{{:module_filtered_list.png|}},{{:module_pin_filtered_list.png|}}和{{:module_library_list.png|}}以启用或禁用这些过滤器。 52 对于U1,选择//Package_DIP:DIP-8_W7.62mm//封装。对于J1,选择//Connector:Banana_Jack_3Pin//封装。对于R1和R2,选择//Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_Vertical//封装。 53 如果您想知道您选择的封装是什么样的,您可以单击//“查看所选封装图标”//{{:show_footprint.png|}}以预览当前的封装。 54 搞定!您可以通过单击**文件→保存原理图**或使用按钮**应用**,保存原理图并继续 55 你可以关闭//Cvpcb//并返回Eeschema//斜体//原理图编辑器。如果你没有将其保存在Cvpcb中,请单击**文件→保存**立即保存。再次创建网表。您的网表文件现已更新,包含所有封装。请注意,如果您缺少任何设备的封装,则需要制作自己的封装。这将在本文档的后续部分中解释。 56 切换到KiCad项目管理界面。 57 网表文件描述了所有器件及其各自的引脚连接。网表文件实际上是一个文本文件,您可以轻松地检查,编辑或编写脚本。 注意:库文件(*.lib)是文本文件,它们可以非常容易地编辑或写成脚本. 58 要创建物料清单(BOM),请转到//Eeschema//原理图编辑器,然后单击顶部工具栏上的“生成物料清单”图标{{:bom.png|}}。 默认情况下,没有活动的插件。 您可以通过单击“添加插件”按钮添加一个。 选择要使用的*.xsl文件,在这种情况下,我们选择bom2csv.xsl。 注意 Linux的:如果缺少xsltproc,您可以下载并安装它:sudo apt-get install xsltproc 对于像Ubuntu这样的Debian派生发行版,或者sudo yum install xsltproc 对于RedHat派生的发行版。如果您不使用这两种发行版,请使用您的发行版软件包管理器命令来安装xsltproc软件包。 xsl文件位于:/usr/lib/kicad/plugins/。 Apple OS X:如果缺少xsltproc,您可以从应该包含它的Apple站点安装Apple Xcode工具,或者下载并安装它:brew install libxslt xsl文件位于:/ Library / Application Support / kicad / plugins /。 Windows:xsltproc.exe和包含的xsl文件将分别位于//\bin//和//\bin\scripting\plugins//。 对于所有平台: 您可以通过以下方式获取最新的bom2csv.xsl https://raw.githubusercontent.com/KiCad/kicad-source-mirror/master/eeschema/plugins/xsl_scripts/bom2csv.xsl KiCad自动生成命令,例如:xsltproc -o“%O”“/home//kicad/eeschema/plugins/bom2csv.xsl”“%I” 您可能想要添加扩展名,因此请将此命令行更改为:xsltproc -o“%O.csv”“/ home / <>> / kicad / eeschema /plugins / bom2csv.xsl”“%I” 按“帮助”按钮可以获取更多信息。 59 现在按//Generate//。该文件(与项目同名)位于项目文件夹中。使用LibreOffice Calc或Excel打开* .csv文件。将出现导入窗口,按OK。 您现在可以转到PCB布局部分,这将在下一节中介绍。但是,在继续之前,让我们快速了解如何使用总线连接组件引脚。 ===== 4.2.KiCad中的总线连接 ===== 有时候你需要将器件A上的多根顺序排列的线连接到器件B上的一些顺序排列的管脚上,在这种情况下你有两种选择:前面介绍的“标签”技术以及使用总线连接,我们看看如何实现总线连接: - 让我们假设您有三个4针连接器,您想要将引脚连接在一起。 使用标签选项(按[l])标记P4部件的引脚4。 将此标签命名为a1。 现在按[Insert]将相同的项目自动添加到引脚4(PIN 3)下方的引脚上。 注意标签是如何自动重命名为a2的 - 再按[插入]两次。 这个键将会重复最后一次的动作,它是一个无限有用的命令,可以让你的生活更轻松。 - 在另外两个连接器CONN_2和CONN_3上重复相同的标签操作,您就完成了。 如果继续制作PCB,您将看到三个连接器相互连接。 图2显示了我们描述的结果。 为了美观的目的,还可以使用图标{{:add_line2bus.png|}}将“连线连接到总线入口”执行多次和图标{{:add_bus2bus.png|}}将连线连接到总线上,如图3所示。但是,记住这对PCB没有影响。 - 应该指出的是,连接到图2中的引脚的短导线并非严格必要。 实际上,标签可以直接应用于引脚。 - 让我们更进一步,假设你有一个名为CONN_4的第四个连接器,无论出于什么原因,它的标签恰好有点不同(b1,b2,b3,b4)。 现在我们想要以引脚到引脚的方式将总线a与总线b连接起来。 我们希望不使用引脚标记(这也是可能的),而是使用总线上的标签,每个总线一个标签。 - 使用之前说明的标记方法连接并标记CONN_4。 将引脚命名为b1,b2,b3和b4。 使用图标{{:add_line2bus.png|}}将引脚连接到一系列Wire to bus输入,并使用{{:add_bus.png|}}图标连接到总线。 见图4。 - 在CONN_4的总线上放一个标签(按[l])并命名为b[1..4]。 - 在前一个总线上放一个标签(按[l])并将其命名为a[1..4]。 - 我们现在可以做的是使用带有按钮{{:add_bus.png|}}的总线连接总线a[1..4]和总线b[1..4]。 - 通过将两条总线连接在一起,引脚a1将自动连接到引脚b1,a2将连接到b2,依此类推。 图4显示了最终结果的样子。 注意: 通过[插入]可访问的//重复最后一项//选项可以成功用于重复期间项目插入。 例如,连接到图2,图3和图4中所有引脚的短导线都已放置此选项。    - 通过[Insert]访问的//Repeat last item//选项也被广泛用于使用图标{{:add_line2bus.png|}}将多个Wire系列放入总线入口。 {{ :gsik_bus_connection.png |}}