74HC595 filas/columnas para controlar la matriz de LED

Digamos que tenemos un 74HC595 y queremos encender 16 leds (ánodo común) conectados como una matriz 4x4 exactamente como en la siguiente imagen:

Esquema Electrónico

Entonces, 4 primeras salidas a controles 4 filas. Los 4 restantes dan salida a controles de 4 columnas.

Por lo que entiendo en este momento:

En la imagen, hay un transistor NPN en las 4 columnas para permitir más corriente de la que puede absorber el 595.

Digamos que solo ROW1 está activo y todas las columnas están activas (LED1, LED2, LED3, LED4). La columna 1, la columna 2, la columna 3 y la columna 4 en el 595 indicarán una corriente muy baja, solo la corriente establecida en la base de cada transistor por la resistencia limitadora de corriente base.

Sin embargo, en ROW1, ¿indicaría en el 595 la suma de cada corriente de led de esta fila? Entonces, ¿80 mA, si asumimos que cada led tiene 20 mA?

Si es el caso, en mi caso, hay muchos más 595 y muchos más LED y no quiero operar cerca o por encima de la corriente máxima de 595 (75 mA), ¿simplemente agregaría transistores PNP apropiados + resistencias base a cada FILA? para reducir la corriente de cada pin de 595 filas?

Quiero conservar el IC 74HC595 y los transistores individuales de bajo costo. Sé que hay registros de desplazamiento con mayor capacidad de corriente y circuitos integrados de transistores que ahorran cables y resistencias. También puedo reducir la corriente de cada LED con resistencias más altas para mantenerlo por debajo de 75 mA, pero me gustaría entender cómo trabajar correctamente con una disposición de matriz que necesita más de lo que puede funcionar con el 595, usando solo estos componentes simples.

En otras palabras, ¿4 PNP para filas y 4 NPN para columnas son la mejor manera de manejar >= 75 mA en una sola fila?

No es una respuesta, sino una pregunta: ¿Ha considerado la idea de multiplexar sus LED y, si desea que parezcan estar ENCENDIDOS con un promedio aparente de 20 mA de corriente, es posible que deba conducirlos cada uno con una cantidad significativamente mayor? de 20 mA cuando su columna está activa?
Sí, tiene razón, necesitaría conducirlos con una corriente más alta para obtener un promedio de 20 mA. Pero mi verdadero problema por ahora es que mi configuración deseada es de 4 filas de 4 ledes RGB cada una, entonces (4 columnas * 3 colores * 20mA) 240mA por fila si entiendo correctamente... Lo mismo si selecciono solo una columna en una vez, todavía tengo 1 led RGB a la luz (4 filas * 3 colores * 20 mA) 240mA por columna.
Ya he hecho esto antes, eso es si estoy llegando a donde tú vas. Usé controladores en ambos lados. Las fuentes de corriente en un lado para establecer la corriente (sus filas, por ejemplo) y los interruptores en el otro lado (sus columnas). Estos eran sistemas configurables, por lo que también podía ajustar la corriente máxima para cada color, y PWM (+ escanear) hacia abajo desde allí. También usé rieles de fuente de alimentación separados para que el azul no usara el mismo voltaje que el rojo, para ahorrar aún más problemas de disipación.
La configuración que tienes es lo suficientemente buena como para ponerte en marcha. Debe conducir SOLO una columna a la vez. El transistor probablemente pueda hundir suficiente corriente. No necesitará 20 mA en cada LED para ponerse en marcha. Comience con 2-3 mA y continúe desde allí. La mayoría de los LED se encienden bastante bien a 1 mA, incluso si están clasificados para 20 mA. LED RGB? ¿No estoy seguro de entender cómo te gusta que te queden?

Respuestas (4)

Puede hacerlo de la manera que sugiere, sin embargo, debe mover las resistencias a los colectores NPN, y necesitará transistores PNP (o NPN seguidor de emisor) en cada salida de fila.

