Resistencias desplegables

En mi búsqueda por comprender la ingeniería eléctrica, me he topado con este tutorial:

http://www.ladyada.net/learn/arduino/lesson5.html

He entendido los diagramas hasta que llegué a los interruptores. No estoy seguro de cómo funcionan los interruptores en la placa de pruebas o en los diagramas. Este es el específico en el que estoy pensando (esto es de una resistencia desplegable):

ingrese la descripción de la imagen aquí

La implementación es:

ingrese la descripción de la imagen aquí

Según el diagrama, lo que creo que está sucediendo es: la energía va al interruptor, si el botón está arriba, entonces el circuito no está completo. Si se presiona el botón, la corriente toma el camino de menor resistencia al pin2 porque tiene más fuerza (100 ohmios < 10 kohmios).

La forma en que se describe en el tutorial suena como cuando el botón está arriba, el circuito aún está completo, pero la resistencia de 10k ohm tira la energía a tierra. No estoy seguro de cómo o por qué si tanto el 10k ohm como el 100 ohm están recibiendo la misma corriente, la corriente llegaría a tierra a través de una resistencia más alta que la que está abierta en el pin 2.

Un aparte: intente pensar en un circuito en términos de cuál será el voltaje en cada punto, en lugar de dónde fluye la corriente. Esto ayudó a mi comprensión cuando estaba aprendiendo EE por primera vez.
Estoy un poco decepcionado con la calidad de las respuestas a esta pregunta. Sugeriría ver este video de AddOhms en su lugar. . No entiendo este concepto lo suficiente como para explicarlo, pero ninguna de las respuestas aquí en el momento de la escritura habla siquiera de qué causa el estado flotante, o cómo resuelve el problema el pull-up o push-down.
@EvanCarroll Por otro lado, la pregunta al momento de escribir no pregunta sobre las cosas que le interesan.

Respuestas (6)

En primer lugar, olvídese de la resistencia de 100 Ω por ahora. No es necesario para el funcionamiento del botón, solo está ahí como protección en caso de que cometa un error de programación.

  • Si se presiona el botón, P2 se conectará directamente a +5 V, por lo que se verá como un nivel alto, siendo "1".
  • Si se suelta el botón, los +5 V ya no cuentan, solo hay 10 kΩ entre el puerto y la tierra.

El pin de E/S de un microcontrolador es de alta impedancia cuando se usa como entrada, lo que significa que solo fluye una pequeña corriente de fuga, generalmente mucho menor que 1 µA, que será el máximo según la hoja de datos. Bien, digamos que es 1 µA. Luego, de acuerdo con la Ley de Ohm, esto provocará una caída de voltaje de 1 µA. × 10 kΩ = 10 mV a través de la resistencia. Entonces, la entrada será de 0,01 V. Ese es un nivel bajo, o un "0". Un microcontrolador típico de 5 V verá cualquier nivel inferior a 1,5 V como bajo.


Ahora la resistencia de 100 Ω. Si accidentalmente hizo la salida del pin y la configuró baja, al presionar el botón se producirá un cortocircuito: el microcontrolador establece 0 V en el pin y el interruptor +5 V en el mismo pin. Al microcontrolador no le gusta eso, y el IC puede dañarse. En esos casos, la resistencia de 100 Ω debería limitar la corriente a 50 mA. (Lo que todavía es demasiado, una resistencia de 1 kΩ sería mejor).

Dado que no fluirá corriente en un pin de entrada (aparte de la baja fuga), casi no habrá caída de voltaje en la resistencia.

Los 10 kΩ es un valor típico para un pull-up o pull-down. Un valor más bajo le dará una caída de voltaje aún más baja, pero 10 mV o 1 mV no hacen mucha diferencia. Pero hay algo más: si se presiona el botón, hay 5 V en la resistencia, por lo que fluirá una corriente de 5 V/ 10 kΩ = 500 µA. Eso es lo suficientemente bajo como para no causar ningún problema, y ​​de todos modos no mantendrás presionado el botón durante mucho tiempo. Pero puede reemplazar el botón con un interruptor, que puede estar cerrado durante mucho tiempo. Entonces, si hubiera elegido un pull-down de 1 kΩ, tendría 5 mA a través de la resistencia siempre que el interruptor esté cerrado, y eso es un desperdicio. 10 kΩ es un buen valor.


