☰
AD20阻焊开窗补偿设置指南:避免焊盘盖油与阻焊桥断裂
2026/10/7 11:33:42 网站建设 项目流程

1. 从一块被绿油盖住的焊盘说起

如果你在AD20里画完板子、导出Gerber、发给板厂,回来焊接时发现某个电阻的焊盘上盖了一层绿油,烙铁怼上去锡根本不沾,只能拿刀片刮——恭喜你,你踩中了Solder Mask Expansion这个坑。这不是板厂的问题,十有八九是你自己在设计端没把阻焊开窗的规则设对。

Solder Mask Expansion,中文一般叫阻焊层扩展量或阻焊开窗补偿,是PCB设计中一个看起来不起眼、但直接决定板子能不能焊的参数。它的作用简单说就是:焊盘本身是铜,但铜上面要盖一层阻焊油(就是那层绿油/黑油/蓝油),为了让焊盘露出来能上锡,阻焊层上必须开一个比焊盘稍大的窗口。这个"稍大"到底大多少,就是Expansion值。设小了,油可能溢到焊盘上导致焊接不良;设大了,相邻焊盘之间的阻焊桥(Solder Mask Bridge)可能断掉,回流焊时容易连锡。

这篇内容面向的是已经会用AD20画板、但对制造工艺参数还没完全吃透的工程师,也适合那些被板厂反馈"阻焊开窗有问题"、想搞清楚背后逻辑的人。我会把AD20里跟Solder Mask Expansion相关的规则设置、全局修改方法、过孔盖油与开窗的取舍、以及导出Gerber前必须检查的几个点,按我实际做项目的顺序讲清楚。关键词里提到的AD20、PCB设计、Solder Mask Expansion、焊盘、过孔,都会落到具体操作上,不讲空理论。

先说一个我自己的教训。早年做一块密度比较高的板子,QFN封装引脚间距0.4mm,我图省事用了AD默认的规则,全局Expansion设了4mil。结果板厂做出来之后,QFN引脚之间几乎连成一片,因为4mil的扩展让相邻开窗几乎挨上,阻焊桥最窄处不到2mil,板厂工艺做不到就给我把桥去掉了。那次返工让我明白,Expansion这个值不是拍脑袋定的,它跟你的焊盘间距、板厂的工艺能力、甚至铜厚都有关系。

2. Solder Mask Expansion在AD20里到底是怎么起作用的

2.1 阻焊层、开窗与焊盘的三角关系

要理解Expansion,得先理清AD20里几个层的概念。你在PCB编辑器里看到的焊盘(Pad),本质是顶层或底层的铜箔图形。而阻焊层(Top Solder Mask / Bottom Solder Mask)是一个"负片"概念——你在这一层上画的东西,代表的是"这里不要盖油",也就是开窗区域。

AD20默认的显示逻辑是:你在Top Solder Mask层看到的图形,就是开窗的形状。而这个形状怎么来的?对于焊盘来说,AD会根据你设定的Expansion值,自动在焊盘外形基础上向外扩一圈,生成阻焊开窗图形。也就是说,你不需要手动去Solder Mask层画开窗,软件帮你算了。

这里有个容易混淆的点:阻焊开窗的尺寸 = 焊盘尺寸 + 2 × Expansion。注意是两边各扩一个Expansion,所以总增量是两倍。比如一个1mm × 0.5mm的矩形焊盘,Expansion设0.1mm,那么开窗就是1.2mm × 0.7mm。很多人第一次算的时候只加了一边,导致实际开窗比预期小。

提示:AD20里Expansion的单位跟随你的当前单位设置。如果你习惯用mil,就在规则里用mil;用mm就用mm。混用容易出错,建议整个项目统一。

2.2 全局规则与局部覆盖的优先级

AD20的Solder Mask Expansion是通过Design -> Rules里的Mask规则来管理的。具体路径是:Design Rules -> Manufacturing -> Solder Mask Expansion。这里你可以设一个全局的默认值,也可以针对特定对象(比如某个封装、某个网络、某个区域)设不同的值。

规则系统是分优先级的。AD20里每条规则都有一个"Where the First Object Matches"的适用范围,你可以用Query语句来限定。比如你可以写"HasFootprint('QFN-24')"来只针对这个封装设一个更小的Expansion。优先级高的规则会覆盖优先级低的。默认情况下,全局规则优先级最低,你新建的针对性规则优先级更高。

