☰
AD20阻焊扩展值设置指南:焊盘开窗与过孔盖油参数详解
2026/10/7 17:28:00 网站建设 项目流程

1. 阻焊层到底在焊盘上做了什么

刚入行那会儿,我总觉得PCB设计就是把线连对、把器件摆整齐就完事了。直到有一次打样回来,发现一整排0402电阻的焊盘上全被绿油盖住了,根本没法上锡,整块板子直接报废。那次教训让我彻底明白了一个道理:焊盘能不能吃上锡,不取决于铜皮画得多漂亮,而取决于阻焊层有没有给它让路。

在AD20里,阻焊层(Solder Mask)是一个负片层。这句话听起来像教科书,但它的实际含义是:你在Solder Mask层上画的每一笔,都代表“这里要开窗、要露出铜皮”;你没画的地方,板厂就会盖上阻焊油墨。所以焊盘能不能露出来,本质上是一个“开窗面积”的问题,而这个开窗面积相对于焊盘本身的大小,就是今天要聊的核心参数——Solder Mask Expansion,阻焊层扩展值。

这个参数控制的是阻焊开窗比焊盘大多少。设成0,开窗和焊盘一样大;设成正值,开窗比焊盘大一圈;设成负值,开窗比焊盘小,也就是阻焊会压到焊盘边缘上。听起来很简单对吧?但实际项目里,这个值设错导致的翻车场景五花八门:焊盘被盖油、过孔莫名开窗导致短路、密集引脚连锡、BGA区域阻焊桥断裂……每一个都够你返工一次。

这篇文章面向的是已经会用AD20画板子、但对阻焊层参数还没完全吃透的朋友。我会从规则设置、焊盘与过孔的差异化处理、封装库层面的批量控制、Gerber验证这几个角度,把Solder Mask Expansion这件事讲透。不管你是画两层板还是多层板,是手摆封装还是用现成库,这些内容都能直接用到项目里。

2. 阻焊扩展值的规则体系与优先级拆解

2.1 为什么AD20要搞两套阻焊扩展规则

打开AD20的Design Rules,在Manufacturing分类下你会看到两个跟阻焊相关的规则:Solder Mask Expansion和Solder Mask Expansion for Vias。很多人第一次看到会疑惑,为什么要分开?答案其实很实际——焊盘和过孔对阻焊的需求根本不一样。

焊盘需要露铜上锡,所以开窗必须覆盖焊盘,扩展值通常是正值,保证阻焊不会压到焊接区域。过孔呢?过孔的功能是连接不同层的铜皮,它本身不需要上锡。如果过孔也开窗露铜,一来浪费板面空间,二来裸露的过孔铜环在潮湿环境下容易氧化,三来密集过孔区域开窗后容易在回流焊时吸走焊锡。所以过孔默认是盖油的,对应的规则就是Solder Mask Expansion for Vias,通常设为一个负值或者直接由板厂处理。

这两套规则分开管理,你就能做到“焊盘开窗、过孔盖油”这个最基本的工艺要求,而不需要手动去改每一个过孔。

2.2 全局规则、封装规则、焊盘属性的三级优先级

AD20的规则系统是分层级的,阻焊扩展值也不例外。理解这个优先级,能帮你避免“改了规则但没生效”这种让人抓狂的情况。

优先级从低到高依次是:

  • 全局规则(All):在Design Rules里设置的默认值,作用于所有对象。比如你把Solder Mask Expansion设成0.05mm(2mil),那所有焊盘默认都按这个值开窗。
  • 封装级规则(Footprint):在PCB Library里编辑封装时,可以针对某个封装单独设置阻焊扩展。这个设置会覆盖全局规则。
  • 焊盘属性级(Pad):双击单个焊盘,在Properties面板里可以手动指定这个焊盘的阻焊扩展值。这是最高优先级,直接覆盖前面两层。

