J'ai brûlé une épingle. Maintenant, qu'est ce que je fais?

16

J'ai accidentellement court-circuité les broches 10 et 11 avec 10 réglées en sortie HIGH et 11 réglées en entrée. La broche 11 ne fonctionne pas. Comment savoir quel composant j'ai brûlé?

Le problème peut-il être résolu?

asheeshr
la source
3
Spécifier de quelle carte Arduino il s'agit aiderait à identifier les composants potentiellement compromis, à partir du schéma.
Anindo Ghosh
@AnindoGhosh Je l'ai tagué uno ^
asheeshr

Réponses:

21

Hypothèse: Comme le modèle Arduino spécifique n'a pas été spécifié, utiliser l'Arduino Uno pour illustrer cette réponse. La justification s'applique à l'identique aux autres Arduinos, pour leurs broches respectives et leurs tensions de fonctionnement du microcontrôleur.

Veuillez vous référer à ce schéma de brochage pour l'Arduino Uno : ( source )


Brochage Arduino Uno


  • Comme on peut le voir, les broches 10 et 11 sont toutes les deux des broches GPIO standard.
  • Tout GPIO ne peut pas émettre une tension supérieure à la tension d'alimentation du microcontrôleur (V CC ) , dans l'Arduino. Pour l'Uno V CC est de 5 Volts.
  • N'importe quelle broche GPIO peut résister à une tension d'entrée allant jusqu'à V CC et légèrement plus élevée (5,5 Volts est toléré en standard)
  • De plus, lorsqu'un Arduino GPIO est réglé sur entrée, il est dans un état de haute impédance, ce qui rend impossible de lui faire passer suffisamment de courant pour les tensions impliquées, pour que des dommages se produisent.
  • Ainsi, le court - circuit des broches 10 et 11 ne peut pas endommager l' une ou l'autre des broches , dans les circonstances signalées dans la question.

Examinons maintenant les possibilités alternatives:

  • Si l'Uno est alimenté par la prise DC Barrel au lieu de 5 volts à partir de la connexion USB ou d'une autre alimentation électrique régulée, la broche Vin émet 1 chute de diode inférieure à cette tension d'entrée: ce serait d'environ 8,3 Volts si l'alimentation est de 9 Volts. batterie attachée au cric du canon.
  • Court-circuiter cette broche VIN à l'une des broches analogiques ou numériques de l'Arduino ( autres que des broches spécifiques qui sont protégées par des résistances ) est très susceptible de détruire la diode ESD interne / les circuits de protection pour cette broche dans le microcontrôleur, ou détruire le microcontrôleur lui-même. Cela pourrait être la cause du problème.
  • Une autre hypothèse est que la broche 11 a été exposée à une autre source de haute tension, au-delà du Vcc de la carte. Cela peut être dû à la contre-EMF d'un moteur ou à la haute tension (peut être de 10+ volts ) générée par une cintreuse piézoélectrique (haut-parleur piézo) si elle est heurtée contre quelque chose. Cela pourrait endommager les diodes ESD / les circuits de protection comme indiqué ci-dessus
  • Ensuite, la décharge électrostatique de l'électricité statique peut endommager une broche GPIO donnée même lorsque l'appareil n'est pas sous tension. Vous est-il arrivé de vous peigner les cheveux, puis de toucher la carte Arduino à un moment donné, par exemple? Le problème n'apparaîtra que plus tard, lorsque vous tenterez d'utiliser cette broche sur la carte, de sorte que la causalité est souvent difficile à identifier.
  • Enfin, si deux broches sont toutes les deux définies pour la sortie , l'une réglée en haut et l'autre en bas, et celles-ci sont court-circuitées, la broche "High" voit un court-circuit à la masse à travers la broche "Low". Cette source de dissipation des conflits peut provoquer une surchauffe du microcontrôleur, et bien que les microcontrôleurs AVR aient généralement une protection de sortie sur les GPIO, cela peut entraîner le dysfonctionnement de l'une ou l'autre des broches - bien que la défaillance complète du microcontrôleur soit plus probable dans ce cas .

