Conexión de un LED al pin Rx de PIC

Necesito alguna forma de saber si el microcontroller( PIC) está recibiendo (o transmitiendo) algún dato. Así que pensé en mantener una separada LEDpara que parpadee cuando ocurra cualquier transferencia de datos.

Pero necesito saber cómo adjuntar esto LED. ¿Está bien conectar directamente los pines an LEDa PICs Tx(y Rx)? Quiero decir, ¿afectará la transferencia de datos de alguna manera (como al dejar caer el voltaje, etc.).

Respuestas (3)

(Al menos algunos) los PIC no pueden conducir mucha corriente (*), pero también para el pin RxD es mejor usar un transistor para controlar el LED, ya que evitará cargar el transmisor en el otro extremo (probablemente un MAX3232 o similar ?).

ingrese la descripción de la imagen aquí

Conectar la entrada "Q" a la línea TxD/RxD. Un transistor de propósito general típico tendrá una ganancia de alrededor de 100, luego 1 mA de corriente base es suficiente para obtener una corriente de colector de 20 mA.

Para un bus de 5 V y fuente de alimentación:
elija R B = 3,9 kΩ, entonces la corriente base será (5 V - 0,7 V)/ 3,9 kΩ = 1,1 mA. Para limitar la corriente del colector a 20 mA (LED indicador típico) R debe ser (5 V - 2 V)/ 20 mA = 150 Ω.

Para un bus de 3,3 V y una fuente de alimentación, use las mismas ecuaciones, reemplazando 5 V por 3,3 V, luego los valores de su resistencia serán 2,2 kΩ y 47 Ω resp.



Un MOSFET como el que sugiere AndrejaKo es una buena alternativa, pero asegúrese de tener un tipo de puerta de nivel lógico , con un voltaje de umbral de puerta máximo un poco por debajo del voltaje del bus. (Hay FET de compuerta de nivel lógico en los que puede ser tan alto como 4 V y luego no obtendrá suficiente corriente de drenaje con un voltaje de bus de 3,3 V). La verdadera ventaja del FET es que apenas necesita corriente de accionamiento, pero como solo necesitamos un mA para el BJT, tampoco tendremos ningún problema con eso.


(*) Este controlador PIC aleatorio especifica una caída de 700 mV con una corriente de salida de solo 3 mA, es decir, una resistencia de salida de 230 Ω. Un LED de 2 V impulsado directamente desde una salida de 3,3 V reducirá la salida en 1 V a solo 4 mA. La mayoría de los indicadores LED están especificados para 20 mA.

Buena respuesta stevenvh, +1 por agregar sugerencias de tamaño de resistencia, muchos otros solo se refieren a la ley de Ohm
Aunque esta puede ser la forma "adecuada" de hacerlo ... si no puede conducir <5 mA más o menos desde el pin MCU, cuestionaría el valor de esa MCU en aplicaciones del mundo real. Los transceptores RS232 también son muy resistentes. Tengo numerosos diseños en los que la resistencia en serie y el LED se ubican directamente en las líneas rx/tx. Funciona bien incluso si no usa MAX, sino transceptores de segunda fuente baratos. Siempre que no intente manejar 20 mA o algo así, no debería haber problemas. Y si elige un LED brillante y moderno, puede usar fácilmente una resistencia de 10k.
@Lundin: bueno, Microchip no funciona nada mal en aplicaciones del mundo real, incluso cuando esta hoja de datos especifica una caída de 700 mV a solo 3 mA y Vcc de 3,3 V. Esa es una resistencia interna de más de 200 Ω , no muy bueno.
@stevenvh Tal vez estoy mimado con Freescale, donde puede manejar algo de +-20mA a través de un solo pin (a Vdd = 3V) sin salirse de las especificaciones. Aunque, por supuesto, hay que diseñar con márgenes. En cuanto al transceptor MAX, los estándar tienen una especificación de voltaje de umbral de alto > 2,0 V, bajo < 0,8 V, por lo que uno nunca debería ser un problema.
Por cierto, la especificación LED de 20 mA es para un brillo óptimo. Si coloca uno moderno súper brillante con algunos> 300mcd, puede reducir la corriente a menos de una décima parte de lo que usaría con los LED clásicos. Entonces estamos hablando de corrientes uA en lugar de mA.
@Lundin: el brillo es lineal con la corriente, por lo que no existe un valor óptimo como un máximo para el brillo/la corriente. 2/3 de los indicadores LED de Digikey se especifican a 20 mA. Tiene razón sobre los tipos de alta eficiencia, que puede conducir con una corriente más baja, pero pueden ser más caros (no lo comprobé).

No, no desea conectar el LED a través de un transistor de interruptor lateral bajo como han demostrado otros. En el caso normal, el nivel de inactividad de ambas líneas es alto, lo que provocaría que el LED se encienda la mayor parte del tiempo. Será muy difícil notar que de vez en cuando se atenúa un poco. Lo que desea es que el LED esté encendido solo cuando la línea está en estado activo, que es bajo. Aquí hay un circuito simple:

El transistor se usa en una configuración de seguidor de emisor, lo que elimina la necesidad de una resistencia base y también usa la corriente base mínima posible para la corriente LED resultante. Cuando la línea digital baja, el emisor estará a unos 700 mV. Teniendo en cuenta un LED verde normal que cae alrededor de 2,1 V, deja 2,2 V en R1. 2,2 V / 120 Ω = 18 mA, que está justo por debajo del máximo de 20 mA para el que están clasificados los típicos T1-3/4 y muchos otros LED comunes.

Este es un caso en el que desea maximizar la salida de luz LED, es decir, ejecutarlo a su máxima corriente. La línea bajará durante períodos breves, por lo que desea que ese período breve sea lo más visible posible. Si eso no funciona, necesitará algún tipo de estiramiento del pulso, pero intente esto primero.

Si está utilizando un suministro de 3,3 V, ajuste R1 en consecuencia. 3,3 V - 2,1 V - 700 mV = 500 mV en R1. 500mV / 20mA = 25Ω. Desea dejar algo de margen, por lo que el valor estándar de 27 Ω debería funcionar bien. El suministro de 3,3 V es aproximadamente el mínimo en el que desea utilizar la configuración del seguidor de emisor.

No debe intentar conectar el diodo directamente al pin porque definitivamente afectará el funcionamiento del pin. En su lugar, intente usar un mosfet de nivel lógico para controlar el LED. Conecte el pin de la puerta del MOSFET al pin Rx y el drenaje al LED y una resistencia.

ingrese la descripción de la imagen aquí

Ignore el número de pieza que se muestra en el esquema. BS170 sería mucho más barato y funcionaría bien para este propósito.