我踩过的一个坑是这样的:项目里有个连接器封装是从旧库拿过来的,焊盘阻焊扩展被设成了0。全局规则明明是0.05mm,但这个连接器的焊盘就是不开窗。查了半天才发现是封装级规则在起作用。所以当你发现某个焊盘行为异常时,第一件事就是双击它,看看Properties里有没有手动覆盖的值。

注意:在AD20里,如果你在Pad Properties里把Solder Mask Expansion设成“Rule Expansion”,它就跟随规则走;如果设成“Manual”,就会用你手动填的值。很多人误操作把这里改成了Manual但忘了填值,结果扩展变成0。

2.3 正片思维与负片思维的切换

画铜皮的时候我们用的是正片思维——画线就是加铜。但阻焊层是负片,画线等于开窗。这个思维切换不过来的话,很容易犯一个错误:在Solder Mask层上画了一大片,以为是在“铺阻焊”,实际上是在“开天窗”。

我建议你在AD20里把Solder Mask Top和Solder Mask Bottom这两个层的显示颜色设成比较醒目的颜色,比如亮紫色或亮粉色。这样每次切到这两个层的时候,视觉上就能提醒自己:现在看到的是开窗区域,不是阻焊区域。

另外,AD20默认会在焊盘上自动生成阻焊开窗,你不需要手动去画。只有当你需要额外的开窗区域(比如某些测试点、金手指区域)时,才需要手动在Solder Mask层上放置Fill或Region。手动开窗的区域不受Solder Mask Expansion规则控制,画多大就是多大,这一点要特别注意。

3. 焊盘与过孔的差异化参数设置实操

3.1 焊盘阻焊扩展值的计算与取值建议

Solder Mask Expansion的值到底设多少合适?这不是拍脑袋决定的,它跟你的PCB工艺能力、焊盘间距、板厂能力都有关系。

先看一个基本公式:

阻焊开窗尺寸 = 焊盘尺寸 + 2 × Solder Mask Expansion

举个例子,一个0603电阻的焊盘是0.8mm × 0.95mm,如果Solder Mask Expansion设成0.05mm,那开窗就是0.9mm × 1.05mm。开窗比焊盘每边大0.05mm。

那这个0.05mm是怎么来的?行业里常见的取值是2mil到4mil(约0.05mm到0.1mm)。取这个范围的原因有几个:

  • 太小(比如0):阻焊开窗和焊盘完全对齐,但板厂在曝光显影过程中有对位公差,实际做出来阻焊可能会压到焊盘边缘,导致焊接面积减小。
  • 太大(比如0.15mm以上):相邻焊盘之间的阻焊桥会变窄甚至消失,回流焊时容易连锡。对于引脚间距0.5mm的QFP封装,焊盘间距本身只有0.5mm,如果每边扩展0.1mm,两个焊盘的开窗就快挨上了,阻焊桥根本做不出来。

所以我的经验取值是这样的:

封装类型焊盘间距建议扩展值说明
0402/0603阻容≥0.8mm0.05mm常规取值,兼顾开窗和对位公差
0805/1206阻容≥1.0mm0.05-0.08mm空间充裕可稍大
SOP/SOIC1.27mm0.05mm标准取值
QFP 0.5mm pitch0.5mm0.03-0.05mm需确认板厂阻焊桥能力
QFN0.5mm0.03-0.05mm侧面爬锡区域需注意
BGA0.8mm及以上0.05mm通常由板厂调整

提示:如果你不确定板厂的阻焊桥最小宽度能力,直接问他们的工艺工程师。一般板厂能做到0.1mm的阻焊桥,好一点的能做到0.08mm。你的扩展值乘以2加上阻焊桥宽度,不能超过焊盘间距。

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

过孔的处理是另一个高频翻车点。AD20默认的Solder Mask Expansion for Vias规则通常是一个负值,比如-0.05mm,意思是阻焊开窗比过孔焊盘小一圈,实际上就是盖油。