我一般的做法是:全局规则设一个保守值(比如2mil或0.05mm),然后针对细间距器件单独设更小的值。这样既保证大部分焊盘有足够的开窗,又不会让密脚器件连锡。这个思路跟"默认安全、特殊处理"的工程原则是一致的。

2.3 不同焊盘形状下的扩展表现

AD20支持多种焊盘形状:圆形、矩形、八角形、圆角矩形等。Expansion的扩展方式在不同形状下表现不一样。圆形焊盘扩展后还是圆形,矩形焊盘扩展后还是矩形(直角保持直角),圆角矩形扩展后圆角半径会相应增大。

这里有个细节:如果你用的是自定义形状焊盘(Custom Pad),比如用多个Region拼出来的异形焊盘,Expansion的扩展逻辑可能会让你意外。AD20对自定义焊盘的阻焊开窗处理,有时候不是简单的外扩,而是基于焊盘的边界框或者实际轮廓来计算。我遇到过用自定义焊盘做长圆形(Oblong)连接器引脚时,开窗形状跟预期不符的情况。解决办法是手动在Solder Mask层画开窗图形,然后把该焊盘的Expansion规则设成0,避免软件自动生成。

3. 全局批量修改Solder Mask Expansion的几种实操路径

3.1 通过Design Rules统一设置

最正规的做法是在Design Rules里改。打开PCB Rules and Constraints Editor,找到Manufacturing下面的Solder Mask Expansion。双击打开后,你会看到一个表格,里面列出了当前所有生效的Expansion规则。默认只有一条全局规则,Expansion值通常是4mil(AD20的默认值,不同版本可能略有差异)。

你可以直接修改这条全局规则的Expansion值。改完之后点Apply,AD会立即重新计算所有焊盘的阻焊开窗。这个过程在大板子上可能需要几秒钟,因为软件要遍历所有焊盘重新生成图形。

我建议在改之前先确认一下当前值是多少。有些从旧项目拷贝过来的板子,规则可能被改过,你以为是默认值其实不是。养成"改规则前先看一眼"的习惯,能省掉很多莫名其妙的返工。

3.2 用PCB Filter + Inspector批量改焊盘属性

有时候你不想改规则,而是想直接改焊盘本身的Solder Mask Expansion属性。AD20允许每个焊盘单独设置Expansion,这个设置会覆盖规则里的值。操作方法是:打开PCB Filter面板,输入筛选语句(比如"IsPad"筛选所有焊盘),然后打开PCB Inspector面板,在Solder Mask Expansion栏里填入你想要的值。

这个方法的优点是精准,你可以只改选中的焊盘。缺点是如果焊盘数量多,逐个改很累。不过配合Filter的Query语句,你可以批量选中某一类焊盘,比如"IsPad And HasFootprint('0402')",然后一次性改掉。

注意:焊盘属性里的Expansion如果设了非零值,会覆盖规则。如果你后来想恢复成规则控制,需要把这个值清空或者设成规则里的值。这个"覆盖"关系很多人会忘,导致改了规则但焊盘没变化。

3.3 全局修改过孔的阻焊开窗

过孔(Via)的阻焊处理跟焊盘不太一样。过孔默认是盖油的(Tented),也就是阻焊层不开窗,油直接盖在过孔上。但有时候你需要过孔开窗(比如要做测试点,或者过孔需要散热),这时候就要改过孔的Solder Mask Expansion。

在AD20里,过孔的盖油/开窗是通过Design Rules里的Solder Mask Expansion规则加上过孔的"Tenting"属性共同控制的。具体来说,如果过孔的Tenting属性设为"Top & Bottom Tented",那么无论Expansion规则怎么设,过孔都不会开窗。如果设为"Not Tented",那么Expansion规则就会对过孔生效。

批量改过孔盖油状态的方法:用PCB Filter选中"IsVia",然后在Inspector里改Tenting属性。或者用Find Similar Objects,选中一个过孔,把Tenting作为匹配条件,然后全局改。

我个人的经验是:电源过孔和地过孔一般盖油,避免短路和氧化;测试点过孔开窗,方便探针接触。这个取舍要在设计初期就定好,后期改起来虽然不难,但容易漏。

4. 细间距器件与阻焊桥:Expansion值到底设多少才安全

4.1 阻焊桥的宽度计算与工艺极限

