Ich habe eine Stecknadel verbrannt. Was mache ich jetzt?

16

Ich habe versehentlich die Pins 10 und 11 kurzgeschlossen, wobei 10 auf HIGH und 11 auf Input eingestellt war. Der Stift 11 funktioniert nicht. Wie finde ich heraus, welche Komponente ich gebrannt habe?

Kann das Problem behoben werden?

Ascheshr
quelle
3
Wenn Sie angeben, welches Arduino-Board es ist, können Sie möglicherweise gefährdete Komponenten anhand des Schaltplans identifizieren.
Anindo Ghosh
@AnindoGhosh Ich markierte es uno ^
asheeshr

Antworten:

21

Annahme: Da das spezifische Arduino-Modell nicht spezifiziert wurde, verwenden Sie das Arduino Uno, um diese Antwort zu veranschaulichen. Das Grundprinzip gilt für die anderen Arduinos in Bezug auf ihre jeweiligen Pin-Outs und Mikrocontroller-Betriebsspannungen gleichermaßen.

Bitte beziehen Sie sich auf dieses Pin-Out-Diagramm für den Arduino Uno : ( Quelle )


Arduino Uno Pin-Out


  • Wie zu sehen ist, sind Pin 10 und 11 beide Standard-GPIO-Pins.
  • Ein GPIO kann im Arduino keine höhere Spannung als die Versorgungsspannung (V CC ) des Mikrocontrollers ausgeben . Für den Uno V beträgt CC 5 Volt.
  • Jeder GPIO-Pin kann Eingangsspannungen von bis zu V CC und etwas mehr aushalten (5,5 Volt werden als Standard toleriert).
  • Wenn ein Arduino-GPIO als Eingang eingestellt ist, befindet es sich in einem hochohmigen Zustand, wodurch es unmöglich wird, genügend Strom für die betreffenden Spannungen zuzuführen, damit Schäden auftreten können.
  • Somit kann das Kurzschließen der Stifte 10 und 11 unter den in der Frage angegebenen Umständen keinen Schaden an einem der Stifte verursachen .

Lassen Sie uns nun die alternativen Möglichkeiten untersuchen:

  • Wird der Uno nicht über den USB-Anschluss oder ein anderes geregeltes Netzteil mit 5 Volt, sondern über die Buchse des Gleichstromgehäuses mit Strom versorgt, liegt der Vin-Pin-Ausgang 1 Diode unter dieser Eingangsspannung: Bei einer Versorgungsspannung von 9 Volt wären dies ca. 8,3 Volt Batterie an der Trommelbuchse befestigt.
  • Wenn Sie diesen VIN-Pin mit einem der analogen oder digitalen Pins des Arduino kurzschließen ( außer mit bestimmten Pins, die durch Widerstände geschützt sind ), wird wahrscheinlich entweder die interne ESD-Diode / Schutzschaltung für diesen Pin im Mikrocontroller oder der Mikrocontroller zerstört selbst. Dies könnte die Ursache des Problems sein.
  • Eine andere Hypothese ist, dass Pin 11 einer anderen Hochspannungsquelle ausgesetzt war, die über die Vcc der Platine hinausgeht. Dies kann an der Gegen-EMK eines Motors liegen oder an der Hochspannung (kann über 10 Volt betragen ), die von einem piezoelektrischen Bieger (Piezolautsprecher) erzeugt wird, wenn dieser gegen etwas gestoßen wird. Dies könnte Schäden an ESD-Dioden / Schutzschaltungen verursachen, wie oben angegeben
  • Als nächstes kann eine elektrostatische Entladung durch statische Elektrizität einen beliebigen GPIO-Pin beschädigen, auch wenn das Gerät nicht eingeschaltet ist. Haben Sie sich zufällig die Haare gekämmt und dann zum Beispiel irgendwann das Arduino-Brett berührt? Das Problem tritt erst später auf, wenn versucht wird, diesen Pin auf der Platine zu verwenden, sodass es oft schwierig ist, die Kausalität zu bestimmen.
  • Wenn zwei Pins beide auf Ausgang gesetzt sind , einer auf High und der andere auf Low, und diese kurzgeschlossen sind, sieht der "High" -Pin einen Masseschluss durch den "Low" -Pin. Dieser Konflikt zwischen Quelle und Senke kann dazu führen, dass sich der Mikrocontroller aufheizt. Obwohl die AVR-Mikrocontroller in der Regel einen Ausgangsschutz für GPIOs haben, kann dies dazu führen, dass der eine oder andere Pin nicht mehr funktioniert - obwohl in diesem Fall der gesamte Mikrocontroller mit größerer Wahrscheinlichkeit ausfällt .