但有些场景下你需要过孔开窗:

  • 测试点过孔:需要用探针接触测量信号,必须开窗露铜。
  • 散热过孔:大电流路径上的过孔,开窗后可以堆锡增加载流能力。
  • 调试预留:方便飞线或割线。

对于需要开窗的过孔,我的做法是不修改全局的过孔阻焊规则,而是单独选中那个过孔,在Properties面板里把Solder Mask Expansion从“Rule Expansion”改成“Manual”,然后填入一个正值,比如0.05mm。这样只有这一个过孔开窗,其他过孔照常盖油。

为什么不建议改全局规则?因为一旦改了,整板所有过孔全部开窗,密集区域很容易出问题。我见过一个板子,BGA下面几百个过孔全部开窗,回流焊时焊锡顺着过孔流到背面,正面焊点直接虚焊。

3.3 用Pad Properties面板精确控制单个焊盘

双击任意焊盘,AD20会打开Pad Properties对话框。在Solder Mask Expansion这一栏,你可以看到三个选项:

  • Rule Expansion:跟随Design Rules里的设置,这是默认值。
  • Manual:手动指定扩展值,旁边的输入框填数值。
  • No Mask:不开窗,阻焊完全覆盖这个焊盘。

“No Mask”这个选项很多人不知道,但它在某些场景下很有用。比如你有一个机械定位焊盘,不需要焊接,只想让它被阻焊盖住防止氧化,就可以选No Mask。

另外,在Pad Properties的Solder Mask Expansion区域,你还能看到“Top”和“Bottom”两个独立的设置。这意味着你可以让焊盘只在顶层开窗,底层不开窗。对于单面焊接的器件,这个功能可以避免底层不必要的开窗。

4. 封装库层面的阻焊扩展批量管理

4.1 在PCB Library中预设封装的阻焊参数

如果你像我一样,项目里经常复用同一批封装,那在封装库层面就把阻焊扩展值设好,是最省事的做法。

打开PCB Library面板,选中一个封装,然后双击其中的焊盘。在Pad Properties里把Solder Mask Expansion设成Manual,填入你计算好的值。保存封装。这样以后每次从这个库调用这个封装,焊盘的阻焊扩展都是预设好的,不受项目全局规则影响。

但这里有一个权衡:如果你把封装里的焊盘全部设成Manual,那以后想统一调整扩展值就很麻烦,得一个个封装去改。我的建议是只对特殊封装做Manual设置,比如0.5mm pitch的QFP、细间距连接器这些对阻焊桥敏感的封装。常规的阻容、SOP封装还是跟随全局规则,方便统一管理。

4.2 利用IPC Compliant Footprint Wizard批量生成

AD20自带一个IPC Compliant Footprint Wizard,在Tools菜单下。这个向导可以根据IPC标准自动生成封装,其中就包括阻焊扩展值的设置。

使用这个向导的时候,在“Solder Mask”那一步,它会让你输入阻焊扩展值。这里填的值会直接写入生成的封装里。我通常在这里填0.05mm,然后根据具体封装类型微调。

这个向导的好处是批量生成效率高,而且生成的封装焊盘尺寸、阻焊扩展、钢网开窗都是按IPC标准算好的,省去了手动计算的麻烦。缺点是它生成的封装命名比较长,需要你后期整理。

4.3 从现有封装批量修改阻焊扩展的技巧

如果你已经画好了板子,发现阻焊扩展值需要统一调整,一个个改焊盘肯定不现实。AD20提供了一个批量修改的方法:

  1. 在PCB面板中,使用Find Similar Objects功能。选中一个焊盘,右键选择Find Similar Objects。
  2. 在弹出的对话框里,把Solder Mask Expansion这一项设为Same。
  3. 点击OK,所有相同阻焊扩展值的焊盘会被选中。
  4. 在Properties面板里统一修改Solder Mask Expansion的值。