Cela dit, si, pour une raison quelconque, la broche 11 n'effectue plus d'entrée ou de sortie, le circuit de protection interne correspondant du MCU est irrévocablement endommagé. Il n'y a aucun moyen de réparer cela. Cela a été bien couvert dans la réponse de Manishearth .

Considérez-vous chanceux que l'intégralité du microcontrôleur n'ait pas été détruit, et recodez vos applications pour ne plus utiliser la broche 11.

Astuce personnelle: j'ai bloqué les prises VIN sur mes cartes Arduino il y a longtemps en y collant une isolation dénudée, pour éviter d'exposer accidentellement un cavalier à cette tension. Si j'ai un jour besoin d'utiliser le NIV, je passerai une heure délicieuse à lutter pour extraire ce morceau d'isolant coincé là-dedans.

Anindo Ghosh
la source
6
Blocage des sockets VIN. Brillant!
Jeff Severns Guntzel
9

Il ne devrait pas être possible de détruire votre broche en court-circuitant l'entrée à la sortie. Les broches d'entrée peuvent gérer une tension de niveau Vcc, elles devraient donc être capables de gérer la tension de sortie inférieure de l'autre broche. De plus, ils ont une impédance élevée, ce qui devrait les protéger de la plupart des choses. (Voir la réponse d'Anindo sur cette même question pour plus de détails à ce sujet). Dans votre cas spécifique, je suppose que l'un des événements suivants s'est produit:

  • Les deux broches ont été configurées pour la sortie
  • Vous avez court-circuité quelque chose et n'avez pas remarqué
  • (Depuis que vous avez mentionné dans le chat que la broche a recommencé à fonctionner), de la poussière ou de l'humidité s'est accumulée sur la broche

Cependant, vous pouvez détruire les broches avec les connexions suivantes (tirées de cet excellent article , il existe de nombreuses autres façons de détruire un Arduino):

  • Broche de sortie HIGH à GND
  • Broche de sortie HIGH à broche de sortie LOW
  • Appliquez une haute tension supérieure à 5,5 V à une broche (cela peut détruire plus que la broche)

Concernant ce qu'il faut faire en général lorsque vous détruisez une épingle:

Dans de tels cas, la broche du microcontrôleur est grillée et ne peut pas être fixée. La seule façon de résoudre ce problème est de remplacer le microcontrôleur (s'il s'agit d'un package DIP, c'est relativement bon marché et facile) ou d'acheter une nouvelle carte. Lors du remplacement du microcontrôleur, vous devrez graver le chargeur de démarrage sur le nouveau microcontrôleur (sauf si vous l'avez obtenu avec le chargeur de démarrage) si vous souhaitez programmer l'Arduino via USB.


En regardant les schémas, les cartes suivantes ont des broches directement connectées au microcontrôleur.

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

Sur les cartes suivantes, certaines broches sont protégées et difficiles à brûler:

  • BT (broche 13, par une résistance 1k)
  • USB v2.0 (broche 13, par une résistance 1k)
  • Nano (broches Rx / Tx, par résistances 1k)
  • Série (broche 13, par une résistance 1k)
  • Série simple face (broche 13, par une résistance 1k)
  • Mini 03 (broche 13, par une résistance 1k)

Cependant, si vous gravez une épingle sur ceux-ci, il n'y a pas grand-chose d'autre à faire que de remplacer le microcontrôleur.

Si vous semblez enclin à brûler les broches, vous voudrez peut-être essayer le robuste Rugby .

Manishearth
la source
3

Une autre chose assez bon marché à essayer est d'acheter un autre atmega328, de décharger votre puce présumée endommagée, de charger la nouvelle dans le socket, de graver le chargeur de démarrage et de voir si cela aide. En supposant que votre carte a un atmega328 à douille DIP.

Steve Cooley
la source