Clarification de la résistance de pull-up

12

Je suis assez nouveau dans l'électronique et j'ai du mal à comprendre le principe de la "résistance de pull-up". J'ai lu beaucoup d'articles à ce sujet, et je pense que je l'ai, mais je ne suis pas sûr à 100%, j'ai donc une question. Dans cet article , après la première image, il est dit:

Lorsque le bouton momentané est enfoncé, il connecte la broche d'E / S à Vcc et le microcontrôleur enregistre l'entrée comme élevée.

Mais je ne comprends pas. Où est VCC? D'après ce que je vois, il n'y a pas de source d'alimentation sur ce schéma, juste un microcontrôleur câblé à un bouton qui sont tous les deux câblés à la terre alors comment peut-il y avoir une tension dans ce circuit?

ssougnez
la source
Je pense qu'ils se réfèrent aux images 2 et 3 quand ils mentionnent Vcc ces images ont VCC.
axk
2
N'oubliez pas que U1 est une porte logique, ce qui implique des connexions d'alimentation et de masse sur le circuit intégré réel. Ceux-ci ne sont pas dessinés afin de simplifier le schéma électrique.
Ryan Griggs
5
Je dirais que c'est une erreur dans l'article. Une fois le bouton enfoncé, il connecte l'entrée de porte à un GND, pas à Vcc.
Eugene Sh.
Je suis d'accord avec Eugene, c'est un article moche. Trouvez une meilleure source.
pipe
2
Il semble que l'auteur de cet article ait changé d'avis entre la réalisation du dessin et la rédaction du texte. Il devrait indiquer "... broche d'E / S à la masse, et la porte NON enregistrerait l'entrée comme faible." Tout ce paragraphe est généralement confus.
Peter Bennett

Réponses:

32

L'article semble assez déroutant: le texte et les chiffres ne correspondent pas. Je vais essayer de présenter ici les trois mêmes schémas que là-bas, avec, je l'espère, une explication plus correspondante.

Supposons que U1 est votre microcontrôleur et P1 est une broche d'E / S configurée en entrée. (Il pourrait s'agir de n'importe quelle porte logique, en réalité.) Les autres connexions à U1 ne sont pas pertinentes, elles ne sont donc pas illustrées, mais supposons qu'elle dispose de connexions d'alimentation et d'autres nécessités.

(1) Si le bouton est enfoncé, le port P1 est connecté à la masse et détectera un niveau logique bas. Mais lorsque le bouton est relâché, le port n'est connecté nulle part, mais flotte . Il n'y a pas de tension définie, donc même un bruit mineur peut faire basculer l'entrée numérique d'une valeur à l'autre. Il peut également osciller et entraîner une augmentation de la consommation d'énergie. Pas bon.

(2) Maintenant, lorsque le bouton n'est pas enfoncé, le port détectera un niveau élevé, car il est connecté directement à Vcc. Mais si le bouton est enfoncé, Vcc est court-circuité à la masse et la source d'alimentation brûlera et mourra probablement. Encore pire.

(3) Ici, si le bouton n'est pas enfoncé, le port détectera à nouveau un niveau logique élevé: il est tiré haut à travers la résistance. (Il n'y a pas de perte de tension sur la résistance, car l'impédance de l'entrée numérique est très élevée, et donc le courant vers le port est d'environ zéro.)

Lorsque le bouton est enfoncé, le port est connecté directement à la masse, il détecte donc un niveau bas. Maintenant, un courant circulera de Vcc à la terre, mais la résistance le limitera à quelque chose de sensible. C'est bon.

Dans ce schéma, un bouton non pressé se lit comme une valeur élevée (1) et un bouton pressé se lit comme une valeur basse (0). C'est ce qu'on appelle la logique active-basse . L'échange de la résistance et du commutateur inverserait cela, de sorte qu'un bouton non pressé se lirait aussi bas (0) et un bouton pressé aussi haut (1). ( logique active-haute .)

