Arduino Uno mit 54 PWM Ausgängen

Hallo, Ihr Spezialisten in Fragen Arduino und Elektronik

Bisher habe ich mir meine Kenntnisse zum Thema im Internet und in zahlreichen Büchern erworben. Jetzt bin ich allerdings an die Grenze gestoßen und benötige Eure Hilfe.

Ich habe mir folgendes Projekt erdacht und möchte dies mit einem Arduino realisieren. Es soll mir zur Entspannung dienen, dazu habe ich auf einer halbkreisförmigen Schiene (vorstellbar mit einem Regenbogen) 18 RGB-LED's mit davor angebrachter Milchglasscheibe installiert. Folgende Effekte möchte ich damit erreichen (alles mit sanften Übergängen, ohne flackern oder blinken) Welleneffekte in gleicher oder unterschiedlicher Farbe nach rechts und links, Welle von beiden Seiten zur Mitte und zurück, auf- und abschwellen der Helligkeit über alle LED's ... - wobei bei allen Effekten die Helligkeit und das Tempo einstellbar sein sollte.

Zur Zeit habe ich über I2C (Analog Pin 4 + 5) und PCF8574 (I/O-Expander) auf ULN2803 (Leistungstreiber) auf die RGB-LED's zugegriffen. Im Sketch über zwei "for - Schleifen" und "Wire.begin - send - endTransmission" die LED's mit unterschiedlichen Tastverhältnissen ein- und ausgeschaltet. Leider ist dieses Verfahren sehr unzureichend (bei längeren Zeiten fangen die LED's an zu flackern und ein Überblenden ist auch nicht optimal).

Deshalb meine Fragen:

  1. Ist es überhaupt möglich für 18 RGB's = 54 Ausgänge eine unabhängige PWM-Steuerung zu ermöglichen?
  2. Wenn "ja", welche IC's müssen zwischengeschaltet werden und wie müßte die Software aussehen?

Ich wäre Euch sehr dankbar, mir hierbei Anregungen und Tipps zu geben!

Euer electronlo

Nimm doch WS2812 LEDs, die werden seriell mit Daten gefüttert und haben ihr eignenes Ansteuer IC gleich mit eingebaut. Für die benötigst du nur ein einziges Ansteuerpin. Oder TLC5940 LED-Treiber. Mit auf den jeweiligen Anwendungszweck spezialisierten b Bauelementen kann man sich das Leben wesentlich erleichtern ;)

Danke für die schnelle Antwort. Ich habe zwar bereits RGB-LED's, aber diese finden sicher noch div. andere Einsatzgebiete. Die WS2812 schauen sehr gut aus für mein Projekt, aber auch mit den TLC5940 ist eine Lösung denkbar. Ich werde mir beide Varianten genauer anschauen, um damit meine Idee zu realisieren.

Nochmals recht herzlichen Dank!

Außer dem TLC5940 gibt es auch den TLC5947 mit 24 Ausgängen (nur in SMD Gehäuse), der für die meisten Anwendugen genügt. Für beide braucht es RGB-LED mit gemeinsamer Anode oder allen herausgeführten Anschlussen.

Grüße Uwe

hi,

warum machst Du die PWM selbst?

nimm doch treiber mit 12bit/16bit auflösung. 8bit ist für sowas viel zu wenig, da geht die überblendung im "unteren" bereich sichtbar schrittweise.

bei adafruit gibt's da einige verschiedene modelle. in china natürlich viel billiger. ich hab' mir 16kanal/12bit-PWM-treiber um 2 euro gekauft, funktionieren einwandfrei. für Deine zwecke aber besser noch 16bit auflösung.

gruß stefan

Eisebaer:
hi,

warum machst Du die PWM selbst?

nimm doch treiber mit 12bit/16bit auflösung.

Dir gefällt unser Vorschlag zu den TLC5940 bzw TLC5947 nicht?
Grüße an Wien, Uwe

hi,

nö, uwe, die sind schon in ordnung. allerdings gefällt mir der umstand nicht, daß man ständig daten schicken muß.

was ich mit meinem post sagen wollte, war, daß bei seiner anwendung die auflösung sehr wichtig ist. mit 8bit und vielleicht auch mit 12bit werden sprünge in der helligkeit nicht zur gewünschten entspannung führen. der 12kanal/16bit TLC59711 ist da glaube ich am besten geeignet. bei adafruit auf platine $7,50. wird über SPI gesteuert.

gruß stefan