Hallo,
hier wie versprochen erste Bilder meines TESTAUFBAUS.
Ich hatte das Ziel eine RGB Matrix aufzubauen, mit einer Farbtiefe von
8Bit pro Farbe und einer Bildwiederholfrequenz von 100HZ
Hier sind erste Bilder meines Testaufbaus.
Zur Auswahl stehen 3 Möglichkeiten:
1)mit AVR (30HZ absolutes Maximum)
2)mit Propeller
3)mit fpga (auch schon hier im forum, von falk)
Beitrag "LED-Matrix, 9x9 RGB, Voll dimmbar"
Momentan mache ich den Weißabgleich.
Zum einsatz kommt ein ATmega162 mit 16MHZ Taktung.
Gruß,
Dennis
hier findet gerade der Weißabgleich statt, die widerstände müssen noch
angepasst werden.
Die Matrix wird hier mit einem ATmega162 betrieben, und erzeugt bereits
ein Bild mit einer Widerholfrequenz von 30HZ.
Die jeweilige Farbe wurde auf 100% über alle Pixel gestellt.
Die Tage gibts noch Bilder von Farbübergängen oder/und unterschiedlichen
Farbrampen.
Dennis
Schönes Beispiel.
Warum also mit schwer lötbaren Pinmonster-FPGAs, wenns ein AVR auch tut.
Hat natürlich den "Nachteil", daß Dein AVR die LEDs sofort ansteuern
kann und nicht erst 5s lang booten muß :-)
Peter
Hey, sieht sehr hübsch aus. Die LED-Matrix sieht wie ein fertiges Modul
aus. Wo hast du das denn her, und wie teuer war es? Was für ein
Multiplexing verwendest du, und mit welchem Strom fährst du die Dioden?
30Hz ist wahrscheinlich noch nicht so der Hit. Wie wäre es mit
verteilen, z.B. auf 4 mega8?
...naja das "Pinmonster" hat eine 13 bit linearisierte kennline
integriert.
zumal der Controller bis unter die decke ausgelastet ist, und "nur" 30HZ
schafft, da gilt es jetzt noch die daten hinein zu bekommen "spi" oder
was auch immer.
dennis
@Tobias:
>>Hey, sieht sehr hübsch aus. Die LED-Matrix sieht wie ein fertiges Modul>>aus. Wo hast du das denn her, und wie teuer war es?Beitrag "rgb matrix led modul -> quelle"http://www.sparkfun.com/commerce/product_info.php?products_id=760#
rund 30€ incl, versand (modul22€)
>>Was für ein Multiplexing verwendest du,
Zeilendecoder:4051 (hate ich gerade rumfliegen)
>>und mit welchem Strom fährst du die Dioden?
stell ich gerade ein...(weißabgleich) ist später also unterschiedlich,
je nach LEDGrundfarbe (RGB)...
>>30Hz ist wahrscheinlich noch nicht so der Hit. Wie wäre es mit
verteilen, z.B. auf 4 mega8?
es existieren ein paar ansätze, der gehört auch dazu...
letztenlich sollte es auf eine "backplane" passen, also treiber und
controller, das wäre auch mit dem fpga möglich mit einer doppelseitigen
platine...
ist letztendlich auch eine kosten-platz-rechnung.
-propeller kosten +-15e +22modul +platine +kleinkram (nur im dill geh.)
-avrs (4) +-10 +22modul +platine +kleinkram etwas mehr platz
-fpga (1) +-11e +22modul +platine +kleinkram etwas mehr platz
da kommt schon was zusammen...aber man darf ja auch nicht vergessen, es
sind RGB Matrix displays. Zumal ich vorerst nur Interesse an der
machbarkeit habe.
Letztendlich wäre es ganz schön wenn man bis zu 16 an einem datenstrang
zusammenfassen könnte usw...soweit bin ich aber noch nicht..
dennis
Tja, dann wäre doch Variante 2 ("Propeller") ein wirklich guter Gedanke
:-) Hier ein - allerdings monochromes - Beispiel. Es wird hier KEINERLEI
externe Hardware verwendet, weil ein Propellr Ausgang 40 mA liefern
kann, was für einen 8-fach Multiplex ausreicht. Für 3x8x8 Dioden sieht
die Strombilanz aber "düsterer" aus.
Der Propeller wird zu etwa 1% ausgelastet.
Übrigens nicht mein Design, sondern "Made by Clemens"
@ Dennis (Gast)
>Autor: Peter Dannegger (peda)>Warum also mit schwer lötbaren Pinmonster-FPGAs, wenns ein AVR auch tut.
Eben weil es der AVRNICHT tut. Und wenn Du keine Ahnung zum Löten
hast ist das dein Problem. Mach mal nen VHS-Kurs. :-)
>Hat natürlich den "Nachteil", daß Dein AVR die LEDs sofort ansteuern>kann und nicht erst 5s lang booten muß :-)
Stimmt, dafür flimmert die Matrix dann mit lausigen 30 Hz für immer und
ewig. Schöne Grüsse an Fielmann. Und viel Spass beim Datennachladen, was
ja laut Aussage des OP nicht geht, weil der AVR zu 100% dicht ist.
MfG
Falk
P.S. Die Überschrift des Threads ist damit auch eine glatte Lüge. Es
sind 30 Hz, nicht 100Hz.
@ Michael P. (desilva)
>externe Hardware verwendet, weil ein Propellr Ausgang 40 mA liefern>kann, was für einen 8-fach Multiplex ausreicht. Für 3x8x8 Dioden sieht
Mach 5mA effektiv. geht nur mit Low Current LEDs.
>Der Propeller wird zu etwa 1% ausgelastet.
Kunststück. Eine 8x8 Matrix Monochrom ohne Dimmung steuert jeder 1 MHz
AVR an und langweilt sich dabei.
MFG
Falk
...so Leute, ich ziehe mich zurück, bevor das hier ausartet wie so oft.
Im Anhang befindet sich noch ein Blockschaltbild und ein paar
Messergebnisse.
Ich wollte mich hier nur zurückmelden, und war gespannt auf eure
Beiträge.
Schließlich sind LED Matrix-Schaltungen hier schon lang kein Geheimnis
mehr.
Mich interessierte hauptsächlich eine Machbarkeitsprüfung, und varianten
die zu einer realen Lösung führen, wie die von Falk.
Ich hätte hiermit allerdings keine 30Hz erwartet :-).
100Hz RGB mit 8Bit Farbtiefe sind mit einem ATmega162 nicht möglich,
aber 30Hz. Das mag für einige reichen.
Gruß,
Dennis
@ Dennis (Gast)
>100Hz RGB mit 8Bit Farbtiefe sind mit einem ATmega162 nicht möglich,
Doch, mit einem cleveren Ansatz zur Soft-PWM. Sollte sogar in C
laufen ;-)
>aber 30Hz. Das mag für einige reichen.
Für Blinde?
SCNR
Falk
@ Dennis (Gast)
>wo ist eigentlich die in deiner Threadüberschrift angekündigte>LED-Matrix!?
Festina lente. Ende der Woche gibt es vielleicht ein paar Bilder.
>mit c wird das nichts.
Aber sicher min Jung. Lies mal den Artikel und rechne mal nach.
MfG
Falk
Habe mir die Problemstellung mal durch den Kopf gehen lassen.
Wie würde ich es den mit einem 8051 Derivat machen?
Hm, denk, grübel, überleg, rechne, heureka:
Ein schneller 8051 muss her z.B. DS89C420 mit 33 oder 40 MHz.
Oder etwas hübsches von SILABS (früher Cygnal)
Die Kernroutine ist die PWM-Erzeugung.
Ich muss also 24 verschiedene PWM-Signale gleichzeitig machen.
Hier kommt mir der Befehlssatz des 8051 entgegen:
CJNE A,Adresse,$+3
d.h. ACC und Speicherbyte werden verglichen, Carryflag gesetzt wenn ACC
kleiner Speicherbyte ist.
MOV P3.2,C
d.h. der Inhalt wird an den Port-Pin P3.2 übertragen.
Diese beiden Befehle müssten jetzt hintereinander geschrieben werden für
Rot 0..7, Grün 0..7 und Blau 0..7
Diese Schleife müsste dann 256 mal durchlaufen werden.
Danach die nächste von 8 Spalten.
Da ich mit AVR wenig Erfahrung habe würde mich mal interressieren wie
man es dort programmiert.
@ Peter X. (vielfrass)
>Da ich mit AVR wenig Erfahrung habe würde mich mal interressieren wie>man es dort programmiert.
Im Prinzip ähnlich. Das ist aber die Brute Force Methode. Clevere
Soft-PWM gibts im Artikel. Sogar in C ;-)
MFg
Falk
Falk Brunner wrote:
> Mach 5mA effektiv. geht nur mit Low Current LEDs.
Das ist falsch: "Superhelle" LEDS für 10 Cents leuchten bei 5mA
bedeutend heller als Standard-LEDs mit 20 mA
>>Der Propeller wird zu etwa 1% ausgelastet.> Kunststück. Eine 8x8 Matrix Monochrom ohne Dimmung steuert jeder 1 MHz> AVR an und langweilt sich dabei.
Das mag sein oder auch nicht. Das Propellerprogramm dimmt während des
Multiplexens in natürlicher Weise; der zusätzliche Aufwand für eine
"erweiterte" Dimmung is minimal und würde zu etwas 2% Auslastung führen
RGB unterscheidet sich von Monochrom durch den etwa 3 fach höheren
Aufwand. Wir sind jetzt bei 6%.
Ich hätte gedacht, dass das jeder selbst ausrechnen kann... Na,ja...
Peter X. wrote:
> Da ich mit AVR wenig Erfahrung habe würde mich mal interessieren wie> man es dort programmiert.
Ich kann Dir leider nur sagen, wie man das mit dem Propeller
programmiert :-)