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?
Respuestas:
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 ).
simular este circuito : esquema creado con CircuitLab
fuente
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.
fuente
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.
simular este circuito : esquema creado con CircuitLab
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.
fuente
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.
simular este circuito : esquema creado con CircuitLab
fuente
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
fuente
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.
fuente