Pregunta:
Arduino PWM que controla LED de alta potencia
robzy
2009-12-07 15:39:05 UTC
view on stackexchange narkive permalink

Quiero usar una de las salidas PWM de Arduino para controlar un LED de alta potencia. No recuerdo las especificaciones exactas, pero era considerablemente más actual de lo que puede proporcionar el ATMega328.

Me doy cuenta de que esto se lograría normalmente con el uso de un transistor y una resistencia para controlar la corriente. el LED. Sin embargo, no quiero que el LED se vuelva menos brillante a medida que el voltaje de la batería desciende y, por lo tanto, quiero usar una fuente de corriente constante en lugar de la resistencia.

Mi primer pensamiento fue usar un LM317. Sin embargo, lo que quiero saber es si puede responder a los 64 KHz que necesitaría.

Alternativamente, ¿podría usar un MOSFET simple para lograr lo mismo más barato y más simple? (Entonces no necesitaría un transistor ni una fuente de corriente constante, ya que el MOSFET haría ambas cosas)

Gracias, Rob.

¿Realmente necesitas modular a 64 kHz? Si solo está tratando de controlar el brillo visible, es más rápido de lo requerido. Algunos detalles más como el rango de voltaje que espera de la batería y la corriente de funcionamiento y el voltaje del LED ayudarían a proporcionar una mejor respuesta.
Quiero controlar el brillo físico y el color de un LED RGB. Estoy bastante seguro de que estoy viendo cifras actuales de 200 mA para cada color del LED. El voltaje de la batería debe ser de 3.5-4.5v, y el voltaje de los LED varía entre 2.5-3.2v.
robzy: después de revisar la [documentación de arduino] (http://arduino.cc/en/Reference/AnalogWrite), la función PWM predeterminada solo admite una frecuencia de 490 Hz. Si hace analogWrite (1), esto se traducirá en una señal PWM con un ciclo de trabajo del .39%. ¿Es correcto referirse a eso como una señal de 64 kHz?
Algunas respuestas interesantes, pero no fueron suficientes para mi nivel de conocimiento.Los futuros lectores pueden querer ver esta publicación para obtener muchos detalles: http://joost.damad.be/2012/09/dimming-12v-led-strip-with-mosfet-and.html
Cuatro respuestas:
#1
+6
starblue
2009-12-07 18:23:34 UTC
view on stackexchange narkive permalink

No necesita 64 kHz para esta aplicación, 200 Hz es suficiente.

He usado el siguiente diseño, para aproximadamente 200 mA de corriente:

+ 5V --- LED --- transistor - (1) - derivación (1 Ohm) --- GND

(1) va a la entrada negativa de un OpAmp LM358. Es importante que el OpAmp funcione hasta el riel inferior (GND), porque solo hay un pequeño voltaje en la derivación.

La salida del OpAmp impulsa el transistor a través de una resistencia adecuada.

La entrada positiva está conectada a un divisor de voltaje que se alimenta desde el pin del puerto. El divisor de voltaje y la derivación determinan la corriente a través del LED.

De hecho, creo que necesito 64 KHz. La frecuencia PWM es de aproximadamente 500 Hz, que se divide en períodos de 2 milisegundos. En el nivel más bajo (antes de apagar) está encendido durante 1/256 de ese tiempo, o ráfagas de 8 ms. Eso resulta ser 128 KHz (accidentalmente usé 128 niveles en mi estimación original).
@robzy: te refieres a 8 ráfagas estadounidenses, no a 8 ms. Y estás confundiendo el ancho de pulso con la frecuencia. 500 Hz son 500 Hz, incluso si tiene un ciclo de trabajo de 0,1%.
#2
+4
Clint Lawrence
2009-12-07 18:35:13 UTC
view on stackexchange narkive permalink

La hoja de datos de un LM317 muestra que su tiempo de respuesta al escalón es del orden de 10 uS. Esto será demasiado lento para modular a 64 kHz.

Una fuente de corriente es el enfoque correcto. Dependiendo de la potencia total que necesite para impulsar el LED, podría funcionar una fuente de corriente lineal como la sugerida por starblue, pero si la potencia es mayor, es posible que deba usar un regulador reductor.

@Clint Lawrence: un solo paso en una onda cuadrada de 64 kHz es 15uS. Si el LM317 tiene una velocidad de respuesta de 10uS, ¿no podría manejar esa onda cuadrada?
#3
+2
jluciani
2009-12-16 05:41:21 UTC
view on stackexchange narkive permalink

Usaría un amplificador operacional, una resistencia y un FET para crear un disipador de corriente constante. A medida que el voltaje cae, el amplificador operacional impulsará la puerta del FET para mantener una corriente constante a través de la resistencia de detección.

Si se desplaza hacia abajo hasta la sección "Carga electrónica" en Luciani.org, verá un esquema de una "celda de carga" que es un disipador de corriente constante. Puede PWM el sumidero estableciendo periódicamente la corriente programada a cero.

Tengo mi prototipo funcionando. Está en la sección "no del todo listo" en el sitio de wiblocks.

#4
  0
Kavka
2011-12-03 03:43:04 UTC
view on stackexchange narkive permalink

Puede colocar una resistencia de precisión y baja resistencia en serie con el LED y usar la entrada analógica de Arduino para medir la caída de voltaje a través de la resistencia. Puede calcular la corriente del LED a partir de esta medición y ajustar el ciclo de trabajo de la señal PWM para compensar los cambios de voltaje de la batería.

Tenga en cuenta que esto no funcionaría si Arduino no tiene un voltaje de referencia fijo para Analog a la conversión digital.



Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 2.0 bajo la que se distribuye.
Loading...