Aprendizaje de multiplexación con LED, velocidades de conmutación de transistores

1

Estoy trabajando con algunos amigos que intentan multiplexar. El problema con el que nos encontramos es que no estamos seguros si estamos alcanzando un límite en las velocidades de conmutación de transistores.

No estoy seguro de si se trata de un problema de hardware o software. (por favor, avíseme si estoy en el lugar equivocado)

Aquí hay un ejemplo de lo que hemos construido.

Dondetenemosunasalidaadjuntaacadatransistor.Queremospoderencenderlostodosoindividualmente.NosencontramosconunproblemadesoftwareypreguntamosenStackoverflowanteriormente, aquí es una referencia si es necesario

Aquí está el problema con el que nos encontramos:

AquíesdondenoestoysegurodepublicarenStackoverflowoaquí:

Siempretenemosunafila"fantasma" detrás. Así que desde la parte superior (Fila 3), lo tenemos encendido y puedes ver débilmente que la fila 1 (la parte inferior) está activada. Si el transistor de la fila 2 está activado (y la fila 3 está desactivada), entonces tenemos la fila 3 ligeramente activada. (con la fila 1 completamente fuera)

Si simplemente desconectamos la fila fantasma de su salida, se mantiene fantasma. De alguna manera, está siendo vinculado a nuestra otra salida.

El transistor de columna es un PNP3906 y el transistor de fila es un NPN2222. Según sus hojas de datos, ambos parecen lo suficientemente rápidos (pero no sé cómo leer la hoja de manera efectiva)

He intentado agregar una resistencia desplegable a la base de los transistores de fila sin ningún resultado. También intenté conectar en paralelo un capacitor para ver si tal vez fue un problema de velocidad ( enlace a la referencia , respuesta de Russell McMahon)

Me gustaría decir que se trata de un error de software, pero como el problema persiste con la salida desconectada, no estoy seguro.

Una pieza más de información. Comenzamos cada 20 microsegundos para cambiar las filas. (Active la fila 1, espere 20 microsegundos, desactive la fila 1, active la fila 2, espere 20 microsegundos, etc.)

Esto hace que los LED "fantasmas" sean mucho más brillantes. La imagen en esta pregunta, que es mucho más tenue, es cada 5 milisegundos de cambio de filas. Sin embargo, pasar de 5 milisegundos a 1 segundo de retraso no cambia la fila "fantasma"

Me doy cuenta de que esto puede ser difícil de solucionar, pero gracias si puedes ayudar

3906 timing [hoja de datos] :

  • Tiempo de retardo: 35ns
  • Tiempo de subida: 35 ns
  • Tiempo de almacenamiento: 225ns
  • Tiempo de caída: 75ns

NPN2222 Timing hoja de datos

  • Turn on Time: 35ns
  • Apague el tiempo: 285ns

EDITAR: Lo siento, no mencioné el voltaje. Desde un MSP430G2553, el voltaje es 3.3V, directamente desde una salida

    
pregunta Dan

1 respuesta

5

Especificar explícitamente un "tiempo muerto" entre filas apunta hacia un problema de tiempo. Dos posibles causas de esto:

  1. Algunos se superponen entre la actualización de los controladores de fila y columna, por ejemplo, En diferentes puertos, escrito en diferentes ciclos. Esto tiene una solución de software simple: (a) desactivar todas las filas (b) actualizar las columnas (c) activar la fila correcta. Alternativamente, desactive todas las columnas, actualice la fila, active las columnas apropiadas.
  2. Retraso en el apagado de los transistores. Q8,9,10 en el circuito dado se saturará, lo que hace que su tiempo de apagado sea lento. Mi respuesta a esta pregunta describe este fenómeno : la pregunta en sí misma describe una solución de hardware al problema (un diodo schottky entre la base y el colector). Sin embargo, una respuesta más simple es esperar a través del "tiempo muerto" en el software, como se sugiere en el comentario anterior. Obviamente, los tiempos t1 y t2 pueden ajustarse para la mejor experiencia visual.
respondido por el Brian Drummond

Lea otras preguntas en las etiquetas