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
Wisler Electronics schrieb: > Ich möchte gerne 312 RGB > LEDs ansteuern mit mindestens 12Bit Auflösung Dann nimm ein "paar" TLC5940. mindestens 12bit...lol
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.
@ Georg G.: und wie werden die 16 Leds zeitlich gesteuert? Wie kann es funktionieren, dass nur ein PWM Ausgang verwendet wird? Also ich finde schon, dass bei 8Bit Auflösung und bei langsamen Farbürgängen die Auflösung einfach zu gering ist. Mit 10Bit sieht es schon sehr viel flüssiger aus.
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.
@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.
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
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
eine Möglichkeit wäre einen dicken STM32F4 mit 135 IOs zu nehmen. Damit hättest du schonmal über 100 frei einstellbare PWM Ausgänge. Über Matrixansteuerung kann man das dann noch multiplizieren.
Moin also ich würde bald sagen http://www.solderlab.de/index.php/hardware/matrix-controller-board ist zwar nur 8x16 aber dafür gut und fertig und sonst kannste sa sicher ideen klauen oder das zweimal aufbauen übrings TLC5940 sind bei ebay garnicht so teuer
st schrieb: > eine Möglichkeit wäre einen dicken STM32F4 mit 135 IOs zu nehmen. Damit > hättest du schonmal über 100 frei einstellbare PWM Ausgänge. Über Und 9 Stück parallel ?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.