如何在 Eagle 中制作一个像样的地平面?

电器工程 电路板 路由
2022-01-10 07:30:53

作为业余爱好者,我制作了几个简单的 PCB,现在我第一次想添加一个接地平面浇注,但我遇到了一些问题。

据我目前了解,我需要:

  • 使用多边形工具沿着我的电路板轮廓创建一个多边形
  • 将其重命名为 GND
  • 设置间隙
  • 打开热量以便于焊接
  • 手动/自动路由后点击ratnest

问题是我在进行自动路由测试并单击ratnest后得到了空白空间,并且内部接地层似乎没有连接到外部接地层

图片:

在此处输入图像描述

我究竟做错了什么?

4个回答

对于一个简单的双面电路板,首先在整个底层创建一个接地多边形。诀窍是让 Eagle 在顶层路由大部分连接。为此,请使多边形内的布线成本高而过孔成本低。实际上,您希望从更有可能找到解决方案的参数开始,然后在多次优化过程中收紧要求。

在自动布线之前,手动布线关键走线,并将焊盘上的任何接地连接到接地层。这将导致它不会浪费连接地面的布线空间。

当然,这一切都必须从良好的布局开始,试图将连接的事物彼此靠近,并尽可能减少交叉点。

在自动路由之后,您必须进行一些手动清理。地平面的度量是任何岛的最大尺寸有多小。许多小岛胜过几个大岛。这意味着如果可能,您希望接地层在每个通孔周围流动。不幸的是,即使将拥抱参数设置为 0,Eagle 也倾向于聚集通孔。你不能将其设置为负数,我试过了。这意味着您必须查看自动布线器做了什么并稍微移动一些东西以尝试分解成块的通孔。

这主要是关于正确使用自动路由器并意识到它是一种工具,而不是你自己的大脑的替代品。如果你期待着火而忘记,你将不会得到好的板子。

无论如何,这是我的 2 层板之一的自动路由器控制文件,底层是地平面:

[默认]

  路由网格 = 4 百万

  ; 跟踪参数:

  tpViaShape = 圆形

  ; 首选方向:

  PrefDir.1 = *
  PrefDir.2 = 0
  PrefDir.3 = 0
  PrefDir.4 = 0
  PrefDir.5 = 0
  PrefDir.6 = 0
  PrefDir.7 = 0
  PrefDir.8 = 0
  PrefDir.9 = 0
  PrefDir.10 = 0
  PrefDir.11 = 0
  PrefDir.12 = 0
  PrefDir.13 = 0
  PrefDir.14 = 0
  PrefDir.15 = 0
  PrefDir.16 = *

  活跃 = 1
  ; 成本因素:

  cfVia = 50
  cfNonPref = 5
  cfChangeDir = 2
  cfOrthStep = 2
  cfDiagStep = 3
  cfExtdStep = 0
  cfBonusStep = 1
  cfMalusStep = 1
  cfPadImpact = 4
  cfSmdImpact = 4
  cfBusImpact = 0
  cfHugging = 3
  cfAvoid = 4
  cfPolygon = 10

  cfBase.1 = 0
  cfBase.2 = 1
  cfBase.3 = 1
  cfBase.4 = 1
  cfBase.5 = 1
  cfBase.6 = 1
  cfBase.7 = 1
  cfBase.8 = 1
  cfBase.9 = 1
  cfBase.10 = 1
  cfBase.11 = 1
  cfBase.12 = 1
  cfBase.13 = 1
  cfBase.14 = 1
  cfBase.15 = 1
  cfBase.16 = 5

  ; 最大数量...:

  mnVias = 20
  mnSegments = 9999
  mnExtdSteps = 9999
  mnRipupLevel = 50
  mnRipupSteps = 300
  mnRipupTotal = 500

[跟着我]

  @路线

  活跃 = 1
  cfVia = 8
  cfBase.16 = 0
  mnRipupLevel = 10
  mnRipupSteps = 100
  mnRipupTotal = 100

