Aclaración de la resistencia de pull-up

11

Soy bastante nuevo en electrónica y me cuesta mucho entender el principio de "resistencia de 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, así que, ¿cómo puede haber tensión en este circuito?

    
pregunta ssougnez

6 respuestas

31

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

Suponga que U1 es su microcontrolador, y P1 es un pin de E / S configurado como entrada. (Podría ser cualquier puerta lógica, en realidad). Otras conexiones a U1 no son tan relevantes, por lo que no se muestran, 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 en ninguna parte, sino que está flotando . No hay un 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 provocar un mayor consumo de energía. No es bueno.

(2) Ahora, cuando se presiona el botón no , el puerto detectará un nivel alto, ya que está conectado directamente a Vcc. Pero si se presiona el botón, Vcc se cortocircuitará 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: está tirado alto a través de la resistencia. (No hay pérdida de voltaje en 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á desde Vcc a tierra, pero la resistencia la limitará a algo sensible. Esto es bueno.

En este esquema, un botón no presionado se lee como un valor alto (1), y un botón presionado se lee como bajo (0). Esto se denomina lógica active-low . El intercambio de la resistencia y el interruptor lo invertirían, de modo que un botón no presionado se leería como bajo (0), y un botón presionado como alto (1). ( active-high logic.)

simular este circuito : esquema creado usando CircuitLab

    
respondido por el ilkkachu
10

Un resistor pull-up o pull-down "mantiene" la entrada en un nivel específico cuando no hay entrada en el pin, en lugar de permitir que la entrada flote.

Cuando considera la Figura 1 en su dibujo, tener el interruptor abierto no proporciona conexión eléctrica al pin, lo que permite que la interferencia perdida, las 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 una oscilación no deseada o una salida inesperada.

Por lo tanto, para garantizar que el pin se mantenga en un estado "conocido", siempre debe estar conectado a VCC o GND. Consulte la figura 2. Sin embargo, hay un problema: si conecta el pin a VCC para mantenerlo en un estado "alto", luego conecte su interruptor a GND y presione el interruptor, ¡creará un cortocircuito 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 de pull-up, que conecta la entrada a VCC.

Cuando no hay otra entrada en el pin, la corriente casi cero fluye a través de la resistencia de pull-up. Así que hay muy poca caída de voltaje a través de él. Esto permite ver la tensión total de 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 de extracción están conectadas a GND. Algo de corriente comienza a fluir a través del pull-up. Pero como es una resistencia mucho más alta que el cable que conduce a la GND, casi todas las caídas de voltaje a través de la resistencia de pull-up causan ~ 0 voltios 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 te permiten mantener la entrada en un estado conocido cuando no hay entrada, pero aún así te da la flexibilidad de ingresar una señal sin crear un cortocircuito.

    
respondido por el Ryan Griggs
5

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 un 1 lógico u oscilar entre los dos.

simular este circuito : esquema creado usando CircuitLab

  • (a) Sin un pull-up requerirí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 causar que oscile en presencia de interferencias electromagnéticas (EMI), por ejemplo.
  • (b) resuelve dos problemas: usa un interruptor más simple y, en ausencia de un cierre del interruptor, la entrada se pone en alto. Cuando se cierra el interruptor, la entrada se baja.
  • (c) muestra la misma disposición en sentido inverso. Interruptor abierto tira baja.

La disposición en (b) es más común, ya que muchos dispositivos lógicos IC tienen resistencias de extracción internas que dan como resultado un menor recuento de componentes y un área de PCB cuando se utiliza esta disposición.

Tenga en cuenta que la potencia y la tierra se suponen en muchos esquemas. En el caso de 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 muestren por separado con sus condensadores de desacoplamiento adjuntos en otras partes del esquema.

    
respondido por el Transistor
3

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 conectas 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 puertas lógicas. Esto es sólo 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 (esconde los pines) cuando se mezclan voltajes lógicos como 1.8, 3.3 y 5V en el mismo tablero, por lo que generalmente no lo hago yo mismo, pero sí salvó un montón de desorden. Los días de halcyon cuando todo transcurría desde 5V.

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Spehro Pefhany
1

La resistencia de pull-up o pull-down está diseñada para corregir 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 está conectado correctamente).

El "no gate" que representa la MCU en las figuras es muy básico y el autor solicitó el suministro de VCC. Por supuesto, en la figura 2 y 3, Vcc está presente y bien conectado.

La sentencia que elegiste fue para explicar la lógica de "alta activa". El que corresponde a la figura 1 es

  

Usando una resistencia de pull-up, el pin de E / S normalmente verá una lógica alta y cuando se presiona el botón verá una baja

    
respondido por el Julien
0

Dado que las entradas flotantes en el CMOS pueden tener fugas, los niveles de entrada falsos pueden ser propensos a un ruido parásito, ya sea una entrada de entrada oculta 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 cambiar al carril opuesto.

    
respondido por el Tony EE rocketscientist

Lea otras preguntas en las etiquetas