Efecto fantasma vertical en panel de matriz LED RGB 64x32 1/16

He estado trabajando en la conducción de algunos de esos paneles de matriz de LED genéricos que se encuentran en toda la web a la venta (como este ), 64x32

Luché mucho con la falta de documentación real, pero logré crear una imagen bastante decente usando una FPGA y modulación de código binario. Sin embargo, tengo un problema con las imágenes fantasma verticales que parece que no puedo solucionar.

ingrese la descripción de la imagen aquí

En la imagen de arriba, se supone que todos los píxeles oscuros dentro del área encerrada en un círculo están apagados, pero como puede ver, los de la primera fila no lo están. Debido a que estos LED están apagados a la mitad, no se ven fantasmas en la segunda fila.

Si apago los LED de la fila 16, los LED semiencendidos de la fila superior se apagan por completo, lo que sugiere que la fila 16 se estaba "desangrando" sobre la primera (la fila 16 es la última fila de la mitad superior). En la imagen a continuación, observe cómo la fila 16 (en un círculo) está débilmente iluminada a pesar de estar escrita en cero:

ingrese la descripción de la imagen aquí

No quería publicar mi código Verilog completo porque me preocupaba que la publicación fuera demasiado larga, pero con gusto lo proporcionaré si ayuda. Independientemente, el proceso básico que estoy siguiendo para dibujar cada par de fila superior/inferior es:

  • Registrar una fila de datos usando señales RGB y CLOCK en paneles
  • Pantalla en blanco tomando OE alto
  • Bloquee los datos de la fila tomando LATCH/STB alto
  • Tome LATCH bajo
  • Si estamos en la iteración final (quinta) de BCM, incremente la fila actual (pines de dirección de fila A, B, C, D) para configurar el siguiente par de filas
  • Tome OE bajo para habilitar la visualización nuevamente
  • Retraso hasta un valor requerido para la iteración actual de la salida BCM
  • Duplique el valor de retardo para la siguiente pasada y repita hasta que la fila haya salido 5 veces (5 bits BCM, 15 bits de color)

Sería muy feliz si alguien pudiera aclararme exactamente qué causa el efecto fantasma en primer lugar, y cómo podría reducirlo/eliminarlo.

Intenté ralentizar el proceso, moviendo el tiempo de incremento de fila/dirección para que ocurra un poco antes, pero nada parece ayudar.

Debe asegurarse de que haya un "tiempo muerto" cuando todos los LED estén APAGADOS para que pueda cambiar los patrones sin desangrarse. También trátelos como proyectos de RF en los que los retornos a tierra deben ser trenzados de cobre pesados ​​si es posible. El rebote en el suelo también puede causar imágenes de 'eco'. Cada fila o columna debe tener su propio retorno a tierra o retorno de energía a un punto común en el tablero del controlador.
Los píxeles rojos se ven limpios, lástima que no haya una hoja de datos

Respuestas (1)

Todos los diodos e interruptores tienen capacitancia cuando están en circuito abierto o polarizados sin corriente. Esto da lugar a un tiempo de caída lento después de conmutar la conmutación.

Este sangrado o efecto fantasma tiene un tiempo de caída RC efectivo, que depende de la velocidad de conmutación, la capacitancia del diodo (que también aumenta con la potencia nominal) y el tiempo de caída del controlador.

Sus opciones son varias pero dependen de la implementación.

  • 1) agregue tiempo muerto o apague todos los LED justo antes de la conmutación a la siguiente cadena y aumente la permanencia hasta que el fantasma desaparezca a expensas del brillo promedio
  • 2) sujete el bus para lograr 0 mA en los LED y descargue su capacitancia interna y desvíe la corriente del controlador a cada señal del bus. Más rápido pero a un costo adicional de HW
  • 3) reducir la tasa de conmutación a expensas del riesgo de parpadeo de movimiento periférico
  • 4) usar controladores push-pull a expensas de un mayor costo de HW
  • 5) usar derivación pasiva a través del bus LED usando alrededor del 1% de la corriente del LED pero reduciendo efectivamente el tiempo de apagado del LED cuando se agrega un tiempo muerto corto al final.
  • 6) use menos LED en el MUX para reducir la velocidad de conmutación sin comprometer el parpadeo, por lo que no tiene que ser 16 veces la velocidad de cuadro usando dos Muxes de 1 a 8 o 4 LED MUX 1:4 a expensas de más hardware.

Experimentaría con 5)... agregue 1K a través de un LED para ver si el Ghosting disminuye (>3mA absorbidos) y luego más o menos para ver si eso tiene algún efecto como punto de partida.

De lo contrario ... Luego modifique su código binario para hacer 1)

Tenga en cuenta que los LED de 5 mm tienen uniones de alambre de bigotes dorados extremadamente pequeños para que sean casi invisibles, por lo que la clasificación de corriente PICO es solo un 50% más que la nominal, por ejemplo, 30 mA frente a 20 mA, por lo que bombear más corre el riesgo de dañar la unión de alambre o agrega calor a la unión. ¿Quién sabe cómo lo hicieron?

Sus LED pueden variar ligeramente en las clasificaciones. Pero esta es la razón por la cual las antiguas pantallas LED de 80 columnas y 11 segmentos fabricadas por HP no las multiplicaron en 80 pasos, sino que se fabricaron especialmente con LED ROJOS que soportan 8 veces la corriente con 1: 8 dígitos por conmutación, como recuerdo de finales de los 70 en HP9825s.