☰
PCB死铜危害与Altium Designer彻底清除死铜的完整指南
2026/10/7 6:52:57 网站建设 项目流程

1. 死铜的真相:为什么它总是阴魂不散

1.1 到底什么样儿的铜才算“死铜”

很多朋友一看到PCB上有孤零零的小铜皮,第一反应就是“死铜”。其实严格来说,死铜(Dead Copper)指的是铺铜之后,与任何网络(Net)都没有有效电气连接的孤立铜皮区域。用我常跟徒弟说的话讲:这块铜自己“漂”在那儿,既不接GND、也不接电源,上不着天下不着地,跟谁都没关系,那它就是个纯纯的“孤儿”。

在Altium Designer里,这种孤儿铜有几种典型来源:一是你在铺铜边界内挖了一块禁止区域,恰好把一部分铜皮隔离出去了;二是板子上走线太密,把大铜皮切成了若干个小块,其中某个小块四周都被不同网络的走线或过孔包围,中间又没有过孔接到目标网络上;三是你在规则里给某个区域设置了独立的Clearance,导致铜皮被“挤”断了一截。这些孤立的铜皮如果面积够大,就成了软件眼中的“死铜候选人”。

有意思的是,很多设计者会把“死铜”和“无功能铜”混为一谈。我见过不少新同事看到板上有一块很小的铜皮,就认定是死铜,非要去掉。实际上如果那块铜皮通过一个微弱的颈部还连着主铜皮,哪怕颈部很细,它都不算严格意义上的死铜,软件也不会把它归为孤岛。这就是很多人“以为自己删干净了,结果发现还有”的第一个认知误区。

1.2 死铜不清的后果没有你想象中简单

死铜这事儿,往小了说影响美观,往大了说直接影响板子性能。

第一个麻烦是电磁干扰。死铜本质上是一根没有接线的天线,它会接收周围走线辐射出来的电磁能量,然后在它自己的谐振频率附近再次辐射出去。尤其在射频板、高速数字板这种对噪声敏感的场合,一块死铜就够你整块板子EMC测试掉链子的。有一个我用血泪换来的经验:之前调一块电源板,传导骚扰总是超标,排查了两天最后发现罪魁祸首就是散热焊盘旁边一块拇指指甲盖大小的死铜,它正好搭在开关节点的高频干扰带上,当了一把“发射天线”。

第二个问题是生产良率。死铜如果是大面积但又孤立,在PCB蚀刻过程中可能因为药水流动、铜厚均匀性等因素,导致边缘过度蚀刻或残留铜屑。更严重的是,这种没有网络连接、没有过孔固定的“漂浮铜皮”在压合、钻孔、表面处理时容易起翘、脱落,严重时可能掉进孔里引起短路。虽然现代工厂工艺能力强,但这种瑕疵在可制造性审查(DFM)阶段是会被扣分的。

第三个问题是设计维护。死铜的存在会让你的板子在后期修改时“牵一发动全身”变得很难预判,因为铜皮的实际形状和你在原理图里看到的东西不一致。比如你改了一条走线,重新铺铜之后原来的死铜区域可能突然“复活”了,跟旁边的信号连上了,你都不知道。这种潜在连接风险在量产阶段比什么都可怕。

所以,把死铜清理干净,不只是“看着舒服”,更是基本功。问题在于AD这软件,有时候你明明勾了移除死铜,它还是不给你清理干净。接下来咱把这锅端出来仔细看。

2. 核心原因:你的“Remove Dead Copper”为什么失效

2.1 勾选选项只是第一步,重新铺铜才是关键

Altium Designer的设计逻辑很清楚:铺铜是个“操作”,不是“状态”。你每次修改了板子上的任何东西——走线、过孔、元件移动——原本铺好的铜皮理论上都是“过期”的,需要重新生成。这个生成动作,在AD里叫Rebuild或Repour。对应的操作入口是菜单栏的Tools → Polygon Pours → Repour All,快捷键通常是Shift+B(部分版本不一样,建议直接用菜单)。

很多朋友犯的第一个错误是:双击铺铜打开属性面板,看到“Remove Dead Copper”选项(中英文版本里的“去除死铜”或“移除死铜”),果断勾上,然后关掉面板,保存、导出、发板。然后看了制造厂反馈回来的图片,发现死铜还在,于是开始怀疑人生。

其实问题很简单:你只改了设置,没有让软件重新计算铜皮。勾选之后必须让当前多边形重新铺一遍,这个选项才会实际生效。就像你改了洗衣机的程序,但没按启动键,衣服肯定不会自己变干净。处理办法就是执行一次Repour All,或者至少对你修改过的那块铜皮右键 →Polygon Actions → Repour。

这里我建议养成一个习惯:每次批量操作走线、移动元件之后,都执行一次完整的Repour All,然后再去检查死铜。别等到发板前才一次性铺铜,那会儿问题会扎堆出现,而且轨道混乱,很难定位是哪一步操作把铜皮搞成了孤儿。

2.2 间距规则和连网判定在从中作梗

这是个非常隐蔽的陷阱。即使你正确勾选了“移除死铜”并且重新铺了铜,有些“看起来像死铜”的区域依然不会被清理。为什么?因为AD对死铜的判定有一个前提:这块铜与目标网络之间不存在任何电气连接路径。在AD的算法里,“连接”不是指物理上有没有铜连着,而是指“有没有满足设计规则(Clearance)的连通路径”。

举个例子:你的铺铜网络是GND,铜皮中间有一小块孤岛,孤岛旁边恰好有一个GND过孔,但是过孔离孤岛的距离是10mil,而你的GND铜皮和过孔之间的Clearance规则允许5mil。这种情况下,过孔虽然没直接“碰”到孤岛,但AD在做网络连通性计算时,可能会认为这个过孔给孤岛提供了“可连接的潜力”,于是这块孤岛就不算死铜。反过来说,如果孤岛旁边有一个3.3V网络的走线,间距刚好在规则值以内,软件可能认为它们“接触”了,于是判定这个孤岛属于3.3V网络,而非死铜——这一点最坑,因为它不会消失,还会被归入一个你完全没预料到的网络。

怎么排查这类问题?我自己的办法是:点击死铜区域,看属性面板里显示的Net属性。如果显示的是当前铺铜的网络名,说明它被正常纳入网络,只是视觉上看起来孤立;如果网络名显示为“No Net”或者另一个不相关的网络名,那就要去检查附近的间距规则了。特别是当你设置了多个Clearance规则(比如Room规则、区域规则)时,不同地方的间距要求不一样,算法判定也会跟着变。

还有一类情况是热焊盘(Thermal Relief)引起的误判。电源层的铺铜接到元件的GND引脚时,通常是花焊盘形式连接,花焊盘的几根辐条本身就是细细的铜。有些孤岛恰好通过花焊盘的辐条与引脚搭上,哪怕相互之间只有一小条铜连接,软件也不认它做死铜。但这种连接往往电阻很大,实际承载电流能力极弱,本质上已经不是“死”而是“残废”,对于高速信号回流或电源承载来说跟死铜一样坑。这种情况AD不会帮你清理,只能靠人工手动修。

2.3 铺铜模式与最小面积的猫腻

AD里铺铜有两种主要填充模式:Solid(实心)和Hatched(网格/栅格)。很多朋友习惯用Hatched模式来减少板材应力或增加柔韧性,但请注意,Hatched模式下死铜的处理逻辑跟Solid不太一样。

在Hatched模式下,AD的死铜检测算法是以网格线条为单位的。一块孤岛如果在Hatched模式下呈现为若干条平行的细铜线,而这些细铜线之间并没有形成闭合回路或连接成片,就很容易被软件判定为“非铜区域”——不列入死铜范围,也不会显示给你看。换句话说,你以为它在,它其实被忽略了;你以为它被清理了,它可能又因为网格参数的改变而突然冒出来。这种“薛定谔的死铜”最容易让人抓狂。

另一个关键参数是最小死铜面积(Minimum Dead Copper Area)。这个选项在不同版本里位置略有不同,但一般在铺铜属性面板的“Remove Dead Copper”附近。它定义的是“多大的死铜才值得被清除”。低于这个面积的死铜,AD会直接无视掉;高于这个面积,才会触发清除逻辑。如果你把这个值设得很大,那么一些小碎铜皮就不会被清理;如果设成0或者极小值,那么哪怕一丁点儿的孤岛也会被揪出来,但相应地会导致铺铜计算结果变慢,而且会把一些无伤大雅的微小铜屑也消灭掉,增加了不必要的修正操作。

我见过有些工程模板里这个参数被之前的人改成了100mm²,结果整板几十块死铜一个都不清,新来的工程师以为软件坏了。这个案例给了我一个教训:拿到别人板子,第一步查铺铜参数,尤其是“Remove Dead Copper”和“Minimum Dead Copper Area”这两个值,别急着重新铺铜。

3. 实操:一次性把死铜清理干净的完整流程

3.1 开局先检查铺铜参数

我先给你一个标准的铺铜属性检查流程。双击任意一个铺铜对象,或者先选中多边形铺铜,打开属性面板(Properties),依次核对这几个位置:

  • 网络(Net):确认铺铜属于哪个网络,别让电源网络的铺铜挂在GND名下。
  • 铺铜模式(Fill Mode):你是要Solid还是Hatched,想清楚。高频板常用网格,普通信号层直接实心。
  • 移除死铜(Remove Dead Copper):重点是这里,打勾。
  • 最小死铜面积(Minimum Dead Copper Area):建议先设为0或一个很小的值(比如0.5mm²),让软件把所有孤岛都揪出来,等检查过一轮再根据实际情况调大。这是摸排阶段最有效的做法。
  • 铺铜连接方式(Connect to Net):确认是Direct Connect还是Relief Connect(花焊盘),花焊盘类型的相关辐条宽度、间隙要一起看。
  • 锁定(Locked):如果这个铺铜被锁定了,重新铺铜时某些操作可能不触发,建议在需要调整时先解锁。

如果你是第一次接手别人的PCB文件,建议双击所有大块铺铜,一个一个过一遍属性,别用全局选择后批量改,因为每块铺铜可能网络不同、规则不同,批量操作容易误伤。

3.2 重新铺铜和局部重铺的正确姿势

参数检查完毕,接下来就是实际操作。按照我平时调板子的顺序,给出一套完整的清理流程:

第一步,备份文件。重新铺铜是个破坏性操作,一旦执行,原有的铜皮状态会不可逆地改变。操作前记得另存为一个副本。

第二步,执行Repour All。菜单Tools → Polygon Pours → Repour All,这时候AD会重新计算所有铺铜对象。如果板子上有很多铺铜,这个过程可能需要一点时间,耐心等它转完。

第三步,观察哪些“死铜”消失了。按快捷键L打开视图配置(View Configuration)面板,在Polygon区域把显示模式调成“Solid”或“Hatched”看效果,或者直接用Shift+S单层显示,逐层检查。如果还有死铜残留,看它们集中在哪些区域、有什么共同特征。

第四步,针对顽固区域做局部重铺。有时候Repour All之后某个区域还是不对劲,你可以单独右键那块铺铜 →Polygon Actions → Repour。局部重铺只重算选中对象,速度更快,也方便你试验不同的参数组合——比如先改成“不勾选移除死铜”重新铺一遍,观察哪些孤岛会出现,再勾上选项重新铺,对比差异,这样能搞清楚孤岛到底是被谁“拉”出来的。

第五步,善用Polygon Pour Cutout。如果某块死铜是靠规则判定无法清理的(比如因为间距规则被认为“连接”了某一网络),你可以手动在它周围放置一个“铺铜裁剪区”(Polygon Pour Cutout),把这块区域明确隔离掉。放置方式是从菜单Place → Polygon Pour Cutout,画一个覆盖死铜区域的闭合框即可。放好之后要重新铺铜一次,裁剪区才会生效。

3.3 手动排查“漏网之鱼”的检查清单

哪怕软件设置全部正确,我也建议你在发板前做一次人工死铜排查。因为算法是死的,人是活的,有些孤岛它会“装死”,肉眼却能看出来。

我的个人检查顺序是:

  1. 全板单层显示信号层,逐层翻,用快捷键Shift+S切到单层,别缩放太远,按可视范围认真扫一遍。
  2. 看到可疑的孤立铜皮就点一下,打开属性面板看Net属性。如果Net为空或显示“No Net”,那就是死铜。
  3. 对于疑似但与主铜皮有细脖子连接的铜皮,放大看颈部宽度。如果颈部远小于该网络的载流需求,也建议手动处理——要么加宽,要么干脆切掉。
  4. 重点检查散热焊盘区域、螺丝孔周围、板边、大面积镂空区域。这些地方最容易藏死铜。
  5. 最后用DRC兜底跑一遍Dangling Copper规则,让软件把所有未连接的铜都列表出来,逐个确认。

这一套流程下来,我不敢说100%清除,但对绝大多数常规板子来说,残留死铜的概率会大大降低。

4. 常见问题速查与翻车现场复盘

4.1 死铜清理问题速查表

我把这些年在群里、论坛上、以及自己带人时遇到的高频问题整理成一个表格,方便你对照排查。

现象可能原因解决动作
勾选了Remove Dead Copper但死铜还在没有重新铺铜,修改未生效执行Repour All
重铺之后仍有多块大死铜Minimum Dead Copper Area设得过大先设为0,重铺后再调整
死铜显示归属另一网络附近对象间距小于Clearance,算法认为已连接检查并修正间距规则后重铺
死铜通过细颈部连着主铜皮,看着像断了颈部满足连通性,不算死铜手动加宽颈部或手动切割铜皮
Hatched模式下出现“薛定谔的铜”网格线未形成闭合区域,算法不识别为铜切换Solid模式排查,或调整Hatch模式参数
死铜重新铺铜后消失,过一会儿又冒出来你后来移动了元件/走线,破坏了局部连通性最后阶段再统一Repour一次
DRC报Dangling Copper但属性面板显示非死铜该铜皮与某些元件引脚存在弱连接按DRC列表逐个确认,必要时手动裁剪
铺铜对象被锁定,无法重新计算锁定的多边形不参与某些自动重铺解锁后Repour,再视情况重新锁定

这个表格里的前三条占了实际问题的八成以上,别急着往深了想,先检查这仨。

4.2 针对顽固死铜的兜底方案

如果你按照上面的流程做完了,依然有个别顽固死铜清不掉,比如它面积很大、位置很刁钻、网络归属混乱,这时候我建议启用“杀手锏”:手动裁剪+废弃网络双重保障。

手动裁剪上面已经说过用Cutout,这里补充一个更狠的办法:直接选中那块死铜,按Delete删除。但在删除前,你必须先确认它的Net属性里没有挂任何网络名,否则删掉之后可能会导致飞线(Ratsnest)重新出现,提示你有一个网络没连接到。如果删除后出现飞线,那就说明这块铜其实承担着连接任务,你不能删,得反过来解决它没接上的原因。

另一个兜底方案是重新放置一块铺铜。有些老工程师遇到实在搞不定的区域,会直接把整块有问题的铺铜删掉,然后重新在一个新的Polygon Pour里画边界,把原来出问题的区域避开。这样虽然麻烦,但有时候真的比跟软件死磕一个隐藏规则来得有效率。特别是老版本AD文件升级到新版本后,历史遗留的多边形在算法兼容性上偶尔会有诡异行为,重建往往比修复更稳定。

这个思路希望大家记住:设计软件只是个工具,别被它带进牛角尖。如果某个操作反复折腾还不理想,就跳出局部,换一个更“笨”但确定有效的路。

4.3 个人经验杂谈

我在做板子这十几年里,死铜问题翻车翻得最狠的一次,是一块四层核心板。顶层和底层大片铺GND铜,电源层有220V开关电源部分。当时我以为勾选了移除死铜,所有层都清理干净了,结果板子回来后发现底层有大面积死铜跑到了一颗通信芯片底下,刚好压在晶振和匹配电容旁边,EMI问题直接导致RS485通信距离比预期短了一半。事后分析,罪魁祸首就是那块区域被我设置了一个Room规则,把最小间距从6mil改成了15mil,而我的死铜区域和旁边的走线正好都处于这个Room的范围内,15mil的间距把孤岛“隔离”成了死铜,却因为算法认为它与某个引脚存在距离过近的连接而被当成“活的”。

后来我把这个Room规则单独画到了只包含高压区域的小范围内,死铜问题就消失了。这件事让我养成了一个习惯:每设一个局部规则,都得问自己一句——这个规则会不会影响附近的铜皮生成逻辑。

再分享一个实用技巧:在AD里,铺铜是否隐藏并不影响死铜规则判断。很多新手看到板上没显示铜皮,以为死铜也没了,其实只是显示问题。你可以用视图配置面板把Polygon的实心显示打开,或者在单层模式下看,铜皮该在还是在那。真正判断死铜是否存在的,是DRC里的Dangling Copper检查报告,而不是你的眼睛。

另外,如果你的板子用在强振动或高低温循环环境,死铜比普通走线更容易因为热应力问题产生材料疲劳。虽然现代板材韧性还行,但大面积孤铜在反复热涨冷缩下对板材寿命的拖累是真实存在的。因此审板的时候,大块死铜一定要清干净,别为了一点铜皮的“接地面积”心软,它给的接地面积很可能根本不属于GND。

最后再给一个建议:如果你的团队里有多位工程师协作画板,建议在项目模板里把铺铜默认参数统一设置好,尤其是“Remove Dead Copper”和“Minimum Dead Copper Area”这两个值,所有成员用同一套参数开局,能省掉很多互相“背锅”的时间。我们团队目前默认配置是:Remove Dead Copper开启,Minimum Dead Copper Area设为1mm²(这个值兼顾了清理效率和保留有效铜皮的平衡),Solid或Hatched看层用途单独定。这样定下来之后,死铜问题在评审阶段几乎绝迹了。

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

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

立即咨询