Controlando 5000 LED

8

Estoy haciendo un proyecto donde se requiere controlar 10,000 I / O.

Salida 5000: para 5000 LED, donde solo se encenderá 1 LED a la vez

Entrada 5000: para el sensor 5000, donde detectará la presencia de un objeto.

Básicamente, estoy haciendo un sistema de almacenamiento (algo similar a un agujero de paloma) por el cual, una pequeña caja se colocará en este agujero de paloma. Actualmente tengo alrededor de 5000 cajas colocadas en 20 bastidores. Cada bastidor tiene 250 orificios (10 columnas x 25 filas).

Cada uno de estos orificios tendrá un LED y un sensor. por lo tanto, necesito 5000 LED & 5000 sensores.

todos los sensores y el LED se conectarán a un sistema. Cuando necesito colocar la caja en el agujero de la paloma, escanearé el código de barras de la caja y lo registraré en el sistema. El sistema buscará una ranura vacía en cualquier rack e iluminará el LED. Colocaré la caja en el agujero de la paloma y el LED se apagará.

Si necesito recuperar un cuadro, ingresaría el número del cuadro y se iluminaría el LED de la ubicación exacta.

No estoy seguro de cómo empezar. Me gustaría saber qué tipo de hardware tiene tal cantidad de puertos de E / S.

    
pregunta Steven

6 respuestas

13

El mejor enfoque es colocar sus LED en una matriz de 64x80 . Dado que solo es necesario encender 1 LED en cualquier momento, puede utilizar demultiplexores tanto para filas como para columnas. Para las filas que desea 1 línea baja, para las columnas 1 línea alta.
Una solución es usar diez 74HC138 s para las filas, controladas por 7 líneas de dirección (2 \ $ ^ 6 \ $ < 80 < 2 \ $ ^ 7 \ $). Necesitará algo de lógica adicional para derivar las entradas de control para cada 74HC138 de esta dirección. Para las columnas, necesitará ocho 74HC238 s, que es similar a la 74HC138, pero con su salida activa alta Aquí solo necesita 6 líneas de dirección (64 = 2 \ $ ^ 6 \ $). Así tendrás un total de 13 líneas de dirección.

Otro enfoque es utilizar un CPLD . 13 líneas de dirección adentro, 64 columnas + 80 filas hacia afuera. Eso es 157 I / Os. Altera tiene algunos MAX3000 que se ajustan a la factura.

Si no tiene una presentación compacta para los LED como un panel sinóptico, es posible que desee conducirlos con una corriente más alta para una mejor visibilidad. En ese caso, necesitará transistores adicionales en las salidas.

    
respondido por el stevenvh
4

Whooo, chico ... ¡Este no será un proyecto barato!

Estoy de acuerdo con Ranieri en el concepto general de dividir el proyecto en "mosaicos" repetidos.

Dado que tienes 20 racks de 10 columnas x 25 filas; Sospecho que lo que querrá es un controlador maestro para cada rack (que también se ocuparía de la distribución de energía) emparejado con una "unidad de estante" para cada fila, responsable de conducir los LED para las 10 columnas y detectar la caja. El controlador maestro también podría conducir una luz maestra en la parte superior del bastidor, de modo que el bastidor de destino se pueda ver fácilmente.

Teniendo en cuenta las distancias involucradas, no creo que debas usar USB como tu interconexión con los racks. A USB no le gusta conducir largas distancias. En cambio, una interfaz aislada como Ethernet, o un ala opto-aislada MIDI es probablemente la mejor opción. Sin embargo, la interfaz dentro del bastidor se podría hacer con casi cualquier enfoque.

    
respondido por el Toybuilder
4

Los dispositivos XMOS se utilizan a menudo para controlar matrices muy grandes de LED. Los LED se agrupan en "mosaicos", con cada mosaico controlado por un chip XMOS y registros de desplazamiento adecuados. Los dispositivos XMOS pueden conectarse entre sí mediante XLinks o Ethernet de alta velocidad, y pueden comunicarse con un sistema host a través de Ethernet o USB. Los dispositivos XMOS pueden implementar software USB y Ethernet de alta velocidad, solo que requieren chips PHY adecuados.

