312(13x24) RGB LEDs Multiplexen

OP Persönliche Seite #2882023
Lesenswert?

vor ein paar Tagen bin ich auf den diesen Blog gestoßen:
http://www.theledart.com/blog/archives/129 dort seht ihr auch gleich 
schon das Projekt, dass mich doch sehr verwundert hat. Der Autor hat 
dort 9*16 RGB LEDs = 162 LEDs :-O mit nur einer PWM angesteuert. Er 
schreibt weiter unten dass er auf eine Auflösung von 13 Bits kommt. Nur 
leider versteh ich noch nicht wie er das macht. Eine kleine Beschreibung 
ist hier zu finden: 
http://www.instructables.com/id/Aurora-9x18-RGB-LED-art/?ALLSTEPS. Aber 
aus dieser Beschreibung werde ich nicht schlau.

Kommen wir nun eigentlich zu meinem Projekt. Ich möchte gerne 312 RGB 
LEDs ansteuern  mit mindestens 12Bit Auflösung. Ich will einen 
ATmega1284p@20MHz verwenden, wenn es sein muss auch mehrere, die dann 
über UART oder SPI kommunizieren können. Weiterhin soll natürlich jede 
LED einzeln dimmbar sein um die Farben einzustellen.

Was denkt ihr wie viele ATmegas man braucht um so etwas zu realisieren? 
Was haltet ihr von der verwendeten Technik der Aurora Platine? Das 
Verfahren kombiniert wohl eine PWM und eine 
PDM(http://en.wikipedia.org/wiki/Pulse-density_modulation). Was mich 
verwundert ist, dass der verwendete PIC nur eine PWM hat und damit alle 
LEDs einzeln gedimmt werden. Der PIC ist leider ein 16Bit Controller und 
ich bin mir nicht ganz sicher, ob das mit dem ATmega überhaupt möglich 
ist.

Vielleicht hat hier ja jemand eine bessere Idee oder kann mir erklären, 
wie das Verfahren genau funktioniert.

Wisler
#2882045
Lesenswert?

Wisler Electronics schrieb:
> dort 9*16 RGB LEDs = 162 LEDs :-O mit nur einer PWM angesteuert. Er
> schreibt weiter unten dass er auf eine Auflösung von 13 Bits kommt.

Es sind immer 16 LEDs parallel angesteuert, so dass es 9 Gruppen mit je 
drei Farben sind.

Zum Thema 12 oder 13 Bits: Wende dich mal an den Augenarzt/Optiker 
deines Vertrauens und frag mal, wie es um die Farbauflösung des 
menschlichen Auges bestellt ist. Alternativ überleg mal, wie es viele 
Systeme schaffen, mit 3+3+2 Bit zu erträglichen Farben zu kommen.
#2882496
Lesenswert?

In dem zweiten von dir angegebenen Link ist das sehr gut beschrieben. Du 
musst nur realisieren, dass nicht jede LED separat angesteuert wird, 
sondern dass es eben immer 16 Stück = 1 Ring parallel sind, steht 
relativ klein neben den LED Symbolen.

Es werden nacheinander immer alle R, dann G, dann B LEDs eines Rings 
angesteuert. Dann der nächste Ring. Die notwendige Pulsbreite wird 
jeweils vorher gesetzt.

Wenn du bei 8 Bit/Farbe die Farbübergänge sehen kannst, hast du 
definitiv etwas falsch gemacht - oder bist ein biologisches Wunder.
OP Persönliche Seite #2882947
Lesenswert?

@Georg G.:
Also ich glaub ich habe das Verfahren jetzt verstanden. Es müsste doch 
so sein, dass die PWM in jedem Schritt eine neue Pulsbreite erhält. Aber 
die einzelnen Schritt sind wieder in 255 Schritte unterteilt und nun 
wird einfach die gewünschte LED z.B. LED1 eingeschaltet und umso höher 
die eingestellte Stufe der LED umso mehr pulse werden in einem Durchlauf 
erzeugt. Ein kompletter Durchlauf dauert bei dem Bild dann 8.1ms. 
Eigentlich ist es dann eine Mischung aus PWM und PDM? Ich weiß jetzt ob 
wir jetzt an einander vorbei geredet haben oder doch das gleiche meinen.

Zu den 10Bits nochmal, ich bin damals hingegangen und habe die SOFT-PWM 
hier vom Forum aufgesetzt und die Werte durch ein Tabelle wie in 
http://www.mikrocontroller.net/articles/LED-Fading beschrieben wieder 
auf 256 Stufen gesetzt. So erhält man einen schönen Fadingeffekt. Das 
ist dann dabei entstanden: http://www.youtube.com/watch?v=3zc0v70G8vY. 
Ich weiß jetzt nicht wie du das machen würdest, aber ich dachte immer 
das wäre der beste Weg.
#2882966
Lesenswert?

Georg G. schrieb:
> Wenn du bei 8 Bit/Farbe die Farbübergänge sehen kannst, hast du
> definitiv etwas falsch gemacht - oder bist ein biologisches Wunder.

Nunja, ich kann das so nicht stehenlassen. Bei einer linearen 8-bit-PWM 
ist definitiv am unteren Ende ein Problem. Der Schritt von 1/256'tel auf 
2/256'tel der maximalen Helligkeit wird vom Auge definitiv noch als 
deutliche Abstufung wahrgenommen, was gerade z.B. beim runterdimmen 
eines Motivs ein Problem ist.

Viele Grüße,
        Simon
#2882980
Lesenswert?

Hallo,

ich habe mir vor kurzem eine 11x11 Matrix (für eine RGB-Word-Clock) 
aufgebaut.
Angesteuert wird das ganze über einen PIC und zwar mit nur einer Clock- 
und einer Datenleitung.

Die Lösung: WS2801 (pro LED)

Dieser Chip kann eine RGB-LED ansteuern und zwar mit je 8 Bit pro Farbe 
=> 16,7 Mio Farben ;-)
Alle LEDs sitzen auf einer kleinen Platine (WS2801, 3x Vorwiderstand und 
LED). Die Platinen werden datentechnisch alle in Reihe geschaltet und 
parallel mit Strom versorgt.

Die Ansteuerung ist eigentlich auch sehr simpel, man "schiebt" ein 
Muster in die Matrix und ein "Anzeigen-Befehl" hinterher. Dieses Muster 
wird dann solange angezeigt, bis das nächste Muster reingeschoben und 
angezeigt wird.

Gruß Andi
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren