您如何攻击新板?


24

您可以从制造商那里获得PCB。这是一个新设计,您当然可以在所有主要部件上进行试验,但是您知道会出现问题。太多的事情都会引起问题,例如:

  • 原理图中的错误
  • ERC / DRC未发现布局错误
  • 焊接时零件错放
  • 焊接时的短裤等
  • 以上的任何组合

最近,我有两个相对复杂的电路板,为了定位错误,我基本上必须在组装后对整个电路板进行填充。我发现了错误,但是这些板子报废了。

我尝试着从最少的零件和不能手工焊接的零件开始(我使用的是粘贴,模版和烤面包机)。通常,这将是MCU,JTAG连接器和几个电容器。然后,我会逐步检查其他区域是否出现问题。

这种方法有效,但是速度很慢。我还必须在假定存在某些特定硬件的任何代码中注释掉/注释掉。

有人对如何采用新设计的PCB有任何技巧/建议吗?

编辑:我主要是在考虑使您的电路板瘫痪的问题,例如隐藏的电源轨短路或任何使MCU变砖的问题。


2
填充电源和配电(包括大容量和旁路电容),然后将输入电源施加到板上可能是个好主意。如果您有倒装的钽盖,您会很快知道的。然后在继续安装这些设备之前,检查MCU(等)在正确的引脚上是否具有正确的电源电压。
JustJeff 2011年

1
顺带一提,我认为这是个好习惯,让您的代码保持“模块化”(删除缺少外围设备的功能)。我总是编写我的代码,使其能够在“演示”模式下运行,该模式会忽略缺少的外围设备,但仍会在程序逻辑中运行,直到我确定外围设备已正确调试为止。然后,您的程序至少会运行,以便您可以知道它是否已编程。
2011年

2
施加输入电源时,请从低电流限制开始。
starblue 2011年

1
应该是社区维基。
布莱恩·卡尔顿

1
@Morten-嗯,很有道理。没错,上限不太可能引起问题。
凯文·维米尔

Answers:


10

我已经决定,提前进行电路板设计是浪费时间,除非您需要衡量零件性能的某些方面。

我什至认为将板子拼成一块浪费时间。最初的硬件调试只需要一两天。无论如何,直到软件集成,任何细微的问题都不会出现。我宁愿调试一个电路(完整的电路),也不希望对电路进行几次临时的简化。

只是建造东西!组装整个板并上电。查看电源电压。它消耗多少毫安?哪部分在燃烧?哪个部位温暖?然后尝试将固件刻录到板上的任何微控制器上。然后开始编写固件。让时钟过去并切换引脚。进行串行(或其他)通信。现在为每个外围设备编写测试程序。然后构建生产测试夹具,并开始编写“实际”固件。


编辑:

找到卡住的导轨

如果电源导轨接地(使用欧姆表测量0欧姆),请在台式电源上为其供电。正常设置电压,电流限制为几百毫安。在纸上打印出PCB设计,然后找到可测量微伏的数字万用表。从电源端子开始测量微伏,并记下PCB打印输出上的电压降。通过查看微伏的差异,您可以准确地追踪电流的流向,而不会减少或切碎PCB。此技术比使用欧姆表更好,因为您可以通过电路泵送大量电流,这比任何普通欧姆表所提供的电流都多。

一种类似的技术适用于在其他填充板上找到短路线。使用示波器在板上运行,以找到介于电压范围之间的“数字”走线。


我使用了相同的方法。它通常可以正常工作,但是有几次它又回来了,让我很难受。上一次,这是连接器下面的一个看似无害的插槽,该插槽在制造过程中被镀覆并短路了接地层和电源层。我的错完全是我自己的错,但这是一个令人沮丧且难以发现的错误。
莫伦2011年

1
我想使用“只做一件事情”的方法,我需要订购的不仅仅是一个PCB。
morten 2011年

我见过用于类似目的的“尖叫器”探针-短时归零。可悲的是,我找不到该产品的链接。
Toybuilder 2011年


20

我这样做的方法是:首先在板上填充最少的裸板,首先使电源工作,然后再使MCU工作,然后一次添加一个子系统,然后对其进行测试,然后继续进行,并根据需要编写测试软件。我觉得这个过程一点也不慢。

我已经对任何复杂度的板进行了裸板测试。它花费额外,但值得。


3
它只需要发现一个主要错误便可以使它更快得多
Kortuk

11

我只是面包板很小的电路。然后,我将小型电路焊接到原型板上。如果使用SMD芯片,则有助于获得SMD->通孔适配器。

这基本上为您提供了“构建块”。然后,我将这些电路块焊接到开发套件或要使用的MCU上的旧PCB上。它看起来很残酷,有四个或五个不同的小型PCB悬挂在一个较大的PCB上,但它确实有效。

在构建板上工作了构建块后,便移至PCB。如果在制作PCB时原理图发生了根本变化,我将返回并重新处理这些构造块,然后再次在开发板上对其进行测试。