阻焊桥是两个相邻开窗之间保留的那条阻焊油。它的宽度 = 焊盘间距 - 焊盘宽度 - 2 × Expansion。举个例子:两个相邻焊盘,中心间距0.5mm,焊盘宽度0.25mm,Expansion设0.05mm。那么开窗宽度 = 0.25 + 2×0.05 = 0.35mm。两个开窗之间的间隙 = 0.5 - 0.35 = 0.15mm。这个0.15mm就是阻焊桥的宽度。

板厂能做到多窄的阻焊桥?这取决于他们的工艺能力。一般FR-4板子,阻焊桥最小宽度在4mil(约0.1mm)左右,有些工艺好的厂能做到3mil。低于这个值,板厂要么把桥去掉(导致开窗连成一片),要么告诉你做不了。

所以你在设Expansion的时候,要先算一下你的最密间距处,阻焊桥还剩多少。如果算下来小于板厂的最小值,就得减小Expansion,或者跟板厂确认他们的极限。

4.2 不同封装的Expansion推荐值

根据我这些年跟板厂打交道的经验,下面这张表可以作为起步参考。注意这只是参考,具体还要结合你的板厂工艺和实际焊接效果调整。

封装类型最小间距推荐Expansion阻焊桥余量
0402电阻电容0.5mm0.05mm (2mil)约0.15mm
0603电阻电容0.8mm0.05-0.1mm约0.3mm
QFN 0.5mm pitch0.5mm0.05mm约0.15mm
QFN 0.4mm pitch0.4mm0.04mm约0.12mm
QFN 0.35mm pitch0.35mm0.03mm约0.09mm
SOP 1.27mm pitch1.27mm0.1mm (4mil)约0.8mm
BGA 0.8mm pitch0.8mm0.05mm约0.5mm

从表里能看出来,间距越小,Expansion越要收紧。0.35mm pitch的QFN,Expansion只能给到0.03mm左右,再大阻焊桥就没了。这种时候有些工程师会选择"开窗连成一条"的设计,也就是故意不要阻焊桥,靠钢网和锡量控制来避免连锡。这个做法有风险,但对某些超密器件是无奈之举。

4.3 过孔盖油与开窗的取舍逻辑

过孔的处理跟焊盘不同。过孔盖油的好处是:防止焊接时锡从过孔流走(尤其是回流焊时)、防止过孔氧化、外观整洁。坏处是:如果过孔需要散热,盖油会影响散热效果;如果过孔要做测试点,盖油就没法测。

我的做法是分三类处理:

  • 普通信号过孔:全部盖油,Expansion规则对它们不生效(Tenting设为Tented)。
  • 电源和地过孔:如果电流大、需要散热,开窗;否则盖油。
  • 测试点过孔:开窗,并且开窗尺寸要比过孔大一些,方便探针接触。

在AD20里,你可以用Design Rules里的Solder Mask Expansion规则,配合Query语句来区分。比如写"IsVia And (Net = 'VCC' Or Net = 'GND')",然后给这条规则设一个Expansion值,同时把这些过孔的Tenting属性设为Not Tented。这样电源地过孔开窗,其他过孔盖油。

5. 导出Gerber前必须检查的阻焊相关项

5.1 阻焊层Gerber的正确导出设置

AD20导出Gerber的路径是File -> Fabrication Outputs -> Gerber Files。在Layers选项卡里,你要确保Top Solder Mask和Bottom Solder Mask被勾选。在Advanced选项卡里,有个"Suppress Pads"选项,这个选项跟阻焊层有关,一般不要勾,否则可能影响开窗图形的生成。

导出之后,我强烈建议用Gerber查看软件(比如免费的GC-Prevue或者板厂提供的在线查看工具)打开检查一遍。重点看阻焊层的开窗是否跟焊盘对齐,有没有哪个焊盘被漏掉,有没有不该开窗的地方开了窗。

提示:有些板厂会要求你把阻焊层做成"负片"或者"正片",AD20默认导出的是正片(画的就是开窗区域)。如果你不确定,直接问板厂要他们的Gerber要求,别自己猜。

5.2 用3D视图快速目检阻焊效果

AD20的3D视图(按快捷键3)可以直观地看到阻焊层的效果。在3D视图里,焊盘是亮金属色,阻焊油是板子颜色(绿色/蓝色等)。你可以旋转板子,看每个焊盘是否都露出来了,过孔是否按预期盖油或开窗。