Abgesehen davon ist die entsprechende interne Schutzschaltung der MCU unwiderruflich beschädigt, wenn Pin 11 aus irgendeinem Grund keine Ein- oder Ausgabe mehr ausführt. Es gibt keine Möglichkeit, dies zu reparieren. Dies wurde in der Antwort von Manishearth gut abgedeckt .

Betrachten Sie sich als glücklich, dass der gesamte Mikrocontroller nicht zerstört wurde, und codieren Sie Ihre Anwendungen neu, um Pin 11 nicht mehr zu verwenden.

Persönlicher Tipp: Ich habe vor langer Zeit die VIN-Buchsen auf meinen Arduino-Platinen blockiert, indem ich etwas abisolierte Isolierung in sie gesteckt habe, um zu vermeiden, dass versehentlich ein Überbrückungskabel dieser Spannung ausgesetzt wird. Wenn ich irgendwann einmal tatsächlich VIN verwenden muss, werde ich eine wunderbare Stunde damit verbringen, das Stück Isolierung herauszuholen, das dort steckt.

Anindo Ghosh
quelle
6
Blockieren der VIN-Buchsen. Brillant!
Jeff Severns Guntzel
9

Es sollte nicht möglich sein, Ihren Pin zu zerstören, indem Sie den Eingang mit dem Ausgang kurzschließen. Die Eingangsstifte können mit der Spannung auf Vcc-Niveau umgehen, daher sollten sie in der Lage sein, die niedrigere Ausgangsspannung vom anderen Stift zu handhaben. Außerdem haben sie eine hohe Impedanz, so dass sie vor den meisten Dingen schützen sollten. (Weitere Informationen hierzu finden Sie in der Antwort von Anindo auf dieselbe Frage.) In Ihrem speziellen Fall ist vermutlich Folgendes passiert:

  • Beide Pins wurden für die Ausgabe konfiguriert
  • Sie haben etwas kurzgeschlossen und es nicht bemerkt
  • (Da Sie im Chat erwähnt haben, dass der Stift wieder funktioniert hat) hat sich Staub oder Feuchtigkeit auf dem Stift angesammelt

Sie können jedoch Stifte mit den folgenden Verbindungen zerstören (aus diesem hervorragenden Beitrag heraus gibt es im Allgemeinen viele weitere Möglichkeiten, einen Arduino dort zu zerstören):

  • HIGH Ausgangspin auf GND
  • HIGH-Ausgangspin zu LOW-Ausgangspin
  • Legen Sie eine Hochspannung über 5,5 V an einen Stift an (dies kann mehr als nur den Stift zerstören).

Über das, was im Allgemeinen zu tun ist, wenn Sie eine Stecknadel zerstören:

In solchen Fällen ist der Mikrocontroller-Pin durchgebrannt und kann nicht repariert werden. Die einzige Möglichkeit, dies zu beheben, besteht darin, den Mikrocontroller auszutauschen (wenn es sich um ein DIP-Paket handelt, ist dies relativ billig und einfach) oder eine neue Platine zu kaufen. Wenn Sie den Mikrocontroller austauschen, müssen Sie den Bootloader auf den neuen Mikrocontroller brennen (sofern Sie ihn nicht mit dem Bootloader erhalten haben), wenn Sie den Arduino über USB programmieren möchten.


In den Schaltplänen der folgenden Karten sind die Pins direkt mit dem Mikrocontroller verbunden.

  • Uno
  • Mega
  • Duemilanove
  • Seerosenblatt
  • Fio
  • Nuova Generazione
  • Diecimila

Auf den folgenden Platinen befinden sich einige Stifte, die geschützt und schwer auszubrennen sind:

  • BT (Pin 13, durch einen 1k Widerstand)
  • USB v2.0 (Pin 13, durch einen 1k Widerstand)
  • Nano (Rx / Tx-Pins, durch 1k-Widerstände)
  • Seriell (Pin 13, durch einen 1k Widerstand)
  • Einseitige Seriennummer (Pin 13, durch einen 1k-Widerstand)
  • Mini 03 (Pin 13, durch einen 1k Widerstand)

Wenn Sie jedoch einen Stift darauf brennen, können Sie nicht viel mehr tun, als den Mikrocontroller zu ersetzen.

Wenn Sie anfällig für Nadelbrand sind , sollten Sie das Ruggedduino ausprobieren .

Manishearth
quelle
3

Eine andere ziemlich billige Sache zu versuchen ist, ein anderes atmega328 zu kaufen, Ihren vermuteten beschädigten Chip zu entladen, den neuen in den Sockel zu laden, den Bootloader zu verbrennen und zu sehen, ob das hilft. Angenommen, Ihr Board verfügt über einen DIP-Atmega328-Sockel.

Steve Cooley
quelle