4 votos

Control de los LEDs directamente desde los pines del microcontrolador

En el circuito que estoy diseñando, estoy utilizando un at91sam7s128 que es un microcontrolador con un núcleo ARM7.

  1. Sus PIO0 a PIO31 proporcionan 8mA como máximo, lo cual es poco para manejar la conducción directa de los LEDs como este:

schematic

simular este circuito - Esquema creado con CircuitLab

ACTUALIZADO: gracias a jippie y a Olin Lathrop por decirme lo de la resistencia en serie con el LED.

  1. Así que algunos diseñadores utilizan un método más seguro, conectando el PIO a la base de un transistor que actúa como un interruptor:

schematic

simular este circuito

  1. Otros sólo hacen un simple truco. Conectan el ánodo del LED a la fuente de alimentación y el cátodo a un PIO:

schematic

simular este circuito

En el último método el LED se encenderá cuando el PIO se ponga bajo - actuando como GND - y la corriente se tomará de la fuente de alimentación, no del PIO como en el primer método. Así que tengo que tener cuidado con la corriente máxima del PIO, aunque sólo actúa como GND, no como una fuente de alimentación (como en el primer método).

Cuando pongo el PIO a nivel bajo, ¿el pin se conecta realmente a GND o a otra cosa?

NOTA: En este kit de evaluación de Atmel utilizan el último método, pero necesito asegurarme.

enter image description here

1 votos

¿Has probado cómo se ve un LED a 8mA? Un LED moderno puede tener una potencia máxima de 20mA, pero son extremadamente brillantes cuando sólo quieres utilizarlos como indicador de señalización.

2 votos

¡(1) 8mA es suficiente para la mayoría de los LEDs, a menos que necesites verlos a plena luz del sol (2) el segundo circuito mostrado no tiene resistencia limitadora de corriente - 9V fundirá el LED, el transistor, o ambos, y también aplastará la batería bastante rápido! (3) el tercer circuito no es fundamentalmente diferente del primero.

1 votos

So do I must take care of maximum current of PIO although it just act like GND not like a power supply -like method 1 Sí, así es. El primer y el tercer método son equivalentes en los microcontroladores actuales.

4voto

RelaXNow Puntos 1164

El primer y el tercer método que muestras están bien, suponiendo que la resistencia esté dimensionada de forma que no se supere la corriente máxima de los pines del puerto de 8 mA. La diferencia entre estos dos métodos es si el transistor de accionamiento del lado bajo o alto en el procesador está en serie con el LED. A veces los transistores del lado bajo son un poco más robustos, por lo que se ve más el método tres que el método 1. Sin embargo, cualquiera de los dos métodos está bien, siempre y cuando se tenga cuidado de no exceder la especificación de corriente para el pin. También tenga en cuenta que algunos procesadores tienen una especificación de corriente total que no debe ser excedida. Por ejemplo, usted podría tener 10 pines cada uno conduciendo un LED a 8 mA, lo que estaría bien individualmente para cada pin. Sin embargo, si la especificación general del procesador es que todos los pines de E/S juntos no pueden alimentar o hundir más de 50 mA, por ejemplo, entonces todavía estás fuera de la especificación.

Tu método dos está mal dibujado. Es probable que dañe el LED o el transistor. Para solucionarlo, añade una resistencia en serie con el LED para que la corriente del LED no supere su valor nominal máximo. Por ejemplo, digamos que el LED tiene un valor nominal de 20 mA como máximo, y en ese caso cae 2,1 V. Con una alimentación de 9 V, eso deja 6,9 V entre la resistencia y el transistor. El voltaje de saturación del transistor es probablemente alrededor de 200 mV, pero para el peor de los casos digamos que es 0. 6,9 V / 20 mA = 345 Ω, por lo que el siguiente tamaño de valor común de 360 Ω estaría bien. Trabajando hacia atrás, y esta vez asumiendo la caída de 200 mV en Q1, la corriente del LED será de 6,7 V / 360 Ω = 18,6 mA. Incluso en una comparación lado a lado, será difícil para los seres humanos para distinguir que a partir de la luminosidad alcanzada por 20 mA a través del LED.

He aquí otro método, que es útil cuando se dispone de una alimentación externa que es un poco más que el voltaje del procesador más la caída del LED:

Esto utiliza el transistor como un disipador de corriente conmutable, por lo que la tensión de alimentación exacta (9 V en tu caso) no importa en un amplio rango. Cuando la base es 0, el transistor está apagado y el LED está apagado. Cuando la base es conducida a 3,3 V por la salida digital, el emisor será unos 700 mV menos, o 2,6 V en este ejemplo. La corriente a través de R1 será por tanto de 2,6 V / 150 Ω = 17,3 mA. Como la mayor parte de esta corriente proviene del colector debido a la ganancia del transistor, esa será la corriente del LED con una aproximación razonable.

Ten en cuenta que la tensión de alimentación de 9 V no ha entrado en los cálculos. Mientras esté por encima de un valor mínimo, el transistor absorberá casi la misma corriente porque la ganancia del transistor cambia poco con la tensión de colector. Si le damos al transistor unos 700 mV de tensión C-E para que esté bien en su región lineal, entonces la alimentación debe ser como mínimo el nivel de salida digital más la caída del LED, que viene a ser 5,4 V en este caso. Esto significa que la alimentación de "9 V" puede variar hasta unos 5,4 V sin afectar al funcionamiento de este circuito.

La alimentación máxima permitida está limitada por la potencia disipada en el transistor. Digamos que queremos mantenerla en 150 mW o menos. 150 mW / 17,3 mA = 8,7 V, que es la tensión C-E máxima para el transistor cuando está encendido. Como R1 caerá 2,6 V y el LED 2,1, eso significa que la alimentación no puede superar los 13,4 V. Así que este circuito funcionará bien y hará funcionar el LED con el mismo brillo incluso si la alimentación de "9 V" oscila entre los 5,4 y los 13,4 voltios.

0 votos

Gracias, ahora puedo entender porque el 1er y 3er método son los mismos, no sabía que hay un transistor que controla la lógica de alto/bajo de los pines. Me faltó una resistencia como dijiste en el esquema del 2do método, lo editaré ahora.

1 votos

Los métodos 1 y 3 son sutilmente diferentes. En el caso 1, el microcontrolador genera corriente, y en el 3 la pierde. En este caso, no hay diferencia, pero es algo para tener en cuenta

0 votos

Encontré este recurso tomando sobre los modos de entrada/salida del microcontrolador GPIO incluye los transistores que mencionas . coactionos.com/embedded-design/98-gpio-output-pin-modes.html

0voto

e-r Puntos 11

No quiero probar con esta valiosa parte, temo que esto queme uno de los PIO

Yo sugeriría en su lugar utilizar 3 pines y manejar un registro de desplazamiento, dejar que maneje la corriente para los LEDs. Parte como cd74AC164

https://www.digikey.com/product-detail/en/texas-instruments/CD74AC164E/296-4235-5-ND/375630

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X