Ich habe eine Nadel verbrannt. Was mache ich jetzt?

Ich habe versehentlich die Pins 10 und 11 mit 10 auf Ausgang HIGH und 11 auf Eingang gesetzt. Pin 11 funktioniert nicht. Wie finde ich heraus, welche Komponente ich verbrannt habe?

Kann das Problem behoben werden?

Die Angabe, um welches Arduino-Board es sich handelt, würde helfen, möglicherweise gefährdete Komponenten anhand des Schaltplans zu identifizieren.
@AnindoGhosh Ich habe es uno^ getaggt

Antworten (3)

Annahme: Da das spezifische Arduino-Modell nicht spezifiziert wurde, verwenden Sie das Arduino Uno, um diese Antwort zu veranschaulichen. Die Begründung gilt identisch für die anderen Arduinos für ihre jeweiligen Pinbelegungen und Mikrocontroller-Betriebsspannungen.

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


Arduino Uno-Pinbelegung


  • Wie zu sehen ist, sind Pin 10 und 11 beides Standard-GPIO-Pins.
  • Jeder GPIO kann im Arduino keine Spannung ausgeben, die höher ist als die Versorgungsspannung des Mikrocontrollers (V CC ) . Für den Uno beträgt V CC 5 Volt.
  • Jeder GPIO-Pin kann einer Eingangsspannung von bis zu V CC und etwas mehr standhalten (5,5 Volt werden standardmäßig toleriert)
  • Wenn ein Arduino-GPIO auf Eingang eingestellt ist, befindet er sich außerdem in einem hochohmigen Zustand, wodurch es unmöglich wird, genügend Strom für die beteiligten Spannungen zu leiten, 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.

Betrachten wir nun die alternativen Möglichkeiten:

  • Wenn der Uno über die DC-Barrel-Buchse anstelle von 5 Volt über den USB-Anschluss oder eine andere geregelte Stromversorgung mit Strom versorgt wird, gibt der Vin-Pin einen Diodenabfall von 1 niedriger als diese Eingangsspannung aus: Dies wären etwa 8,3 Volt , wenn die Versorgung 9 Volt beträgt Batterie an der Fassbuchse befestigt.
  • Das Kurzschließen dieses VIN-Pins mit einem der analogen oder digitalen Pins des Arduino (mit Ausnahme bestimmter Pins, die durch Widerstände geschützt sind ) zerstört sehr wahrscheinlich entweder die interne ESD-Diode / Schutzschaltung für diesen Pin im Mikrocontroller oder den Mikrocontroller selbst. Dies könnte die Ursache des Problems sein.
  • Eine andere Hypothese ist, dass Pin 11 einer anderen Hochspannungsquelle außerhalb der Vcc der Platine ausgesetzt war. Dies kann auf die Gegen -EMK eines Motors oder auf die Hochspannung (kann 10+ Volt betragen ) zurückzuführen sein , die von einem piezoelektrischen Bieger (Piezo-Lautsprecher) erzeugt wird, wenn er gegen etwas gestoßen wird. Dies könnte wie oben erwähnt zu Schäden an ESD-Dioden / Schutzschaltkreisen führen
  • Als nächstes kann eine elektrostatische Entladung durch statische Elektrizität jeden beliebigen GPIO-Pin beschädigen, selbst wenn das Gerät nicht eingeschaltet ist. Haben Sie sich zum Beispiel zufällig die Haare gekämmt und dann das Arduino-Board berührt? Das Problem tritt erst später auf, wenn versucht wird, diesen Pin auf der Platine zu verwenden, sodass die Kausalität oft schwer zu bestimmen ist.
  • Schließlich, wenn zwei Pins beide auf Ausgang gesetzt sind, einer hoch und der andere niedrig, und diese kurzgeschlossen sind, sieht der „High“-Pin einen Kurzschluss zu Masse durch den „Low“-Pin. Dieser Source-to-Sink-Konflikt kann dazu führen, dass sich der Mikrocontroller aufheizt, und obwohl die AVR-Mikrocontroller normalerweise 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 Ausfall des gesamten Mikrocontrollers wahrscheinlicher ist .

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

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

Persönlicher Tipp: Ich habe die VIN-Buchsen auf meinen Arduino-Boards vor langer Zeit blockiert, indem ich etwas abisolierte Isolierung hineingeklebt habe, um zu vermeiden, dass jemals versehentlich ein Überbrückungskabel dieser Spannung ausgesetzt wird. Wenn ich jemals tatsächlich VIN verwenden muss, werde ich eine herrliche Stunde damit verbringen, das bisschen Isolierung herauszuziehen, das dort steckt.

Blockieren der VIN-Buchsen. Brillant!

Es sollte nicht möglich sein, Ihren Pin zu zerstören, indem Sie den Eingang mit dem Ausgang kurzschließen. Die Eingangspins können die Spannung auf Vcc-Pegel verarbeiten, daher sollten sie in der Lage sein, die niedrigere Ausgangsspannung des anderen Pins zu verarbeiten. Außerdem haben sie eine hohe Impedanz, was sie vor den meisten Dingen schützen sollte. (Weitere Einzelheiten dazu finden Sie in Anindos Antwort auf dieselbe Frage). In Ihrem speziellen Fall ist wohl einer der folgenden Fälle aufgetreten:

  • Beide Pins wurden für die Ausgabe konfiguriert
  • Du hast etwas kurzgeschlossen und es nicht bemerkt
  • (Da Sie im Chat erwähnt haben , dass der Stift wieder funktioniert) angesammelter Staub oder Feuchtigkeit fubar'd den Stift

Sie können Pins jedoch mit den folgenden Verbindungen zerstören (entnommen aus diesem ausgezeichneten Beitrag , dort gibt es viele weitere allgemeine Möglichkeiten, ein Arduino zu zerstören):

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

Was allgemein zu tun ist, wenn Sie einen Pin 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 ein neues Board zu kaufen. Wenn Sie den Mikrocontroller ersetzen, müssen Sie den Bootloader auf den neuen Mikrocontroller brennen (es sei denn, Sie haben ihn mit dem Bootloader erhalten), wenn Sie den Arduino über USB programmieren möchten.


Wenn Sie sich die Schaltpläne ansehen, haben die folgenden Platinen Pins, die direkt mit dem Mikrocontroller verbunden sind.

  • Uno
  • Mega
  • Duemilanove
  • Seerosenblatt
  • Fio
  • Neue Generation
  • Diecimila

Auf den folgenden Boards gibt es einige Pins, 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, über einen 1k-Widerstand)
  • Einseitig seriell (Pin 13, durch einen 1k-Widerstand)
  • Mini 03 (Pin 13, durch einen 1k-Widerstand)

Wenn Sie jedoch einen Stift darauf verbrennen, können Sie nicht viel mehr tun, als den Mikrocontroller auszutauschen.

Wenn Sie dazu neigen, Pins zu verbrennen, sollten Sie den Ruggedduino ausprobieren .

Eine andere ziemlich billige Sache, die Sie versuchen können, ist, einen anderen atmega328 zu kaufen, Ihren verdächtigten beschädigten Chip zu entladen, den neuen in den Sockel zu laden, den Bootloader zu brennen und zu sehen, ob das hilft. Angenommen, Ihr Board hat einen gesockelten DIP atmega328.