[公共汽车]

  @路线

  活跃 = 1
  cfVia = 10
  cfChangeDir = 5
  cfBusImpact = 4
  cfPolygon = 25
  cfBase.16 = 10
  mnVias = 0
  mnRipupLevel = 10
  mnRipupSteps = 100
  mnRipupTotal = 100

[路线]

  @默认

  活跃 = 1

[优化1]

  @路线

  活跃 = 1
  cfVia = 99
  cfNonPref = 4
  cfChangeDir = 4
  cfExtdStep = 1
  cfHugging = 1
  cfPolygon = 30
  cfBase.16 = 10
  mnExtdSteps = 20
  mnRipupLevel = 0
  mnRipupSteps = 100
  mnRipupTotal = 100

[优化2]

  @优化1

  活跃 = 1
  cfNonPref = 3
  cfChangeDir = 3
  cfBonusStep = 2
  cfMalusStep = 2
  cfPadImpact = 2
  cfSmdImpact = 2
  cfHugging = 0
  cfPolygon = 40
  mnExtdSteps = 15

[优化3]

  @优化2

  活跃 = 1
  cfVia = 80
  cfNonPref = 2
  cfChangeDir = 2
  cfPadImpact = 0
  cfSmdImpact = 0
  cfPolygon = 50
  mnExtdSteps = 10

[优化4]

  @优化3

  活跃 = 1
  cfVia = 60
  cfNonPref = 1
  cfPolygon = 60
  cfBase.16 = 12

[优化5]

  @优化4

  活跃 = 1
  cfVia = 40
  cfNonPref = 0
  cfPolygon = 70
  cfBase.16 = 14
  mnExtdSteps = 5

[优化6]

  @优化5

  活跃 = 1
  cfVia = 20
  cfBase.16 = 16

[优化7]

  @优化6

  活跃 = 1
  cfBase.16 = 18

[优化8]

  @优化7

  活跃 = 1
  cfBase.16 = 20

您看到的“孔”或“孤岛”是由于在给定迹线和焊盘的位置的情况下,您当前的间隙公差无法建立连接。

如果您移动迹线以允许在它们之间存在浇筑,则在您的间隙设置的约束范围内,浇筑将填充空隙。

有时您可能无法在给定区域创建连接,在这种情况下,您可能需要使用过孔将它们缝合在一起。在我的许多小型 2 层板上,我在顶部和底部都使用了地面浇注。在底部创建“岛”的地方,我使用过孔将其连接到顶层的相同接地电位。

您可以移动走线、过孔和组件以防止大多数这些孤岛,但不可避免地您可能不得不使用额外的 GND 过孔来防止它们被隔离。

如果您在同一层中有迹线(这会中断覆铜,因为它们需要隔离),严格来说,它不再是接地层。或许,将其称为地铜浇注更为正确。
如果有很多走线中断了覆铜,那它肯定不再是接地层了。

我 [OP] 做错了什么?

也许,您做错的第一件事是您使用的是自动路由器。自动布线器不知道你想让底层远离走线,因为你想在那里浇铜,而且你想让它尽可能连续。以这种方式配置自动路由器是可能的(我不是 Eagle 自动路由器的专家,所以不要相信我的话)。但是对于中等复杂的电路板,与在自动布线器中设置所有权重相比,手动布线电路板通常更快。

自动布线器有它的用途。但是,初学者通常会过度使用自动布线器。

Connor Wolf 发表了有效评论(原帖):

在您对 PCB 足够熟悉以了解它的问题之前,请远离自动布线从手动路由开始 - 你会学到更多。

相关主题:
两层 PCB 的正确 GND 浇注?
PCB 设计审查 PCB 布局已发布到 EE.SE fpr 设计审查。不幸的是,它是自动路由的。该线程包含有关自动路由的优缺点的讨论。

您在地平面中缺少一个名为“孤儿”的设置。选择此选项将用地平面填充所有“孔”。

为此,请右键单击多边形的最外侧(因此您选择点线),然后转到属性。您将看到一个带有“孤儿”的选项,单击复选框并单击应用。现在再做一个 rastnet,你所有的“洞”都会被地平面填满。

请注意,孤儿在鹰中接地,但是在制作 PCB 时它没有连接。