你如何攻击一个新的棋盘?

电器工程 电路板 pcb组装 调试
2022-01-20 21:32:46

你从制造商那里拿回你的PCB。这是一个新设计,你当然已经对所有主要部分进行了面包板测试,但你知道会有问题。有太多的事情会导致问题,例如:

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

我最近有两个相对复杂的电路板,我基本上不得不在组装后取消填充整个电路板以定位错误。我发现了错误,但板子是废品。

我尝试从最少的零件和不能手工焊接的零件开始(我使用的是浆糊、模板和烤面包机)。通常这将是 MCU、JTAG 连接器和一些电容器。然后我逐渐填充其他区域,同时检查它们是否存在问题。

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

有人对如何处理新设计的 PCB 有提示/建议吗?

编辑:我主要考虑让你的电路板死机的那种问题,比如隐藏的电源轨短路,或者任何使 MCU 变砖的东西。

4个回答

我首先用最低限度填充电路板,首先让电源工作,然后是 MCU,然后一次添加各种子系统,并在继续之前对其进行测试,必要时编写测试软件。我觉得这个过程一点也不慢。

我有任何复杂的裸板测试板。它需要额外的费用,但这是值得的。

我只面包板非常小的电路。然后我将小电路焊接到原型板上。如果使用 SMD 芯片,获得 SMD->Thru-hole 适配器会有所帮助。

这基本上给了你“积木”。然后,我将这些电路块焊接到开发套件或带有我正在尝试使用的 MCU 的旧 PCB 上。它看起来很糟糕,有四个或五个不同的小 PCB 挂在一个较大的 PCB 上,但它确实有效。

一旦我的构建块在开发板上工作,我就会转向 PCB。如果在制作 PCB 时原理图发生了变化我会返回并重新设计构建块并再次在开发板上进行测试。


在旁注中,您应该考虑使用#define 和#ifdef 预处理器指令,而不是注释掉代码。它使在 MCU 中添加和删除功能代码块变得更加容易。

我已经决定提前进行面包板测试是浪费时间,除非您需要自己衡量零件性能的某些方面。

我什至认为将电路板分段构建是浪费时间。最初的硬件调试只需要一两天。无论如何,在软件集成之前,任何微妙的问题都不会出现。我宁愿调试一个电路(完整的电路),也不愿对电路进行几次临时缩减。

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


编辑:

找到卡住的铁轨

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

类似的技术适用于在其他填充板上查找短路的迹线。使用示波器运行电路板以查找介于中间电压范围内的“数字”迹线。

对于任何复杂的电路板,制定测试计划几乎与开发电路板本身一样重要。即使在设计电路板的一开始,最好知道您将测试什么,即使实现还不存在;正如他们所说的“为测试而设计”。确保将关键信号带到测试点焊盘。尝试对设计进行分区,以便可以独立地或尽可能地独立地提出各个子系统。