¿Qué son las resistencias pull-up?

resistencias pull-up

Los componentes digitales, como las puertas lógicas o las entradas y salidas de los microcontroladores, deben estar en uno de dos estados, llamados nivel alto y nivel bajo. El nivel alto se corresponde con la tensión VCC positiva (normalmente 5V o 3,3V) y el nivel bajo es aquel que conectaría el puerto a GND. Además, dependiendo de la tecnología subyacente, el puerto se puede considerar activo cuando está a nivel bajo, o en otras ocasiones, cuando está a nivel alto. Por ejemplo, el procesador Atmega328 (Arduino) tiene un puerto RESET que es activo a nivel bajo, es decir, que cuando se conecta a GND, se produce el reseteo del microcontrolador. Otro escenario posible es aquél en el que un puerto de salida (por ejemplo, una puerta lógica o la salida de otro microcontrolador), necesita poner un valor en el puerto de otro elemento digital en el circuito. Para gestionar estas situaciones se utilizan resistencias pull-up (pull-up resistors en inglés).

Lo mejor será comenzar con un ejemplo de lo que no se debe hacer. Tomemos como modelo un microcontrolador que necesita poner a nivel bajo su puerto de RESET para reiniciarse (tal y como ocurre con Arduino). Podemos hacer algo como lo siguiente.

sin resistencia pull-up

Si accionamos el pulsador S1, la patilla RESET, que en este caso es activa a nivel bajo, reiniciará el microcontrolador, pero ¿qué ocurre el resto del tiempo? ¿En qué estado se encuentra el puerto RESET si no está conectado a nada?

Esto es un modelo, así que puedes imaginar que en vez del pulsador S1, la señal RESET es gestionada desde el puerto de salida de otro elemento digital del circuito (por ejemplo, otro microcontrolador). Estamos ante el mismo caso. Se dice entonces que el puerto está en estado flotante y no es nada conveniente, ya que cualquier señal parásita generada en el circuito podría poner el puerto RESET a nivel bajo, y no queremos que nuestro dispositivo se reinicie sólo ¿verdad?

La solución es conectar el puerto a VCC a través de una resistencia tal y como se muestra en el esquemático siguiente.

Con resistencia pull-up

Ahora, el puerto RESET está conectado a 5V constantemente (estado alto) hasta que pulsamos el botón S1. Cuando esto ocurre conectamos la entrada de tensión de 5V a GND a través de la resistencia, con lo que conseguimos poner el puerto RESET a estado bajo (es decir, conseguimos reiniciar el microcontrolador).

A esta resistencia la llamamos pull-up, y cumple una doble función:

1 – Limita la corriente de entrada al puerto RESET.

2 – Impide conectar directamente VCC a GND cuando se pulsa en botón, evitando así la destrucción del planeta (o al menos la destrucción del circuito debido a un cortocircuito 🙂 ).

 

Cálculo del valor de la resistencia pull-up

Habrás leído por ahí que como regla general, una resistencia pull-up ha de ser de 10KOhm. Lo cierto es que la mayoría de las veces será así, y no hay que complicarse mucho la vida con esto. Sin embargo, quiero contaros cómo se hace el cálculo del valor de la resistencia por si queréis afinar el consumo de potencia (cada milivatio cuenta cuando diseñamos un sistema empotrado).

Como ya hemos dicho, la resistencia pull-up cumple la doble función de limitar la entrada del puerto y evitar el cortocircuito al pulsar el botón. Si la resistencia es muy alta podría no entregar la tensión umbral necesaria para activar el puerto y, si es demasiado baja, podría producirse un cortocircuito.

La clave está en decidir qué intensidad de corriente tiene que haber en el puerto de entrada, lo que generalmente puede consultarse en la hoja de características del dispositivo, donde nos indicarán la intensidad máxima y mínima de trabajo. Supongamos que el fabricante nos aconseja que la intensidad de corriente de entrada sea 10mA. Recurriendo a la ley de Ohm es fácil hacer el cálculo.

Ley Ohm

Con la resistencia despejada en la fórmula, ya sólo hay que sustituir los valores, que son 5V y 10mA (0.01A).

Cálculo de la resistencia

Es decir, la resistencia R1 ha de ser de 500 Ohm para que en el puerto RESET haya una intensidad de 10mA cuando se somete una tensión de 5V.

Las resistencias todavía nos van a dar mucho juego a la hora de interconectar puertos en dispositivos digitales, pero de eso ya hablaremos otro día.

 

Relacionado: El divisor de tensión

Sé el primero en comentar en "¿Qué son las resistencias pull-up?"

Deja un comentario.

Tu dirección de correo no será publicada.


*