LED de conducción con PIC 5V

1

Siempre me han enseñado a conducir un LED usando un MCP usando el siguiente método (Conducción del pin alto) como se muestra en el diagrama a continuación:

Sinembargo,recientementehevistoquelosLEDseactivanutilizandoelsiguientemétodocomosemuestraeneldiagramaacontinuación.Supongoqueenestemétodo,elLEDseactivacuandoelpindigitalseestableceenbajo.¿Quémétodoeslamejorprácticayporqué?

    
pregunta user3095420

3 respuestas

4

Las corrientes de origen y las corrientes de sumidero pueden ser diferentes para un dispositivo, y la caída de tensión interna para ambos casos puede ser diferente.

Para el PIC16F1847 usado, puede ver en la hoja de datos página 355 que la corriente de sumidero es de 8 mA a 5 V y la corriente de la fuente es de solo 3,5 mA a 5 V, estos valores también cambian con respecto a la tensión de alimentación, por lo que también debe tener esto en cuenta en su diseño.

Lo siguiente que debe considerar es que la caída de voltaje puede ser diferente y, por lo tanto, el calor generado en la MCU. En su caso, se garantiza que la alta tensión de salida es superior a \ $ V_ {DD} - 0.7V \ $ y se garantiza que la baja tensión es máxima \ $ 0.6V \ $. Por lo tanto, para la fuente de corriente, la caída de voltaje podría ser mayor y, por lo tanto, su MCU se calentará, podría ser un factor limitante o no, depende de las corrientes que esté mirando. Algunos dispositivos también tienen un límite total para el hundimiento y la generación de corrientes, que también pueden diferir debido a que el número de pines utilizados para suministrar voltaje y masa al dispositivo puede ser diferente.

Microchip en realidad proporciona un gráfico más detallado sobre el comportamiento de la capacidad de fuente y sumidero de pines más allá de los números mencionados anteriormente en página 400 . Aquí también puede ver qué influencia tiene la temperatura, así como la cantidad de caída de voltaje que obtiene a diferentes corrientes.

Para este dispositivo, diría que se adapta mucho mejor a las corrientes de hundimiento que a las fuentes, por lo que la segunda configuración podría funcionar mejor en general.

No creo que haya una mejor práctica en general, pero tiene que decidirse en función del dispositivo particular y las limitaciones de diseño a las que se enfrenta.

    
respondido por el Arsenal
1

Es posible que el primer circuito no funcione dependiendo de las partes internas de la MCU.

Por lo general, un pin puede generar o hundir una corriente. En este caso, no importa, el circuito que elija, solo se invertirá la lógica.

Este boceto puede darle una idea de cómo funciona esto dentro de la MCU:

simular este circuito : esquema creado usando CircuitLab

Según el estado de la salida, uno de los LED siempre estará encendido.

Pero un pin también podría ser una salida de colector abierto, que se puede esbozar así:

simular este circuito

Un colector abierto solo puede recibir corriente, por lo que el circuito de LED solo funciona en la dirección que se muestra en mi bosquejo.

Estoy familiarizado con los microchips PIC18F2550 / 2455/4550/44555, que tienen la "característica" RA4. Si bien todas las salidas son salidas CMOS, RA4 es una salida de drenaje abierto y supongo que todos los usuarios de este MCU alguna vez lo olvidaron.

Sin embargo, una salida de colector / drenaje abierto también tiene la ventaja de conmutar voltajes más altos que el voltaje de suministro de MCU. El MCU mencionado puede conmutar hasta 8V en RA4, incluso si solo funciona con 3.3V.

Para su PIC16F1847, consulte las tablas en las páginas 13-16 de la hoja de datos . Todas las E / S son del tipo "CMOS", pero encontrará pines que serán "OD" en el modo I²C. Pero esto es por diseño general de I²C.

Por lo tanto, no importa la dirección que elija para un LED en su MCU.

    
respondido por el sweber
0

¿Fregadero o fuente?

¿Cuál debería usar? En la mayoría de los casos es una cuestión de preferencia personal. Para encender el LED 1, debe establecer el bit de registro PO en cero. Para encender el LED2, establece P1 en un 1 lógico. Para muchos desarrolladores, establecer un pin en 1 o alto parece más natural para encender algo, por lo que es posible que desee utilizar el pin del microcontrolador como fuente.

Un caso en el que podría necesitar usar un método de conducción sobre otro es cuando las corrientes máximas de fuente y de sumidero no son las mismas, y solo un método podrá manejar la corriente necesaria.

Si el pin que seleccionó es un tipo de drenaje abierto, tendrá que hundir la corriente. Las salidas de drenaje abierto no tienen un transistor interno a Vdd, por lo que el pin no puede suministrar corriente. Algunos microcontroladores tienen algunos pines de E / S con drenaje abierto.

enlace

Espero que esto ayude

    
respondido por el Lokanath

Lea otras preguntas en las etiquetas