附带说明,您应该研究使用#define和#ifdef预处理程序指令,而不是注释掉代码。它使添加和删除MCU中的代码功能块变得非常容易。


听起来我是如何做到的,我觉得这是改进设计的一种非常好的方法。这也使得以后可以重复使用零件成为可能。
TrygveLaugstøl,2011年

9

对于任何复杂的电路板,制定测试计划与开发电路板本身几乎一样重要。即使刚开始设计电路板,也要知道要测试什么,这是一个好主意,即使该实现尚不存在。正如他们所说的“测试设计”。确保将关键信号带到测试点垫。尝试对设计进行分区,以便可以独立或尽可能独立地启动各个子系统。


嗯,很好的建议!由于某种原因,我之前在此上下文中并未真正考虑过“测试设计”。
莫伦2011年

2
您可以通过设计自测功能将其提升到一个新的水平。它增加了电路板的复杂性,但可以使您的设计验证更加容易,甚至可以选择在现场产品中包括开机自检。
JustJeff 2011年

8

我想一个关键的问题是:在将电路板投入生产之前,飞行前检查清单是什么?我的飞行前清单是:

  1. 原理图设计审查
    1. 网络名称和表外端口
    2. 电源引脚已连接
  2. 原理图DRC
  3. 足迹擦洗
    1. 完整的制造商零件编号
    2. 零件编号与原理图上的PCB和引脚排列相匹配
    3. 脚位图针号为“右侧向上”且正确
    4. 仔细检查了脚印尺寸,以检查孔的大小,间隙,保持孔等。
    5. 配合连接器的方向正确;引脚1对1、2对2等
  4. PCB尺寸和孔
  5. PCB DRC
  6. Fab Drawings具有所有图层和标注。

这个答案由维基百科提供。


5

其他人说的都是正确的,但我想加上2美分。

绝对最好的事情不是一开始就犯错误。提及这一点似乎很愚蠢,但很多时候却忽略了这一点。进行原理图和PCB设计审查。有几个人在看您的设计-甚至是初学者。在软件中使用设计规则检查。使用任何可用资源来确保您的设计良好。有良好的工程实践,可以提高发现错误的几率。

在过去的20年中,设计了数十个PCB(有些具有14层和2,000个组件),而我只有两个pcb在第一轮原型中无法使用。我当然有bug,但是只有两个板被“砖化了”。

在每种情况下,在我开始调试它们之前,就已经完全填充了原型。我会拨出电源,以确保没有短路。然后使用显微镜进行目视检查。然后加电。之后,我将开始一个有条不紊的测试和调试会话-一次在电路的小部分上工作,直到所有内容都经过测试并开始工作。在大多数情况下,我会进行一些更改,并在下一版PCB中投入批量生产。

没有大量的努力来减少这些错误,这些都是不可能的。


一些制造商(如4pcb)甚至为您的Gerber提供免费的DFM测试。这些免费测试是对PCB工具的DRC的很好补充。
ajs410 2011年

4

在一个全新的设计中,我通常采用分而治之的方法。

我尝试隔离主要的架构模块,并使用开关/直流电源/电位计等独立地为每个部分加电,以模拟使电路运行所需的依赖性。

当您使用电源时,这种方法通常并不难-大多数转换器只需要输入,也许需要一些逻辑信号即可开始切换(并希望不会释放故障的魔力)。

进行第二次/第三次旋转(清理)的董事会通常不需要这种勤奋。我可能只隔离电路中已更改的部分,分别对其进行测试,然后保存测试其余电路的全部通电。

不要忘记您的个人防护装备。在没有安全护目镜(有时是耳塞...)的情况下,使用裸露的组件上电时,我感到非常不舒服。


1
+1保护眼/耳!我曾经听到来自整个实验室的DAC爆炸声-研究该信号的那个人在他的视力中有一个暂时的盲点,持续约5分钟!
Toybuilder 2011年

3

好吧,首先要防止发生短路的网络的第一步就是充分利用电路板软件中的设计规则检查。两者都在原理图层面上,以确保在不应该将网不应该无意间绑在一起的情况下;并在PCB层确保网之间有足够的间隙。

如果有任何未经测试的设计元素,而不是在一个板上进行全新设计,我会尝试在廉价的原型PCB(例如Advanced Circuit的BareBonesPCB服务-两个)上构建概念验证和性能验证测试板。层,无阻焊层,24小时约80美元)。

即使当我完成一个完整的电路板时,在第一代电路板上,我也喜欢放入大量的分线接头。在某些情况下,您可以填充两个相同的PCB,其中一个带有“稳定”部分,而插头则位于顶部。另一个带有“测试”部分,带有底部进入针插座。如果一切正常,则可以完成两块板的组装。或者,您可以旋转“测试”电路的新版本,然后将其交换到位。


标头很棒,特别是如果您以后需要重做或添加功能,或者需要即兴调试输出时。我也喜欢为小型原型制作BareBones的想法...可能自己
动手
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.