Tenga en cuenta que puede invertir esto para obtener una resistencia pull-up y cambiar a tierra cuando se presiona el botón.

ingrese la descripción de la imagen aquí

Esto invertirá su lógica: presionar el botón le dará un "0" en lugar de un "1", pero el funcionamiento es el mismo: presionar el botón hará que la entrada sea 0 V, si suelta el botón, la resistencia conectará el entrada al nivel de +5 V (con una caída de voltaje insignificante).

Esta es la forma en que generalmente se hace, y los fabricantes de microcontroladores lo tienen en cuenta: la mayoría de los microcontroladores tienen resistencias pull-up internas, que puede activar o desactivar en el software. Si usas el pull-up interno solo necesitas conectar el botón a tierra, eso es todo. (Algunos microcontroladores también tienen menús desplegables configurables, pero estos son mucho menos comunes).

No creo que esté claro cómo el método Push-Down resuelve el problema con el estado flotante de esta respuesta.

Tenga en cuenta que el interruptor no es un dispositivo elegante que toma energía y crea alguna señal de salida; en cambio, piense en él como un cable que simplemente está agregando o quitando del circuito presionando el botón.

Si el interruptor está desconectado (no presionado), el único camino posible para la corriente es a P2través de ambas resistencias a tierra. Por lo tanto, el microcontrolador leerá un BAJO.

Si el interruptor está conectado (pulsado):

  • La corriente viaja desde la fuente de alimentación a través del interruptor.

  • Parte de la corriente viaja a través de la resistencia de 100 ohmios a P2. El microcontrolador leerá ALTO.

  • Una pequeña cantidad de corriente fluirá a través de la resistencia de 10 Kohm a tierra. Esto es básicamente energía desperdiciada.

Tenga en cuenta que la resistencia de 100 ohmios solo está ahí para limitar la corriente máxima que ingresa P2. Normalmente no se incluye en un circuito como este, porque la P2entrada del microcontrolador ya es de alta impedancia y no absorberá mucha corriente. Sin embargo, incluir la resistencia de 100 ohmios es útil en caso de que su software tenga un error o un error lógico que provoque que intente usarlo P2como salida. En ese caso, si el microcontrolador está tratando de conducir P2bajo pero el interruptor está en cortocircuito y lo conecta a alto, posiblemente dañará el pin del microcontrolador. Para estar seguro, la resistencia de 100 ohmios limitaría la corriente máxima en ese caso.

Cuando presiona el botón, coloca un nivel lógico alto (+5 V) en la entrada. Pero si omite la resistencia y se suelta el botón, entonces el pin de entrada estaría flotando, lo que en HCMOS significa que el nivel no está definido. Eso es algo que no desea, por lo que baja la entrada a tierra con la resistencia. La resistencia es necesaria porque, de lo contrario, al pulsar el botón se produciría un cortocircuito.

La entrada es de alta impedancia, lo que significa que apenas pasará corriente a través de ella. La corriente cero a través de la resistencia significa voltaje cero a través de ella (Ley de Ohm), por lo que los 0 V en un lado también serán 0 V (o muy cerca) en el pin de entrada.

Esta es una forma de conectar un botón, pero también puede intercambiar la resistencia y el botón, de modo que la resistencia vaya a +5 V y el botón a tierra. Entonces, la lógica se invierte: presionar el botón dará un nivel bajo en el pin de entrada. Sin embargo, esto se hace a menudo porque la mayoría de los microcontroladores tienen resistencias pull-up incorporadas, por lo que solo necesita el botón, luego se puede omitir la resistencia externa. Tenga en cuenta que es posible que deba habilitar el pull-up interno.



Véase también esta respuesta .

