jump to navigation

Resistencias Pull-Up y Pull-Down 25 de enero de 2015

Posted by Jorge in Arduino, Electrónica.
Tags: , , , , , ,
trackback

foto

Cuando realizamos proyectos electrónicos tenemos componentes que necesitamos que funcionen en 2 estados (HIGH o LOW). Estos rangos son más críticos si, por ejemplo, empleamos lógica TTL donde un 0 se representa por un voltaje entre 0 y 0,8Volts y un valor HIGH entre 2 y 5Volts.

ttl

El problema surge cuando el voltage se sitúa en la zona indeterminada, debido a ruido eléctrico, variaciones en la fuente de alimentación…, en ese caso, la interpretación de la señal puede ser tanto LOW como HIGH. Para solucionar esto se emplean resistencias en configuración Pull-Up y Pull-Down.

Resistencia Pull-Up:

pull-up

La acción de Pull-Up en electrónica se asigna a la acción de elevar una tensión de entrada o salida que tiene un circuito lógico mientras éste está en reposo.

Esto evita que se hagan lecturas erróneas si este pin ya no tiene nada conectado o no está recibiendo una señal.

La resistencia se conecta a la fuente de alimentación.

Cuando el interruptor está abierto la corriente va desde la fuente de alimentación al Vout dando un valor lógico de HIGH (Dibujo superior) y cuando el interruptor está cerrado la corriente se mueve hacia tierra (GND) dejando un 0 (LOW) en el pin (Dibujo inferior).

pull-up abierto pull-up cerrado

Resistencia Pull-Down:

La resistencia de un Pull-Down hace que la entrada lógica sea cero mientras éste está en reposo (LOW).

La resistencia se conecta a tierra (GND). De esta manera cuando el interruptor está abierto la corriente se dirige hacia la resistencia dejando un valor de 0 en el pin (LOW) (Dibujo superior).

Si el interruptor se encuentra cerrado la corriente se moverá hacia el pin dejando un valor lógico alto (HIGH)(Dibujo inferior).

pull-down abierto pull-down cerrado
Valor de la resistencia:

Las resistencias que se suelen emplear para estos casos son resistencias con un valor comprendido entre 1KΩ y 10KΩ, un valor lo suficientemente alto para no influir en el circuito.

Pull-up o Pull-Down:

En teoría los dos esquemas funcionan de manera idéntica (salvo por la lógica), pero hay gente que dice que las resistencias Pull-Up son más limpias y menos propensas a cambiar de estado por señales de alta impedancia.

Pull-up vía Software:

Muchos microcontroladores como, es el caso de Arduino, ofrecen la posibilidad de aplicar una resistencia Pull-Up mediante software.

El código de Arduino sería el siguiente:


int interruptor = 12; //Pin del interruptor
void setup(){
pinMode(interruptor, INPUT); //Interruptor como entrada
digitalWrite(interruptor, HIGH); //Resistencia pull-up
}
void loop(){
}

arduino

Comentarios»

1. Arduino. Detección de pulsaciones | Paletos de la Electrónica - 26 de enero de 2015

[…] En la entrada de hoy vamos a ver como detectar pulsaciones en Arduino, para ello emplearemos lo aprendido en la entrada de Interruptores Fin de Carrera y las Resistencias Pull-Up y Pull-Down. […]

Me gusta

2. vinx - 20 de febrero de 2017

Gracias. Muuuuuchas gracias.

Me gusta


Deja un comentario