我烧了一根针。现在,我该怎么办?

电器工程 Arduino 硬件 引脚
2022-01-24 11:19:43

我不小心将引脚 10 和 11 短路,其中 10 设置为输出高电平,11 设置为输入。引脚 11 不工作。我如何确定我烧了哪些组件?

问题可以解决吗?

3个回答

假设: 由于未指定具体的Arduino型号,使用Arduino Uno来说明这个答案。该原理同样适用于其他 Arduino,因为它们各自的引脚分配和微控制器工作电压。

请参阅 Arduino Uno 的此引脚:(来源


Arduino Uno 引脚


  • 可以看出,引脚 10 和 11 都是标准 GPIO 引脚。
  • 在 Arduino 中,任何GPIO 都不能输出高于微控制器电源电压(V CC )的电压。对于 Uno V CC是 5 伏。
  • 任何 GPIO 引脚都可以承受高达 V CC和稍高一点的输入电压(标准允许 5.5 伏)
  • 此外,当任何 Arduino GPIO 设置为输入时,它处于高阻抗状态,因此无法为所涉及的电压传递足够的电流,以免发生任何损坏。
  • 因此,在问题中报告的情况下,短接引脚 10 和 11不会对任一引脚造成任何损坏。

现在让我们检查替代的可能性:

  • 如果 Uno 由 DC 筒形插孔供电,而不是来自 USB 连接或其他稳压电源的 5 伏,则 Vin 引脚输出低于此输入电压的 1 个二极管压降:如果电源为 9 伏,则约为8.3 伏电池连接到筒式千斤顶。
  • 将此 VIN 引脚短接到 Arduino 的任何模拟或数字引脚(受电阻器保护的特定引脚除外)很可能会破坏微控制器内该引脚的内部 ESD 二极管/保护电路,或破坏微控制器本身。这可能是问题的原因。
  • 另一个假设是引脚 11 暴露在电路板 Vcc 之外的其他高压源中。这可能是由于来自电机的反电动势,或者是由于压电弯曲器(压电扬声器)撞到某物时产生的高压(可能是10+ 伏)。如上所述,这可能会损坏 ESD 二极管/保护电路
  • 接下来,即使设备未通电,静电产生的静电放电也会损坏任何给定的 GPIO 引脚。例如,您是否碰巧梳理了头发,然后在某个时候触摸了 Arduino 板?问题只会在稍后出现,当尝试在板上使用该引脚时,因此通常很难确定因果关系。
  • 最后,如果两个引脚都设置为输出,一个设置为高电平,另一个设置为低电平,并且这些引脚短路,则“高”引脚通过“低”引脚看到对地短路。这种源到接收器的争用会导致微控制器发热,尽管 AVR 微控制器通常在 GPIO 上具有输出保护,但这可能会导致其中一个或另一个引脚停止工作 - 尽管在这种情况下整个微控制器更有可能发生故障.

说了这么多,如果不管什么原因,Pin 11 不再进行输入或输出,MCU 相应的内部保护电路将不可挽回地损坏。没有办法修复它。Manishearth的回答很好地涵盖了这一点

认为自己很幸运,整个微控制器没有被破坏,并重新编码您的应用程序以不再使用 Pin 11。

个人提示: 很久以前,我在 Arduino 板上的 VIN 插座上贴了一些剥去的绝缘层,以避免意外地将任何跳线暴露在该电压下。如果有一天我真的需要使用 VIN,我会花一个愉快的时间努力提取卡在里面的那一点绝缘材料。

通过将输入与输出短路来破坏您的引脚是不可能的。输入引脚可以处理 Vcc 电平电压,因此它们应该能够处理来自另一个引脚的较低输出电压。此外,它们具有高阻抗,因此可以保护它们免受大多数事情的影响。(有关此问题的更多详细信息,请参阅 Anindo 对同一问题的回答)。在您的具体情况下,我猜发生了以下情况之一:

  • 两个引脚都配置为输出
  • 你短路了一些东西但没有注意到
  • (因为你在聊天中提到别针又开始工作了)积累的灰尘或湿气使别针感到不舒服

但是,您可以使用以下连接破坏引脚(取自这篇出色的帖子,那里有许多更通用的破坏 Arduino 的方法):

  • 高输出引脚到 GND
  • 高输出引脚到低输出引脚
  • 将任何高于 5.5V 的高压施加到引脚(这可能会破坏的不仅仅是引脚)

关于销毁引脚时的一般操作:

在这种情况下,微控制器引脚被烧坏并且无法修复。解决此问题的唯一方法是更换微控制器(如果它是 DIP 封装,这相对便宜且容易)或购买新板。更换微控制器时,如果您希望通过 USB 对 Arduino 进行编程,则必须将引导加载程序刻录到新的微控制器上(除非您使用引导加载程序获得它)。


看一下原理图,以下电路板的引脚直接连接到微控制器。

  • 宇野
  • 兆丰
  • 杜米兰诺夫
  • 百合垫
  • 菲奥
  • 新世代
  • 迪西米拉

在以下板上,有一些引脚受到保护且不易烧坏:

  • BT(引脚 13,由 1k 电阻)
  • USB v2.0(引脚 13,通过 1k 电阻)
  • Nano(Rx/Tx 引脚,由 1k 个电阻组成)
  • 串行(引脚 13,由 1k 电阻)
  • 单面串行(引脚 13,由 1k 电阻)
  • Mini 03(引脚 13,由 1k 电阻)

然而,如果你在这些上面烧了一个针,除了更换微控制器之外,你无能为力。

如果您似乎容易烧针,您可能想尝试一下ruby​​duino

另一个相当便宜的尝试是购买另一个 atmega328,卸下您怀疑损坏的芯片,将新芯片加载到插槽中,烧录引导加载程序,看看是否有帮助。假设你的电路板有一个插座式 DIP atmega328。