No creo que esté claro cómo el método Push-Down resuelve el problema con el estado flotante de esta respuesta.

La resistencia de 10 kohm se denomina resistencia desplegable porque, cuando el nodo "verde" (al conectar las resistencias de 100 ohm y 10 kohm) no está conectado a +5 V mediante el interruptor, ese nodo se conecta a tierra (suponiendo que la corriente sea baja a través de esa rama). , obviamente). Cuando el interruptor está cerrado, ese nodo gana un potencial de +5V.

Esto se usa para controlar las entradas de circuitos integrados lógicos (compuertas AND, compuertas OR, etc.), ya que estos circuitos se comportarán de manera errática si no hay un valor determinado en sus entradas (un valor 0 o 1). Si deja flotante la entrada de una puerta lógica, la salida no se puede determinar de forma fiable, por lo que es recomendable aplicar siempre una entrada determinada (un 0 o un 1, de nuevo) a la entrada de la puerta. En este caso, P2 sería una entrada a una puerta lógica específica, y cuando el interruptor está abierto, tiene un valor de entrada de 0 (GND); cuando el interruptor está cerrado, tiene un valor de entrada de 1 (+5V).

la corriente toma el camino de menor resistencia

No estoy seguro de dónde viene este concepto erróneo común, pero de hecho es incorrecto ya que contradice directamente la ley de Ohm. La corriente toma todos los caminos posibles , inversamente proporcional a su resistencia. Si aplica 5 V a una resistencia de 10 k, fluirán 0,5 mA a través de ella, independientemente de la cantidad de rutas alternativas (de baja resistencia o de otro tipo) que proporcione.

Por cierto, ese camino a través de la resistencia de 100 ohmios no es necesariamente "menor resistencia", ya que la resistencia no está conectada a tierra . Por lo general, conectaría esa resistencia a una entrada de MCU con una impedancia de> 10 MOhm, haciendo que la resistencia de 10k sea el camino de menor resistencia.

La razón por la que se requiere la resistencia desplegable es que el microcontrolador es un dispositivo CMOS y, por lo tanto, el pin de entrada es, en última instancia, la puerta de un MOSFET.

Si su botón pulsador controlara una bombilla, un LED o un relé, no necesitaría una resistencia desplegable porque un circuito abierto estaría "apagado". Cuando se soltaba el botón, la bombilla se apagaba porque no fluía corriente.

Si su dispositivo fuera una verdadera pieza TTL como los chips lógicos originales de la serie 7400, no necesitaría la resistencia pulldown porque esas entradas serían transistores bipolares y cuando se soltara el botón, no fluiría corriente a través de la unión base-emisor y la entrada sería "apagado".

Por el contrario, la entrada de su microcontrolador es una puerta MOSFET que actúa como un condensador. Cuando el voltaje de la puerta es lo suficientemente alto, la entrada está "activada". Eso sucede cuando presiona el botón y la corriente fluye a través de la resistencia 100R hacia el microcontrolador. La puerta se carga (muy rápidamente) como un condensador y la entrada se "activa". Ahora, ¿qué sucede cuando sueltas el botón? No más flujos de corriente. Pero, ¿qué significa eso para la entrada? Si no hay una resistencia desplegable, la carga en la puerta no tiene adónde ir. El voltaje simplemente se sentará allí cerca de 5V y la entrada seguirá estando "encendida". La resistencia desplegable drena la carga de la puerta para que su voltaje caiga por debajo del nivel "encendido". Eso es lo que quiere asegurarse de que la entrada digital se considere "apagada".

Puede experimentar con esto conectando dos botones a su pin de entrada. Ate uno a 5V y otro a tierra. Cuando presione el botón de 5V, la entrada se encenderá. Cuando lo suelte, permanecerá encendido hasta que presione el que está conectado a GND.

En TTL, de hecho, es la unión base-emisor la que no conducirá, pero no de la manera que podría pensar: la entrada es el emisor del transistor NPN de entrada, y el transistor conduce si la entrada está baja. Flotar es lo mismo que alto.