这个方法特别适合快速检查有没有"漏开窗"的焊盘。我每次导出Gerber前都会花两分钟转一圈3D视图,比逐个看Gerber快得多。不过3D视图的渲染有时候跟实际工艺有差异,比如阻焊桥在3D里可能看不清楚,所以它只能作为初步检查,不能替代Gerber检查。

5.3 跟板厂沟通阻焊桥要求的实战话术

跟板厂沟通的时候,不要只说"帮我做阻焊桥",要说清楚你的最小阻焊桥宽度是多少,以及如果做不到他们的处理方式是什么。比如你可以这样问:"我这块板子最密处阻焊桥约0.12mm,你们能做到吗?如果做不到,是帮我去掉桥还是调整开窗?"

板厂的工程会给你反馈。有些厂会直接告诉你他们的极限值,有些厂会建议你改设计。我遇到过板厂主动帮我把Expansion调小的情况,但那是运气好。大多数时候,板厂只会按你给的文件做,出了问题还是你的责任。所以设计端把参数设对,比事后扯皮重要得多。

6. 几个我踩过的坑和对应的解法

6.1 改了规则但焊盘没变化

这个坑我踩过不止一次。原因通常是焊盘本身的Expansion属性被单独设过值,覆盖了规则。AD20里,焊盘的Solder Mask Expansion属性如果非零,就优先于规则。解决办法是选中所有焊盘,在Inspector里把Expansion值清空(或者设成跟规则一致的值),让规则重新生效。

还有一种可能是规则优先级问题。你新建的规则如果优先级低于全局规则,就不会生效。在Design Rules里可以调整规则的优先级顺序,把针对性规则往上移。

6.2 过孔盖油了但Gerber里还有开窗

这个问题的根源往往是过孔的Tenting属性跟Expansion规则冲突。如果过孔设了Tented,但Expansion规则又对过孔生效了,AD20在某些版本里会生成开窗图形。解决办法是确保Tented的过孔,其Expansion规则不适用。你可以把全局Expansion规则的适用范围限定为"IsPad",这样过孔就不会被规则影响。

6.3 板厂反馈阻焊开窗偏移

开窗偏移通常是Gerber导出时的对齐问题。检查一下你的Gerber文件里,阻焊层和线路层是否用同一个原点。AD20导出Gerber时,默认所有层用同一个原点,但如果你手动改过某一层的原点,就可能偏移。另外,有些板厂会自己做开窗补偿,如果你已经在设计里加了Expansion,板厂再加一次,就会导致开窗过大。这种情况要提前跟板厂确认:你们的Gerber是"开窗即最终尺寸"还是"板厂会再加补偿"。

6.4 细间距器件开窗连成一片

这就是前面说的阻焊桥断掉的问题。除了减小Expansion,还有一个办法是跟板厂确认他们能不能做"阻焊桥保留"工艺。有些板厂用LDI(激光直接成像)曝光,能做更细的桥。如果板厂说做不到,你就只能接受开窗连片,然后在钢网设计上做文章——比如减小钢网开孔、用阶梯钢网等,靠锡量控制来避免连锡。

7. 关于Expansion值的一些个人体会

做了这么多年板子,我对Solder Mask Expansion的态度是:宁可保守,不要激进。全局默认值我一般设2mil到4mil之间,细间距器件单独收紧。每次改完规则,一定用3D视图和Gerber查看软件双重确认。跟新板厂合作时,第一批板子一定会特别关注阻焊效果,哪怕多花点时间也要把参数摸清楚。

还有一个习惯:我会在PCB文件里留一个说明文档层(比如Mechanical层),写上这块板子的阻焊桥最小宽度、过孔盖油策略、以及板厂需要特别注意的地方。这样即使项目转手给别人,或者过几个月自己再看,也能快速回忆起当时的設計意图。这个习惯看起来麻烦,但省下的沟通成本远超那几分钟的记录时间。

最后说一个容易被忽略的点:Solder Mask Expansion不仅影响焊接,还影响板子的外观和绝缘性能。开窗太大的地方,铜箔暴露多,如果环境潮湿或者有污染物,可能影响绝缘。所以不是所有地方都越大越好,该盖油的地方要盖住,该开窗的地方要开够,这个平衡点就是Expansion值要解决的问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询