Estoy haciendo un proyecto donde se requiere controlar 10,000 E / S.
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 al agujero de paloma) mediante el cual se colocará una pequeña caja en este agujero de paloma. Actualmente tengo alrededor de 5000 cajas colocadas en 20 bastidores. Cada estante tiene 250 agujeros (10 columnas x 25 filas).
Cada uno de estos agujeros tendrá un LED y un sensor. Por lo tanto, necesito 5000 LED y 5000 sensores.
Todos los sensores y LED se conectarán a un sistema. Cuando necesite colocar la caja en el palomar, escanearé el código de barras de la caja y la registraré en el sistema. El sistema buscará una ranura vacía en cualquier bastidor y encenderá el LED. Colocaré la caja en el palomar y el LED se apagará.
Si necesito recuperar cualquier casilla, ingresaría el número de casilla 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 esa cantidad de puertos de E / S.
fuente
Respuestas:
El mejor enfoque es colocar sus LED en una matriz de 64x80 . Dado que solo 1 LED debe encenderse en cualquier momento, puede usar demultiplexores tanto para filas como para columnas. Para las filas que desea 1 línea baja, para las columnas 1 línea alta.6 6 <80 <27 7 ) Necesitará 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 al 74HC138, pero con una salida activa alta. Aquí solo necesita 6 líneas de dirección (64 = 26 6 ) Entonces tendrá un total de 13 líneas de dirección.
Una solución es usar diez 74HC138 s para las filas, controladas por 7 líneas de dirección (2
Otro enfoque es usar un CPLD . 13 líneas de dirección adentro, 64 columnas + 80 filas afuera. Eso es 157 I / Os. Altera tiene unos MAX3000 dispositivos 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 manejarlos con una corriente más alta para una mejor visibilidad. En ese caso, necesitará transistores adicionales en las salidas.
fuente
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 tiene 20 bastidores de 10 columnas x 25 filas; Sospecho que lo que querrá es un controlador maestro para cada rack (que también se encargaría de la distribución de energía) emparejado con una "unidad de estante" para cada fila, responsable de controlar los LED de 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 pudiera verse fácilmente.
Teniendo en cuenta las distancias involucradas, no creo que deba usar USB como su interconexión a los bastidores: al USB no le gusta conducir largas distancias. En cambio, una interfaz aislada como Ethernet, o ala MIDI optoaislada es probablemente la mejor opción. Sin embargo, la interfaz dentro del rack se puede hacer con casi cualquier enfoque.
fuente
Dispositivos XMOS menudo se usan para controlar conjuntos 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 USB y Ethernet de alta velocidad en software, solo requieren chips PHY adecuados.
Las 5.000 entradas se pueden interconectar de manera similar.
fuente
Es realmente difícil formular recomendaciones claras sin una idea más precisa de lo que se supone que está haciendo 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 de E / S digitales, e incluso si hiciera el circuito del controlador / buffer / polarización para los leds y los sensores ocuparía una gran cantidad de espacio en el tablero. Su mejor opción es dividir y conquistar: cree una serie de "mosaicos" que manejen una subtarea específica y conéctelos.
Por ejemplo, si los leds y los sensores necesitan ser ubicados, cada mosaico podría tener 100 leds y 100 sensores, (de) -multiplexores y un microcontrolador simple. Luego ensamblaría 50 de estos mosaicos, con un total de 5000 leds y 5000 sensores. Luego conecta cada uno de estos mosaicos a una "placa madre" que puede abordar las placas individuales, hablar con el microprocesador en ellas y escribir / leer 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 controlarlo desde una computadora portátil (o similar), puede 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 pueden ser CAN, I2C e incluso Ethernet. Una vez más, los detalles de su sistema dictan qué usar.
Para usos específicos hay atajos disponibles significativos. Por ejemplo, si los leds se usan como una pantalla, probablemente pueda manejarlos desde un único microcontrolador usando una configuración de matriz y un simple frame-buffer.
fuente
Hay alternativas
y / o
Mientras tanto, creo que puedes jugar con Rainbowduino y la matriz de LED RGB 8 * 8 que controla 192 LED (3 * 8 * 8).
fuente
Como necesita transferir el código de barras a la estación central de computación, 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 área grande donde los LED no están cerca uno del otro (esfuerzo de cableado, diferente resistencia de cableado, etc.).
Supongamos que quiere mantenerlo barato. Tal vez intente I2C y hágalo jerárquico. Habría nodos enrutadores que hablarían con la computadora maestra y enrutarían los mensajes hacia y desde los nodos hoja, de los cuales habría uno por caja.
Un nodo 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 esté en la misma liga financiera que un cableado central para LED de 5k, sensores de 5k, incluso si está modularizado. El AVR ATtiny4 más barato con 4 GPIO cuesta 0,6 euros en números.
fuente