The Transistor Menace - Preguntas sobre un proyecto Arduino rgb LED

He estado navegando por este foro e Internet durante un par de días y lo que pensé que sería un proyecto paralelo fácil se convirtió (para mí) en un asunto bastante complicado.

Estoy planeando construir una luz ambiental que consta de 12 LED rgb de cátodo común con cada color controlado por pines PWM de Arduino.

En este diagrama que se publicó aquí hace un tiempo, encontré prácticamente el esquema de todo lo que quiero hacer:ingrese la descripción de la imagen aquí

Mi investigación me llevó tan lejos para comprender los asuntos básicos de una fuente de alimentación externa de 12 V necesaria y el hecho de que tendría que conectar los LED en paralelo con las resistencias respectivas en cada uno. Necesitaría ayuda con qué transistores elegir y qué resistencias para ellos:

¿Debo usar transistores PNP normales o un MOSFET? ¿Hay versiones específicamente recomendables de cada uno? ¿Y qué resistencias necesitaría delante del transistor?

Para mí es importante que uno pueda controlar los colores individuales sin problemas y que no se genere tanto calor como para necesitar un fregadero.

agradeceria cualquier ayuda,

saludos tim

Apuesto a que no tiene que ser demasiado exigente: no está tratando con una tonelada de energía, muchos transistores de "propósito general" deberían funcionar bien aquí, y podría hacer que esto funcione con BJT o MOSFET.
Tenga en cuenta que si usa 12V Y PNP, tendrá problemas para apagarlos desde un arduino de 5V. Ese diagrama parece diseñado para 5V a los LED.
Que potencia son los leds? | ¿Por qué 12V? ¿Son entrada de 12V o ..." | El número de pieza y/o el enlace web ayudarían muchísimo | Como dice pjc50: no puede "bajar" la puerta de la base de un transistor que está en el 'lado alto' usando las salidas de 5 V o 3 V de un Arduino: los transistores necesitan casi 12 V aplicados para apagarse, lo que no tiene. Puede usar un transistor adicional por canal para proporcionar una conversión de 5 V a 12 V, con la ventaja de que la unidad PWM ahora se vuelve alto = encendido y bajo = apagado O puede usar 3 optoacopladores para el cambio de nivel.

Respuestas (2)

Me parece bien, excepto:

Si su suministro de 12 V comparte tierra con el Arduino, tendrá dificultades para apagar los LED. Esto se debe a que el Arduino emite 0V o 5V, lo que aún te deja 7V manejando los transistores. (a través de las resistencias base, por lo que no deberías volar nada)

Si tiene suministros separados, uno de 12 V y otro de 5 V, y uno de ellos está aislado/flotante, entonces puede conectar los positivos juntos como el antiguo estándar automotriz de tierra positiva. Solo asegúrese de saber bien en qué voltaje termina el riel negativo del Arduino porque el programador aún asumirá que eso es tierra.


O bien, puede mantener el terreno negativo para evitar confusiones y hacer esto en su lugar:

esquemático

simular este circuito : esquema creado con CircuitLab

Q1, R1 y R2 forman un cambiador de nivel para Q2, que es el mismo que ya tienes:

  • Cuando Q1 está apagado, R1 tira de la base de Q2 hasta 12 V y también lo apaga.
  • Cuando Q1 está encendido, crea un divisor de voltaje entre R1 y R2 que enciende Q2.
¿Por qué no pudo controlar los LED con un transistor NPN en el lado negativo?
Porque son de cátodo común. Si fueran ánodos comunes, entonces esa sería la forma natural de hacerlo. De cualquier manera, los terminales comunes están conectados internamente a un solo pin, por lo que realmente no puede cambiarlo.

Solo asegúrese de que el transistor pueda generar suficiente corriente para alimentar todos los LED, los MOSFET probablemente serían mejores ya que tendrán una caída de voltaje más baja y no se calentarán tanto, pero ambos funcionarán.

Como dijo AaronD, los 5V del Arduino no serán suficientes para apagar los transistores PNP (o MOSFETS). Estarán encendidos en cualquier momento en que la base esté a más de 0,7 V por debajo del emisor, 5 V no es lo suficientemente alto. Por lo general, usaría un NPN para controlar cada PNP, de esa manera puedo usar voltajes lógicos estándar. Además, los transistores de potencia tienden a tener una ganancia de corriente más baja que los transistores de señal, por lo que necesita mucha corriente de base. Es mejor tener otro transistor que suministre esto.

Ya muchas gracias a todos los presentes que señalaron rápidamente el problema con los diferentes voltajes. No consideré eso. Pero me acabo de dar cuenta del hecho de que 5V serán suficientes para cada uno de los LED rgb de todos modos y solo tendría que ajustar las resistencias individuales. De lo que solo necesitaría suficiente amperaje en el circuito general para suministrar 12 * 3 * 0,20 mA = 720 mA. Sé que el arduino no puede suministrar tanto, pero con una batería de 5 V o un adaptador de corriente, el diagrama que se muestra arriba debería estar bien, ¿verdad?
En teoría, sí. Pero considere que los BJT también tienen un voltaje de saturación finito, como otro LED. Mire eso y vea si todavía tiene suficiente margen para las resistencias de ajuste de corriente.
O bien, podría usar MOSFET de canal P. Similar a los PNP BJT, pero sin corriente de accionamiento en CC (básicamente un condensador) y baja resistencia cuando está encendido en lugar de una caída de voltaje.