Beste Möglichkeit, 75 LEDs mit Arduino zu steuern


9

Ich muss 25 Gruppen von 3 LEDs oder 25 RGB-LEDs steuern. Jede Gruppe wird um bis zu 20 cm aus dem uC entlassen. 20 cm ist eine sehr sichere Annahme, aber ich denke, es werden 10 cm oder weniger sein.

Ich denke jedoch, wenn es nur 5 cm sind, wird es schwierig sein, in Matrixform zu erstellen, daher denke ich, dass die Verwendung von MAX7219 likie IC ( http://www.arduino.cc/playground/Main/MAX72XXHardware ) nicht die beste Idee ist.

Ich werde wahrscheinlich Schieberegister verwenden ( http://www.arduino.cc/en/Tutorial/ShiftOut ). Ich kann mehrere 74HC595 anschließen oder etwas wie STP16C596 verwenden.

Ich bevorzuge STP16C596, aber sie sind veraltet. Ich habe SCT2026 ( http://zefiryn.tme.pl/dok/a04/sct2026.pdf ) gefunden, bin mir aber nicht sicher, ob es die richtige Wahl ist.

Noch eine Anmerkung. Mein aktuelles Projekt erfordert nur "2-Bit-Steuerung" für jede Gruppe (3 LEDs aus oder ausgewählt und nur eine von ihnen eingeschaltet), aber ich denke nicht, dass dies mein Projekt einfacher oder billiger macht, auch wenn jede LED separat gesteuert wird viel mehr Flexibilität bei Änderungen.

Welche Lösung passt am besten zu meinen Anforderungen?

Es wird schön sein, wenn Teile in diesem Shop erhältlich sind - http://www.tme.eu/en/katalog/?&page=1,20#main oder http://eu.mouser.com/ (aber ich bevorzuge Erster).

Antworten:


8

Ich würde vorschlagen, die Matrixroute mit einem Treiber wie dem von Ihnen erwähnten MAX7219 zu wählen, oder, wenn Sie viel mehr Kontrolle wünschen, mit dem TLC5951DAP, einem TI-LED-Treiber für RGB-LEDs, der Ihnen 24 Kanäle mit einer 12-Bit-Auflösung (4096) bietet unterschiedliche Helligkeitsstufen für jeden Kanal). Auf diese Weise können Sie jede der R-, G- und B-LEDs auf unterschiedliche Helligkeiten schalten, um die Farben nach Ihren Wünschen zu mischen.

Sie könnten ein Flachbandkabel für die Verkabelung zu jeder der LEDs verwenden (ich gehe davon aus, dass die Verkabelung der Grund ist, warum Ihnen die Idee der Matrix nicht gefällt) und alle Kabel an eine Controller-Platine anschließen. Für so etwas würde ich definitiv empfehlen, dass Sie eine Platine für den Controller herstellen, da dies viele Verbindungen sind, die Sie von Hand versuchen müssen. Genau das würde ich aber tun.

Der STC2026 scheint direkt mit dem STP16C596 kompatibel zu sein. Dies ist also ein perfekter Ersatz, wenn Sie ihn verwenden möchten. Ich würde zustimmen, dass die individuelle Steuerung jeder LED wahrscheinlich billiger und einfacher ist als der Versuch, eine Art MUX zu verwenden, um 2 Bit zu steuern, welche LED leuchtet.

Ich hoffe, das hilft.


1
Vielen Dank für die vollständige Antwort. Ich werde noch einmal in Betracht ziehen, einen LED-Matrixtreiber zu verwenden. Sie haben Recht, dass ich mir Sorgen um die Verkabelung mache, aber ich denke, Ihre Idee, eine Platine dafür zu verpacken, ist schön. Ich bin mir jedoch nicht sicher, ob ich Ihren Vorschlag zum Flachbandkabel richtig verstehe. Ich denke, ich brauche 4 Drähte für jede Gruppe von 3 LEDs, also denke ich, dass ein Doppelpaar-Telefoniekabel besser sein könnte. Ich denke auch darüber nach, Telefoniebuchsen (RJ11) zum Verbinden meiner LED-Gruppen mit der Leiterplatte zu verwenden.
Maciek Sawicki

1
Noch eine Frage zu den Fahrern. Die Wartezeit in Mouser auf TLC5951 ist ziemlich lang. Ist es eine Alternative für TLC5951? Auf der TI-Website habe ich tlc5952 ( focus.ti.com/docs/prod/folders/print/tlc5952.html ) gefunden, aber es scheint, als hätte es keine LED-Helligkeitsregelung.
Maciek Sawicki

1
Telefonkabel könnte funktionieren. Ich habe gerade ein Flachbandkabel (Flachkabel) vorgeschlagen, da es in der Elektronik ziemlich häufig vorkommt. Was auch immer die Arbeit erledigt, würde funktionieren (offensichtlich :). Das ist eine ziemlich lange Vorlaufzeit von Mouser. Sie können Digikey.com oder einen vergleichbaren LED-Treiber von Mouser ( mouser.com/Optoelectronics/Drivers/LED-Drivers/_/N-6hpc2 ) ausprobieren . Der tlc5952 bietet, wie Sie sagten, keine individuelle LED-Helligkeitsregelung. Es gibt aber noch viele andere Möglichkeiten. Ich habe versucht, auf der TME-Website nach etwas zu suchen, das funktionieren könnte, aber die Website ist nicht besonders benutzerfreundlich, also habe ich aufgegeben.
David Brenner

Danke nochmal. Ich habe nur große Flachbandkabel gefunden. Wahrscheinlich kann ich sie in engere Teile unterteilen, aber ich war mir nicht sicher, ob meine Verdrahtungsidee richtig ist. In dieser Situation werde ich wahrscheinlich ein Twisted Pair-Kabel verwenden. Vielen Dank für Informationen über Digikey.com, es sieht aus wie ein schönes Geschäft und sie haben TLC5951DAP auf Lager. Die Versandkosten betragen jedoch USD 60: /. Also denke ich, ich werde MAX7219 verwenden. Ich habe versucht, in mouser.com etwas wie TLC5951DAP zu finden, aber es fällt mir schwer, etwas mit individueller LED-Helligkeitsregelung zu finanzieren.
Maciek Sawicki

Ja, die TME-Website ist nicht benutzerfreundlich. Dies ist ein direkter Link zu LED-Treibern (Auswahl ist nicht zu groß): tme.eu/en/katalog/… Ich wäre Ihnen sehr dankbar, wenn Sie sich das ansehen könnten, wenn Sie Zeit haben. Ich denke auch darüber nach, Muster bei TI zu bestellen. Hast du irgendwelche Erfahrungen damit?
Maciek Sawicki

2

Ich kenne keine Chips auf meinem Kopf, aber vielleicht sind einige dieser I2C-GPIO- / Ausgangserweiterungs-Chips der richtige Weg. Es ist eine Weile her, aber ich bin sicher, ich habe 4-Bit-Modelle gesehen. Natürlich ist dieser Weg möglicherweise nicht so billig wie einige andere Lösungen, aber es wäre einfach, ihn in Zukunft zu erweitern und nur minimale Arduino-Pins zu verwenden.

Entschuldigung für den Mangel an Details, ich poste von meinem Telefon.


Beispielchips: Mikrochip MCP23017 (I2C), MCP23S17 (SPI).
Wouter van Ooijen


0

Ich habe eine Bank mit drei TLC5490-Chips verwendet, um 16 RGB-LEDs individuell zu steuern. Es wird in meinem RGB LED Shield-Projekt verwendet . Wenn ich es jetzt neu implementieren würde, würde ich den einfacher zu programmierenden TLC5497-Chip verwenden, der 24 Ausgangskanäle hat, im Vergleich zu den 16 Kanälen des 5490. MaceTech verkauft diese in kleinen Mengen mit sofortiger Verfügbarkeit. Ich plane, einen mit einem FT232R zu verwenden, um einen LED-USB-Dongle für den Chumby herzustellen.


0

Ich habe eine Bibliothek für Arduino geschrieben, um dies mit Schieberegistern zu tun. Sie heißt ShiftPWM.

Eine ausführliche Dokumentation finden Sie hier: http://www.elcojacobs.com/shiftpwm

Und ein Schema für normale LEDs hier: http://www.elcojacobs.com/using-shiftpwm-to-control-20ma-rgb-leds/

Ich empfehle die Verwendung eines TLC5916 gegenüber einem 74HC595, einem Schieberegister mit konstanten Stromsenkenausgängen. Mit diesem Treiber würden Sie keine Widerstände benötigen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.