Este artículo trata de como conectar una salida de un microcontrolador a un LED. Como conclusión tendremos una placa de salidas digitales amplificadas a LEDs que nos será muy útil en todos nuestros diseños.

En multitud de ocasiones mientras se programa un microcontrolador nos encontramos con la necesidad de saber hasta qué punto se ha ejecutado el código. En este momento recurrimos a puntos de interrupción con los programadores modernos, pero en ocasiones hasta estos fallan y nos tenemos que ir algo más básico. Es en este momento es cuando empezamos a encender LEDs. La mayoría de placas de desarrollo sacrifican una señal de un puerto a este fin. Saber si está en el estado loader inicial, si está ejecutando código, etc. En nuestras placas de microcontrolador nunca hacemos este sacrificio esto permite que cualquier puerto sea usado para cualquier cosa sin forzar a nada a los desarrolladores y dándoles mayor libertad.

¿Cómo hacemos entonces para depurar con el sistema del LED?

Pues muy sencillo: conectando un LED. Repasemos un poco los principios básicos de cómo encender un LED.

Para encender un LED primero hay que polarizarlo correctamente. Para esto tenemos que tener claro cuál es la patilla positiva y cual la negativa. Un LED en encapsulado de patillas, el mas común y usado para estos fines es fácil de identificar, la patilla “MAS” larga en la “POSITIVA” mientras que la “MENOS” larga es la “NEGATIVA”. Sencillo verdad.

Además de saber la polaridad del LED hay que proteger al mismo. Un LED no deja de ser un diodo y cuando se polariza en directa (para que se encienda en este caso) se comporta como un corto circuito lo que produce que el LED se auto destruya al pasar demasiada corriente por él. Aquí a veces a la gente le entra duda de en qué patilla conectar la resistencia. Se pude conectar al terminal positivo o al negativo el LED encenderá igual, simplemente dependiendo del tipo de montaje va a resultar más cómodo conectarlo a una o a otra

¿Cómo calcular esta resistencia?

Para esto recurriremos a la ley de Ohm y un poco de teoría de circuitos:

$$I = \frac{V}{R}$$

Primero identificar los parámetros básicos necesarios para encender el LED, la $I_f$ corriente en directa necesaria para que el LED se encienda y mediante la cual regularemos el brillo, $V_f$ tensión que va a caer en el LED una vez se polarice correctamente y por ultimo pero no por ello menos importante el voltaje en inversa $V_r$. Aunque normalmente trabajando en continua no es un dato a tener en cuenta, debemos tener lo en cuanta si decidimos trabajar en alterna ya que destruirá o provocara el envejeciendo prematuro de nuestro LED.

Estos datos podéis localizarlos en las hojas de características técnicas de los fabricantes (datasheet). Algunos fabricantes importantes de LED son:

http://www.kingbright.com/

http://www.vishay.com/

http://www.cree.com/

http://www.osram.com/

Por norma si usamos LEDs normales de los que nos venden en las tiendas de electrónica locales de 5mm color rojo, amarillo o verde la $V_f$ estará comprendida entre $1.8V$ y $2.2V$. Mientras $I_f$ será de unos $20mA$. Cogeremos para hacer los ejemplos $V_f=2V$ e $I_f=20mA$.

La fórmula para el cálculo de la resistencia es la siguiente:

$$R = \frac{V_{cc}-V_f}{I_f}$$

Teniendo en cuenta que la tensión de alimentación $Vcc$ es 5V para la mayoría de nuestros diseños. Obtenemos:

$$R = \frac{5V - 2V}{20mA} = 150\Omega$$

Un valor comercial próximo es $220\Omega$, que provocara que pase menos corriente por el LED y aumenta la vida del mismo. Si despejamos en la formula observamos que:

$$I = \frac{V_{cc} - V_f}{R} = \frac{5V - 2V}{220\Omega} = 13.6mA$$

Este sería el cálculo para que el LED estuviera alumbrando a un rendimiento bastante bueno. Pero si solo lo queremos para señalizar y no queremos que moleste demasiado mientras las placas están encima de la mesa (Con el tiempo muchas luces al mismo tiempo alumbrando llegan a molestar) recomendamos aumentar aún más este valor de resistencia. Con una resistencia de $470\Omega$ será más que suficiente para distinguir si el LED esta encendido o no en un entorno de escritorio. Lógicamente si el LED esta al aire libre con luz del sol dándole cerca no se distinguirá si esta encendido o no. Por eso en muchos de nuestro montajes estamos optando por montar esta resistencia para los LEDs que indican que la placa está alimentada. Además de reducir el consumo de todo el sistema en el caso de trabajar con baterías.

