Aclaración de resistencia pull-up

12

Soy bastante nuevo en electrónica y me está costando entender el principio de "resistencia pull-up". He leído muchos artículos sobre eso, y creo que lo tengo, pero no estoy 100% seguro, así que tengo una pregunta. En este artículo , después de la primera imagen, dice:

Cuando se presiona el botón momentáneo, conecta el pin de E / S a Vcc y el microcontrolador registraría la entrada como alta.

Pero no lo entiendo. ¿Dónde está VCC? Por lo que veo, no hay una fuente de alimentación en este esquema, solo un microcontrolador conectado a un botón que está conectado a tierra, entonces, ¿cómo puede haber voltaje en este circuito?

ssougnez
fuente
Creo que se refieren a las imágenes 2 y 3 cuando mencionan Vcc, esas imágenes tienen VCC.
axk
2
Recuerde que U1 es una puerta lógica, lo que implica conexiones de alimentación y tierra en el IC real. Estos no se dibujan para simplificar el diagrama del circuito.
Ryan Griggs
55
Yo diría que es un error en el artículo. Una vez que se presiona el botón, se conecta la entrada de la compuerta a GND, no a Vcc.
Eugene Sh.
Estoy de acuerdo con Eugene, es un artículo pésimo. Encuentra una mejor fuente.
tubería
2
Parece que el autor de ese artículo puede haber cambiado de opinión entre hacer el dibujo y escribir el texto. Debería decir "... E / S pin a tierra, y la puerta NO registraría la entrada como baja". Todo ese párrafo está generalmente confundido.
Peter Bennett

Respuestas:

32

El artículo parece bastante confuso: el texto y las figuras no coinciden. Trataré de presentar aquí los mismos tres esquemas que allí, con suerte una explicación más coincidente.

Suponga que U1 es su microcontrolador y P1 es un pin de E / S configurado como entrada. (Realmente podría ser cualquier puerta lógica). Otras conexiones a U1 no son tan relevantes, por lo que no se muestran en la imagen, pero supongamos que tiene conexiones de alimentación y otras necesidades.

(1) Si se presiona el botón, el puerto P1 está conectado a tierra y detectará un nivel lógico bajo. Pero cuando se suelta el botón, el puerto no está conectado a ninguna parte, sino que está flotando . No hay voltaje definido presente, por lo que incluso un ruido menor puede hacer que la entrada digital cambie de un valor a otro. También puede oscilar y causar un mayor consumo de energía. No está bien.

(2) Ahora, cuando no se presiona el botón, el puerto detectará un nivel alto, ya que está conectado directamente a Vcc. Pero si se presiona el botón, Vcc se cortocircuita a tierra, y la fuente de alimentación probablemente se quemará y morirá. Peor aún.

(3) Aquí, si no se presiona el botón, el puerto volverá a detectar un nivel lógico alto: se tira a través de la resistencia. (No hay pérdida de voltaje sobre la resistencia, ya que la impedancia de la entrada digital es muy alta y, por lo tanto, la corriente al puerto es aproximadamente cero).

Cuando se presiona el botón, el puerto se conecta directamente a tierra, por lo que detecta un nivel bajo. Ahora, una corriente fluirá de Vcc a tierra, pero la resistencia la limitará a algo sensible. Esto es bueno.

En este esquema, un botón sin presionar se lee como un valor alto (1) y un botón presionado se lee como bajo (0). Esto se llama lógica activa-baja . Intercambiando la resistencia y el interruptor invertiría esto, de modo que un botón no presionado leería como bajo (0), y un botón presionado como alto (1). ( lógica activa-alta ).

esquemático

simular este circuito : esquema creado con CircuitLab

ilkkachu
fuente
Creo que esta es una buena explicación para que un principiante en electrónica entienda el tema. +1 para diagrama y lenguaje simple.
Mark Ch
Entonces, si te entiendo correctamente, lo que descuidé es el hecho de que U1 está realmente conectado a Vcc, ¿por qué en el primer esquema, si se presiona el botón, puede pasar una corriente? Una segunda pregunta, cuando dice en el punto 3 que "pero como la impedancia de entrada de un puerto de E / S digital es bastante alta, no importa", quiere decir que la corriente 0 irá a P1 o una corriente tan pequeño (debido a la impedancia de la entrada) que será casi igual a 0 => nivel bajo? Gracias por la buena explicación de todos modos! Marco su publicación como respuesta debido a los esquemas :-p
ssougnez
1
"puede no sentir" ... Decimos que la entrada puede "flotar" y serpentear a través de una gama de potenciales. La resistencia pull-up tira la entrada "alto". NÓTESE BIEN. la corriente no importa (sí, es pequeña), solo el voltaje. Las cosas se vuelven un poco más complejas para circuitos sujetos a condiciones de "carrera".
mckenzm
@mckenzm Lo entiendo ahora. Y usted dijo que lo que importa es el voltaje, por lo que significa que el ruido del entorno podría crear una tensión lo suficientemente alta como para poner la puerta en un estado alto.
ssougnez
O simplemente el proceso de fabricación, esto es muy común para los chips integrados en las tarjetas de crédito ahora. Los lectores tienen resistencias pull up. Es un punto de fracaso de vez en cuando.
mckenzm
11

