Ayuda con el diseño de la placa: ¡Mux de 64 salidas! (para posible uso en 8x8x8 LED Cube)

Entonces, solo para practicar, decidí diseñar un mux de 64 salidas en Eagle, pensé que si era bueno, podría ser útil en el futuro. No utilicé el enrutador automático.

Aquí está el PCB: tarjeta de circuito impreso(Haga clic para acercar)

En la parte inferior izquierda están los pines de la interfaz: alimentación, tierra, selectores.
Consta de 2 niveles de muxes de 8 salidas (9 en total).
Hoja de datos para multiplexores analógicos utilizados (CD4051): http://www.datasheetcatalog.org/datasheets/120/109150_DS.pdf

Aquí está el esquema en el que se basa: esquema(Haga clic para acercar)

El tamaño del diseño es de 4,4" x 2,4", lo que sería muy caro de imprimir para un aficionado. Tengo la sensación de que toda esta idea no es práctica, pero no sé qué pensar. ¿Tiene sentido hacer esto?

¿Es este un buen diseño?
Estoy planeando usar esto para hacer un cubo LED de 8x8x8. ¿Este diseño causaría demasiado retraso en la propagación ya que las trazas se entrelazan mucho a través de las vías?
¿Hay alguna manera de que pueda hacer esto aún más compacto o eficiente? ¿O simplemente alguna mejora general?

¡Cualquier entrada es apreciada! ¡Gracias!

El primer enlace para ver el diseño de PCB en tamaño completo no funciona.
Ni el segundo. Debe otorgar al público permisos de visualización de las imágenes por su apariencia.
Enlaces arreglados, ¡debería funcionar ahora!
@Shubham: Gracias por arreglar los enlaces, pero preferimos tener las imágenes alojadas en la cuenta SE. Use [CTRL]-[G] o el botón de imagen para vincularlos allí.
No veo un solo condensador de derivación en ese circuito. ¡Los necesitas!

Respuestas (5)

No, no es una buena idea. Primero, está utilizando multiplexores analógicos que tienen un rendimiento bastante alto . R O norte , como 125 Ω . Estás pasando dos niveles de ellos, así que serán 250 Ω . No hay nada de qué preocuparse, podría decir, de todos modos, necesitaré una resistencia en serie para el LED. Correcto, pero también tendrás que conducir una alta corriente a través de él. Está multiplexando 64 LED uno por uno, por lo que es un ciclo de trabajo del 1,6%. Tendrá que pulsarlos con corrientes altas para obtener algo de luz, posiblemente incluso lo suficientemente alto como para acortar seriamente la vida útil del LED.

Una mejor solución sería una matriz . Las columnas podrían ser impulsadas por un ULN2803 , que puede absorber altas corrientes. Puede cambiar las columnas de una en una y, para las filas, establecer las salidas de fila altas para los LED que desea encender en la columna actual. Entonces, una fila solo controlará 1 LED a la vez, una columna 8 LED a la vez. Su ciclo de trabajo ha aumentado al 12,5 %, por lo que ya no necesitará esa corriente de pico excesivamente alta. Sin embargo, seguirá siendo más de lo que su microcontrolador puede ofrecer, por lo que necesitará un transistor PNP para cada fila.

Dado que solo manejará 1 columna a la vez, puede usar un demultiplexor como un 74HC238 , por lo que solo necesitará 3 líneas para eso. Junto con 8 líneas de fila, es un total de 11. Eso estaría bien para 64 LED, pero necesitará 8 de ellos para el cubo de 8x8x8, y eso sería costoso en la salida del microcontrolador. Solución: use registros
de desplazamiento SIPO (Serial In-Parallel Out) como el 74HC595 para los datos de fila. Ponlos en cascada para las 8 matrices, de modo que puedas cambiar 64 valores a través de ellos. Cuando se ha desplazado el último bit, bloquea los datos y selecciona la columna. Mientras los LED de esta columna están encendidos, ya puede cambiar los datos de la siguiente columna. En el momento de la señal, enganche los datos y seleccione de nuevo la siguiente columna.
Alternativamente, coloque los 74HC595 en paralelo y cambie 8 bits simultáneamente en ellos. Esto necesitará 8 bits de E/S de su microcontrolador en lugar de solo 1, pero no necesitará 64 operaciones de cambio, solo 8.

Nota: necesitará una matriz ULN2803 por 64 LED; no puede conducir filas de 8x8.

¿El brillo no es detectado por el ojo humano en una escala logarítmica? Entonces, incluso con un ciclo de trabajo del 1%, ¿el LED aún aparecería 1/log(100) = 1/2 tan brillante? Si esto es correcto, está bien conmigo.
Y parece que tengo mucho que investigar. He visto muchos instructables en cubos 8x usando registros de desplazamiento, pero nunca los he usado, así que estaba tratando de evitar usarlos, pero parecen ser la solución más práctica, ¡así que aprenderé!
@Shubham: sobre el brillo aparente: si ese fuera el caso, la mayoría de los LED podrían funcionar con 0.2 mA en lugar de los 20 mA habituales. Ya sea 0,2 mA o 20 mA con un ciclo de trabajo del 1 %, descubrirá que es demasiado débil.
@Shubham, algo que emite la mitad de la luz aparecerá la mitad de brillante. El brillo del LED es bastante lineal con la corriente y, obviamente, con el ciclo de trabajo (promediado durante un período de tiempo al que un ojo es sensible).
Para obtener más información sobre el brillo del LED frente al ciclo de trabajo, consulte ¿Pulsar un LED con una corriente más alta produce un mayor brillo aparente? .