Las 5,000 entradas pueden interconectarse de manera similar.

    
respondido por el Leon Heller
3

Es realmente difícil proponer recomendaciones claras sin una idea más precisa de lo que se supone que debe hacer todo el sistema, o cómo deben organizarse los leds y los sensores, pero lo intentaré.

No va a encontrar un solo componente con 10000 puertos IO digitales, e incluso si lo hiciera, los circuitos de controlador / almacenamiento intermedio / polarización para los leds y sensores ocuparían una gran cantidad de bienes raíces en la placa. Su mejor apuesta es dividir y conquistar: cree una cantidad de "mosaicos" que manejen una subtarea específica y conéctelos entre sí.

Por ejemplo, si los leds y los sensores deben colocarse juntos, cada placa podría tener, por ejemplo, 100 leds y 100 sensores, (des) multiplexores y un simple microcontrolador. Luego ensamblarías 50 de estas baldosas, lo que elevaría el total a 5000 leds y 5000 sensores. Luego, conecta cada una de estas fichas a una "placa madre" que puede abordar las placas individuales, habla con el microprocesador y escribe / lee los leds y los valores del sensor.

Una de las principales decisiones de diseño será la "potencia" del sistema madre, así como el circuito de interconexión. Por ejemplo, si está dispuesto a controlar la cosa desde una computadora portátil (o similar), podría usar USB como interconexión. Luego puede ejecutar una pila USB de software como VUSB en los mosaicos para mantener el costo bajo. Otras opciones podrían ser CAN, I2C e incluso Ethernet. Nuevamente, los detalles de su sistema determinan qué usar.

Para usos específicos hay accesos directos importantes disponibles. Por ejemplo, si los leds se usan como una pantalla, probablemente pueda manejarlos desde un solo microcontrolador usando una configuración de matriz y un simple buffer de cuadro.

    
respondido por el drxzcl
2

Hay alternativas

  • puede crear módulos separados para cada rack e interconectarlos a través de LAN. Cada módulo controlará 250 LEDs.

y / o

  • puede controlar LEDs en una matriz 3D. Como cada LED tiene solo 2 terminales, puede agregar un tercero usando un transistor. El led se encenderá solo si el colector, el emisor y la base están correctamente alimentados. La matriz 3D requiere solo 52 I / Os (17 * 17 * 18) para controlar 5000 LED, en lugar de 142 (71 * 71).

Mientras tanto, creo que puedes jugar con el Rainbowduino y la 8 * 8 RGB Matriz de LED que controla 192 LED (3 * 8 * 8).

    
respondido por el Jader Dias
2

Ya que necesita transferir el código de barras a la estación central de cómputo, debe configurar un bus. Dependiendo de qué tan grandes sean sus cajas, la distancia juega un papel en la selección del autobús.

El cableado analógico con multiplexación de LED no es una buena idea en configuraciones de áreas grandes donde los LED no están cerca uno del otro (esfuerzo de cableado, resistencia de cableado diferente, etc.).

Supongamos que quieres mantenerlo barato. Tal vez intente I2C, y hágalo jerárquico. Habría nodos de enrutador que hablan con la computadora maestra, y enrutan los mensajes hacia y desde los nodos de hoja, de los cuales habría uno por caja.

Un nodo de hoja puede leer el código de barras, encender un led y realizar otras funciones, si es necesario, leer o enviar mensajes a su nodo enrutador.

Esta configuración probablemente se encuentre en la misma liga financiera que un cableado central para LED de 5 k, sensores de 5 k, incluso si está modularizado. El AVR ATtiny4 más barato con 4 GPIO cuesta 0,6 EUR en números.

    
respondido por el posipiet

Lea otras preguntas en las etiquetas