Una resistencia pull-up o pull-down "mantiene" la entrada a un nivel específico cuando no hay entrada al pin, en lugar de permitir que la entrada flote.

Cuando considere la Figura 1 en su dibujo, tener el interruptor abierto no proporciona conexión eléctrica al pin, lo que permite que interferencias parásitas, fugas internas, etc., influyan en el voltaje del pin de entrada. Estas influencias externas pueden hacer que la entrada se interprete como un valor fluctuante, causando oscilaciones no deseadas o salidas inesperadas.

Por lo tanto, para garantizar que el pin se mantenga en un estado "conocido", siempre debe estar conectado a VCC o GND. Vea la figura 2. Sin embargo, hay un problema: si conecta el pin a VCC para mantenerlo en un estado "alto", conecte su interruptor a GND y presione el interruptor, ¡crea un corto directo! Usted quemará el fusible, dañará su fuente de alimentación, quemará algo, etc.

Entonces, en lugar de conectar la entrada directamente a VCC o GND, puede conectar la entrada a través de una resistencia pull-up / pull-down. En la figura 3, usan una resistencia pull-up, conectando la entrada a VCC.

Cuando no hay otra entrada en el pin, casi corriente cero fluye a través de la resistencia pull-up. Entonces, hay muy poca caída de voltaje a través de él. Esto permite que se vea todo el voltaje VCC en el pin de entrada. En otras palabras, el pin de entrada se mantiene "alto".

Cuando su interruptor está cerrado, la entrada y la resistencia pull-up están conectadas a GND. Parte de la corriente comienza a fluir a través del pull-up. Pero dado que es una resistencia mucho más alta que el cable que conduce a GND, casi todo el voltaje cae a través de la resistencia pull-up, causando que ~ 0 voltios estén presentes en el pin de entrada.

Seleccionaría una resistencia de valor relativamente alto para limitar el flujo de corriente a un valor razonable, pero no demasiado alto para exceder la resistencia interna de la entrada.

Las resistencias pull-up le permiten mantener la entrada en un estado conocido cuando no hay ninguna entrada, pero aún le dan la flexibilidad de ingresar una señal sin crear un corto.

Ryan Griggs
fuente
Gracias por esta explicación, es realmente claro. Tenía muchas respuestas a este hilo y, desafortunadamente, solo puedo seleccionar una sola como respuesta aceptada. Elegí otro por sus esquemas, pero el tuyo también es muy claro. Yo lo voté.
ssougnez
6

El artículo es confuso, pero aquí está la esencia. El inversor tiene una alta impedancia de entrada y no debe dejarse flotando, ya que podría asumir un 0 lógico o 1 lógico u oscilar entre los dos.

esquemático

simular este circuito : esquema creado con CircuitLab

  • (a) Sin un pull-up necesitaríamos un interruptor de cambio para alternar entre Vss y GND (tierra). Esta disposición cambiaría la entrada firmemente de una forma u otra, pero hay un problema durante el cambio de los contactos del interruptor cuando la entrada está flotando momentáneamente. Esto podría hacer que oscile en presencia de interferencia electromagnética (EMI), por ejemplo.
  • (b) resuelve dos problemas: utiliza un interruptor más simple y, en ausencia de cierre del interruptor, la entrada se eleva. Cuando se cierra el interruptor, la entrada se baja.
  • (c) muestra la misma disposición en sentido inverso. Interruptor abierto tira hacia abajo.

La disposición en (b) es más común ya que muchos dispositivos lógicos IC tienen resistencias pull-up internas que resultan en un menor conteo de componentes y área de PCB cuando se usa esta disposición.

Tenga en cuenta que el poder y la tierra se asumen en muchos esquemas. En el caso de las puertas lógicas, por ejemplo, hay una conexión Vss y de tierra común para 2, 4 o 6 puertas lógicas. No tendría sentido mostrarlos para cada compuerta, de modo que se asuman o se muestren por separado con sus condensadores de desacoplamiento adjuntos en otras partes del esquema.

