Conducir los LED directamente desde los pines del microcontrolador

4

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

  1. Su PIO0 a PIO31 proporciona un máximo de 8 mA, que es bajo para manejar la conducción directa de los LED de esta manera:

simular este circuito : esquema creado usando CircuitLab

ACTUALIZADO: gracias a Jippie y Olin Lathrop por hablarme sobre la resistencia en serie con el LED.

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

simular este circuito

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

simular este circuito

En el último método, el LED se encenderá cuando el PIO pase a un nivel 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 cuidar la corriente máxima del PIO, aunque solo actúa como GND, no como una fuente de alimentación (como en el primer método).

Cuando configuro el PIO bajo, ¿el pin realmente se conecta a GND o algo más?

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

    
pregunta yahya tawil

2 respuestas

3

El primer y el tercer método que muestra están bien, suponiendo que la resistencia tenga el tamaño adecuado para que no se exceda la corriente máxima del pin del puerto de 8 mA. La diferencia entre estos dos métodos es si el transistor de unidad de lado alto o bajo 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 usted ve el método tres más que el método 1. Sin embargo, cualquiera de los dos métodos está bien siempre que tenga cuidado de no exceder la especificación actual del pin. También tenga en cuenta que algunos procesadores tienen una especificación actual total que no debe excederse. Por ejemplo, podría tener 10 pines, cada uno con 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 generar nuestro sumidero a más de 50 mA, por ejemplo, entonces todavía está fuera de especificación.

Tu método dos está mal como está dibujado. Probablemente dañará el LED o el transistor. Para solucionarlo, agregue una resistencia en serie con el LED para que la corriente del LED no exceda su valor nominal máximo. Por ejemplo, digamos que el LED está clasificado para 20 mA máx, y en ese caso cae 2.1 V. Con una fuente de 9 V, deja 6,9 V a través de la resistencia y el transistor. El voltaje de saturación del transistor es probablemente alrededor de 200 mV, pero para el peor de los análisis, digamos que es 0. 6.9 V / 20 mA = 345 Ω, por lo que el siguiente valor de valor común de 360 sería bueno. Trabajando hacia atrás, y esta vez suponiendo 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 humanos distinguirlo del brillo alcanzado por 20 mA a través del LED.

Aquí hay otro método, que es útil cuando hay una fuente externa disponible que es un poco más que el voltaje del procesador más la caída del LED:

Estoutilizaeltransistorcomounsumiderodecorrienteconmutable,porloquelatensióndealimentaciónexacta(9Vensucaso)noimportaenunampliorango.Cuandolabasees0,eltransistorestáapagadoyelLEDestáapagado.Cuandolabaseesimpulsadaa3.3Vporlasalidadigital,elemisortendráaproximadamente700mVmenos,o2.6Venesteejemplo.Porlotanto,lacorrienteatravésdeR1será2.6V/150Ω=17.3mA.Dadoquelamayorpartedeestacorrienteprovienedelcolectordebidoalagananciadeltransistor,esaserálacorrientedelLEDaunaaproximaciónrazonable.

Tengaencuentaquelatensióndealimentaciónde9Vnoentróenloscálculos.Mientrasseencuentreporencimadeunvalormínimo,eltransistorsufrirácasilamismacorrienteporquelagananciadeltransistorcambiapococonelvoltajedelcolector.Siledamosaltransistoralrededorde700mVdevoltajeC-Eparaqueseencuentrebienensuregiónlineal,entonceselsuministrodebeseralmenoselniveldesalidadigitalmáslacaídadelLED,queenestecasollegaa5.4V.Esosignificaqueelsuministrode"9 V" puede variar hasta aproximadamente 5,4 V sin afectar el funcionamiento de este circuito.

El suministro máximo permitido está limitado por la disipación de potencia en el transistor. Digamos que queremos mantenerlo a 150 mW o menos. 150 mW / 17.3 mA = 8.7 V, que es el voltaje C-E máximo para el transistor cuando está encendido. Ya que R1 bajará 2.6 V y el LED 2.1, eso significa que el suministro no puede exceder de 13.4 V. Por lo tanto, este circuito funcionará bien y ejecutará el LED con el mismo brillo incluso si el suministro de "9 V" varía de aproximadamente 5.4 a 13.4 voltios.

    
respondido por el Olin Lathrop
0
  

No quiero probar con esta parte valiosa, me temo que podría quemar uno de PIO

En su lugar, sugeriría usar 3 pines y manejar un registro de desplazamiento, deje que maneje la corriente de los LED. Parte como cd74AC164

enlace

    
respondido por el CrossRoads

Lea otras preguntas en las etiquetas