Altium Designer中实现高对比度挖空Mark点设计全攻略
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 LayerKO层在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均设为1mmShape选择Round。层Layer设置为Top Layer。标识符Designator可以设为MK1Mark点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)画圆确定大小。然后选中这个圆按CtrlC复制圆心再CtrlV粘贴在属性中将这个新圆的直径改为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使用FillFill是矩形不适合圆形。对于环形Region是更好的选择。设置开窗属性阻焊层上的任何图形线条、填充、区域默认都意味着“此处不开绿油即开窗”。因此我们放置的这个环形区域就表示在这个环形范围内阻焊层被移除。其颜色通常显示为与Top Solder层颜色一致默认是粉红。3.4 步骤四整合与对齐检查至此三个核心元素已就位中心的焊盘铜阻焊开窗、环形的板挖空无铜、环形的阻焊开窗无绿油。但必须确保它们精确对齐。对齐操作全选这三个对象焊盘、板挖空Region、阻焊开窗Region。可以使用Edit - Select - All on Layer分次选择或直接用鼠标框选。使用对齐工具Edit - Align - Align Center Horizontal和Align Center Vertical确保它们中心对齐。更精细的调整可以分别查看它们的属性手动输入坐标确保圆心坐标一致。创建联合体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相关的报错。确保挖空区域没有与其他不允许的对象如某些特殊区域冲突。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 FilesMark点是表贴焊盘没有孔所以钻孔文件中不应有它的信息。这通常是自动的。生成后的Gerber查看绝对不要跳过这一步使用AD自带的Tools - Gerber Viewer或免费的第三方软件如GC-Prevue检查生成的Gerber文件。检查重点铜层.GTL等在Mark点位置是否能看到一个实心圆盘焊盘和一个环绕它的同心圆环无铜区圆环区域应该是完全透明的无任何图形。阻焊层.GTS等在Mark点位置是否能看到一个实心圆盘焊盘开窗和一个环绕它的同心圆环我们画的Region开窗这两个开窗区域都应该是透明的。确保铜层的无铜环和阻焊层的开窗环完全对齐。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后用查看软件测量两个环的同心度。这是交付前自检的黄金标准。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)/21mm单边。环宽至少要保证0.5mm以上才能形成有效的视觉对比。阻焊开窗环必须与板挖空环的尺寸和位置完全一致这样才能露出基材。Mark点周围禁布区在Mark点周围直径至少5mm的范围内不应放置任何其他焊盘、走线和丝印。这被称为“清空区”确保摄像头视野清晰。最后再分享一个我个人的小技巧在输出Gerber给板厂之前我习惯在PCB文件的机械层上用文字或简单的图形标注一下这些特殊Mark点的位置和用途例如画一个圆圈并写上“光学点请保证挖空及阻焊开窗对齐”。虽然板厂工程师主要看Gerber但这份额外的说明文档能起到很好的提示和沟通作用尤其面对复杂设计时能有效降低沟通成本和出错风险。毕竟我们的目标是让设计被准确无误地制造出来。