1. 项目概述:为什么需要“挖空”的Mark点?
在PCB设计领域,Mark点(或称基准点、光学定位点)是SMT贴片机进行高精度元件贴装的“眼睛”。标准做法是在PCB的顶层或底层放置一个覆铜的圆形焊盘,并在其上覆盖阻焊层(绿油)开窗,形成一个裸露的铜面。然而,在某些特定场景下,这种常规设计会遇到麻烦。
想象一下,你的PCB板表面有大面积的接地覆铜,而Mark点恰好设计在了这片铜皮上。如果Mark点焊盘与铜皮直接相连,那么在SMT贴片机的视觉识别系统中,这个Mark点的边缘轮廓就会变得模糊不清——因为它与周围大片铜皮的电气和视觉边界融为了一体。贴片机的摄像头在寻找这个“靶心”时,会因为对比度不足而识别困难,甚至直接导致定位失败,严重影响生产效率和良率。
这时,“中间挖空无覆铜绿油的Mark点”设计就派上了用场。它的核心思路是:在Mark点所在的局部区域,人为地制造一个“电气孤岛”和“视觉高地”。具体来说,就是在PCB的铜皮层,围绕Mark点焊盘挖掉一个环形区域(即无覆铜),再在阻焊层上对这个环形区域也进行开窗(即无绿油),最终露出PCB的基材(通常是黄色的FR-4)。这样,Mark点的铜盘、外围的基材环、再外围的铜皮/绿油背景,形成了“铜-基材-铜/绿油”的高对比度三层结构,使得光学识别系统的识别精度和稳定性大幅提升。
这个需求在高速、高密度板,或大面积电源/地平面的设计中尤为常见。接下来,我将以一个资深硬件工程师的视角,拆解在Altium Designer中实现这一设计的完整流程、技术细节和避坑指南。
2. 核心设计思路与方案选型
在AD中实现“挖空”Mark点,本质上是协调PCB中三个不同层(铜皮层、阻焊层、可能的其他层)的关系。有几种常见的实现思路,各有优劣。
2.1 方案一:使用“板挖空”(Board Cutout)与“阻焊层”组合
这是最直观、最符合设计逻辑的方法。其原理是利用AD中“板挖空”对象在所有的铜皮层(包括内电层)上挖出空洞的特性。
操作流程简述:
- 在需要放置Mark点的位置,绘制一个圆环形的“板挖空”(Place -> Board Cutout)。
- 在该圆环的中心,放置一个标准的圆形焊盘作为Mark点。
- 单独为这个圆环形区域在阻焊层(Top Solder或Bottom Solder)上添加一个相同形状的“填充”(Fill)或“区域”(Region),并将其属性设置为“阻焊层开窗”。
方案优势:
- 一劳永逸:一个“板挖空”对象,会在所有布线层和平面层生效,无需逐层处理。
- 设计意图清晰:在PCB编辑器中,挖空区域会显示为带斜线的阴影,非常直观。
- DRC友好:只要设置得当,通常不会引发不必要的设计规则冲突。
潜在问题:
- 与覆铜的互动:如果是在已有覆铜(Polygon Pour)的区域放置“板挖空”,需要重新覆铜(Repour)才能生效。有时覆铜的填充算法可能会在挖空边缘产生一些细碎的铜片,需要仔细检查。
- 阻焊层对齐:手动绘制的阻焊开窗区域需要与板挖空区域严格对齐,否则会影响外观和识别效果。
2.2 方案二:使用“禁止布线区”(Keep-Out Layer)与“覆铜排除”组合
这是一种更传统、更底层的方法。Keep-Out Layer(KO层)在AD中是一个特殊的机械层,其上的线条和弧线默认会禁止布线,并且可以被覆铜识别为边界。
操作流程简述:
- 在Keep-Out Layer上,绘制一个圆环(由两个同心圆组成)。
- 在该圆环中心放置Mark点焊盘。
- 进行覆铜操作。覆铜会自动识别KO层上的这个圆环为边界,从而在铜皮上形成一个环形的无铜区。
- 同样,需要手动在阻焊层上添加一个匹配的环形开窗。
方案优势:
- 控制精准:KO层的图形直接定义了铜皮不可存在的区域,覆铜结果通常很干净。
- 兼容性广:几乎所有PCB设计软件都支持KO层的类似功能,设计数据迁移时问题较少。
潜在问题:
- 层混淆风险:AD中KO层有时也被用作机械外形层,如果设计规范不统一,容易造成误解。
- 额外操作:需要单独处理阻焊层,且KO层图形本身不直接产生Gerber数据,需要确保CAM输出设置正确。
2.3 方案三:使用特殊的“焊盘堆栈”定义
这是一种更“封装化”的思路,将挖空特性集成到Mark点的封装(Footprint)本身。我们可以创建一个自定义的焊盘,在其“属性”中,通过“焊盘堆栈编辑器”来定义复杂形状。
操作思路:创建一个非圆形的焊盘,例如一个“圆环”形的焊盘。但这通常非常困难,因为标准焊盘形状不支持中空环形。更可行的变通方法是:放置两个重叠的焊盘,一个大圆盘(用于连接)和中心一个小圆盘(设置为无铜、无焊盘,仅用于标识位置),但这并非真正的“挖空”,且阻焊处理复杂,不推荐用于高精度Mark点。
方案对比与选型建议:
| 特性 | 方案一:板挖空+阻焊 | 方案二:KO层+覆铜排除 | 方案三:特殊焊盘 |
|---|---|---|---|
| 实现难度 | 中等 | 中等 | 高(且不实用) |
| 设计直观性 | 高 | 中 | 低 |
| 修改灵活性 | 高(移动挖空即可) | 中(需同步修改KO层和阻焊层) | 低(需修改封装) |
| 对覆铜的影响 | 自动全局生效,需重铺 | 覆铜时自动避让,需重铺 | 依赖焊盘属性,不可控 |
| 推荐场景 | 新手首选,通用性强 | 对覆铜形状有极高要求时 | 不推荐用于此目的 |
实操心得:对于绝大多数情况,我强烈推荐方案一。它逻辑清晰,操作相对简单,在AD的集成设计环境中最为可靠。方案二在需要与外部老式设计流程或特定板厂工艺兼容时可以考虑。方案三基本可以放弃。
3. 在Altium Designer中的详细实现步骤
我们以最推荐的“方案一”为例,进行一步步的详细拆解。假设我们要在顶层(Top Layer)放置一个直径为1mm的Mark点,其外围挖空环的内径为1mm(紧贴焊盘),外径为3mm。
3.1 步骤一:创建与放置Mark点焊盘
首先,我们需要一个标准的Mark点焊盘。你可以从库中调用,但更建议自己创建一个独立的封装,以便复用和管理。
- 新建或打开一个PCB库文件:
File -> New -> Library -> PCB Library。 - 放置焊盘:在库编辑器中,执行
Place -> Pad。 - 设置焊盘属性:
- 位置:放置在原点 (0, 0)。
- 尺寸与形状:
Hole Size设为 0(表贴焊盘)。Simple模式下,将X Size和Y Size均设为1mm,Shape选择Round。 - 层:
Layer设置为Top Layer。 - 标识符:
Designator可以设为MK1(Mark点1),但注意不要与元件的位号冲突,通常板厂不关心这个。 - 焊盘堆栈:保持默认即可,我们主要靠外部挖空来制造隔离。
- 保存封装:将其保存为一个易于识别的名称,如
MARK_POINT_1MM。
注意事项:Mark点焊盘绝对不要添加任何钢网层(Paste Mask)开窗。钢网是用于锡膏印刷的,Mark点不需要上锡。确保在焊盘属性或封装检查中,Paste Mask层没有比焊盘更大的扩展。
3.2 步骤二:绘制板挖空(Board Cutout)区域
这是制造无铜区的关键。挖空区域必须是闭合的图形。
- 切换到PCB编辑界面:在你的产品PCB文件中操作。
- 选择板挖空工具:
Place -> Board Cutout。此时光标会变成十字。 - 绘制环形挖空:
- 我们需要一个圆环,但AD的板挖空工具默认绘制的是实心图形。因此,我们需要画两个同心圆,然后将它们组合。
- 首先,以Mark点焊盘中心为圆心,画一个直径为3mm的圆。切换到“Mechanical 1”层(或其他用于定义的机械层),用
Place -> Arc (Center)画圆,确定大小。然后,选中这个圆,按Ctrl+C复制圆心,再Ctrl+V粘贴,在属性中将这个新圆的直径改为1mm。现在你有了两个同心圆。 - 关键操作:使用
Place -> Region工具,但在放置前,在属性面板中将其Kind从Polygon改为Board Cutout。然后,沿着外圆和内圆之间的环形区域,用鼠标点选,绘制一个闭合的环状区域。AD会自动将这个区域识别为板挖空。 - 更精确的方法:使用CAD工具(如AD自带的绘图功能或外部导入)绘制一个精确的圆环DXF,然后通过
File -> Import -> DXF/DWG导入,并将其转换为板挖空区域。
- 验证挖空:绘制完成后,该区域应显示为带有密集斜线交叉阴影的图案。你可以切换到不同的铜层(如Top Layer, Bottom Layer, 内电层)查看,确认在这些层上该区域都是空白(无铜)。
3.3 步骤三:添加阻焊层(绿油)开窗
挖空了铜,我们还需要挖空绿油,露出基材。这需要在阻焊层(Solder Mask)上操作。
- 切换到阻焊层:在PCB面板的层标签中,选择Top Solder(如果Mark点在顶层)或Bottom Solder(如果在底层)。
- 绘制阻焊开窗区域:
- 执行
Place -> Fill或Place -> Region。同样,我们需要一个环形的填充区域。 - 方法A(使用Region):与绘制板挖空区域类似,在Top Solder层上,沿着之前板挖空环形区域的相同路径,用
Region工具描一遍,绘制一个完全重合的环形区域。确保该Region的Kind属性是Polygon(默认),并且其Net属性为No Net。 - 方法B(使用Fill):
Fill是矩形,不适合圆形。对于环形,Region是更好的选择。
- 执行
- 设置开窗属性:阻焊层上的任何图形(线条、填充、区域)默认都意味着“此处不开绿油,即开窗”。因此,我们放置的这个环形区域,就表示在这个环形范围内,阻焊层被移除。其颜色通常显示为与Top Solder层颜色一致(默认是粉红)。
3.4 步骤四:整合与对齐检查
至此,三个核心元素已就位:中心的焊盘(铜+阻焊开窗)、环形的板挖空(无铜)、环形的阻焊开窗(无绿油)。但必须确保它们精确对齐。
- 对齐操作:
- 全选这三个对象(焊盘、板挖空Region、阻焊开窗Region)。可以使用
Edit -> Select -> All on Layer分次选择,或直接用鼠标框选。 - 使用对齐工具:
Edit -> Align -> Align Center Horizontal和Align Center Vertical,确保它们中心对齐。 - 更精细的调整:可以分别查看它们的属性,手动输入坐标,确保圆心坐标一致。
- 全选这三个对象(焊盘、板挖空Region、阻焊开窗Region)。可以使用
- 创建联合体(Union):为了便于后续移动和管理,可以将板挖空区域和阻焊开窗区域组合成一个整体。
- 选中板挖空Region和阻焊开窗Region。
- 执行
Tools -> Convert -> Create Union from Selected Objects。 - 这样,当你移动这个联合体时,两个部分会一起移动,始终保持对齐。注意:焊盘不建议加入联合体,因为它是一个独立的电气对象。
3.5 步骤五:处理覆铜(Polygon Pour)
如果你的PCB上有大面积覆铜,并且Mark点位于覆铜区域内,那么必须正确处理覆铜与挖空的关系。
- 重铺覆铜:在完成板挖空放置后,右键点击相关的覆铜,选择
Polygon Actions -> Repour Selected或Repour All。这是必须的步骤,否则覆铜不会更新以避开挖空区域。 - 检查覆铜边界:放大查看挖空区域与覆铜的边界。理想的状况是覆铜的边缘平滑地围绕在挖空区域的外围,且保持一定的距离(通常等于或大于你的覆铜与板挖空的设计规则间距)。
- 调整覆铜设置:如果发现覆铜与挖空边缘的间距过小,或者覆铜填充出现毛刺,可以检查覆铜的属性。在覆铜的
Properties面板中,确保Remove Necks Less Than(移除细颈)的宽度设置合理,避免在环形挖空处产生不必要的连接。也可以适当增加Grid Size和Track Width使覆铜更平滑。
4. 设计规则检查与生产文件输出要点
设计完成后,必须经过严格的检查才能交付生产。
4.1 针对Mark点的专项DRC设置
AD的设计规则检查(DRC)可能不会直接检查“挖空Mark点”的规范性,但我们需要确保它不违反其他规则。
- 电气间距规则(Clearance):
- 确保Mark点焊盘与周围挖空区外缘的铜皮(即外围覆铜)之间的距离满足常规的电气安全间距(如0.2mm或更大)。这个间距在覆铜重铺时会自动遵守。
- 可以在规则中为Mark点焊盘所在的网络(如果是接地,可能是GND)设置特定的间距规则。
- 阻焊层扩展规则(Solder Mask Expansion):
- 对于Mark点焊盘,其阻焊层扩展(Solder Mask Expansion)通常设为0。这意味着阻焊开窗严格等于焊盘大小,没有外扩。这能确保焊盘铜面完全裸露,边缘清晰。
- 对于我们手动添加的环形阻焊开窗(Region),它本身就是一个阻焊层图形,不存在“扩展”概念,其边界就是最终阻焊开窗的边界。
- 板挖空检查:
- 运行DRC后,检查
Manufacturing->Board Cutout相关的报错。确保挖空区域没有与其他不允许的对象(如某些特殊区域)冲突。
- 运行DRC后,检查
4.2 Gerber文件输出关键设置
这是将设计意图准确传递给PCB板厂的核心环节。一个设置错误就可能导致挖空失效。
- 层映射(Layer Mapping):
- 在
File -> Fabrication Outputs -> Gerber Files打开设置。 - 在
Layers标签页,确保勾选了包含板挖空的层。通常,板挖空信息会包含在Mechanical Layer 1(或你使用的那个机械层)的Gerber文件中。你需要将该机械层也添加到输出层列表,并为其选择正确的绘图类型。更稳妥的方法是,在Include unconnected mid-layer pads等选项附近,AD通常有专门输出板挖空的设置,请仔细查看当前版本AD的Gerber输出对话框。 - 重要:必须输出你绘制了阻焊开窗图形的阻焊层(如
Top Solder)。
- 在
- 钻孔文件(NC Drill Files):
- Mark点是表贴焊盘,没有孔,所以钻孔文件中不应有它的信息。这通常是自动的。
- 生成后的Gerber查看:
- 绝对不要跳过这一步!使用AD自带的
Tools -> Gerber Viewer或免费的第三方软件(如GC-Prevue)检查生成的Gerber文件。 - 检查重点:
- 铜层(.GTL等):在Mark点位置,是否能看到一个实心圆盘(焊盘)和一个环绕它的同心圆环(无铜区)?圆环区域应该是完全透明的(无任何图形)。
- 阻焊层(.GTS等):在Mark点位置,是否能看到一个实心圆盘(焊盘开窗)和一个环绕它的同心圆环(我们画的Region开窗)?这两个开窗区域都应该是透明的。
- 确保铜层的无铜环和阻焊层的开窗环完全对齐。
- 绝对不要跳过这一步!使用AD自带的
5. 常见问题、排查技巧与进阶优化
在实际操作中,你肯定会遇到各种问题。以下是我踩过坑后总结的实录。
5.1 问题一:板挖空后,覆铜仍然覆盖该区域
- 现象:放置了板挖空并重铺覆铜后,从视图上看铜皮似乎还在。
- 排查:
- 确认你放置的确实是
Board Cutout而不是普通的Region或Fill。选中对象看属性。 - 确认覆铜确实执行了“重铺”(Repour),而不是简单的“重画”。右键覆铜选择
Polygon Actions -> Repour Selected。 - 检查覆铜的属性,是否设置了“忽略板挖空”(Ignore Board Cutout)?这个选项几乎永远不应该勾选。
- 切换到其他铜层查看,确认挖空是否在所有层都生效。
- 确认你放置的确实是
- 解决:确保是Board Cutout,彻底重铺覆铜,检查覆铜属性。
5.2 问题二:Gerber文件中看不到挖空效果
- 现象:在PCB文件中显示正常,但用Gerber查看器打开,发现挖空区域仍有铜皮。
- 排查:
- Gerber输出设置错误:这是最常见的原因。回顾第4.2节,检查输出Gerber时,是否包含了正确的机械层(板挖空所在层),并且该层的“Plot”和“Mirror”设置正确。
- 层类型错误:板挖空可能被放在了错误的层上,该层未被Gerber生成器识别为“定义板外形/挖空”的层。在AD中,板挖空可以放在任何层,但输出时需映射。最保险的做法是使用软件默认支持的层(如Mechanical 1)。
- 文件格式问题:尝试使用不同的Gerber格式(RS-274X是标准)重新输出。
- 解决:仔细核对Gerber输出对话框的每一个选项卡,特别是“Layers”和“Advanced”。使用“Gerber Viewer”预览功能在生成前检查。
5.3 问题三:阻焊开窗与挖空区域对不齐
- 现象:生产回来的板子,Mark点周围的基材环一边宽一边窄。
- 排查:
- 设计时未对齐:在AD中检查时,可能因为网格捕捉或手动移动导致两个Region中心点坐标有微小偏差。
- 联合体失效:虽然创建了联合体,但在后续移动时可能只选中了联合体的一部分,导致两者错位。
- 板厂工艺误差:虽然可能性较小,但不同板厂的成像、对位工艺存在公差。
- 解决:
- 设计时使用坐标对齐法。分别查看板挖空Region和阻焊开窗Region的属性,将其中心坐标(
Center X, Center Y)设置为完全相同的值。 - 输出Gerber后,用查看软件测量两个环的同心度。这是交付前自检的黄金标准。
- 设计时使用坐标对齐法。分别查看板挖空Region和阻焊开窗Region的属性,将其中心坐标(
5.4 进阶优化:将挖空Mark点制作成封装库
为了提高效率和保证一致性,最好的实践是将整个挖空Mark点制作成一个完整的PCB封装。
- 在PCB库中操作:在PCB库编辑器中,按照上述步骤1-3,放置焊盘、绘制板挖空Region、绘制阻焊开窗Region,并将它们中心对齐。
- 处理层归属:板挖空和阻焊开窗的图形,需要放在封装库的特定层。板挖空放在
Mechanical 1层,阻焊开窗放在Top Solder层。关键点:在库编辑器中放置这些对象时,它们会默认携带层信息。 - 定义参考点:将焊盘的中心设置为封装的原点(
Edit -> Set Reference -> Center)。这样在PCB中放置该封装时,就能精准定位。 - 保存与调用:保存这个封装,如
MARK_POINT_1MM_CUTOUT。以后在PCB设计中,只需像放置普通元件一样放置这个封装,所有挖空和开窗属性都会自动带入,无需重复操作,且能保证所有Mark点规格统一。
5.5 尺寸设计经验值参考
Mark点的尺寸不是随意定的,它需要兼顾贴片机识别能力和PCB空间。
- 焊盘直径:常用1.0mm。最小不宜小于0.8mm,否则识别困难;最大不宜超过3.0mm,否则浪费空间。
- 挖空环宽度(外径-内径):通常为焊盘直径的1倍到1.5倍。例如,1mm焊盘,外径设为3mm,则环宽为(3-1)/2=1mm(单边)。环宽至少要保证0.5mm以上,才能形成有效的视觉对比。
- 阻焊开窗环:必须与板挖空环的尺寸和位置完全一致,这样才能露出基材。
- Mark点周围禁布区:在Mark点周围直径至少5mm的范围内,不应放置任何其他焊盘、走线和丝印。这被称为“清空区”,确保摄像头视野清晰。
最后,再分享一个我个人的小技巧:在输出Gerber给板厂之前,我习惯在PCB文件的机械层上,用文字或简单的图形标注一下这些特殊Mark点的位置和用途,例如画一个圆圈并写上“光学点,请保证挖空及阻焊开窗对齐”。虽然板厂工程师主要看Gerber,但这份额外的说明文档能起到很好的提示和沟通作用,尤其面对复杂设计时,能有效降低沟通成本和出错风险。毕竟,我们的目标是让设计被准确无误地制造出来。