ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Altium Designer实战:CR2032/CR1220电池座AD集成库制作全流程

Altium Designer实战:CR2032/CR1220电池座AD集成库制作全流程 简介面向Altium Designer用户的纽扣电池座集成资源覆盖CR2032与CR1220两种常用型号包含原理图库、PCB封装库及3D模型。适用于需要快速完成便携设备、嵌入式主板等电池供电电路设计的硬件工程师与电子爱好者免去手工绘制封装库的重复劳动。文件包共6个文件以LibPkg工程文件为核心拆分后可得到SchLib原理图库与PcbLib封装库另含htm预览页面及REP相关报告文件整体大小约988KB结构清晰便于调用。目前已有2193人在CSDN浏览学习说明这套封装库具备较高的实用价值。拿到手后可直接将集成库加入Altium Designer按照对应型号放置原理图符号与PCB封装还可验证3D模型匹配度同时配套说明文档与设计预览文件有助于核对封装尺寸与引脚定义减少因封装错误导致的打样返工适合中高级硬件工程师按需取用也能帮助初学者了解标准电池座库的构建方式。1. 先拆开这个“AD集成库压缩包”里到底该有什么拿到一个名为“纽扣电池座 CR2032 CR1220电池 原理图库PCB库AD封装库器件库3D库AD集成库.zip”的资源第一件事不是解压拖进 Altium 直接放板而是先确认压缩包内四个文件组是否齐全原理图库.SchLib、PCB 封装库.PcbLib也就是常说的 AD 封装库、3D 模型.STEP 或 .Parasolid以及把这些内容绑定在一起的集成库工程.LibPkg。这类资源解决的问题很具体CR2032、CR1220 电池座是异形器件中央正极焊盘大、两侧负极弹片呈弧形通用封装库根本画不出来缺少 3D 模型还会让结构干涉检查失效等到投板后电池装不进去返工成本远超找一个靠谱库的时间。适合谁用常画电源板、仪表板、可穿戴产品的硬件工程师最需要中小团队没有专人维护元器件库直接拿现成的 AD 封装库能省掉从数据手册量尺寸的半天功夫。下面按建库的正常路径拆开讲从符号到封装、再到集成库编译与板厂验证每个环节都给出参数依据。2. 原理图库CR2032 电池座的管脚分配与符号绘制2.1 先看懂座子结构与“隐藏”的机械固定脚CR2032 名称里的 20 表示直径 20.0mm32 表示厚度 3.2mmCR1220 对应 12.5mm 直径、2.0mm 厚度。电池直径决定座体内腔尺寸但不直接等于焊盘尺寸。电池座电气上至少两个触点正极在电池中央由底部弹片或簧片引出负极在电池圆周侧面由左右弹片包住。多数 SMT 座子还会有 1 到 3 个机械固定脚它们负责把座子“钉”在 PCB 上提高整机跌落时的抗冲击能力。画原理图库前最重要的事情是打开具体型号的数据手册看它的 Recommended PCB Layout。纽扣电池座没有统一的行业封装标准不同厂商的座子外形差异很大只看“CR2032”五个字就开始画符号大概率会在贴片回来时发现弹片压不住电池边缘。我一般会把厂商机械图上的座体外径、弹片宽度、定位柱位置抄到自己的设计笔记里再开始建库。原理图符号设计策略固定脚不承担电气功能时画不画都行。我在工程里通常只画两个管脚1 号 BAT、2 号 BAT-固定脚在原理图里留白在 PCB 封装中把对应焊盘设为 No Net。这样原理图 ERC 不会因为多余管脚报警PCB 上固定焊盘也不会被误连到电源地。管脚号管脚名称电气类型说明1BATPassive接电池正极对应中央焊盘2BAT-Passive接电池负极对应左右弹片焊盘管脚电气类型选 Passive 而不是 Power这一点很多人会忽略。电池座不是电源器件它只是机械接触点设成 Power 会在原理图 ERC 时产生电源引脚冲突告警设置成 Passive 最干净也符合绝大多数原厂库的做法。2.2 在 Altium 里画一个电池座符号的步骤新建原理图库File New Library Schematic Library。保存为 BAT_LIB.SchLib 后在 SCH Library 面板里 New Component按以下流程放置放置外形Place Rectangle大小约 6×3 格中心对准原点。再加一条斜线或缺口表示电池插入方向不加也不影响电气规则。放置管脚Place Pin按下 Tab 编辑属性。Designator 填 1Name 填 BATElectrical Type 选 Passive。放完后再放第二个管脚Designator 填 2Name 填 BAT-。方向习惯管脚电气热点带叉的一端朝外放在矩形左右两侧。防止画原理图时导线接到矩形边框而不是管脚末端导致“看起来连上了、实际没连上”。元件属性在 Properties 面板里把 Designator 的默认前缀设为 BTDevice 填 CR2032-HOLDERFootprint 填 BAT_CR2032_SMD_H。注意 Footprint 字符串要和 PcbLib 里的封装名一字不差编译集成库时 Altium 就是靠这个字符串找封装的。2.2.1 同样画一个 CR1220 版本CR1220 的原理图符号可以直接复制 CR2032 的只改 Device 为 CR1220-HOLDERFootprint 改为 BAT_CR1220_SMD_H。原理图符号不需要体现尺寸差异因为尺寸在 PCB 封装层控制。这样做的直接好处是产品需要从 CR2032 降到 CR1220 节省空间时原理图只需要替换 Footprint不用重新画符号图纸可读性和维护成本都更好。2.3 管脚编号一致性原理图库与 AD 封装库之间的锚点原理图符号和 PCB 封装之间不是靠“名字长得像”关联而是靠管脚 Designator 一一映射。用多焊盘同号是最常见的做法CR2032 座子的左右两片负极弹片在物理上是分开的铜片但电气上都连接电池负极。若在 PCB 封装里把它们编成 2 号焊盘和 4 号焊盘原理图库就必须有相应两个管脚否则网络会缺一角。更稳妥的方案是把两个负极焊盘都编为 2AD 允许多个 Pad 使用同一个 Designator导入 PCB 后它们自动并入同一网络 BAT-。检查映射是否正确的办法画完原理图库后放到空白原理图执行 Design Update PCB Document在 Engineer Change Order 窗口里看有没有 Unconnected 项。出现 Unconnected 时九成是原理图管脚号与焊盘号对不上回到 SchLib 改 Designator 即可不需要动封装。3. PCB 封装库焊盘参数、3D 高度与散热设计3.1 从数据手册到 AD 封装库的关键尺寸PCB 封装库是整个集成库里工作量最大、也最容易返工的部分。设计时不是把焊盘做得越大越好而是要跟着数据手册的机械图和焊盘推荐值走。下面是我在项目里常用的参数基准适用于主流 CR2032 和 CR1220 贴片式电池座具体型号有差异时以厂商图纸为准。设计项CR2032 座子常用值CR1220 座子常用值依据 / 备注中央焊盘直径φ8.0 mmφ5.5 mm覆盖电池正极触点区域留 0.5mm 装配余量负极弹片焊盘3.0mm 宽 × 11.0mm 长2.8mm 宽 × 7.0mm 长对应弹片宽度与包络长度固定脚焊盘φ1.6mmφ1.2mm固定柱直径 0.3mm座体外框丝印φ23.0mmφ15.5mm略大于座体外壳供贴片定位总组件高度7.0 ~ 7.7mm4.5 ~ 5.2mm座体高度 电池厚度 焊料层中央焊盘和负极焊盘之间的间距至少留 0.3mm。这个数值低于 0.2mm 时板厂钢网开孔和 AD 默认的 SMD 焊盘间距 DRC 都会告警严重时两个网络在回流焊时桥连。实际项目里我会按 IPC-7351B 的 Level B 再加 0.1mm 余量宁可焊盘略小也不让电池座在贴片时发生连锡。3.2 AD 封装库操作步骤与焊盘属性设置新建 PCB 库File New Library PCB Library保存为 BAT_LIB.PcbLib。Tools New Blank Component 新建元件右键改名为 BAT_CR2032_SMD_H。中央焊盘Place Pad放置后双击打开属性Layer 选 Top LayerShape 选 RoundX-Size 和 Y-Size 都填 8mmDesignator 填 1。负极焊盘放两个 PadDesignator 都填 2Shape 选 Rounded RectangleX-Size 填 3.0mmY-Size 填 11.0mm。位置放在 X±9.0mm、Y0 处这样左右两侧各扣住电池负极圆周的一部分。固定脚焊盘放两个 φ1.6mm 圆形 SMD 焊盘Designator 留空或填 0导入 PCB 时不会生成网络。这是机械固定脚最干净的处理方式。负极弹片是弧形的但 AD 的普通焊盘画不出真正的圆弧包裹效果。常见做法是再追加两个小圆形焊盘与刚才的圆角矩形焊盘错位重叠 1mm叠出近似 C 形的包络。焊盘重叠不影响 Solder Mask 开窗也不会多网络因为 Designator 相同导入后是同一条铜。3.3 中央大焊盘的散热与回流焊虚焊CR2032 座子比普通无源器件麻烦的地方在于中央焊盘面积大。铜箔大面积铺地后热容量大回流焊时中央焊盘温度上升慢锡膏熔化不完全冷却后形成“冷焊”外观上看不清一按电池就掉。两个常用解决办法第一把中央焊盘缩到刚能覆盖电池正极触点的尺寸CR2032 用 φ8.0mm 而不是 φ10mm减少吸热面积。第二在 PCB 铜平面层上用 Polygon Cutout 挖出十字形隔热槽阻止热量从焊盘快速导走。SMD 焊盘不响应 AD 的 Thermal Relief 设置所以隔热槽要手工画位置放在中央焊盘正下方对应的铜皮区域。另一个做法是把中央大焊盘拆成多个同编号小焊盘比如中间一个 φ4mm 圆盘周围均匀放 4 个 φ2mm 圆盘全部编号为 1。这样做的好处是钢网开孔自动变成分散的开口上锡量均匀过炉时热容分散比纯实心大焊盘的虚焊率低很多。代价是焊接强度略降对靠弹片压紧的电池座影响不大。3.4 3D 模型绑定与装配高度验证3D 模型来源有两种座子原厂提供的 STEP 文件以及自己用 AD 内置 3D Body 按机械图拉出来的简化模型。原厂 STEP 最准确拿不到时按“底座厚度 电池厚度 上部凸台”拉一个近似体即可关键是总高度不能错。在 PCB 库编辑器中Place 3D Body Generic STEP Model选择 STEP 文件后在属性面板里设置 X/Y 坐标和 Z 方向偏移使模型底面贴住 PCB 顶面。电池座最高点的高度是座子底面到电池顶面的距离CR2032 座带电池通常 7.2mm 左右CR1220 在 4.8mm 左右。3D Body 属性里的 Height 如果填成电池厚度 3.2mm3D 视图里会显示一个矮扁的座子结构评审时严重误判。重要提示3D Body 属性中的“Ignore Height”复选框不要勾选。勾选后模型不参与 3D 碰撞检测外壳和电池座即使是干涉状态也不会报错等模具开完才发现问题代价极大。4. AD 集成库从 LibPkg 编译到 .IntLib 安装的一整套流程4.1 为什么要用集成库而不是散装 SchLib / PcbLib散装的原理图库和 AD 封装库各自独立通过模型链接关联只要发出去时少一个文件另一端就无法正常使用。集成库工程.LibPkg把原理图符号、PCB 封装、3D 模型合并编译成一个 .IntLib 文件安装后可以直接从 Libraries 面板拖放元件不需要手工维护链接路径。推荐的文件组织方式battery-holder/ Battery_CR2032.SchLib Battery_CR2032.PcbLib Battery_CR1220.SchLib Battery_CR1220.PcbLib 3D/ CR2032_HOLDER.STEP CR1220_HOLDER.STEP BatteryHolder.LibPkg把整套库放进 SVN 或 Git 时LibPkg 里的文件引用尽量用相对路径避免别人同步代码后编译报“找不到文件”。集成库的版本号建议写进 LibPkg 文件名比如 BatteryHolder_Lib_V1.2.LibPkg方便在共享目录里区分新旧。4.2 绑定模型并检查 Footprint 名称一致性在 Altium Designer 中File New Project Integrated Library 新建集成库工程然后把四个库文件 Add Existing to Project。打开 SchLib 里的 CR2032 元件在 Properties 面板底部 Models 区点击 Add Footprint在 PCB Library 下拉框中选择 BAT_CR2032_SMD_H再点 Add 3D Model选择 3D/CR2032_HOLDER.STEP。CR1220 重复同样操作。模型绑定时最容易被忽略的是封装名。原理图里 Footprint 属性写 BAT_CR2032_SMD_HPcbLib 里封装实际名字却是 BAT_CR2032_SMD编译集成库时 AD 会直接提示找不到封装。几十个库文件逐个去 AD 面板里看太慢我习惯先跑一段 Python 脚本做文本扫描快速找出名称不匹配的条目。import re import pathlib lib_root pathlib.Path(battery-holder) sch_texts [p.read_text(errorsignore) for p in lib_root.glob(*.SchLib)] pcb_texts [p.read_text(errorsignore) for p in lib_root.glob(*.PcbLib)] sch_footprints set() for t in sch_texts: for match in re.finditer(rFootprint\s*\s*?([A-Za-z0-9_\-])?, t): sch_footprints.add(match.group(1)) pcb_footprints set() for t in pcb_texts: for match in re.finditer(rName\s*\s*?([A-Za-z0-9_\-])?, t): pcb_footprints.add(match.group(1)) only_sch sch_footprints - pcb_footprints print(原理图声明但 PCB 库不存在的封装:, only_sch if only_sch else 全部匹配)这个脚本做的事情是把每个 SchLib 文件里出现的 Footprint 字符串收集起来再去 PcbLib 文件里找所有 Name 字段两边做差集。差集不为空时说明原理图库声明的封装名在 AD 封装库里找不到脚本一次性把问题清单打印出来。注意 AD 不同版本的文件序列化格式有差异老版本的 .SchLib 可能是 OLE 复合文档纯文本扫描读不到内容这时以 AD 编译消息为准。4.3 编译集成库并安装到 Altium Designer在 .LibPkg 工程上右键选择 Compile Integrated Library。编译完成后AD 会在工程输出目录生成 .IntLib 文件。Messages 面板里常见的几类错误如下表编译提示原因处理方式Footprint not found原理图里的 Footprint 字符串与 PcbLib 中实际封装名不一致改正 Footprint 属性重新编译Pin not linked to pad原理图管脚号与 PCB 焊盘 Designator 对不上在 SchLib 中改正管脚号Duplicate Pin Designator同一个原理图元件里出现两个相同管脚号检查原理图符号修正管脚编号Missing 3D Model3D Body 引用的文件路径失效重新指定相对路径并保存安装集成库有两种入口右下角 Panels Components 面板右上角的设置按钮选择 Install定位 .IntLib 文件或者通过右上角齿轮进入 Preferences Data Management Installed Libraries点 Install。安装后在 Components 面板搜索 CR2032 就能看到元件。注意集成库编译后是只读的。修改源 .SchLib 或 .PcbLib 后必须重新编译并重新安装旧库不会自动更新。团队协作时我习惯把编译产物放入共享服务器文件名带版本号避免“我这边改了库、你那边用到还是旧的”这种沟通成本。4.4 放置元件做最终连线验证安装完集成库后在原理图页面按 P Place Part搜索 CR2032-HOLDER放置到原理图。连好 BAT 和 BAT- 网络后执行 Design Update PCB Document把元件导入 PCB。然后按数字键 3 切到 3D 视图检查 STEP 模型是否居中、电池高度是否突出板面。用 CtrlM 测量从 PCB 表面到电池座最高点的距离和外壳预留空间比较至少留 0.3mm 安全间隙。这一步通过后再去跑 DRC后续投板才心里有底。5. 纽扣电池座封装库落地时容易忽略的三个细节5.1 极性丝印与防呆标识很多座子外壳本身有负极缺口但贴片操作员看不到电池座底部只能看 PCB 丝印。丝印层除了画直径约 20mm 的电池轮廓线还要在轮廓内明确标注“”号并标出电池正极朝向。多数手持设备里 CR2032 的正极面朝上但倒装结构也常见丝印必须按实际装配方向标注否则产线会按惯性把电池装反。在 SchLib 元件的 Description 里写一行“BATTERY POSITIVE FACE UP / DOWN”同步到集成库属性中比在图纸角落贴注释更可靠。5.2 钢网层开孔与回流焊验证在 PCB 编辑器按 L 打开 View Configuration单独勾选 Top Paste 层可以看到钢网将要输出的开口形状。中央大焊盘如果显示为整圆开口过炉时锡量偏多容易把座子顶起来。用多个同编号小焊盘组合的方案钢网开口会自然显示为分散的圆形阵列中央仍留出足够的锡膏附着区域。贴片完成后用 X-Ray 或切片看焊点虚焊通常表现为焊盘边缘无爬锡、弹片根部发灰出现这种情况先回查 Paste 层开口面积再考虑改炉温曲线。5.3 快速替换 CR2032 与 CR1220 的经验原理图符号复用带来的好处在改版时体现得最明显。需要从 CR2032 降到 CR1220 时直接编辑原理图元件属性把 Footprint 从 BAT_CR2032_SMD_H 改为 BAT_CR1220_SMD_H再执行 Update PCB Document封装会自动替换网络保持不变。批量替换用 Tools Footprint Manager勾选要替换的元件行在右侧属性窗格里统一改 Footprint比逐个打开元件属性快得多。如果两个座子的 3D Body 用了不同颜色区分比如 CR2032 用绿色、CR1220 用橙色在 3D 视图里一眼就能看出板上装的是哪一版结构评审时直接截图比对照数据手册翻高度更快。本文还有配套的精品资源点击获取
返回列表