schématique

simuler ce circuit - Schéma créé à l'aide de CircuitLab

ilkkachu
la source
je pense que c'est une bonne explication pour un débutant en électronique pour comprendre le sujet. +1 pour le diagramme et le langage simple.
Mark Ch
Donc, si je vous comprends bien, la chose que j'ai négligée est le fait que U1 est réellement connecté à Vcc, c'est pourquoi dans le premier schéma, si le bouton est enfoncé, un courant peut passer? Une deuxième question, lorsque vous dites au point 3 que "mais comme l'impédance d'entrée d'un port d'E / S numérique est plutôt élevée, cela n'a pas d'importance", vous voulez dire que 0 courant du tout ira à P1 ou un courant si petit (à cause de l'impédance de l'entrée) qu'il sera presque égal à 0 => bas niveau? Merci pour la belle explication quand même! Je marque votre message comme une réponse à cause des schémas
:-p
1
"peut ne pas détecter" ... Nous disons que l'entrée peut "flotter" et serpenter à travers une gamme de potentiels. La résistance de pull-up tire l'entrée "haut". NB. le courant n'a pas d'importance (oui c'est petit), seulement la tension. Les choses deviennent un peu plus complexes pour les circuits soumis à des conditions de «course».
mckenzm
@mckenzm Je comprends maintenant. Et vous avez dit que ce qui importe, c'est la tension, donc cela signifie que le bruit ambiant pourrait créer une tension suffisamment élevée pour mettre la grille dans un état élevé?
ssougnez
Ou tout simplement le processus de fabrication, c'est très courant pour les puces intégrées sur les cartes de crédit maintenant. Les lecteurs ont des résistances de tirage. C'est un point d'échec de temps en temps.
mckenzm
11

Une résistance pull-up ou pull-down "maintient" l'entrée à un niveau spécifique lorsqu'il n'y a pas d'entrée sur la broche, au lieu de laisser l'entrée flotter.

Lorsque vous considérez la figure 1 dans votre dessin, avoir le commutateur ouvert ne fournit aucune connexion électrique à la broche, permettant ainsi aux interférences parasites, aux fuites internes, etc. d'influencer la tension de la broche d'entrée. Ces influences externes peuvent faire en sorte que l'entrée soit interprétée comme une valeur fluctuante, provoquant une oscillation indésirable ou une sortie inattendue.

Ainsi, pour garantir que la broche est maintenue dans un état "connu", elle doit toujours être connectée à VCC ou GND. Voir figure 2. Cependant, il y a un problème: si vous connectez la broche au VCC pour la maintenir dans un état "haut", puis connectez votre commutateur à GND et appuyez sur le commutateur, vous créez un court-circuit direct! Vous allez soit faire sauter le fusible, endommager votre alimentation, brûler quelque chose, etc.

Ainsi, au lieu de connecter l'entrée directement à VCC ou GND, vous pouvez connecter l'entrée via une résistance pull-up / pull-down. Dans la figure 3, ils utilisent une résistance de rappel, connectant l'entrée au VCC.

Lorsqu'il n'y a pas d'autre entrée sur la broche, un courant presque nul traverse la résistance de rappel. Il y a donc très peu de chute de tension à travers elle. Cela permet à toute la tension VCC d'être vue à la broche d'entrée. En d'autres termes, la broche d'entrée est maintenue "haute".

Lorsque votre interrupteur est fermé, l'entrée et la résistance de rappel sont connectées à GND. Un courant commence à circuler dans le pull-up. Mais comme il s'agit d'une résistance beaucoup plus élevée que le fil conduisant à GND, presque toute la tension chute à travers la résistance de rappel, ce qui entraîne la présence de ~ 0 volt sur la broche d'entrée.

Vous devez sélectionner une résistance de valeur relativement élevée pour limiter le flux de courant à une valeur raisonnable, mais pas trop élevée pour dépasser la résistance interne de l'entrée.

Les résistances de pull-up vous permettent de maintenir l'entrée à un état connu lorsqu'aucune entrée n'est présente, mais vous donnent toujours la flexibilité d'entrer un signal sans créer de court-circuit.

Ryan Griggs
la source
Merci pour cette explication, c'est vraiment clair. J'ai eu beaucoup de réponses à ce fil et malheureusement, je ne peux en sélectionner qu'une seule comme réponse acceptée. J'en ai choisi un autre à cause de ses schémas mais le vôtre est également très clair. Je l'ai voté.
ssougnez
6

L'article prête à confusion, mais voici l'essentiel. L'onduleur a une impédance d'entrée élevée et ne doit pas être laissé flottant car il pourrait supposer un 0 logique ou 1 logique ou osciller entre les deux.

schématique

simuler ce circuit - Schéma créé à l'aide de CircuitLab

  • (a) Sans un pull-up, nous aurions besoin d'un interrupteur pour alterner entre Vss et GND (masse). Cette disposition commuterait fermement l'entrée dans un sens ou dans l'autre, mais il y a un problème lors du basculement des contacts de commutation lorsque l'entrée flotte momentanément. Cela pourrait le faire osciller en présence d'interférences électromagnétiques (EMI), par exemple.
  • (b) résout deux problèmes: il utilise un interrupteur plus simple et en l'absence de fermeture de l'interrupteur, l'entrée est élevée. Lorsque l'interrupteur est fermé, l'entrée est abaissée.
  • (c) montre le même arrangement en sens inverse. L'interrupteur d'ouverture tire vers le bas.

L'agencement en (b) est plus courant car de nombreux dispositifs logiques IC ont des résistances de pull-up internes résultant en un nombre de composants et une zone PCB inférieurs lors de l'utilisation de cet arrangement.

Notez que la puissance et la masse sont supposées dans de nombreux schémas. Dans le cas des portes logiques, par exemple, il existe une connexion Vss et une masse communes pour 2, 4 ou 6 portes logiques. Il ne serait pas logique de les afficher pour chaque porte afin qu'ils soient supposés ou représentés séparément avec leurs condensateurs de découplage d'accompagnement ailleurs sur le schéma.

Transistor
la source
Merci pour cette belle réponse. J'ai une question à propos de quelque chose que vous avez dit. "L'arrangement en (b) est plus courant que ...". N'est-ce pas "un problème" d'avoir une résistance pull-up au lieu d'un pull-down? En effet, le pull-up va toujours tirer du courant jusqu'à ce que le bouton soit poussé et on peut supposer que la plupart du temps, le bouton n'est pas poussé, donc cela voudrait dire que le circuit tirerait du courant alors qu'il est inactif.
ssougnez
@ssougnez: Plutôt que de poster des questions en tant que commentaires, il est généralement préférable de publier des questions en tant que nouvelles questions de premier niveau - ou a-t-on déjà répondu sur electronics.stackexchange.com/questions/113009/… ou electronics.stackexchange.com/ questions / 254037 /… ?
davidcary
@ssougnez L'une ou l'autre des résistances tirera la quantité de courant nécessaire à l'entrée. Et le courant sera tiré lorsque l'interrupteur sera fermé, encore une fois, quelle que soit la valeur d'entrée. Cela dépend de l'apparence du circuit d'entrée.
David Schwartz
@ssougnez: Une partie de cela est pour des raisons historiques. Les entrées sur les puces TTL , par exemple, ne tiraient aucun courant lorsqu'elles étaient laissées flottantes. Tirer bas a attiré du courant. Cela signifiait qu'il était plus économe en énergie de tirer bas lorsque nécessaire. Les conceptions modernes utilisent des entrées basées sur FET qui ont la même impédance d'entrée lorsqu'elles sont hautes ou basses, donc cela ne fait aucune différence. Il est généralement plus facile et plus précis de passer à la terre que de passer à une alimentation positive - en particulier lorsque des rails d'alimentation à tension mixte sont impliqués.
Transistor
4

Eh bien, c'est une porte NON, donc je suppose que nous sommes censés imaginer une broche d'E / S connectée où cette LED est incorrectement affichée sans résistance série. Lorsque vous connectez l'entrée à la terre, la sortie doit aller à Vcc (qui peut également être appelée Vdd, ce qui est une autre histoire).

Il est assez normal de ne pas montrer les broches d'alimentation sur les portes logiques. C'est juste pour réduire l'encombrement dans le schéma. Notez que la broche d'alimentation au sol sur la porte logique n'est pas non plus représentée.

Cela devient un peu déroutant (masquer les broches) lorsque vous avez des tensions logiques mixtes telles que 1,8, 3,3 et 5 V sur la même carte, donc je ne le fais pas d'habitude moi-même, mais cela a sauvé un tas d'encombrement dans les jours de halcyon quand tout allait de 5V.

schématique

simuler ce circuit - Schéma créé à l'aide de CircuitLab

Spehro Pefhany
la source
Serait-ce possible, ce n'est pas trop demander de me montrer un exemple complet de ce circuit? Je voudrais pouvoir visualiser correctement le circuit sans la résistance de pull-up afin de pouvoir aussi voir l'image globale. Merci
ssougnez
Voir modifier. Internes simplifiés de l'onduleur (généralement plus de transistors pour la mise en mémoire tampon et au moins certaines diodes de protection). L'entrée flottera autour lorsque l'interrupteur n'est pas enfoncé, mais lorsqu'elle est enfoncée, la sortie est définitivement élevée (M1 est activée et M2 est désactivée).
Spehro Pefhany
Le port d'E / S à droite dans votre schéma ne serait-il pas tiré à une tension connue via la LED au lieu d'être réellement flottant? Je pense que l'article fait référence à l'entrée de la porte NON quand il dit "broche d'E / S". Au texte après la figure 1, cela confond simplement Vcc avec GND de masse. Après la figure 2, ils sont à nouveau la bonne voie.
ilkkachu
Non, la LED n'affectera pas suffisamment la tension (ce sera toujours une logique 1 ou une logique 0). Comme je l'ai dit initialement, je ne pense pas que cela se réfère à l'entrée de porte NON. Ce n'est pas un microcontrôleur et ce n'est qu'une entrée et non une broche d'E / S, mais vraiment la page n'est pas si claire pour un débutant.
Spehro Pefhany
Merci, c'est plus clair maintenant grâce à votre réponse et à toutes les autres. J'ai voté pour le vôtre ;-)
ssougnez
2

Les résistances pull-up ou pull-down sont destinées à fixer un niveau logique (0 à GND ou 1 à VCC). La résistance a une impédance plus élevée que le bouton. Lorsque vous appuyez sur le bouton, le niveau peut changer (s'il est câblé correctement).

Le "pas de porte" représentant le MCU dans les figures est très basique et a autorisé l'alimentation VCC. Bien sûr, sur les figures 2 et 3, Vcc est présent et bien connecté.

Le sentiment que vous avez choisi était d'expliquer la logique du "haut actif". Celui correspondant à la figure 1 est

En utilisant une résistance de rappel, la broche d'E / S verra normalement un niveau logique élevé et lorsque le bouton sera enfoncé, il affichera un niveau bas

Julien
la source
1

Étant donné que les entrées flottantes sur CMOS peuvent fuir à de faux niveaux d'entrée sont sujettes à un bruit parasite, soit un pull-up d'entrée caché R dans un port d'entrée uC avec commutateur à la terre ou une polarisation externe R à un rail d'alimentation Vdd ou Vss et basculez vers le rail opposé.

Tony Stewart Sunnyskyguy EE75
la source