$$I = \frac{5V - 2V}{470\Omega} = 6.38mA$$

Montajes básicos para trabajar con un micro controlador

Con todo lo explicado antes ya estaríamos casi en disposición de montar nuestro LED. Pero hay que tener en cuenta una última cosa. ¿Cómo son las salidas de mi microcontrolador?

Existen múltiples configuraciones. Aunque la más común es tener salidas push-pull las hay de tipo colector abierto o emisor abierto. Pero este es otro tema. Nos centraremos en el tipo más común las push-pull. En esta clase de salidas debemos conocer los parámetros básicos.

$V_H$: tensión a nivel alto esta es la tensión que debemos poner como $V_{cc}$ para el cálculo de la $R$ del LED. Suele ser igual a $V_{cc}$ en nuestro caso $5V$.

$V_L$: tensión a nivel bajo es importante conocerla para no llevarnos sustos suele ser igual a GND pero no biene mal revisarlo cuando empiezan a suceder cosas raras.

$I_o$: Corriente de salida. Este es un parámetro muy importante ya que poco importa que queramos encender un LED a $50mA$ si la salida solo nos da $5mA$.

$I_i$: Corriente de entrada. Es la corriente que la salida es capaz de drenar cuando esta puesta a cero. Suele ser mucho mayor que la corriente de salida.

Conociendo esto debemos tener en cuenta un par de consideraciones. Los microcontroladores modernos además de tener limitada la corriente por cada patilla de salida también la tienen limitada a nivel global de puerto. Si forzamos en un microcontrolador a dar el máximo de corriente por todas las salidas de un puerto vamos a provocar que este limitador se sobre cargue provocando que corte la alimentación del mismo y obteniendo un efecto de parpadeo. No es un error común pero a veces sucede.

También debemos tener en cuenta y aprovechar a nuestro favor la cualidad de que las patillas de salida son capaces de drenar más corriente de la que suministran.

Así llegamos a dos tipos de montajes

Cátodo Común

Ánodo común

Como podéis ver por el montaje en un caso los LEDs se encenderán cuando se pongan las salidas a nivel alto, lo que comúnmente llamamos poner unos en el puerto. Este es el montaje "CÁTODO COMÚN" que tiene el problema antes citado de que el microcontrolador puede no dar suficiente corriente por sus patillas.

En el otro caso "ÁNODO COMÚN" los LEDs encenderán cuando las salidas estén a nivel bajo, poner ceros en el puerto. Esta solución no es demasiado intuitiva, esta manera de representar estados se llama lógica inversa ya que las luces se encienden cuando por la salida no hay tensión. Esto vuelve el montaje poco intuitivo de usar y puede provocar confusiones.

Montaje

Foto 1: Placa en wrapping, LEDs cátodo común

Foto 2: Placa en wrapping, LEDs ánodo común

Como podemos ver en las fotos, nosotros hemos montado dos placas una ánodo común y otra cátodo común, con leds de distinto color para poder distinguirlos fácilmente. Estos montajes los hicimos con cable de "wrapping" y placas de prototipos de isletas. En vez de usar la técnica tradicional de "wrapping", usamos el cablecillo para ir soldado de pin a pin así garantizamos que los cables no se suelten con facilidad y las placas nos duraran mucho tiempo.

Foto 3: Detalle de una placa de wrapping por debajo

También destacar que como podéis ver en las fotos, una de las placas tiene 8 resistencias mientras que la otra tiene un componente alargado. Esto es un array de resistencias con un único terminal en común. De ahí que aunque dé igual colocar la resistencia del lado del cátodo o del lado del ánodo, a veces según la morfología o el tipo de montaje conviene hacer un montaje u otro.

Este componente tiene la estructura interna mostrada bajo estas líneas, aunque existen componentes iguales con distinta configuración interna.

Finalmente

Finalmente nosotros hemos sintetizado todo esto en una placa que no tiene ninguno de los problemas citados. Enchufar y listo. La placa consta de un chip que nos ayuda a no sobrecargar las salidas del microcontrolador además de una palanca que nos permite escoger entre lógica positiva o negativa, evitando hacer montajes ánodo común y cátodo común. Para ello usamos 8 grupos de LEDs apareados puestos en antiparalelo.

Foto 4: Placa terminada

Documentos

Archivos

SN74HCT245