Beste Möglichkeit, 130 - 140 LEDs mit Arduino Uno 32/64-Bit-LED-Treibern zu steuern?

Ich bin neu in der elektronischen Prototypenerstellung und hätte ein paar Fragen.

Ich muss 132 LEDs einzeln steuern. Ich möchte 3 Reihen machen (2 Reihen mit 60 und 1 Reihe mit 12). Ich denke, ich kann sie matrixartig darstellen, aber ich würde immer noch 63 Ausgänge benötigen (3 hoch, 60 lang).

Ich möchte nicht 8 verschiedene Schieberegister verwenden. Gibt es 32-Bit- oder 64-Bit-LED-Treiber (oder Schieberegister, nicht wirklich sicher, wie sie heißen) und wo kann ich sie kaufen?

Jede Hilfe ist willkommen.

Ich habe keine 32- oder 64-Bit-LED-Treiber gesehen. Ich habe jedoch 16 Bit gesehen: digikey.com/scripts/dksearch/…
Ihre elektrische Matrix muss nicht unbedingt mit Ihrer physischen Matrix übereinstimmen. Beispielsweise könnte die elektrische Matrix aus 11 Zeilen mit 12 Zeilen bestehen, wobei fünf dieser Zeilen in jeder Ihrer physischen Zeilen mit 60 LEDs erscheinen.

Antworten (3)

Es gibt tatsächlich mindestens einen 132-LED-Treiber-IC, den AS1130 132-LED-Treiber mit PWM (2,99 $). Dies entspricht zumindest in Bezug auf die LED-Anzahl genau Ihren Anwendungsanforderungen.

AMS hat einen vielseitigen Satz von LED-Treibern: Zum Beispiel könnte der 144-LED-Treiber ( AS1119 ) mit seiner integrierten Ladungspumpe zum Treiben von LEDs von einer Stromschiene, die niedriger als die Durchlassspannung Ihrer LED ist, für Ihre Anwendung interessant sein.

Um Ihre konkreten Fragen zu beantworten:

  • Ja, AMS hat neben den 132-Kanal- und 144-Kanal-LED-Treibern sowohl 32-Kanal- als auch 64-Kanal-Konstantstrom-LED-Treiber. Mit solchen Teilen benötigen Sie nicht einmal Strombegrenzungswiderstände .
  • Andere Anbieter scheinen bei 48-Kanal-LED-Treibern, z. B. dem Linear Tech LT8500 , nach einer flüchtigen Suche abzurunden.
  • Sie können die oben genannten AMS-Teile auf ihrer Website auf der Seite LED-Treiber kaufen . Außerdem haben sie ein großzügiges Probenahmeprogramm, sodass Sie diesen Weg für Ihre ersten Experimente ausprobieren können.

Die Herausforderung, der Sie möglicherweise gegenüberstehen, ist die Unterstützung einer gebrauchsfertigen Bibliothek auf Ihrem Mikrocontroller oder Ihrer Plattform Ihrer Wahl für die verschiedenen LED-Treiber.

Aus diesem Grund war meine erste Wahl für ähnliche Anforderungen der Texas Instruments TLC5940 mit nur 16 Kanälen in kaskadierten Arrays, einfach weil Bibliotheken und allgemein zugängliche Beschreibungen dafür im Internet für fast jede Mikrocontroller-Plattform existieren Ich wollte mit ihnen verwenden - auch für die Arduino-Plattform .

Wenn Sie die LEDs Charlieplexen , benötigen Sie nur 12 E / A-Pins, um alle 132 zu steuern. ( 12 2 12 )

Der Vorteil eines Charlieplex ist die reduzierte Pinzahl, aber es gibt mehrere Nachteile. Der Hauptnachteil ist, dass Sie immer nur eine LED leuchten lassen können (nicht ganz richtig, aber aus praktischen Gründen ist das so). Ein weiterer Nachteil ist, dass Sie die LED nicht mit mehr Strom ansteuern können, als der Mikrocontroller liefern kann. Bei den von mir verwendeten Atmel-MCUs sind dies tendenziell 40 mA. Wenn Sie eine dauerhafte Sichtillusion von mehreren LEDs erzeugen müssen, die gleichzeitig leuchten, kann die Unfähigkeit, LEDs mit mehr Strom zu betreiben, eine inakzeptable Einschränkung sein.

Sie können die LEDs auch multiplexen, wie Sie in einer Matrix sagten; Ich denke jedoch, dass Sie dies mit 24 E / A-Pins (12 x 12-Raster = 144) tun können. Offensichtlich wäre die physische Anordnung der LEDs immer noch 2x60 und 1x12, aber die elektrische Anordnung könnte einen 12x12-Multiplex nutzen.

Bearbeiten: Sie könnten auch mit 23 E / A-Pins multiplexen, da 11x12 = 132.

Wie @DaveTweed sagt, müssen Sie das physische Layout nicht mit dem elektrischen Layout abgleichen.

Multiplex/Charlieplex ist eine Option, Sie haben genug Pins. Sie könnten einen oder mehrere Treiberchips (wie MAX7219) für Sie besorgen oder einfach I2C/SPI-I/O-Expander-Chips (wie MCP23017) verwenden. Sie können auch Schieberegister wie 74HC595 verwenden, um einen seriellen Strom in eine Last direkt angesteuerter Pins umzuwandeln.