Pourquoi exactement 470 ou 1k Ω? (pour éviter d'endommager la broche de sortie)


12

Citation du tutoriel Arduino, section Pins numériques :

Les courts-circuits sur les broches Arduino, ou tenter de faire fonctionner des appareils à courant élevé à partir de ceux-ci, peuvent endommager ou détruire les transistors de sortie dans la broche, ou endommager la puce Atmega entière. Souvent, cela entraînera une broche «morte» dans le microcontrôleur, mais la puce restante fonctionnera toujours de manière adéquate. Pour cette raison, c'est une bonne idée de connecter les broches de SORTIE à d'autres appareils avec des résistances de 470 Ω ou 1 k, à moins qu'une consommation de courant maximale des broches ne soit requise pour une application particulière.

Ces chiffres sont vaudou pour moi: pourquoi "470" ou "1k"? Pourquoi n'y a-t-il pas exactement un chiffre donné, comme "au moins 470Ω s'il y aurait autrement un court-circuit"?

Je suis intéressé car j'envisage d'utiliser l'Arduino comme contrôleur de clavier et - dans ce cas d'utilisation - les lignes sont fondamentalement court-circuitées si un bouton est enfoncé. Bien sûr, les lignes ont une certaine résistance, mais je n'ai pas encore eu la chance de la mesurer.


2
Si vous utilisez les broches pour détecter les boutons, je pense que les broches seraient configurées comme entrées, auquel cas court-circuiter la broche à la masse serait bien.
Gorloth

5
470 et 1000 sont des valeurs communes que les bricoleurs sont susceptibles d'avoir autour. C'est donc comme "Utiliser environ 500 à 1000 ohms!", Mais ensuite normalisé aux valeurs de résistance communes.
Kaz

Réponses:


18

Tout d'abord un peu sur les courts-circuits: Le court-circuit est un circuit qui n'a pas d'éléments limiteurs de courant intentionnels sur le chemin du courant. Le résultat de cela est que les éléments de circuit que nous considérons normalement comme ayant une résistance nulle commencent à agir comme des résistances et le modèle mathématique habituel pour les alimentations se brise, entraînant souvent une tension inférieure aux prévisions et une surchauffe destructrice.

En raison des spécifications de courant maximales du microcontrôleur, vous avez besoin d'un élément résistif sur le chemin du courant allant d'une broche. Vous pouvez vous attendre à ce que la broche meure en produisant 40 mA et si je me souviens bien 200 mA de toutes les broches au même moment. La tension nominale de ce système est de 5 V, voyons donc ce qui se passe si nous calculons le courant avec 470 : . Cela se trouve être une valeur agréable et saine pour le courant qui n'endommagera pas le microcontrôleur. Si vous utilisez plutôt 15 VΩkΩ5V470Ω10mAkΩrésistance, vous obtiendrez 5 mA, ce qui est encore plus sûr et le consommateur encore moins de puissance. Ces deux valeurs de résistances sont également relativement populaires et fournissent en même temps de faibles courants mais pas si faibles que vous devez prendre en compte la capacité des traces lorsque vous travaillez avec elles.

En cas de raccourcissement des lignes, vous devez vous attendre à ce que les lignes elles-mêmes aient une résistance négligeable! Cela entraînerait un court-circuit direct des broches, ce qui, comme indiqué dans le devis, entraînerait des broches mortes. Les lignes court-circuitées entraînent souvent des boutons-poussoirs cassés, car un courant important a des effets négatifs sur la durée de vie des contacts des boutons-poussoirs en raison de la surchauffe et des étincelles. Au lieu d'utiliser des courts-circuits pour connecter des lignes, la meilleure façon est de placer une résistance près de la masse de la ligne. Cela limitera le courant lors de la mise sous tension de la ligne. En plaçant la résistance près de la connexion de masse de la ligne, nous nous assurons que la plus grande chute de tension sur la ligne est à son extrémité, donc si nous la court-circuitons avec une autre ligne de détection à l'aide d'un bouton-poussoir, la ligne de détection voit la pleine tension.

Les broches définies en entrée sont également en mode dit "haute impédance", ce qui signifie qu'elles se comportent comme si elles étaient une résistance avec une très grande résistance connectée à la masse. Si vous êtes sûr à 100% que la broche ne sera qu'une broche de détection, vous n'avez pas besoin de mettre une autre résistance devant. Même dans ce cas, c'est une bonne idée de mettre une résistance car vous pourriez accidentellement définir une broche comme autre chose que l'entrée et potentiellement provoquer un court-circuit. Si vous placez la résistance, gardez à l'esprit qu'il y aura très peu de courant traversant la ligne de détection, ce qui signifie que la chute de tension sur la résistance sera très faible, ce qui entraînera la broche à pleine tension.

Si vous souhaitez un peu plus de "lecture avancée", vous pouvez consulter la fiche technique d'ATmega328, qui est l'un des microcontrôleurs utilisés dans certains Arduinos. Dans la section 29. Caractéristiques électriques, vous verrez que sous les valeurs maximales absolues, le courant par broche d'E / S est de 40 mA et pour le dispositif total est de 200 mA.

MISE À JOUR: Veuillez ne pas confondre les cotes maximales absolues avec les cotes opérationnelles! Avis de HEre de la fiche technique pour ATmega32U4:

NOTICE: Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent dam- age to the device. This is a stress rating only and functional operation of the device at these or other conditions beyond those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.

Voici les notes de bas de page de la même fiche technique:

Although each I/O port can sink more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed: ATmega16U4/ATmega32U4: 1.)The sum of all IOL, for ports A0-A7, G2, C4-C7 should not exceed 100 mA. 2.)The sum of all IOL, for ports C0-C3, G0-G1, D0-D7 should not exceed 100 mA. 3.)The sum of all IOL, for ports G3-G5, B0-B7, E0-E7 should not exceed 100 mA. 4.)The sum of all IOL, for ports F0-F7 should not exceed 100 mA. If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test condition. 4. Although each I/O port can source more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed: ATmega16U4/ATmega32U4: 1)The sum of all IOH, for ports A0-A7, G2, C4-C7 should not exceed 100 mA. 2)The sum of all IOH, for ports C0-C3, G0-G1, D0-D7 should not exceed 100 mA. 3)The sum of all IOH, for ports G3-G5, B0-B7, E0-E7 should not exceed 100 mA. 4)The sum of all IOH, for ports F0-F7 should not exceed 100 mA. 5. All DC Characteristics contained in this datasheet are based on simulation and characterization of other AVR microcon- trollers manufactured in the same process technology. These values are preliminary values representing design targets, and will be updated after characterization of actual silicon