这个方法特别适合在项目后期统一调整。比如你一开始全局规则设了0.1mm,后来发现太宽了导致阻焊桥断裂,想统一改成0.05mm,就可以用这个方法批量处理。

注意:Find Similar Objects会选中所有匹配的对象,包括不同封装、不同层的焊盘。修改前先确认选中的范围是不是你想要的。可以在PCB面板里先预览一下选中数量。

5. 从设计到Gerber的阻焊层验证流程

5.1 在AD20中预览阻焊开窗效果

画完板子之后,别急着导出Gerber。AD20有一个很好用的3D预览功能,可以直观地看到阻焊开窗的效果。

按快捷键“3”进入3D视图,然后按“L”打开View Configuration面板,在Layers标签下找到Solder Mask Top和Solder Mask Bottom,确保它们是可见的。这时候你看到的板子表面,绿色(或其他颜色)的区域就是阻焊,亮铜色的区域就是开窗露出来的铜皮。

我习惯在3D视图下旋转板子,从不同角度检查焊盘开窗是否正常。特别是QFP、QFN这些细间距器件,要放大看每个焊盘的阻焊桥是否完整。如果发现某个焊盘被阻焊盖住了,或者相邻焊盘的开窗连在一起了,就要回去改扩展值。

5.2 导出Gerber后如何检查阻焊层

3D预览只能看个大概,最终确认还是要看Gerber。AD20导出Gerber的步骤是File → Fabrication Outputs → Gerber Files。在Layers标签下,确保Solder Mask Top和Solder Mask Bottom被勾选。

导出之后,用免费的Gerber查看器(比如KiCad自带的Gerber Viewer,或者在线工具)打开。重点检查两件事:

第一,阻焊开窗是否覆盖了所有需要焊接的焊盘。在Gerber查看器里,把阻焊层和铜层叠加显示,看看每个焊盘的开窗是否比焊盘大一圈。如果某个焊盘的开窗和焊盘一样大甚至更小,那就要警惕了。

第二,相邻焊盘之间的阻焊桥是否存在。放大细间距器件区域,看看两个焊盘的开窗之间有没有一条阻焊保留下来。如果开窗连在一起了,说明扩展值太大,需要调小。

5.3 与板厂沟通阻焊参数的要点

即使你的设计没问题,板厂那边的工艺参数也可能影响最终效果。所以在发板的时候,最好在工艺说明里写清楚你的阻焊要求:

  • 阻焊扩展值:比如“Solder Mask Expansion: 0.05mm”
  • 阻焊桥最小宽度:比如“Minimum Solder Mask Dam: 0.1mm”
  • 过孔处理方式:比如“Vias: Tented”(过孔盖油)

有些板厂会默认帮你调整阻焊扩展值,如果你有特殊要求,一定要提前说明。我遇到过板厂为了做阻焊桥,自动把扩展值从0.05mm改成了0.03mm,结果焊盘开窗变小了,焊接面积不够。后来我在工艺说明里明确写了“Do not adjust solder mask expansion”,才避免了这个问题。

6. 高频翻车场景与排查速查表

6.1 焊盘被阻焊盖住的几种原因

焊盘被盖油是最常见的阻焊问题,原因通常有这几种:

  • Solder Mask Expansion设成了0或负值:这是最直接的原因。检查全局规则和焊盘属性,确保扩展值是正值。
  • 焊盘所在的封装被设成了No Mask:在Pad Properties里检查Solder Mask Expansion是不是被选成了No Mask。
  • 阻焊层被手动覆盖:如果你在Solder Mask层上画了Region或Fill,可能会覆盖掉焊盘的开窗。检查Solder Mask层有没有多余的手动画线。
  • 板厂工程处理时误操作:这种情况比较少见,但确实发生过。发板时在工艺说明里写清楚要求,可以降低风险。

6.2 过孔开窗导致短路或漏锡的排查