Transistor
fuente
Gracias por esta buena respuesta. Sin embargo, tengo una pregunta sobre algo que dijiste. "La disposición en (b) es más común como ...". ¿No es "un problema" tener una resistencia pull-up en lugar de una pull-down? De hecho, el pull-up siempre atraerá corriente hasta que se presione el botón y podemos suponer que la mayoría de las veces, el botón no se presiona, por lo que significaría que el circuito extraerá corriente mientras está inactivo.
ssougnez
@ssougnez: en lugar de publicar preguntas como comentarios, generalmente es mejor publicar preguntas como nuevas preguntas de alto nivel, o ya se ha respondido en electronics.stackexchange.com/questions/113009/… o electronics.stackexchange.com/ preguntas / 254037 / ... ?
davidcary
@ssougnez Cualquiera de las resistencias extraerá la corriente que la entrada extraiga. Y la corriente se dibujará cuando el interruptor esté cerrado, nuevamente, por mucho que la entrada tire. Depende del aspecto del circuito de entrada.
David Schwartz
@ssougnez: Algo de esto es por razones históricas. Las entradas en chips TTL , por ejemplo, no consumían corriente cuando se dejaban flotando alto. Tirando bajo dibujó algo de corriente. Esto significaba que era más eficiente en el consumo de energía bajar cuando era necesario. Los diseños modernos usan entradas basadas en FET que tienen la misma impedancia de entrada cuando es alta o baja, por lo que no hace ninguna diferencia. En general, es más fácil y más definitivo cambiar a tierra que cambiar a suministro positivo, especialmente cuando están involucrados rieles de alimentación de voltaje mixto.
Transistor
4

Bueno, es una puerta NO, así que supongo que debemos imaginar un pin de E / S conectado donde ese LED se muestra incorrectamente sin una resistencia en serie. Cuando conecta la entrada a tierra, la salida debe ir a Vcc (que también puede llamarse Vdd, que es otra historia).

Es bastante normal no mostrar los pines de alimentación en las puertas lógicas. Esto es solo para reducir el desorden en el esquema. Tenga en cuenta que el pin de alimentación a tierra en la puerta lógica tampoco se muestra.

Esto se vuelve un poco confuso (ocultar los pines) cuando tiene voltajes lógicos mixtos como 1.8, 3.3 y 5V en la misma placa, por lo que no lo hago por lo general, pero ahorró un montón de desorden en los días felices. cuando todo corría desde 5V.

esquemático

simular este circuito : esquema creado con CircuitLab

Spehro Pefhany
fuente
¿Sería posible, no es demasiado pedirme que me muestre un ejemplo completo de este circuito? Me gustaría poder visualizar correctamente el circuito sin la resistencia pull-up para poder ver también la imagen global. Gracias
ssougnez
Ver editar. Partes internas simplificadas del inversor (generalmente más transistores para almacenamiento en búfer y algunos diodos de protección al menos). La entrada flotará cuando no se presione el interruptor, pero cuando se presione la salida es definitivamente alta (M1 está encendido y M2 está apagado).
Spehro Pefhany
¿Acaso el puerto de E / S a la derecha en su esquema no se tomaría a un voltaje conocido a través del LED en lugar de estar realmente flotando? Creo que el artículo se refiere a la entrada de la puerta NOT cuando dice "pin de E / S". En el texto después de la Figura 1, simplemente confunde Vcc con tierra GND. Después de la Figura 2, están en el camino correcto nuevamente.
ilkkachu
No, el LED no afectará el voltaje lo suficiente como para preocuparse (seguirá siendo un 1 lógico o un 0 lógico). Como dije inicialmente, no creo que se refiera a la entrada de la puerta NO. No es un microcontrolador y es solo una entrada, no un pin de E / S, pero realmente la página no es tan clara para un principiante.
Spehro Pefhany
Gracias, ahora está más claro gracias a tu respuesta y a todas las demás. Voté el tuyo ;-)
ssougnez
2

Las resistencias pull-up o pull-down están destinadas a fijar un nivel lógico (0 en GND o 1 en VCC). La resistencia tiene mayor impedancia que el botón. Cuando presiona el botón, el nivel puede cambiar (si es correcto).

La "no puerta" que representa el MCU en las figuras es muy básica y el autor omitió el suministro de VCC. Por supuesto, en las figuras 2 y 3 Vcc está presente y bien conectado.

La sentencia que elegiste fue para explicar la lógica del "alto activo". El que corresponde a la figura 1 es

Usando una resistencia pull-up, el pin de E / S normalmente verá un nivel lógico alto y cuando se presiona el botón, verá un nivel bajo

Julien
fuente
1

Dado que las entradas flotantes en CMOS pueden filtrarse a niveles de entrada falsos, son propensas a ruido parásito, ya sea un pull-up oculto de entrada R en un puerto de entrada uC con interruptor a tierra o una polarización externa R a un riel de suministro Vdd o Vss y cambie a El riel opuesto.

Tony Stewart Sunnyskyguy EE75
fuente