C'est génial, merci d'avoir écrit un tel détail pour nous.
Patrick Hughes

Merci pour la perspicacité! Dans le titre, j'ai maintenant corrigé la broche d'entrée en broche de sortie . Je prévois d'ailleurs d'utiliser un Leonardo, qui est basé sur l' ATmega32u4 . Ses 5 broches VI / O sont spécifiées pour jusqu'à 40 mA.
feklee

@feklee Soyez très prudent ici! Ces broches sont spécifiées pour mourir à 40 mA! Jetez un œil à la fiche technique complète et portez une attention particulière aux notes de bas de page à la page 379 et à l'avis à la page 378.
AndrejaKo

1
En fait, ces notes de bas de page sont si importantes que je les citerai ici dans la réponse.
AndrejaKo

13

La réponse courte est qu'Arduino est destiné aux amateurs ayant peu de connaissances en génie électrique, et ses instructions sont suffisamment simplifiées pour faire passer le message. Ces deux valeurs sont sûres et donnent à l'utilisateur une option au lieu d'une demande fixe.

Les deux sont des résistances de taille standard. 470Ω et 1kΩ, lorsqu'ils sont utilisés avec la tension VCC Arduino 5V, fournissent une consommation de courant sûre (5v / 470Ω ~ 0,011A (11mA), 5/1000 = 0,005A (5mA)). Et le tirage actuel est utilisable pour les transistors ou leds ou pièces similaires.

Franchement, toute résistance de valeur qui donnera une consommation de courant dans le maximum du courant de broche du microprocesseur (40mA) fonctionnera. Cela signifie toute résistance supérieure à 125 Ω.


Merci aussi d'avoir expliqué pourquoi ces résistances sont populaires!
feklee

1
@feklee Je ne vois pas d'explication complète à ce sujet, mais cela pourrait vous intéresser: en.wikipedia.org/wiki/E24_series#E_series
TNW
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.