
簡介面向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 視圖里一眼就能看出板上裝的是哪一版結構評審時直接截圖比對照數據手冊翻高度更快。本文還有配套的精品資源點擊獲取