Conducir 60 señales una a la vez, en secuencia constante

Tengo una aplicación en la que necesito encender/apagar una de las 60 señales una tras otra en un orden constante, siempre repitiendo. (1, 2, 3, ... 59, 60, 1, 2, ...) Solo hay una señal encendida en un momento dado. La carga se hunde hasta 500 mA cada uno. Estoy buscando ideas sobre cómo lograr esto de la manera más simple (no necesariamente más barata). Obviamente, un gran microcontrolador o FPGA podría hacerlo, pero eso sería exagerado ya que la lógica del circuito es muy simple.

¿El orden de alimentación de las salidas es el mismo o varía el orden?
¿Qué señala el cambio de uno a otro? Disparador externo, tiempo, ... ?
¿Quiere decir conducir la salida 1, luego la salida 2 y luego la salida 3? ¿O es más aleatorio que eso?
Es posible que desee investigar "Contador de anillos"
@Andyaka Creo que está pidiendo un contador de anillos de 60 bits.
@nidhin yo también, pero es importante que saar responda
Un contador de anillos / SR es una solución. Cuando publiqué la pregunta, esperaba alguna solución inteligente no trivial;)
¿Qué tan rápido ocurre el cambio de una salida a la siguiente o, por el contrario, cuánto tiempo estará encendida cada salida antes de cambiar a la siguiente?
@Olin Alrededor de un segundo

Respuestas (3)

Probablemente el método más simple es un banco de registros de desplazamiento con ULN2803 adjuntos. Registre un 1 en el primer bit, luego registre todos los 0 en el resto y (si usa un registro de desplazamiento sin enclavamiento o uno con enclavamiento con el enganche permanentemente en estado abierto), observe que 1 sube por todos sus salidas a su vez.

El problema con la respuesta HC595 es que no tiene en cuenta el comportamiento de encendido de los registros de desplazamiento, y no hay garantía de que solo una salida esté activa hasta que emita 60 comandos de desplazamiento o proporcione otro pin MCU para conducir todas las líneas de MR.

Otro enfoque, que requerirá 1 IC más y 3 líneas MCU más, es crear un demultiplexor de 6 a 64, usando algo así como 74HC138s.

esquemático

simular este circuito : esquema creado con CircuitLab

Esta configuración proporcionará hasta 64 líneas de salida, con la línea seleccionada en nivel bajo y las demás en nivel alto. Si necesita activo alto, use 74HC238 para las unidades de la derecha, pero no para la de la izquierda. Como se muestra, solo he mostrado 24 líneas de salida, pero debería poder completar las etapas intermedias.

Esto requiere un par de líneas de control más de la MCU y un DIP adicional de 16 pines, pero tiene un par de ventajas:

1) Puede dirigirse a la línea deseada directamente si alguna vez necesita producir una secuencia de salida que no sea estrictamente 0,1,2, etc.

2) No es necesario realizar un pulso de inicialización o conjunto de 60 turnos

3) No hay posibilidad de que el ruido en la línea del reloj de turno produzca una salida inadvertida.

Podría hacer esto fácilmente con el 74HC595 conectado en cadena entre sí. El 74HC595 es un registro de desplazamiento de entrada en serie y salida en paralelo, en el que cambia los datos, habilita un pestillo y luego los valores se establecen en los pines de salida todos a la vez. Esto podría hacerse con un microcontrolador muy simple.

Con cada registro de desplazamiento, obtiene 8 pines de salida en paralelo. El esquema de control se describe en esta imagen. Conecta las líneas de reloj y pestillo a cada registro de desplazamiento y luego la línea de datos se empuja a través del pin Q7 ':

ingrese la descripción de la imagen aquí

Sin embargo, para obtener la capacidad de su unidad de 500 mA, es posible que deba combinarla con una fuente de corriente como M54564P o ULN2803 , o cualquier otra matriz de transistores Darlington que sea capaz de suministrar 500 mA.

¿Qué pasa con la corriente de carga de 500 mA?
Puede usar un M54564P o un ULN2803 para agregar mayores capacidades de suministro de corriente. estos son solo arreglos de transistores darlington