(A) Parece un buen momento para dar el salto al montaje en superficie. Pruébalo, te gustará!!!.


(B) Alternativas de controlador de pantalla.

35 LED impulsados ​​desde un solo paquete, impulsado por un solo pin de salida.

Si desea estropear toda la diversión y obtener una solución compacta que funcione (pero que no desafíe tanto sus habilidades de diseño de tablero, considere soluciones como:

  • Controlador de 35 LED MM5450 . Hoja de datos Este es mi favorito desde hace mucho tiempo. Una vez que uses uno de estos, te echarán a perder. ¡35 LED de un pin de salida! :-). En términos de rentabilidad y simplicidad de manejo, poco más se compara. Disponible en Digikey por 4,39 USD/1 en DIP40 y también disponible en PLCC 44$3.78/1. Chainable con un poco de trabajo. En teoría, requiere 3 líneas para controlarlo, pero los demasiado entusiastas pueden hacerlo con 1 línea y algunos retrasos de RC. Funciona :-). Dicen: Los datos se transfieren en serie a través de 2 señales; Reloj y datos seriales. La transferencia de datos sin el inconveniente adicional de una señal de carga externa se logra utilizando un formato de un "1" inicial seguido de los 35 bits de datos permitidos. Estos 35 bits de datos se bloquean después de que se haya transferido el 36. Este esquema proporciona una transmisión directa no multiplexada a la pantalla LED. Los caracteres que se muestran actualmente (por lo tanto, la salida de datos) cambian solo si los bits de datos en serie difieren de los transferidos previamente. Tenga en cuenta el error tipográfico de cortar y pegar en la página 5 de la hoja de datos. Cómo conducir con un pin de salida - ver al final.

  • Controlador LED de corriente constante de 16 canales TLC59282 El TLC59282 de Texas Instruments es un controlador disipador de corriente constante de 16 canales. Hoja de datos aquí. Cada canal se puede controlar individualmente a través de un protocolo de comunicaciones en serie simple que es compatible con niveles lógicos CMOS de 3,3 V o 5 V, según el VCC operativo. Una vez que se carga el búfer de datos en serie, un flanco ascendente en LATCH transfiere los datos a las salidas LEDx. El pin EN BLANCO se puede usar para apagar todas las salidas OUTn durante el encendido y el bloqueo de datos de salida para evitar visualizaciones de imágenes no deseadas durante estos momentos. El valor de corriente constante de los 16 canales se establece mediante una sola resistencia externa. Se pueden conectar en cascada varios TLC59282 para controlar LED adicionales desde el mismo procesador.

  • TLC59281 . Similar.

ingrese la descripción de la imagen aquí

  • Allegro 6276 Sospechosamente similar funcionalmente. El A6276EA y el A6276ELW están diseñados específicamente para aplicaciones de pantalla LED. Cada dispositivo BiCMOS incluye un registro de desplazamiento CMOS de 16 bits, pestillos de datos adjuntos y controladores de sumidero de corriente constante de 16 npn. El registro de desplazamiento CMOS y los pestillos permiten una interfaz directa con sistemas basados ​​en microprocesadores. Con un suministro lógico de 5 V, las tasas típicas de entrada de datos en serie son de hasta 20 MHz. La corriente de activación del LED está determinada por la selección del usuario de una sola resistencia. Una salida de datos en serie CMOS permite conexiones en cascada en aplicaciones que requieren líneas de transmisión adicionales. Para el borrado entre dígitos, todos los controladores de salida se pueden desactivar con una entrada ENABLE alta. Hay dispositivos de 8 bits similares disponibles como A6275EA y A6275ELW

Unidad de un pin

Algunos circuitos integrados con líneas de control de reloj/latch/datos/restablecimiento a menudo parecen haber sido arreglados amablemente para que la polaridad de las señales de control permita retrasos de tiempo y una sola línea de entrada para controlar el circuito integrado. En el peor de los casos, con circuitos integrados menos complacientes, es posible que se necesiten algunos inversores.

