domingo, 28 de agosto de 2011

Entradas digitales: ¿Cómo asegurar un uno o un cero lógico?

Imagina esta situación: Estás armando un circuito con compuertas lógicas, es la primera vez que vas a comprobar como funciona una compuerta AND, ya tienes tu 74LS08 (integrado con 4 compuertas AND) montado en tu protoboard, conectaste el integrado, le conectaste un LED a la salida, le pusiste un pulsador en cada entrada conectados a VCC, y todo está listo para hacer la gran prueba, entonces al conectar la alimentación del circuito notas algo raro, tu circuito hace cosas raras, se prende, se apaga, parpadea, cambia al acercar tu dedo, no prende el LED, etc, etc, etc, pasas horas leyendo la datasheet del integrado solo para comprobar que todo esta bien, y terminas golpeando la pared y maldiciendo a cuanto antepasado se te ocurre; pero no importa lo que hagas, no importa que te pares de cabeza ni que invoques el nombre de los dioses, simplemente no funcionará ese pequeño circuito de 1 integrado, 2 botones y un LED, y ¿sabes por qué?, por que te falta una pieza clave: las resistencias de pull-down o pull-up.

Bueno, y te preguntarás ¿qué es una resistencia pull-up y una resistencia pull-down?

Cuándo se conecta un pulsador a la entrada de un circuito simplemente conectado a VCC o a GND, puedes deducir fácilmente que al presionar el pulsador, el circuito se cerrará y la corriente circulará en un sentido o en otro, dependiendo de si va a GND o a VCC, hasta aquí todo bien, pero ¿qué pasa cuando sueltas el pulsador?, ¿has notado que la entrada queda conectada a nada?, en efecto, al encontrarse abierto dicho pulsador, si no aseguras de alguna forma que la entrada permanezca conectada a GND o a VCC, es aquí donde tu circuito comienza a hacer cosas raras, debido a que un 1 o un 0 lógico no son exactamente 0 y 5 volts, sino que existe un umbral entre ambas tensiones, donde no se puede asegurar en cuál estado se encuentra. A este umbral se le conoce como zona de indeterminación lógica y ronda entre 0.7v y 2v, dentro de este margen, no hay forma de saber el estado, así que se debe buscar una solución para que la entrada siempre sea 1 o 0.

Es aquí donde entran en juego las resistencias de pull-up y pull-down. Se utiliza una resistencia en serie con el pulsador, que cierra el circuito, de forma que si el boton se conecta a VCC, la resistencia irá a GND y viceversa, a esta configuración se le conoce como divisor de tensión. Cuando la resistencia se conecta a GND se le llama resistencia de pull-down, y cuando se conecta a VCC se le llama de pull-up. Se debe conectar una resistencia debido a que al presionar el boton, el circuito se cierra, y si no hubiese esta resistencia, se provocaría un corto que dañaría el circuito. La señal que se busca generar con el pulsador sale entonces de entre el pulsador y la resistencia.

Para asegurar que la mayor parte de la tensión proveniente de la señal del pulsador acabe donde debe acabar, que es a la entrada del circuito, esta resistencia debe ser de unos cuantos kilo-ohms, normalmente se recomienda un valor de 10k, aunque también se obtienen buenos resultados con 4.7k.

Este mismo circuito se puede utilizar con cualquier otro sensor analógico a la entrada de un circuito, como puede ser una LDR (Resistencia dependiente de la luz), un fototransistor, etc.

No te pierdas el blog, ya que posteriormente explicaré cómo convertir cualquier voltaje entre 0.7 a 5v en un 1 lógico por medio de un comparador de tensión, para poder manipular el nivel de disparo y así adecuar una señal muy pequeña. Nos vemos!

No hay comentarios:

Publicar un comentario