Cómo calcular el brillo de la imagen para usar con el panel LED

2

Estoy usando una matriz de LED RGB de 64x64 para la que estoy preparando contenido. El firmware existente lee archivos de video RGB888.

Me gustaría analizar estos archivos antes de subirlos, para asegurarme de que el brillo general no supere el umbral para mantener el amperaje en una zona feliz.

Hasta ahora estoy pensando en obtener el brillo máximo en función del brillo promedio de cada fotograma de video.

Mi pregunta es sobre calcular el brillo de una manera que tenga sentido en términos de electrónica (con lo cual no tengo mucha experiencia).

¿Cuál es el mejor método para calcular el brillo de un píxel RGB888 en relación con el amperaje utilizado por un LED RGB?

Hay múltiples espacios de color que tienen un canal de luminancia (YUV, YCrCb, XYZ, Luv, L * a * b *, HLS, HSV), pero ¿tiene sentido utilizar alguno de estos en términos de cuánta potencia y LED tirará?

¿Estaría más cerca el promedio de los valores R, G, B?

    
pregunta George Profenza

1 respuesta

3

La pregunta que debe hacerse no es "qué tan brillantes serán los LED" sino "cuál será el ciclo de trabajo de los LED", ya que es el ciclo de trabajo que define tanto el brillo como el consumo de corriente. El brillo puede ser divertido ya que lo que percibe no es el mismo que se usa actualmente.

Puede intimidar una relación 1: 1 entre el ciclo de trabajo de cualquier señal PWM de un LED y la corriente consumida (0% de trabajo = apagado = 0% de corriente máxima, 50% de servicio = mitad de encendido = 50% de corriente máxima, 100 % de impuestos = lleno = 100% de corriente máxima).

Suponiendo que sepa cuánta corriente consume cada canal de R, G y B cuando está encendido por LED, puede calcular cuál sería el sorteo actual para un cuadro completo.

Es importante mantener los tres canales separados, ya que la corriente de cada canal puede ser muy diferente; por ejemplo, el azul se percibe más brillante que el rojo y puede iluminarse con menos corriente para compensar eso.

Entonces, para cada píxel de la imagen, toma cada uno de R, G y B, y calcula la intensidad promedio de ese canal en toda la imagen. Digamos que funciona como 20% rojo, 15% verde y 45% azul. Entonces, en general, tendría un 20% de la corriente roja total, un 15% de la corriente verde total y un 45% de la corriente azul total.

Diga que cada LED rojo y verde toma 10 mA y cada azul toma 5 mA (por simplicidad y argumento) cuando está completamente encendido. Eso sería \ $ 10mA \ veces 64 ^ 2 \ $ para cada uno de rojo y verde, y \ $ 5mA \ veces 64 ^ 2 \ $ para azul.

Hacer las matemáticas es una corriente total de 40.96A para cada uno de rojo y verde, y 20.48A para azul.

Con un brillo promedio del 20% y, por lo tanto, un ciclo de trabajo promedio del 20%, sería el 20% de 40.96A, que es 8.192A para el rojo. Para verde, al 15%, sería 6.144A y azul, al 45% sería 9.216A. Sumarlos juntos y obtienes 23.552A.

Por supuesto, eso es solo una figura aproximada, y los números que he elegido demostrar son probablemente completamente erróneos.

También se supone que cada LED es una entidad separada y se controla individualmente.

Lo que puede encontrar es que la pantalla escanea una línea o columna o bloque arbitrario a la vez, y solo una línea se ilumina a la vez.

En esta situación, el dibujo actual en cualquier momento es el dibujo actual de la línea que se muestra en ese momento. Por lo tanto, tendría que encontrar la línea más brillante, o cualquiera que sea la unidad MUX, y calcular la corriente solo para esa subsección, ya que sería el máximo de su cuadro.

Diga que la pantalla explora una línea a la vez, es decir, una línea de 64 píxeles a la vez, por lo que desearía encontrar el brillo promedio y, por lo tanto, el consumo de corriente promedio (corriente máxima por LED * 64 *% de impuesto promedio) Para cada línea individual de tu imagen. A continuación, calcula qué línea tiene el sorteo actual total máximo y lo tomas como el máximo para tu marco.

    
respondido por el Majenko

Lea otras preguntas en las etiquetas