Efecto atenuador (fade) en LED de 12v usando transistor y Arduino

Estoy trabajando en un proyecto en el que quiero controlar el brillo de un LED de 12v usando un transistor y una placa Arduino. Hasta ahora he usado la resistencia 2N3906 conectando el colector a la fuente de alimentación de 12v, la base al PWM del Arduino (en el que estoy usando el ejemplo de "Fade" donde aumenta y disminuye el valor indefinidamente) y el emisor a un resistencia seguida por el LED. Como resultado, el LED se encendió con un voltaje muy bajo que SOLO se recibió del PWM del Arduino. También he utilizado un transistor BC327 conectando el colector a la fuente de alimentación de 12v, la base al PWM del Arduino y el emisor al LED. En este resultado, el LED se iluminó más que el anterior pero no tanto como debería.

Mi pregunta es, ¿estoy haciendo algo mal? ¿Los transistores que utilicé no son capaces de realizar este trabajo? ¿Qué debo hacer para que el LED se encienda al máximo y controle su brillo a través del valor del PWM del Arduino?

El voltaje PWM del Arduino es de 5v.

Comentarios a sus respuestas: He pedido cada sensor que cada uno sugirió y probaré sus soluciones. Una vez que termine, le informaré sobre los resultados.

Muestre su esquema, incluidos todos los valores de los componentes.
Sí, esquemas o no sucede.
¿Un PNP con su colector al +12V?
¿Cuáles son los requisitos actuales del LED?

Respuestas (4)

Está utilizando transistores PNP en una situación en la que NPN sería mucho más adecuado.

De hecho, personalmente elegiría un MOSFET de canal N en lugar de BJT.

esquemático

simular este circuito : esquema creado con CircuitLab

R1 necesita dimensionarse para el flujo de corriente de su LED. R2 se usa para mantener el MOSFET apagado mientras el Arduino no está activando el IO (comienza en modo INPUT mientras el gestor de arranque se ejecuta durante 2 segundos).

Asegúrese de elegir un MOSFET que pueda a) manejar la corriente que necesita y b) sea un MOSFET de nivel lógico con un V GRAMO S de no más de un par de voltios.

user2052363 parece estar usando un LED de 12V. Lo que más o menos significa que es un circuito y no un dispositivo, según mi experiencia. Puede que no necesite R1 allí.
Esto es cierto, aunque pueden ser solo seis LED de 2 V en serie.
Siempre existe esa remota posibilidad. Si es así, no queda mucho margen para la resistencia, por lo que su valor es mucho menor y la respuesta vuelve a ser compleja.
Lo siento por la respuesta tardía. Probé tu solución con un mosfet BS170 y R1 = 100 ohmios. Como resultado, el LED se enciende pero no se produce ningún efecto de desvanecimiento.
@ user2052363 un BS170 es muy inadecuado para alimentar 1A de LED. De hecho, aún debe actualizar su pregunta con más información sobre los LED y cómo están conectados.

Tuve la tentación de simplemente agregar notas adicionales, ahora que luego especificó que necesita I pag k = 1 A para su LED. Pero parece mejor simplemente revisar todo sobre la base de la nueva información y deshacerme de las partes y preguntas superfluas que hice antes y simplemente ir al grano.

(Su uso de un PNP, especialmente porque proviene de un pin de E/S de 0-5 V y conecta el PNP BJT directamente a +12, está plagado de problemas, algunos de los cuales supongo que encontró).

Entonces, volvamos a establecer los requisitos, discutamos un poco mis preocupaciones y diseñemos un esquema a seguir para su circuito PWM.

En primer lugar, voy a suponer que no necesita ninguna limitación de corriente. Si suministra una fuente de voltaje que es capaz de entregar casi 12 V al LED, entonces debería funcionar correctamente. No hay necesidad de un circuito para ayudarlo, entonces.

En segundo lugar, voy a suponer que tienes un 12 V riel de fuente de alimentación clasificado para su uso. Si dices que necesitas 1 A , asumiré que su fuente de alimentación puede manejar eso sin dificultades y aun así alcanzar la clasificación 12 V tensión de salida.

En tercer lugar, voy a suponer que 1 A es su corriente máxima requerida y que espera atenuar las cosas desde allí usando PWM. No es que necesite otra corriente máxima, donde digamos 50 % ciclo de trabajo es el equivalente de 1 A brillo.

En cuarto lugar, solo para estar muy seguro al respecto y dejar espacio para que otros pines de E/S también entreguen corriente donde sea necesario, supondré que solo debe esperar un sumidero/fuente máximo de 3 metro A de su pin de salida. Tenga en cuenta que su micro tiene muchos pines de E/S y que algunas de estas estructuras de E/S están juntas en la matriz. Si comienza a usar muchas E/S para diferentes cosas y hace suposiciones más grandes basadas en la idea de que las especificaciones le dicen el máximo que puede manejar una E/S, entonces podría meterse en problemas de la misma manera porque no tomó limitaciones de toda la CPU, o puertos específicos de la CPU, en cuenta. (Menos es mejor, por supuesto. Y estoy bastante seguro de que puede manejar unas tres veces eso). Así que voy a ceñirme a ese número. Puedes hacer otras elecciones.

