Meilleure façon de contrôler 75 LED avec Arduino

9

Je dois contrôler 25 groupes de 3 LED ou 25 LED RGB. Chaque groupe sera exclu de l'UC jusqu'à 20 cm (environ 8 pouces). 20 cm est une hypothèse très sûre, mais je pense que ce sera 10 cm ou moins.

Cependant, je pense que s'il fait même 5 cm, il sera difficile de créer de manière matricielle, donc je pense que l'utilisation de MAX7219 likie IC ( http://www.arduino.cc/playground/Main/MAX72XXHardware ) n'est pas la meilleure idée.

J'utiliserai probablement des registres à décalage ( http://www.arduino.cc/en/Tutorial/ShiftOut ). Je peux connecter plusieurs 74HC595 ou utiliser quelque chose comme STP16C596.

Je préfère STP16C596 mais ils sont obsolètes. J'ai trouvé SCT2026 ( http://zefiryn.tme.pl/dok/a04/sct2026.pdf ) mais je ne suis pas sûr que ce soit le bon choix.

Encore une note. Mon projet actuel ne nécessite que "2 bits de contrôle" sur chaque groupe (3 LED éteintes, ou sélectionnées et allumées seulement une d'entre elles), mais je ne pense pas que cela rende mon projet plus facile ou moins cher, également contrôler chaque LED séparément donnera beaucoup plus de flexibilité en cas de changement.

Quelle solution sera la mieux adaptée à mes besoins.

Ce sera bien si des pièces seront disponibles dans cette boutique - http://www.tme.eu/en/katalog/?&page=1,20#main ou http://eu.mouser.com/ (mais je préfère Premier).

Maciek Sawicki
la source

Réponses:

8

Je suggérerais de suivre la voie matricielle avec un pilote comme le MAX7219 que vous avez mentionné ou peut-être, si vous vouliez beaucoup plus de contrôle, le TLC5951DAP, un pilote LED TI destiné aux LED RGB qui vous donnera 24 canaux avec une résolution de 12 bits (4096 différents niveaux de luminosité pour chaque canal). Cela vous permettra d'allumer chacune des LED R, G et B à différentes luminosités pour mélanger les couleurs à votre guise.

Vous pouvez utiliser un câble ruban pour le câblage de chacune des LED (je suppose que le câblage est la raison pour laquelle vous n'aimez pas l'idée de la matrice) et que tous les câbles se branchent sur une carte contrôleur. Pour quelque chose comme ça, je recommanderais certainement de faire un pcb pour le contrôleur car c'est beaucoup de connexions à essayer à la main. C'est pourtant ce que je ferais.

Le STC2026 semble être directement compatible avec le STP16C596, c'est donc un très bon remplacement si vous souhaitez l'utiliser. Je conviens que le contrôle de chaque LED individuellement sera probablement moins cher et plus facile que d'essayer d'utiliser une sorte de MUX pour avoir le contrôle de 2 bits sur quelle LED est allumée.

J'espère que cela pourra aider.

David Brenner
la source
1
Merci pour la réponse complète. Je vais à nouveau envisager d'utiliser un pilote de matrice LED. Vous avez raison, je m'inquiète pour le câblage, mais je pense que votre idée de créer un circuit imprimé pour cela est agréable. Cependant, je ne suis pas sûr de bien comprendre votre suggestion concernant le câble ruban. Je pense que j'ai besoin de 4 fils pour chaque groupe de 3 LED, donc je pense que le câble téléphonique à double paire pourrait être mieux. Je pense également à utiliser des prises de téléphonie (RJ11) pour connecter mes groupes de LED au PCB.
Maciek Sawicki
1
Encore une question sur les pilotes. Le temps d'attente à Mouser pour le TLC5951 est long et silencieux. Est-ce une alternative à TLC5951? Sur le site Web de TI, j'ai trouvé tlc5952 ( focus.ti.com/docs/prod/folders/print/tlc5952.html ), mais il semble qu'il n'ait pas de contrôle de luminosité par LED.
Maciek Sawicki
1
Le câble téléphonique pourrait fonctionner. Je viens de suggérer un câble plat (câble plat) car il est assez courant en électronique. Tout ce qui fait le travail fonctionnerait (évidemment :). C'est un délai assez long de Mouser. Vous pouvez essayer Digikey.com ou simplement un pilote LED équivalent de Mouser ( mouser.com/Optoelectronics/Drivers/LED-Drivers/_/N-6hpc2 ). Le tlc5952, comme vous l'avez dit, n'offre pas le contrôle individuel de la luminosité des LED. Mais, il y a beaucoup d'autres options. J'ai essayé de chercher sur le site Web de TME quelque chose qui pourrait fonctionner, mais leur site Web n'est pas le plus convivial, alors j'ai abandonné.
David Brenner
Merci encore. Je n'ai trouvé que de gros câbles plats. Je peux probablement les diviser en parties plus étroites, mais je ne savais pas si mon idée de câblage était correcte. Dans cette situation, j'utiliserai probablement un câble à paire torsadée. Merci pour les informations sur Digikey.com, cela ressemble à une belle boutique et ils ont TLC5951DAP en stock. Cependant, les frais d'expédition seraient de 60 USD: /. Je pense donc que je vais utiliser MAX7219. J'essayais de trouver dans mouser.com quelque chose comme TLC5951DAP mais j'ai eu du mal à financer quelque chose avec un contrôle individuel de la luminosité des LED.
Maciek Sawicki
Oui, le site Web TME n'est pas convivial. Ceci est un lien direct vers les pilotes LED (le choix n'est pas trop grand): tme.eu/en/katalog/… Je vous serais très reconnaissant de bien vouloir le consulter si vous en avez le temps. Je pense également à commander des échantillons à TI. Avez-vous des expériences avec cela?
Maciek Sawicki
2

Je ne connais aucune puce sur le dessus de ma tête, mais peut-être que certaines de ces puces I2C GPIO / expander de sortie pourraient être la voie à suivre. Cela fait un moment mais je suis sûr que j'en ai vu des autour de 4 bits. Bien sûr, emprunter cette avenue peut ne pas être aussi bon marché que d'autres solutions, mais il serait facile de l'étendre à l'avenir et d'utiliser un minimum de broches Arduino.

Toutes mes excuses pour le manque de détails, je poste depuis mon téléphone.

Jeremy
la source
Exemples de puces: Microchip MCP23017 (I2C), MCP23S17 (SPI).
Wouter van Ooijen
1

Vous pouvez utiliser la puce M5451 pour piloter économiquement des sorties à courant constant. Ma carte les utilise pour piloter directement 70 «puits» à courant constant et fournit 16 «sources» de 500 mA pour les personnes qui souhaitent réaliser de grandes matrices LED.

http://www.toastedcircuits.com/html/product/Lightuino_5.0.html

Andrew Stone
la source
0

J'ai utilisé une banque de trois puces TLC5490 pour contrôler individuellement 16 LED RVB. Il est utilisé dans mon projet RGB LED Shield . Si je le réimplémentais maintenant, j'utiliserais la puce TLC5497 plus facile à programmer qui a 24 canaux de sortie, contre les 16 canaux du 5490. MaceTech vend ceux en petites quantités avec une disponibilité immédiate. Je prévois d'en utiliser un avec un FT232R pour fabriquer un dongle USB LED pour le Chumby.

UnwiredBen
la source
0

J'ai écrit une bibliothèque pour Arduino pour le faire avec des registres à décalage, elle s'appelle ShiftPWM.

Vous pouvez trouver une documentation détaillée ici: http://www.elcojacobs.com/shiftpwm

Et un schéma pour les LED régulières ici: http://www.elcojacobs.com/using-shiftpwm-to-control-20ma-rgb-leds/

Je recommande d'utiliser un TLC5916 sur un 74HC595, qui est un registre à décalage avec des sorties de courant constant. Vous n'auriez pas besoin de résistances avec ce pilote.

ElcoJacobs
la source