Je fais un projet où il faut contrôler 10 000 E / S.
Sortie 5000 - Pour 5000 LED, où seulement 1 LED sera allumée en même temps
Entrée 5000 - Pour un capteur 5000, où il détectera la présence d'un objet.
Fondamentalement, je fais un système de stockage (quelque chose de similaire au trou de pigeon) par lequel, une petite boîte sera placée dans ce trou de pigeon. Actuellement, j'ai environ 5000 boîtes placées sur 20 racks. Chaque rack a 250 trous (10 colonnes x 25 rangées).
Chacun de ces trous aura une LED et un capteur. par conséquent, j'ai besoin de 5000 LED et 5000 capteurs.
tous les capteurs et LED seront connectés à un système. Lorsque je dois placer la boîte dans le trou du pigeon, je numérise le code-barres de la boîte et l'enregistre dans le système. Le système recherchera ensuite un emplacement vide dans les racks et allumera la LED. Je placerai la boîte dans le trou du pigeon et la LED s'éteindra.
Si j'ai besoin de récupérer n'importe quelle boîte, j'entrerais alors le numéro de boîte et la LED de l'emplacement exact s'allumerait.
Je ne sais pas trop par où commencer. Je voudrais savoir quel type de matériel possède une telle quantité de ports d'E / S.
la source
Réponses:
La meilleure approche consiste à placer vos LED dans une matrice 64x80 . Étant donné qu'une seule LED doit être allumée à tout moment, vous pouvez utiliser des démultiplexeurs pour les lignes et les colonnes. Pour les lignes vous voulez 1 ligne de bas, pour les colonnes 1 ligne de haut.6 <80 <27 ). Vous aurez besoin d'une logique supplémentaire pour dériver les entrées de contrôle pour chaque 74HC138 de cette adresse. Pour les colonnes, vous aurez besoin de huit 74HC238 , ce qui est similaire au 74HC138, mais avec sa sortie active haute. Ici, vous n'avez besoin que de 6 lignes d'adresse (64 = 26 ). Vous aurez donc un total de 13 lignes d'adresse.
Une solution consiste à utiliser dix 74HC138 s pour les lignes, contrôlées par 7 lignes d'adresse (2
Une autre approche consiste à utiliser un CPLD . 13 lignes d'adresse en entrée, 64 colonnes + 80 lignes en sortie. C'est 157 E / S. Altera dispose de quelques appareils MAX3000 adaptés à la facture.
Si vous n'avez pas de présentation compacte pour les LED comme un panneau synoptique, vous voudrez peut-être les piloter avec un courant plus élevé pour une meilleure visibilité. Dans ce cas, vous aurez besoin de transistors supplémentaires sur les sorties.
la source
Whooo, mon garçon ... Ce ne sera pas un projet bon marché!
Je suis d'accord avec Ranieri sur le concept général de décomposer le projet en "tuiles" répétées.
Étant donné que vous avez 20 racks de 10 colonnes x 25 lignes; Je soupçonne que vous voudrez un contrôleur maître pour chaque rack (qui traiterait également de la distribution d'énergie) associé à une "étagère" pour chaque ligne, responsable de la commande des LED pour les 10 colonnes et de détecter la boîte. Le contrôleur maître peut également piloter un éclairage maître en haut du rack, de sorte que le rack de destination puisse être facilement repéré.
Compte tenu des distances impliquées, je ne pense pas que vous devriez utiliser l'USB comme interconnexion aux racks - l'USB n'aime pas parcourir de longues distances. Au lieu de cela, une interface isolée comme Ethernet ou MIDI opto-isolée est probablement le meilleur pari. L'interfaçage dans le rack, cependant, pourrait être fait avec à peu près n'importe quelle approche.
la source
Les appareils XMOS sont souvent utilisés pour contrôler de très grands réseaux de LED. Les LED sont regroupées en "tuiles", chaque tuile étant contrôlée par une puce XMOS et des registres à décalage appropriés. Les appareils XMOS peuvent être connectés les uns aux autres via XLinks haut débit ou Ethernet, et peuvent communiquer avec un système hôte via Ethernet ou USB. Les appareils XMOS peuvent implémenter des logiciels USB et Ethernet haute vitesse dans le logiciel, nécessitant simplement des puces PHY appropriées.
Les 5 000 entrées peuvent être interfacées de manière similaire.
la source
Il est vraiment difficile de formuler des recommandations claires sans une idée plus précise de ce que l'ensemble du système est censé faire, ni de la façon dont les LED et les capteurs doivent être organisés, mais je vais essayer.
Vous n'allez pas trouver un seul composant avec 10000 ports d'E / S numériques, et même si vous faisiez le circuit pilote / tampon / polarisation pour les LED et les capteurs, cela occuperait une énorme quantité d'espace sur la carte. Votre meilleur pari est de diviser et de conquérir - créez un certain nombre de "tuiles" qui gèrent une sous-tâche spécifique et les relient entre elles.
Par exemple, si les leds et les capteurs doivent être colocalisés, chaque tuile pourrait avoir disons 100 leds et 100 capteurs, (dé) -multiplexeurs et un simple microcontrôleur. Ensuite, vous assemblez 50 de ces tuiles, ce qui porte le total à 5000 LED et 5000 capteurs. Ensuite, vous connectez chacune de ces tuiles à une "carte mère" qui peut adresser les cartes individuelles, parler au microprocesseur sur elles et écrire / lire les voyants et les valeurs des capteurs.
L'une des principales décisions de conception sera la «puissance» du système mère, ainsi que le circuit d'interconnexion. Par exemple, si vous souhaitez contrôler la chose à partir d'un ordinateur portable (ou similaire), vous pouvez utiliser l'USB comme interconnexion. Vous pouvez ensuite exécuter une pile USB logicielle telle que VUSB sur les tuiles pour réduire les coûts. D'autres options pourraient être CAN, I2C et même Ethernet. Encore une fois, les spécificités de votre système dictent quoi utiliser.
Pour des utilisations spécifiques, des raccourcis importants sont disponibles. Par exemple, si les leds sont utilisées comme écran, vous pouvez probablement les piloter depuis un seul microcontrôleur en utilisant une configuration matricielle et un simple frame-buffer.
la source
Il existe des alternatives
et / ou
En attendant, je pense que vous pouvez jouer avec le Rainbowduino et la matrice LED RGB 8 * 8 qui contrôle 192 LED (3 * 8 * 8).
la source
Comme vous devez transférer le code-barres vers la station informatique centrale, vous devez configurer un bus. Selon la taille de vos boîtes, la distance joue un rôle dans la sélection du bus.
Le câblage analogique avec multiplexage de LED n'est pas une bonne idée sur des configurations de grande surface où les LED ne sont pas proches les unes des autres (effort de câblage, résistance de câblage différente, etc.).
Supposons que vous vouliez le garder bon marché. Essayez peut-être I2C et rendez-le hiérarchique. Il y aurait des nœuds de routeur qui communiqueraient avec l'ordinateur maître et achemineraient les messages vers et depuis les nœuds terminaux, dont un par boîte.
Un nœud feuille peut lire le code-barres, allumer une led et exécuter diverses autres fonctionnalités si nécessaire, en lisant ou en envoyant des messages à son nœud de routeur.
Cette configuration est probablement dans la même ligue financière qu'un câblage central pour LED 5k, capteurs 5k, même si elle est modulaire. L'AVR ATtiny4 le moins cher avec 4 GPIO coûte 0,6 EUR en nombre.
la source