Resistencias PULL UP y PULL DOWN

Cuando realizamos proyectos electrónicos tenemos componentes que necesitamos que funcionen en 2 estados (HIGH o LOW). dejar una entrada digital al "aire" genera problemas , ya que solo puede reconocer estados altos o bajos y al no tener referencia esta puede volverse loca, marcar ceros, unos o estados indeterminados y hacer un mal funcionamiento del circuito.




Este problema puede deberse a muchas causas como por ejemplo: ruido eléctrico , variaciones en la fuente , interferencias etc.
Para este problema tenemos las resistencia de referencia comúnmente llamadas resistencias pull up y pull down , las cuales cuando la entrada digital esta al "aire" le va a dar una referencia de 1 o 0.
Este método se usa mucho en entradas digitales, Compuertas lógicas , arduino etc.


¿Que valor hay que ponerle a la resistencia Pull up y Pull down?

Ponele entre 1KOhm y 10KOhm que anda(frase mas repetida de la historia de la electrónica).
La mayoría de las veces será así, y no hay que complicarse mucho la vida con esto. Sin embargo, este valor se puede calcular por si queres saber el consumo exacto de potencia (cada milivatio cuenta cuando diseñamos un sistema).
  1. Cuando se presiona el botón , el pin de entrada se baja. El valor de la resistencia controla la cantidad de corriente que desea que fluya desde VCC, a través del botón y luego a tierra.
  2. Cuando no se presiona el botón , el pin de entrada se tira hacia arriba. El valor de la resistencia pull-up controla el voltaje en el pin de entrada.
Para la condición 1, no desea que el valor de la resistencia sea demasiado bajo. Cuanto menor sea la resistencia, más potencia se usará cuando se presione el botón. Generalmente desea un valor de resistencia grande (10kΩ), pero no quiere que sea demasiado grande como para entrar en conflicto con la condición 2. Una resistencia de 4MΩ podría funcionar como un pull-up, pero su resistencia es tan grande que puede no hacer su trabajo el 100% del tiempo.

La regla general para la condición 2 es usar una resistencia pull-up que es un orden de magnitud (1/10) menor que la impedancia de entrada del pin de entrada. Un pin de entrada en un microcontrolador tiene una impedancia que puede variar de 100k-1MΩ. Para esta discusión, la impedancia es solo una forma elegante de decir resistencia. Entonces, cuando no se presiona el botón, circula una cantidad muy pequeña de corriente desde VCC a través de la resistencia pull up y hacia el pin de entrada.
La resistencia pull-up y la impedancia del pin de entrada, funcionan como un divisor de tensión, y ese voltaje debe ser lo suficientemente alto para que el pin de entrada lea un estado alto (alrededor de 5v)

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.

¿Cual es mejor pull up o pull down?

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

Pull up vía software

Muchos micro-controladores como por ejemplo el caso de Arduino, ofrecen la posibilidad de aplicar una resistencia Pull-Up mediante software. (lo cual nos ahorra poner la resistencia física con solo unas lineas de código)

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

int interruptor = 12; //Pin del interruptor o botón

void setup()
{
pinMode(interruptor, INPUT); //Interruptor como entrada
digitalWrite(interruptor, HIGH); //Resistencia pull-up por software
}
void loop(){
}

también este otro ejemplo:

pinMode(5, INPUT_PULLUP); // definir entrada y activar resistencia pull-up

No hay comentarios.:

Publicar un comentario