过孔开窗引发的问题通常表现为:回流焊后过孔周围有锡珠、背面有锡流出、或者密集过孔区域连锡。

排查步骤:

  1. 在AD20中选中可疑过孔,检查Properties里的Solder Mask Expansion是不是被设成了Manual正值。
  2. 检查Design Rules里的Solder Mask Expansion for Vias规则,确认全局设置是盖油的。
  3. 在3D视图或Gerber里查看过孔区域的开窗情况。

如果确认是个别过孔需要开窗,确保只有那些过孔被单独设置,其他过孔保持盖油。

6.3 细间距器件阻焊桥断裂的处理

阻焊桥断裂会导致回流焊时相邻引脚连锡。处理方法是减小Solder Mask Expansion值,给阻焊桥留出更多宽度。

具体操作:

  1. 计算当前阻焊桥宽度:焊盘间距 - 焊盘宽度 - 2 × 扩展值。
  2. 如果计算出来的阻焊桥宽度小于板厂的最小能力(通常0.08-0.1mm),就需要减小扩展值。
  3. 在Pad Properties里手动设置这些细间距焊盘的扩展值,比如从0.05mm改成0.03mm。
  4. 重新导出Gerber,确认阻焊桥宽度达标。

下面这张速查表整理了常见问题、原因和解决方法:

问题现象可能原因排查方法解决措施
焊盘被绿油盖住扩展值为0或负检查Pad Properties和Design Rules改为正值,如0.05mm
过孔周围有锡珠过孔开窗检查过孔阻焊设置改回Rule Expansion盖油
细间距引脚连锡阻焊桥断裂Gerber中测量阻焊桥宽度减小扩展值至0.03mm
开窗偏移板厂对位公差对比Gerber和实物增大扩展值或与板厂沟通
BGA区域阻焊异常全局规则不适用检查封装级设置单独设置BGA焊盘扩展值

6.4 我踩过的三个典型坑

第一个坑是全局规则改了但没生效。原因是有个封装的焊盘被设成了Manual,不跟随规则。后来我养成了一个习惯:每次改完全局规则,都用Find Similar Objects检查一遍有没有Manual的焊盘。

第二个坑是过孔盖油但测试点忘了开窗。板子回来发现测试点被绿油盖住了,探针根本接触不到。后来我在画板子的时候,会把需要开窗的测试点单独标记出来,在Properties里设成Manual正值。

第三个坑是阻焊扩展值设得太大导致QFP连锡。0.5mm pitch的QFP,我一开始用了0.1mm的扩展值,结果阻焊桥只有0.3mm宽,板厂做出来桥断了,回流焊后连了一片。后来改成0.03mm,问题解决。

7. 我的参数模板与项目落地建议

经过多个项目的迭代,我现在有一套自己的阻焊扩展参数模板,直接分享出来供参考:

全局规则设置:

  • Solder Mask Expansion:0.05mm(2mil)
  • Solder Mask Expansion for Vias:-0.05mm(盖油)

特殊封装手动设置:

  • QFP 0.5mm pitch:0.03mm
  • QFN 0.5mm pitch:0.03mm
  • 01005封装:0.03mm
  • BGA:0.05mm(或由板厂调整)

测试点过孔:

  • 单独设Manual,0.05mm正值

这套参数在大多数常规板厂都能顺利做出来。如果你的板厂工艺能力更强,可以适当放宽;如果板厂能力一般,建议把扩展值再收小一点,给阻焊桥留余量。

最后分享一个我在项目中的实际做法:每次画完板子,在导出Gerber之前,我会专门花十分钟在3D视图下把整块板子过一遍,重点看细间距器件和过孔区域。这十分钟的检查,帮我省下了至少三次打样返工的成本。阻焊扩展值这个参数,说小很小,说大很大,设对了板子一次成功,设错了就是真金白银的教训。

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

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

立即咨询