简介:面向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.0mm,32 表示厚度 3.2mm;CR1220 对应 12.5mm 直径、2.0mm 厚度。电池直径决定座体内腔尺寸,但不直接等于焊盘尺寸。电池座电气上至少两个触点:正极在电池中央,由底部弹片或簧片引出;负极在电池圆周侧面,由左右弹片包住。多数 SMT 座子还会有 1 到 3 个机械固定脚,它们负责把座子“钉”在 PCB 上,提高整机跌落时的抗冲击能力。
画原理图库前最重要的事情,是打开具体型号的数据手册,看它的 Recommended PCB Layout。纽扣电池座没有统一的行业封装标准,不同厂商的座子外形差异很大,只看“CR2032”五个字就开始画符号,大概率会在贴片回来时发现弹片压不住电池边缘。我一般会把厂商机械图上的座体外径、弹片宽度、定位柱位置抄到自己的设计笔记里,再开始建库。
原理图符号设计策略:固定脚不承担电气功能时,画不画都行。我在工程里通常只画两个管脚:1 号 BAT+、2 号 BAT-,固定脚在原理图里留白,在 PCB 封装中把对应焊盘设为 No Net。这样原理图 ERC 不会因为多余管脚报警,PCB 上固定焊盘也不会被误连到电源地。
| 管脚号 | 管脚名称 | 电气类型 | 说明 |
|---|---|---|---|
| 1 | BAT+ | Passive | 接电池正极,对应中央焊盘 |
| 2 | BAT- | 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 填 1,Name 填 BAT+,Electrical Type 选 Passive。放完后再放第二个管脚,Designator 填 2,Name 填 BAT-。
- 方向习惯:管脚电气热点(带叉的一端)朝外,放在矩形左右两侧。防止画原理图时导线接到矩形边框而不是管脚末端,导致“看起来连上了、实际没连上”。
- 元件属性:在 Properties 面板里把 Designator 的默认前缀设为 BT,Device 填 CR2032-HOLDER,Footprint 填 BAT_CR2032_SMD_H。注意 Footprint 字符串要和 PcbLib 里的封装名一字不差,编译集成库时 Altium 就是靠这个字符串找封装的。
2.2.1 同样画一个 CR1220 版本
CR1220 的原理图符号可以直接复制 CR2032 的,只改 Device 为 CR1220-HOLDER,Footprint 改为 BAT_CR1220_SMD_H。原理图符号不需要体现尺寸差异,因为尺寸在 PCB 封装层控制。这样做的直接好处是:产品需要从 CR2032 降到 CR1220 节省空间时,原理图只需要替换 Footprint,不用重新画符号,图纸可读性和维护成本都更好。
2.3 管脚编号一致性:原理图库与 AD 封装库之间的锚点
原理图符号和 PCB 封装之间不是靠“名字长得像”关联,而是靠管脚 Designator 一一映射。用多焊盘同号是最常见的做法:CR2032 座子的左右两片负极弹片在物理上是分开的铜片,但电气上都连接电池负极。若在 PCB 封装里把它们编成 2 号焊盘和 4 号焊盘,原理图库就必须有相应两个管脚,否则网络会缺一角。更稳妥的方案是把两个负极焊盘都编为 2,AD 允许多个 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.7mm | 4.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 Layer,Shape 选 Round,X-Size 和 Y-Size 都填 8mm,Designator 填 1。
负极焊盘:放两个 Pad,Designator 都填 2,Shape 选 Rounded Rectangle,X-Size 填 3.0mm,Y-Size 填 11.0mm。位置放在 X=±9.0mm、Y=0 处,这样左右两侧各扣住电池负极圆周的一部分。
固定脚焊盘:放两个 φ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.2mm,3D 视图里会显示一个矮扁的座子,结构评审时严重误判。
重要提示: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_H,PcbLib 里封装实际名字却是 BAT_CR2032_SMD,编译集成库时 AD 会直接提示找不到封装。几十个库文件逐个去 AD 面板里看太慢,我习惯先跑一段 Python 脚本做文本扫描,快速找出名称不匹配的条目。
import re import pathlib lib_root = pathlib.Path("battery-holder") sch_texts = [p.read_text(errors="ignore") for p in lib_root.glob("*.SchLib")] pcb_texts = [p.read_text(errors="ignore") for p in lib_root.glob("*.PcbLib")] sch_footprints = set() for t in sch_texts: for match in re.finditer(r'Footprint\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(r'Name\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 Model | 3D 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 模型是否居中、电池高度是否突出板面。用 Ctrl+M 测量从 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 视图里一眼就能看出板上装的是哪一版,结构评审时直接截图,比对照数据手册翻高度更快。
本文还有配套的精品资源,点击获取