BJT que están clasificados para manejar 1 A normalmente se encuentran en envases TO-220 o TO-3. Sin embargo, incluso el humilde 2N2222A tiene una clasificación continua 600 metro A (en circunstancias inusuales y menor β debido a la aglomeración actual, de todos modos). Pero en general, esto es suficiente para que no pierda mucho tiempo buscando un pequeño paquete de señal. Esto también se aplica a los MOSFET. Entonces, demos por sentado que usará un paquete TO-220 o TO-3 para su transistor controlador. Una vez que haya tomado esa decisión, la diferencia de costo entre BJT y MOSFET comienza a desaparecer. Así que cualquiera de las opciones es probablemente buena. En mi caso me voy a quedar con un BJT. Otros ofrecerán buenas opciones de MOSFET. A cada cual lo suyo.

Vayamos al esquema:

esquemático

simular este circuito : esquema creado con CircuitLab

De hecho, utilicé hojas de datos para asegurarme de que estaba proporcionando una situación que funcionaría, independientemente de las variaciones razonables en las partes. La carga de corriente requerida en su pin de E/S probablemente será 500 m A , pero en casi todos los casos debe ser menor que 1 metro A . Esto es incluso mejor de lo que esperaba, antes.

Una preocupación es sobre la velocidad. Pero debería funcionar incluso si lo alimentaste con un 100 k H z onda cuadrada en 50 % ciclo de trabajo. Así que creo que estará bien. podrías quitar R 3 , ya que la E/S probablemente ya tiene alrededor 100 Ω impedancia de salida. R 3 se trata principalmente de preocupaciones de oscilación, donde no estoy tan preocupado. Pero agregar uno de inmediato hace que sea más fácil cambiar.

He agregado algunos cálculos de potencia allí. Estoy mayormente preocupado aquí por q 2 , que se parece a 700 metro W cuando está encendido y activo. Eso está bien si puede obtener un BJT para esa posición que pueda disiparse tanto en el aire. Sin embargo, podría distribuir la mayor parte de esa potencia en una resistencia. El nuevo esquema se vería así:

esquemático

simular este circuito

elegí otro R 4 = 39 Ω resistencia para agregar al circuito porque tal vez sea más fácil obtener dos de ellos calificados para al menos 1 W que obtener dos valores diferentes. El valor podría hacerse más grande, así que tal vez R 4 = 47 Ω sería bueno. Pero incluso como se muestra, q 2 ahora solo se disipa 1 4 W . Y esto es probablemente muy factible con la mayoría de los dispositivos en la mayoría de las circunstancias. Pero si usaste R 4 = 47 Ω , q 2 La disipación luego cae a aproximadamente 150 metro W .

El propósito para R 4 es recoger parte de la caída de voltaje necesaria para que el colector de q 2 no tiene que llegar tan alto. Esto transfiere la disipación de q 2 a R 4 . Realmente no importa dónde se produce la caída de voltaje, por lo que esta es una forma inofensiva de alejar la disipación del BJT. De lo contrario, realmente no afecta la función del circuito.

Dicho esto, también tenga en cuenta que necesita resistencias que puedan disipar algo de calor para R 2 (y R 4 , si se usa.) Debe tener una calificación de al menos 1 W . ( R 1 y R 3 disipar demasiado poco para preocuparse.)

NOTAS DE VISIÓN HUMANA:

Ahora algunas noticias. El siguiente es mi propio escrito, pero extraído de algunas experiencias.

La ley de Talbot-Plateau en el campo de la percepción visual establece que si una fuente de luz parpadea lo suficientemente rápido como para pasar más allá de la frecuencia crítica de fusión de parpadeo (CFF), entonces el brillo parecerá ser el mismo "como si" la fuente de luz fuera operado de manera constante a la luminancia promediada en el tiempo. En otras palabras, si opera la fuente de luz al doble de la luminancia pero solo la mitad del tiempo (50% encendida y 50% apagada, parpadeando más rápido que el CFF), entonces parecerá tener la misma luminancia que esa fuente de luz similar operada en la luminancia más baja.

Esta ley de Talbot-Plateau se refleja en su elección de frecuencia PWM. Hágalo lo suficientemente rápido para eliminar la apariencia de parpadeo.