El cronometraje en un MM5450 ocurre en el flanco ascendente. Los datos se alimentan desde la línea de entrada a través de un retardo RC, con un retardo t varias veces mayor que la velocidad de reloj alcanzable. Si la línea de entrada se mantiene alta para Td, los datos aumentan. Si la entrada ahora se baja y se eleva, se registra un máximo. Si, en cambio, la línea del reloj se reduce lo antes posible después del último flanco del reloj y se mantiene baja durante Td y luego se eleva, se registra un mínimo. Un reinicio o carga de cuadro o cualquier señal que se pueda lograr con un retraso más largo de, por ejemplo, Treset. Mantener la entrada en el nivel de reinicio (ya sea alto o bajo) para > Treset activará el reinicio o la carga de cuadros o cualquier función. El retardo de reinicio se puede reiniciar usando un diodo a través de la resistencia de carga para que la acción de reinicio se reinicie cada vez que aparece una condición o[[osite en la línea de entrada.Sin embargo, el esquema anterior se puede usar para operar un IC de pantalla a través de un solo par a distancia. Para obtener puntos adicionales, se puede utilizar el mismo par para la fuente de alimentación. La alimentación y el control total de 35 LED en un par es un buen truco si puede hacerlo. Con un MM5450 puedes. Hace mucho tiempo esta era una solución atractiva en algunos casos. Ahora, en la era de los microcontroladores de 50 centavos (o menos) , puede ser preferible colocar un controlador en el "extremo lejano".


Brillo y corriente:

Los LED se vuelven aproximadamente linealmente más brillantes con el aumento de la corriente. Se cotiza una corriente de 15 mA por segmento (que es un valor mínimo, siendo el máximo 25 mA+). Muchos LED modernos se especifican a 20 MA máx. continuos. Una relación de 3:4 (= 15 mA: 20 mA) es prácticamente imperceptible a simple vista, y la eficiencia de los LED es un factor mucho más importante que los pequeños cambios en la corriente.

Con, digamos, 10 mA, hay muchos LED rojos modernos que serían tan brillantes como quisieras, y mucho más brillantes que los LED de generaciones anteriores. Mire lo que personas como Nichia & Cree están ofreciendo en el extremo superior y quedará debidamente impresionado.

Dicho esto, el IC tiene una salida limitada si necesita los 35 segmentos a la vez. Con 15 segmentos encendidos, puede obtener más de 20 mA (fig. 7).

¡35 LED con un pin! eso es solo un hombre loco! Leí la hoja de datos para MM5450 y, lamentablemente, su corriente de salida está en el extremo inferior a 15 mA, y los LED requieren 20 mA, si no me equivoco. Pero estoy investigando otros controladores LED y registros de desplazamiento.
@Shubham: Re 20 mA. No. Los LED se vuelven aproximadamente linealmente más brillantes con el aumento de la corriente, una proporción de 15:20 es prácticamente imperceptible a simple vista y la eficiencia de los LED es un factor mucho más importante que pequeños cambios en la corriente. Con, digamos, 10 mA, hay muchos LED rojos modernos que serían tan brillantes como quisieras, y mucho más brillantes que los LED de generaciones anteriores. Mire lo que personas como Nichia & Cree están ofreciendo en el extremo superior y quedará debidamente impresionado. Dicho esto, el IC tiene una salida limitada si necesita los 35 segmentos a la vez. Con 15 segmentos encendidos, puede obtener más de 20 mA (fig. 7).

Aparte del problema de que esta no es la forma de controlar los LED, al diseñar una placa de circuito impreso para un gran número de canales, debe utilizar un enfoque de abajo hacia arriba, comenzando desde el diseño, no un esquema con asignaciones de pines agradables, lógicas o arbitrarias. El mapeo de canales se puede hacer fácilmente en el software, así que diseñe la PCB de cualquier manera que haga que el seguimiento sea más ordenado y fácil, luego vuelva a anotar en el esquema y use una tabla de búsqueda para mapearlo.

Este cubo LED de 5x5x5 para un dispositivo XMOS utiliza dos chips STP16CPS05 y cinco BJT BD140. Está impulsado por SPI. Aquí está mi versión del esquema, estaba pensando en diseñar un PCB para él. Podría extenderse fácilmente a un cubo de 8x8x8.

Esta placa XMOS XK-1 que usó cuesta $59, incluida la interfaz XTAG-2 necesaria para la programación y la depuración. Tengo dos de ellos.

Su esquema parece conducir una matriz de 5x25. ¿Hay algo particular de XMOS en esto? Parece que cualquier microcontrolador puede hacer esto. Sólo curioso.
Por supuesto, cualquier dispositivo con un puerto SPI serviría. El chip XMOS brinda mucho rendimiento a bajo costo (400 MIPS), lo cual es ideal para este tipo de cosas. Conducirá los dispositivos STP16CPS05 al máximo de 30 MHz sin ningún problema.

Si utiliza un registro de desplazamiento cuyas corrientes de excitación del lado alto y del lado bajo son suficientes para controlar un LED con un ciclo de trabajo de 1/4, mi sugerencia sería cablear cada cadena de 8 luces con cuatro cables. Se deben conectar dos cables a salidas de registro de desplazamiento dedicadas (usando resistencias limitadoras de corriente si es necesario), y los otros dos cables deben ser comunes para todas las cadenas de 8 luces, con controladores de lado alto y bajo controlados independientemente muy fuertes . Tal enfoque minimizaría la cantidad de cables necesarios para cada cadena de luces verticales (cuatro cables verticales podrían impulsar hasta doce luces, pero el circuito para eso sería más complejo).

Incluso usando chips de cambio de 8 salidas, solo se necesitarían 16 chips para controlar todo el cubo (más algunas salidas discretas para controlar los controladores grandes de lado alto y bajo).