www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RGB 8x8 LED Matrix 100HZ 8Bit PWM


Autor: Dennis (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Dennis (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier wird eine Zeile mal direkt angesprochen um die farbmischungen zu 
testen...

Autor: Dennis (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...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

Autor: Dennis (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@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?...

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

Autor: Michael P. (desilva)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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"

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Dennis (Gast)

>Autor: Peter Dannegger (peda)

>Warum also mit schwer lötbaren Pinmonster-FPGAs, wenns ein AVR auch tut.

Eben weil es der AVR NICHT 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Dennis (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
...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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Falk,

wo ist eigentlich die in deiner Threadüberschrift angekündigte 
LED-Matrix!?

mit c wird das nichts.

d.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Peter X. (vielfrass)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  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

Autor: Michael P. (desilva)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Michael P. (desilva)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.