Consejo ... Registros de desplazamiento, multiplexación, o ambos

3

Estoy haciendo un proyecto que tiene muchas pantallas, en forma de leds individuales o pantallas de 7 segmentos. Así que la pregunta está en el título. Usando registros de 8 bits, si los usara para todos los leds, tomaría alrededor de 60 registros, lo que no es un problema de dinero dado que son como 20 centavos cada uno, pero no sé si es absurdo hacerlo.

La otra opción es multiplexar, especialmente con las pantallas de 7 segmentos. Hay como 55 de esas pantallas, pero usaré una placa Arduino y dudo que la velocidad de procesamiento sea suficiente para multiplexarlas todas sin parpadear.

La otra opción lógica es usar una combinación de ambas, que no sabría cómo combinar adecuadamente, tal vez tenga pequeños grupos de hasta 6 pantallas multiplexadas, usando los registros para controlarlas todas.

Por cierto, he deducido que con el pulso de alrededor de 10 microsegundos del reloj para los registros, y de 8 bits cada registro, da alrededor de 80 microsegundos por registro: 4800 microsegundos en total, por lo que unos 5 milisegundos funcionan todos ellos. No sé si esto será suficiente para una visualización adecuada de todos ellos, aunque podría reducir el pulso a 2 o 4 microsegundos y ver si los registros siguen funcionando correctamente.

Así que es eso, estoy pidiendo advicen antes de comenzar a diseñar los tableros de circuitos y comprar registros, si alguien tiene experiencia en esto, lo apreciaría.

Se supone que la placa también ejecuta más cosas que las pantallas, un grupo de servomotores, algunos pasos y algunas entradas también (como otras 60 entradas), por lo que, obviamente, esto también afectará el tiempo. Podría usar un máximo de dos microcontroladores si es necesario. Si pudiera hacerlo con uno, perfecto, si no, dos a lo sumo. También podría cambiar a Arduino DUE, que tiene un mejor procesador, si eso marca alguna diferencia.

Gracias de antemano.

    
pregunta MyUserIsThis

3 respuestas

1

Sugeriría que si considera la multiplexación con una relación tal que se pueda lograr un brillo aceptable sin necesidad de que la corriente de excitación instantánea exceda la corriente de operación continua máxima permitida. Si no lo hace, entonces tendrá que agregar circuitos para asegurarse de que la pantalla se apague cuando la multiplexación no esté ocurriendo correctamente, o bien, podría dañar los LED si una fila o columna se atasca "." p>

Dada esta restricción, dependiendo de la cantidad de brillo que necesite, puede encontrar que en algún lugar entre 2: 1 y 8: 1 es adecuado. Supongamos que usted decide 4: 1. En ese caso, sugeriría tomar dígitos en grupos de ocho, y hacer que cada grupo de ocho dígitos use un registro de desplazamiento de 16 bits con salidas controladas por la corriente para los segmentos de la pantalla (ocho para el segmento y los cables decimales de las primeras cuatro pantallas) y ocho a los otros cuatro) y un registro de desplazamiento de 8 bits para seleccionar uno de los cuatro cables comunes para conducir. Las salidas de reserva de la última palanca de cambios podrían usarse para hacer algo como establecer la cantidad de corriente para las salidas de segmento [permitiendo efectos de desvanecimiento o de destello].

Si, por ejemplo, desea que algunos dígitos aparezcan como un brillo del 25% y el resto se desvanezca repetidamente entre el 25% y el brillo total, luego, para 1/4 de tus ciclos multiplex, debes configurar el controlador para la corriente completa y generar los datos para todos los dígitos. Para los otros 3/4 de los ciclos, debe configurar el controlador para una cantidad variable de corriente, pero en blanco todos los dígitos, excepto aquellos que deberían estar desapareciendo. Este enfoque tiene algunas limitaciones, pero a menudo es mucho más fácil que las técnicas PWM más sofisticadas.

    
respondido por el supercat
0

Se le recomendará que divida el problema de la pantalla en varias subunidades. Diseñe una solución MCU simple que pueda ejecutar de 4 a 8 de las siete pantallas de segmento de manera multiplex. El cableado de esas pantallas puede ser bastante corto de vuelta a la subunidad y luego se puede usar un bus serie estrecho de unos pocos cables como canal de comunicaciones para su procesador principal. Solo necesitaría enviar los datos para que se muestren en los momentos en que cambian o decir una vez por segundo para mantenerlos actualizados.

    
respondido por el Michael Karas
0

He construido un sistema de multiplexación de 4 dígitos con un Arduino. El manejo de 55 pantallas probablemente se encuentre dentro de las capacidades del Arduino (tendría que actualizarse a unos 10 KHz para evitar un parpadeo), pero se conducirían a un ciclo de trabajo de 1/55, o aproximadamente un 2%. Incluso si empuja las pantallas a su máximo voltaje pulsado, es probable que esto no sea lo suficientemente brillante para sus necesidades.

Maxim fabrica muchos chips multiplexores que simplificarán tu vida. Un chip como el 7219 conducirá 8 dígitos por sí mismo, y puede conectarlos en cascada para conducir más. Mire la hoja de datos para obtener más información sobre cómo hacer esto. No son particularmente baratos a $ 11, pero le ahorrarán muchos problemas. Usted se comunica con ellos a través de SPI.

    
respondido por el Eric Gunnerson

Lea otras preguntas en las etiquetas