Tenga en cuenta que operar una luz con un ciclo de trabajo del 50 %, por encima del CFF, no significa que aparecerá la mitad de brillante que una encendida el 100 % del tiempo. Significa que operar una luz al 50% del ciclo de trabajo (y más rápido que el CFF) hará que parezca el mismo brillo que otra que opere a la mitad de la luminancia. Hay una diferencia de significado.

La razón por la que no se ve "la mitad de brillante" cuando funciona con un ciclo de trabajo del 50 % es que el ojo humano funciona de acuerdo con otra ley, la ley de Weber-Fechner. Aquél afirma que la intensidad va como el logaritmo de los estímulos físicos.

Bueno, casi. Hay un par de otros, el efecto Broca-Sulzer y el efecto Bruecke-Bartley, que operan en frecuencias de parpadeo por debajo del CFF. Alrededor de 50 ms de duración y 50 ms de duración, por ejemplo, una fuente de luz parpadeante parecerá ser más brillante que la luminancia promediada en el tiempo... en aparente violación de la ley de Talbot-Plateau. Pero la ley de Talbot-Plateau no se aplica a frecuencias tan bajas, por lo que no es realmente una violación.

En realidad, hay muchas "leyes" en el campo de la óptica visual y la optometría. Estos son solo tres o más de muchos más.

Variar la intensidad del LED suavemente como el ojo humano la percibe no es tan simple como variar linealmente el ciclo de trabajo de PWM. Nuestros ojos tienen una respuesta aproximadamente logarítmica (ley de Weber-Fechner, ya mencionada). Esta es una necesidad biológica. Necesitamos usar nuestros ojos a plena luz del día, al mediodía, en el ecuador. Y aún necesitamos usarlos en una noche oscura y sin luna. Para hacer frente a todo esto, nuestros ojos han desarrollado respuestas que varían más de una manera logarítmica. (Como establece la ley de Weber-Fechner).

Cuando nos preguntamos "ajustar el brillo, linealmente", esto debería significar aproximadamente (estimación de primer orden) que necesitamos variar la corriente en un LED exponencialmente. (Nuestros ojos tomarán el logaritmo de eso y eso aplanará la 'curva' resultante). Esto significa que debemos adoptar un enfoque diferente al simplemente tratar de variar la corriente (o el ciclo de trabajo PWM) de una manera lineal, o simplemente renunciar a esa idea y hacer lo que "llega fácil".

Esto significa que el ciclo de trabajo en un PWM debe ajustarse porcentaje a porcentaje (geométricamente, en efecto) para aproximarse a un exponencial. De esa forma, nuestros ojos percibirán un cambio lineal en la salida del LED.

¿Línea de fondo? Si todo lo que hace es ajustar linealmente el ciclo de trabajo de PWM en incrementos fijos, entonces realmente no obtendrá algo que se vea suave a la vista.

Solo pensé en agregar eso para complicarte la vida.

(Y luego voy a discutir algo que puede mejorar su comprensión un poco más y que tampoco se ha cubierto aquí).

Lo siento por la respuesta tardía. Me gustaría aclarar que la corriente es de 1 amperio desde la fuente de alimentación.
@ user2052363: Esa es información un poco importante. Le había preguntado antes, directamente. Ahora nos enteramos. Voy a ampliar y revisar, en breve.
@user2052363: Ediciones completadas. A ver si eso ayuda.
Has puesto muchos pensamientos y trabajo en ello. Lo intentaré pero me llevará unos días. Responderé tan pronto como lo pruebe.
@ user2052363: no tiene que usar los números exactos para los BJT que enumeré. Otros trabajarán. Solo asegúrese de que el BJT de potencia use un paquete TO-220 o TO-3. Y obtenga resistencias de 1W para el par. Si usas el último esquema.

Está utilizando el transistor PNP como seguidor de emisor. En este arreglo, con 5 voltios del Arduino, el emisor del transistor no puede ser más de unos 4,3 voltios.

Debe usar un transistor NPN como 2N3904, con el emisor conectado a tierra, una resistencia de aproximadamente 1 K entre Arduino y la base, y el LED y la resistencia limitadora de corriente entre el colector y su suministro positivo.

Lo siento por la respuesta tardía. Probé su solución, pero el LED se enciende ligeramente y no se produce ningún efecto de desvanecimiento.

Si su LED de 12 V es lo suficientemente brillante desde un poco menos de 12 V y lo suficientemente oscuro con un poco más de 6 V, puede usar un seguidor de emisor pnp para conducirlo así, pero tenga en cuenta que una entrada de 5 V hará que el LED se oscurezca y una entrada de 0 V lo hará. luz. si lo anterior es cierto, la corriente del LED es inferior a 20 mA, puede conectarlo directamente al arduino (sin usar el transistor)

esquemático

simular este circuito : esquema creado con CircuitLab

Lo siento por la respuesta tardía. Probé su solución, pero el LED está extremadamente bajo y no hay efecto de desvanecimiento.