资讯动态

Altium Designer 20 元件库自建实战:二极管与光耦创建详解

发布时间:2026/10/24 1:26:47 来源:尧图企业网站定制
1. 元件库自建这件事为什么值得认真对待画原理图这件事很多人一开始都想着“库里有的直接用库里没有的网上找一个”结果画到一半发现引脚编号对不上、封装和实物差了几毫米、仿真模型缺失导致波形跑不出来。我在带新人的时候反复强调一句话元件库是硬件项目的底座底座歪了上面盖得再漂亮也得返工。Altium Designer 20 这套工具本身提供了相当完整的集成库但真实项目里总有一些器件是官方库里没有的二极管和光耦就是典型代表——前者型号浩如烟海后者封装形式千变万化指望官方库全覆盖不现实。这篇内容聊的就是在 Altium Designer 20 里从零创建一个二极管元件和一个光耦元件。听起来像是入门操作但真正做过项目的人都知道元件创建的核心难点不在“画个框加几根线”而在于参数体系怎么定、引脚电气类型怎么配、封装怎么关联、模型怎么挂接。一个二极管如果引脚类型标错ERC 检查会给你报一堆莫名其妙的错误一个光耦如果引脚映射搞反PCB 打样回来就是整批报废。所以这篇内容适合两类人看一类是刚接触 AD 不久、需要自己建库的新手另一类是做了几年但一直靠“复制粘贴别人库”过日子的老手——后者往往在遇到非标器件时最痛苦。我个人的习惯是任何项目开始前先把要用到的非标器件集中建一遍库统一命名规则、统一参数模板、统一封装关联方式。这样做的好处是后期改版、换料、做 BOM 的时候不会手忙脚乱。下面就把二极管和光耦这两个典型器件的创建过程拆开讲中间穿插一些我踩过的坑和实测有效的做法。2. 建库前的整体设计与思路拆解2.1 为什么选择独立 SchLib 而不是直接改集成库Altium Designer 20 里创建元件的入口有好几个可以在项目里新建 Schematic Library.SchLib也可以直接编辑集成库还能用 Manufacturer Part Search 面板直接调器件。我的建议是新建独立的 .SchLib 文件理由有三条。第一集成库.IntLib是编译产物直接改它相当于改编译后的二进制虽然 AD 允许但一旦重新编译就可能覆盖你的修改风险高。第二独立 SchLib 便于版本管理和团队共享一个器件一个文件或者一类器件一个文件谁改了什么都清清楚楚。第三独立库可以挂接多个封装和多个仿真模型灵活性远高于集成库里的固化条目。具体操作上我通常会在项目根目录下建一个Libraries文件夹里面再分SchLib和PcbLib两个子目录。新建库文件的路径是File → New → Library → Schematic Library建好后立刻按“厂商缩写_器件类别”的规则重命名比如GEN_Diode.SchLib、GEN_Optocoupler.SchLib。这个命名习惯看着不起眼但库文件一多起来没有规则就是灾难。2.2 二极管与光耦的建库策略差异二极管和光耦虽然都是“建元件”但策略完全不同。二极管属于“参数敏感型”器件同一套图形符号要对应成百上千个具体型号所以建库重点是参数模板要通用、封装关联要灵活光耦属于“结构敏感型”器件内部是发光二极管加光敏器件引脚数从 4 脚到 8 脚不等还分单通道、双通道、达林顿输出等变体所以建库重点是图形符号要能清晰表达内部结构、引脚电气类型要严格区分。我一般的做法是二极管建一个“通用符号 参数化模板”后续具体型号通过修改参数值来复用光耦则按通道数和输出类型分别建几个基础符号比如OPTO_1CH_NPN、OPTO_2CH_NPN、OPTO_1CH_Darlington。这样在原理图里放置时一眼就能从符号看出器件类型比统一用一个方框加几个引脚要直观得多。2.3 引脚电气类型的前置规划这一步是很多人忽略的重灾区。Altium 的引脚有电气类型属性Electrical Type包括 Input、Output、Bidirectional、Passive、Power、Open Collector 等。电气类型直接影响 ERC电气规则检查的结果配错了要么漏报要么误报。对二极管来说阳极和阴极都应该设为Passive因为二极管本身不驱动信号只是被动导通。有人喜欢把阳极设成 Input、阴极设成 Output这在纯模拟电路里问题不大但一旦做混合信号设计ERC 会把二极管误判为信号源或负载报出一堆“Output 对 Output 冲突”的假错误。对光耦来说发光二极管侧的两个引脚设为Passive光敏三极管侧的集电极设为Passive、发射极设为Passive基极如果有引出设为Input。这样配置下来ERC 检查干净利落不会给你添乱。提示电气类型不是“越精确越好”而是“越符合器件实际行为越好”。二极管和光耦这类器件大部分引脚用 Passive 是最稳妥的选择只有在明确需要表达驱动关系时才用 Input/Output。3. 二极管元件创建的核心细节与实操3.1 图形符号的绘制要点打开新建的 SchLib 文件默认会有一个Component_1先把它重命名为D_Generic或者你习惯的命名。然后进入符号绘制环节。二极管的符号很简单一个三角形加一条竖线但细节上有讲究。我习惯用Place → Line画三角形三个顶点坐标分别设为 (0, 0)、(0, 20)、(10, 10)单位是 milAD 默认栅格 10mil然后用一条竖线从 (10, 0) 画到 (10, 20) 作为阴极。这样画出来的符号尺寸适中放在原理图里不会显得过大或过小。关键细节是引脚要放在栅格上阳极引脚从 (-10, 10) 到 (0, 10)阴极引脚从 (10, 10) 到 (20, 10)长度都设为 10mil。引脚不在栅格上连线时会各种别扭这是新手最常见的坑之一。画完之后选中整个符号框选用Edit → Set Reference → Center把参考点设到符号中心。参考点决定了元件放置时的“抓取点”设偏了会导致元件在原理图里对齐困难。3.2 引脚属性与参数配置双击阳极引脚打开 Pin Properties 对话框。Designator 设为1阳极Display Name 设为A或者留空二极管符号本身已经表达了极性显示名称可以省略以保持简洁Electrical Type 选Passive。阴极引脚 Designator 设为2Display Name 设为KElectrical Type 同样选Passive。参数配置是二极管建库的重头戏。在Parameters区域添加以下关键参数参数名示例值说明Forward Voltage0.7V正向压降影响功耗估算Forward Current1A额定正向电流Reverse Voltage100V反向耐压Reverse Leakage5uA反向漏电流PackageSOD-123封装类型Manufacturer通用厂商信息这些参数不是摆设它们会直接进入 BOM 和设计文档后期做降额分析、热设计、选型替换时全靠这些数据。我见过太多项目 BOM 里只有型号没有参数换料时工程师得一个个查手册效率极低。建库时多花五分钟填参数后期省几小时。3.3 封装关联与模型挂接封装关联在Footprint区域操作。点击Add按钮选择Footprint然后从已有的 PcbLib 里挑一个合适的封装比如DIOM5226X220N这是 AD 自带库里的 SOD-123 封装。如果自带库里没有你要的封装就得先在 PcbLib 里画一个这个流程后面光耦部分会详细讲。模型挂接方面二极管通常需要挂一个 SPICE 模型用于仿真。在Simulation区域点击Add选择Sim Model然后填入模型名称和模型文件路径。如果只是做原理图设计不做仿真这一步可以跳过但我建议至少把模型名称填上方便后期需要时补挂。注意封装关联时一定要核对引脚映射。二极管的阳极对应封装的哪个焊盘、阴极对应哪个焊盘必须和实物数据手册一致。SOD-123 封装通常引脚 1 是阴极、引脚 2 是阳极和原理图符号的 1/2 编号可能相反这时候需要在封装关联对话框里手动调整 Pin Mapping。3.4 多型号复用的参数化技巧建好D_Generic之后实际项目里用到具体型号时怎么办我的做法是不新建元件而是复制后改参数。在 SchLib 面板里右键D_Generic选Clone重命名为具体型号比如D_1N4148然后只改参数值Forward Voltage 改成 1V1N4148 的实际正向压降在 1V 左右不是 0.7VForward Current 改成 300mAReverse Voltage 改成 100V封装改成DO-35。图形符号完全不用动。这样做的好处是符号风格统一原理图看起来整齐坏处是库文件会越来越大。折中方案是只对项目里高频使用的型号做 Clone低频型号用通用符号加备注的方式处理。我个人的库里有大约 30 个常用二极管型号的独立条目其余全部走通用符号。4. 光耦元件创建的完整实操过程4.1 光耦符号的结构化绘制光耦的符号比二极管复杂得多因为它要表达“电-光-电”的转换过程。以常见的单通道 NPN 输出光耦为例符号内部包含一个发光二极管和一个光敏三极管中间用两条平行线表示光传输。绘制顺序我一般是这样的先画发光二极管部分位置放在符号左侧三角形朝右阴极在下再画光敏三极管部分位置放在右侧集电极在上、发射极在下最后在两者之间画两条平行的短竖线表示光耦合。整个符号的尺寸控制在 40mil 宽、40mil 高左右引脚长度 10mil。具体坐标可以这样定发光二极管阳极引脚从 (-30, 10) 到 (-20, 10)阴极引脚从 (-20, -10) 到 (-30, -10)光敏三极管集电极引脚从 (30, 10) 到 (20, 10)发射极引脚从 (20, -10) 到 (30, -10)。中间的光耦合线画在 x -5 和 x 5 两条竖线上从 y -10 到 y 10。这样画出来的符号左右对称视觉上很舒服。4.2 引脚编号与电气类型的严格配置光耦的引脚编号必须严格对照数据手册。以某款常见的 4 脚光耦为例引脚 1 是发光二极管阳极引脚 2 是阴极引脚 3 是光敏三极管发射极引脚 4 是集电极。这个编号顺序不能想当然不同厂商的 4 脚光耦引脚定义可能不同建库前一定要翻手册确认。电气类型配置上引脚 1 和 2 设为Passive引脚 3 设为Passive引脚 4 设为Passive。有人会问光敏三极管的集电极不是应该设成 Output 吗我的经验是不要设。因为光耦的输出侧通常接上拉电阻或直接驱动后级电路设成 Output 会导致 ERC 报“Output 对 Output 冲突”如果后级也是 Output 的话。设成 Passive 最省心ERC 不会误报实际设计也不会出问题。如果光耦有基极引出比如 6 脚光耦的引脚 6 是基极基极设为Input因为它是用来注入电流调节灵敏度的属于输入性质。4.3 封装绘制从数据手册到 PcbLib光耦的封装往往需要自己画因为标准库覆盖不全。以 DIP-4 封装为例绘制流程如下新建 PcbLib 文件在 Top Layer 放置 4 个焊盘焊盘间距按数据手册的 2.54mm100mil设置焊盘孔径 0.9mm外径 1.6mm。焊盘 1 用方形标识其余用圆形。然后在 Top Overlay 层画器件外框尺寸按手册的 6.4mm × 4.8mm 左右。最后在焊盘 1 附近加一个圆点或缺口标识作为极性标记。关键细节是焊盘编号要和原理图引脚编号一一对应。画完封装后在 PcbLib 里双击焊盘检查 Designator 是否正确。我见过有人画封装时焊盘编号从 0 开始结果关联到原理图后引脚全错位PCB 打样回来只能飞线补救。焊盘尺寸的计算也有讲究。以孔径 0.9mm 为例焊盘外径一般取孔径的 1.8 到 2 倍即 1.6mm 到 1.8mm这样焊接时有足够的铜环支撑又不会因为焊盘太大导致桥连。如果是回流焊工艺焊盘可以适当缩小如果是手焊焊盘大一点更好操作。4.4 参数模板与多通道变体处理光耦的参数比二极管多典型的有Current Transfer RatioCTR电流传输比、Isolation Voltage隔离电压、Forward Voltage发光二极管正向压降、Collector-Emitter Voltage集电极-发射极耐压、Rise Time / Fall Time上升下降时间。这些参数在选型和设计计算时都要用到建库时全部填进 Parameters 区域。多通道光耦比如双通道 8 脚封装的处理方式是在同一个符号里画两组发光二极管加光敏三极管引脚编号按手册分配通常 1-2 是通道 1 输入3-4 是通道 1 输出5-6 是通道 2 输入7-8 是通道 2 输出。图形上两组符号上下排列中间用分隔线隔开。这样在原理图里一个元件就能表达双通道BOM 里也只占一行比拆成两个单通道元件要清晰。5. 建库过程中的常见问题与排查实录5.1 引脚不显示或显示异常新建元件后引脚看不见最常见的原因是引脚长度设为 0 或者引脚被隐藏了。检查 Pin Properties 里的Length值确保大于 0再检查Hide选项是否被勾选。另一个可能是引脚颜色和背景色相同在View → Show/Hide里调整显示设置即可。还有一种情况是引脚画了但原理图里连不上线这通常是引脚不在栅格上导致的。AD 的连线吸附依赖栅格引脚端点偏离栅格 1mil 都可能导致连不上。解决办法是选中引脚在属性里把坐标改成 10 的整数倍。5.2 ERC 报错与电气类型冲突ERC 报“Duplicate Pin Designator”说明同一个元件里有两个引脚编号相同检查 Designator 是否重复。报“Pin Not Connected”可能是引脚电气类型设成了 Input 但实际没接驱动源把类型改成 Passive 即可消除。报“Power Pin Not Driven”通常是误把某个引脚设成了 Power 类型改回 Passive 就好。我整理了一份常见 ERC 报错对照表建库时对照排查效率很高报错信息可能原因解决方法Duplicate Pin Designator引脚编号重复检查并修改 DesignatorPin Not Connected电气类型与实际连接不符改为 Passive 或补充连接Output-Output Conflict多个 Output 引脚直连改为 Passive 或加缓冲Missing Footprint未关联封装在 Footprint 区域添加Missing Model仿真模型路径错误检查模型文件路径5.3 封装关联后引脚错位原理图引脚和封装焊盘对不上是建库后期最头疼的问题。排查思路是先在原理图里双击元件打开 Pin Mapping 对话框看每个引脚映射到哪个焊盘再打开 PcbLib 对照焊盘编号。常见错误是封装焊盘编号从 0 开始或者原理图引脚用了字母编号A/K而封装用了数字编号1/2。统一用数字编号是最稳妥的做法。提示封装关联完成后建议在原理图里放置一个该元件然后执行Tools → Footprint Manager检查所有元件的封装关联状态一次性把问题揪出来。5.4 库文件编译报错SchLib 建好后需要编译成集成库才能被项目引用。编译时报错通常是参数格式不对或者模型路径无效。检查 Parameters 里是否有非法字符比如中文标点检查 Sim Model 的文件路径是否存在。编译成功后在Components面板里能搜到新建的元件说明库已经可用。6. 我个人的几条实操心得建库这件事说到底是“一次做对长期受益”。我刚开始做硬件的时候图省事元件都是现用现建参数随便填封装随手关联结果一个项目做完库文件里一堆Component_1、Component_2这样的垃圾条目下次想复用根本找不到。后来痛定思痛定了几条规矩现在库文件干干净净复用率极高。第一条规矩是命名必须带类别前缀二极管统一D_开头光耦统一OPTO_开头这样在面板里按字母排序时同类器件自动聚在一起。第二条是参数模板统一所有二极管至少填 Forward Voltage、Forward Current、Reverse Voltage 三个参数所有光耦至少填 CTR、Isolation Voltage、Forward Voltage 三个参数缺一个都不许入库。第三条是封装关联后必须做一次 Footprint Manager 检查确认没有 Missing Footprint 的条目。还有一个小技巧建库时顺手在元件的Description字段里写一句备注比如“通用二极管符号适用于 SOD-123/DO-35 封装”这样在原理图里悬停时能看到提示比翻库文件快得多。另外光耦的 CTR 参数建议填范围值比如 50%-300%而不是单一值因为实际器件的 CTR 离散性很大填单一值会误导后期设计计算。最后说一个容易被忽略的点库文件的备份。我习惯每完成一批元件创建就把 SchLib 和 PcbLib 打包备份到独立目录按日期命名。硬件项目周期长库文件被误改或误删的情况我遇到过不止一次有备份就能五分钟恢复没备份就得重画一整天。这个习惯看着笨但真的救命。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