Para tener una idea aproximada de la corriente requerida, si 5 mA son suficientes para que el LED sea lo suficientemente brillante cuando se suministra con CC, deberá suministrar 20 mA para la multiplexación 1: 4, y cada controlador de fila deberá generar 80 mA con un 25% ciclo de trabajo. Cada controlador de columna tendrá que absorber 20 mA con un ciclo de trabajo del 100 %.

Está proponiendo hacer la multiplexación en fila, donde 0 a 4 de los LED en una fila están encendidos al mismo tiempo. Como usted señala, la corriente requerida de los pines '595 ROW se vuelve excesiva. No sé qué LED está usando, pero una estimación aproximada es que cada uno toma 15 mA, por lo que debe obtener 60 mA del '595 (que está mucho más allá de su especificación). Con este arreglo también tienes otro problema. Dado que tiene una sola resistencia de límite de corriente por fila (R1 para ROW1, etc.), a medida que enciende más LED en la fila, la corriente a través de cada LED disminuirá, al igual que el brillo de cada LED.

La forma correcta de realizar una multiplexación de este tipo es hacerlo por columnas. Solo una columna estará encendida en cualquier momento, con cualquier número de LED en esa columna encendidos. Cada pin ROW solo tiene que generar suficiente corriente para 1 LED, lo que el '595 solo es capaz de hacer. La corriente LED combinada para la columna de hasta 60 mA es manejada por el transistor de columna (T1, etc.). También tiene 1 resistencia de límite de corriente por LED (R1, etc.), por lo que los LED tienen un brillo constante.

Gracias por su respuesta. Sin embargo, en una columna, hay algo que todavía no entiendo y una simulación en circuits.io también muestra un problema actual en el 595. Cada pin ROW, como mencionó, generará suficiente corriente para 1 LED. En mi ejemplo, hay 4 filas, por lo que si todas las filas están ENCENDIDAS, es un total de 80 mA en el 595 (utilicé 20 mA para cada LED). 75mA es el máximo absoluto del 595. Al agregar una nueva fila, se convertiría en un total de 100mA en el 595 y así sucesivamente. Entonces, estoy de vuelta con mi pregunta inicial, parece que necesita un transistor PNP para generar corriente en cada fila. ¿Tengo razón?

Probablemente ya haya resuelto esto, pero esto es lo que le propongo que configure su matriz LED. Cada LED tiene una resistencia, por lo tanto, garantiza que cada LED obtenga la misma corriente independientemente de cuántos estén encendidos. Por supuesto en esta configuración las filas tienen lógica inversa a las columnas.

En otras palabras, ¿4 PNP para filas y 4 NPN para columnas son la mejor manera de manejar >= 75 mA en una sola fila?

Diría que sí, en mi opinión, pero otros pueden tener sugerencias diferentes que son igual de válidas.

ingrese la descripción de la imagen aquí

¿Debería ser "Filas activas ALTAS y Columnas activas BAJAS" ya que los LED son ánodos comunes?
@charlee No, las filas son PNP que necesitan un -Vbe y las columnas son NPN que necesitan un +Vbe para permitir que fluya la corriente. Sin embargo, una pregunta válida.
Veo a que te refieres. Esta es una configuración de ánodo común. ¡Gracias por la explicación!

Simon, tus cálculos son incorrectos. La resistencia de 220 ohmios en cada salida del 595 limita la corriente consumida a aproximadamente 10 mA, sin importar cuántos LED de columna estén encendidos. Supongo que un LED cae alrededor de 2.5 v cuando está encendido.

Como ha señalado Steve G, encender otra columna simplemente compartirá esos 10 mA entre dos LED, y quizás no de manera uniforme. Por lo tanto, su HC595 está a salvo de sobrecorriente, pero varias columnas causarán atenuación. Probablemente no sea lo que querías. Tenga en cuenta que los Rd internos de HC595 agregan aproximadamente 40 ohmios a cada 220 ohmios.