Hallo
Ich bin in einer Projektgruppe meiner Hochschule die sich als Ziel
gesetzt hat eine LED-Videowand in kleinem Rahmen zu entwickeln.
Es soll sich um eine RGB-Videowand handeln.
Prinzipiell steht hier nicht der direkte Bau im Vordergrund sondern die
Planung.
1. Problem dabei ist die Wandlung des Videosignales.
Gedacht ist, ein VGA Signal so aufzubereiten dass jeder Bildpunkt einer
LED zugewiesen werden kann!
Hier denke ich an eine Softwarelösung die erkennt wieviele LED'S
angeschlossen sind. (muss die Hardware an den PC senden!!)
2. Problem ist generell die Datenübermittlung
Hierbei schwebt uns vor, die LED-Videowand mit einem USB-Controller
auszustatten.
Ist hierbei möglich die daten in einigermaßen echtzeit zu empfangen?
pro led sind das 3 BYTE.
Verwendet werden sollen AVR's des typs MEGA.
es soll erst einmal eine Auflösung von 640x480 pixel realisiert werden.
Sicherlich ist keine einfache Aufgabe :)
Aber vielleicht gibt es hier spezialisten auf diesem Gebiet.
Ich bin auch für komplette Neuvorschläge bzgl. der Kommunikation
PC<->Hardware offen.
Soweit mal fürs erste :)
Gruß Martin
nun es geht hier nicht um irgendwelche Kosten oder netzteile :)
Sicherlich benötigt man da schon was anständiges aber es geht uns
momentan um die oben gestellten kernfragen:)
Gruß Martin
Ich bin der meinung, das ist nicht machbar:
Ich kenne die genauen specs der vga-schnittstelle nicht, aber ein
videosignal hat eine Bandbreite von 5MHz, und das sinnvoll einzulesen,
musst du das mit 10MHz samplen, bei nur 8bit ergibt das 10MByte/sek. der
atmel schafft bei 16MHz im Durchschnitt 12Millionen ASM-Befehle je
Sekunde...
Weiter:
Annahme: LEDs für 640x480 punkte
das sind ca 300'000 punkte, ah 3Byte, bedeutet: knapp 1MByte die
irgendwie vom Controller geeignet zur LED-Schaltung transferiert werden
müssen...
und das für jedes Bild, bei einer Wiederholrate von 25Hz...
@matthias:
Genau darauf läuft auch die frage hinaus:)
Ist es denn möglich bei verwendung mehrerer Atmels die daten überhaupt
von einem PC Bild auf deie LED's zu übertragen.
Ich meine eher von der konvertierung und extrapolation der einzelnen
Bildpunkte.
Ich meine ob es evtl. auch möglich ist da sich ja bei 2
nebeneinanderliegenden LED's die farben mischen es so zu realisieren
dass 10 pixel am PC durch 2 LED's abgebildet werden?
Ich meine ob es evtl. auch möglich ist da sich ja bei 2
nebeneinanderliegenden LED's die farben mischen es so zu realisieren
dass 10 pixel am PC durch 2 LED's abgebildet werden?...
Sowas bedeutet ja noch zusätzlichen Rechenaufwand..
Mit meinen Rechnung wollte ich darlegen, das es wohl schon nicht möglich
ist, überhaupt die datenmengen in/aus dem atmel zu bekommen, geschweigen
aufzubereiten...
Wie sieht das denn aus wenn man immer eine der 640 Reihen ansteuert mit
480 Leds dan schnell die nächste usw. bis alle einmal anwaren und dann
das alles 30 mal pro Sec. so ist der Strom schonmal sehr viel niedriger,
weil immer (nur) 480 leds auf einmal an sind.
das ist ein trugschluss!
dann sind zwar nur 480 leds an, allerdings weil 640zeilen hast, auch nur
während 1/640 stel der Zeit! damit wieder die normale Helligkeit
rauskommt, müsste der Strom dann das 640fache des normalen stromes (bei
dauerbetrieb) sein...
Du hast ja recht....
wobei ich sagen möchte das eine Blaue LED bei 3,5V und 20mA jedem
Betrachter die Netzhaut glättet und rote sind noch heller und wenn da
dann 307200 Led den Betrachter Blenden.......... O_o
Ich denke mal das ein bruchteil des Nennstromes ausreicht. Jedenfalls
weniger als 640 facher nennstrom.
Nun ich hatte mir vorgestellt die berechnung bzw Umrechnung des
Orginalbildes auf die LED'S von einem rechner machen zu lassen, dann des
ganze an den/die Atmels übertragen.
Wie schnell kann ein AVR denn so daten verabreiten bzw mit welcher
schnittstelle zum PC lässt sich die problemlos realisieren.
Des weiteren bin ich mir noch nicht sicher mit welchen genauen
datenmengen ich es jetzt zu tun habe und welche daten ich vielleicht
auch im AVR puffern kann.
nke mal das ein bruchteil des Nennstromes ausreicht. Jedenfalls
weniger als 640 facher nennstrom...
Ich meinte mit "Nennstrom" den Strom, der ausreicht um ungetaktet eine
ausreichende Helligkeit zu erzeugen. (meist ca10mA) damit DIESELBE
helligkeit bei taktung erreicht wird, muss es in diesem fall aber 640mal
soviel ein.
Hamburger Hauptbahnhof hing jahrelang so eine
Grafische Anzeigetafel....
Wer sagt, dass dort soein atmel drin ist..?
on einem rechner machen zu lassen, dann des
ganze an den/die Atmels übertragen...
Dann kannst du dir die atmels sparen und das signal gleich so umrechnen
das es direkt an die leds geht...
Sicher geht es, nur nicht mit einem oder mehreren AVRs. Als
Uebermittlung vom PC sollte man die DVI schnittstelle nehmen. LVDS, ein
Differentialpaar pro Farbe. Standard bei einer Graphikkarte mit
digitalschnittstelle. Zur Decodierung, Adressierung der LEDs usw, ein
FPGA.
RT
Für sowas verwendet man einen FPGA oder ähnliches. Der kann die Daten
problemlos mit der ausreichenden Geschwindigkeit verarbeiten.
Allerdings müssen die LEDs auch irgendwie in der Helligkeit verändert
werden. Das geht nur per PWM bei dieser Leistung. Allerdings benötigen
307200 PWM Kanäle eine Menge "Rechenleistung", also deutlich mehr als
ein FPGA.
Der sinnvollste Ansatz ist das Aufteilen der Videowand in mehrere kleine
Module (z.B. mit 32x32x3 Pixel oder so). Diese Module werden dann
einzeln von einer Zentraleinheit die mit dem PC verbunden wird
angesteuert.
Allerdings glaube ich, dass wir hier verarscht werden: Denn selbst die
7m große LED Wand in der Münchner Allianz Arena hat gerade mal etwa
600000 LEDs, also gerade mal 200000 RGB Tripel. Diese besteht aus 72
Modulen zu je 128x64 LEDs.
Moin...
machbar ist das schon, allerdings sollte man sich vorher nochmal mit dem
spitzen Bleistift hinsetzen und genau aufstellen, welche einzelnen Teile
bei diesem Projekt zu beachten sind. Einfach ein paar ATMega
zusammenschalten reicht 101%ig nicht aus!
Nur mal als Beispiele, das Suchwort ist "LED Videowall":
http://www.led-anzeige.at/http://www.stiers.de/led.html
25keur pro qm, das gleiche nochmal für die Steuerung
http://www.erento.com/mieten/party_messe_events/bild_praesentation/led_grossbildwaende/6736478742.html?land=3
25qm, 6,6t schwer bei 320x256 pixel (!), 48kW elektrische
Anschlußleistung
Also, Probleme und Aufgaben klein machen, nicht unbedingt in der
richtigen Reihenfolge:
1 Bild einlesen
2 Umrechnen in "geignetes" Format. (welches?)
3 ein Pixel mit drei Farben steuern
4 mehrere Pixel steuern
5 Daten vom "Rechner" zu den Endstufen bringen
6 Energieversorung zentral/dezentral? (Kühlung?)
Kleine Lösungen bauen, testen und verbessern. Danach weiter machen und
größer werden.
JEDER dieser Punkte dürfte noch etliche weitere Fragen aufwerfen die in
der gleichen Art zerlegt, analysiert und gelöst werden müssen. Eine
"Bastellösung" wird bei einem Projekt dieser Größe ziemlich sicher in
die Hose gehen.
--
SJ
Habt Ihr euch eigentlich die URSPRÜNGLICHE Aufgabenstellung mal genau
angesehen?
> Ich bin in einer Projektgruppe meiner Hochschule die sich als Ziel> gesetzt hat eine LED-Videowand in kleinem Rahmen zu entwickeln.>> Es soll sich um eine RGB-Videowand handeln.>> Prinzipiell steht hier nicht der direkte Bau im Vordergrund sondern die> Planung.
Es soll hier scheinbar nicht wirklich ein reales Produkt geschaffen
werden. Es geht wohl vielmehr um die Machbarkeit mit AVRs.
--> Machbar? --> Wenn ja... wie? --> Basta!
Gruß,
Magnetus
@Benedikt:
Nein hier wird keiner verarscht. Es geht bei unserem Projekt nicht um
die Realisierung sondern rein um die Planung. Wir müssen detaliert
aufführen was notwendig ist um ein Videosignal oder einfacher ein Bild
an eine entsprechende LED-Videowand zu übertragen und wie solch eine
Wand aussehen müsste.
Wie Du schon richtig gesagt hast denke ich auch dass diese Wand in
Module aufgeteilt werden sollte. Jedes Modul erhält dann von einer
Steuerplatine welche mit dem PC verbunden ist ihre signale.
Ein FPGA für so etwas einzusetzen finde ich wie schon erwähnt mit der
PWM nicht ideal.
Aber allein bei der Signalverarbeitung habe ich noch meine
Schwierigkeiten.
Um dies etwas zu konkretisieren, hier ein Beispiel:
Angenommen Ich möchte ein Bild 640x480 pixel auf dem PC übertragen.
1. Umrechnung dieses Bildes für LED's (macht der PC)
2. Übertragung der Daten an die Steuerplatine( DVI, USB, RS232/485)
3. Schnittstelle zwischen Steuerplatine und AVR oder ähnliche
4. Soll der AVR mit der PWM beauftragt werden oder exterene IC's?
Vielleicht könnt Ihr mir hierzu noch einige tipps geben :)
Gruß Martin
@Sven: da warts du wohl etwas schneller :)
@Magnus: Du hast recht es geht nur um die Planung. Uns ist auch kalr das
die realisierung eines solchen Projektes einige tausend Euro
verschlingen würde und nix für bastler ist :)
Gruß
Moin...
na bitte, richtiger Ansatz!
Allerdings scheint es mir, ihr wollt keine "Tipps" sondern Lösungen...
zu 1:
Aha. Hey, PC, rechne mal mein Bild in ein passendes Format... klingt so
nach dem "Do what I MEAN" Knopf der gerne mal gesucht wird. Einlesen
über Framegrabber ist wohl gesetzt, WIE stellt ihr euch das
"Ausgangsformat" überhaupt vor? Wäre schon hlfreich.
zu 2:
Sobald ihr wißt wieviele Daten ihr erzeugt, könnt ihre eine Übertragung
wählen. (Peildaumenauspack)
640x480 (pixel)
x3 (Farben)
x8 (Farbtiefe)
x25 (Wiederholrate 1/s )
= 184320000 bit/s
~ 22 MByte/s
VIEL SPASS mit den Randbedingungen...!
Einige der Parameter sollten etwas abgespeckt werden, Auflösung und
Wiederholrate sind die besten Kandidaten.
zu 3:
Hä? verstehe ich jetzt nicht.
zu 4:
Testen, testen, testen.
Bevor ihr nicht wißt WIE und WELCHE Daten ihr verschickt, könnt ihr kaum
planen welche Komponente das managen soll. Ohne jetzt zusehr
nachzudenken würde ich an riesige Schieberegister denken die von einem
zentralen Verteiler gefüttert werden. Würde ich in FPGAs realisieren,
wären dann auch gleich für x-PWMs zuständig.
--
SJ
Hallo Sven
also:
zu 1.
Hierbei ist an eine selbstgeschriebene software gedacht die nach
bestimmten kubischen interpolationen bzw extrapolationen das Orginalbild
entsprechend herunterrechnet. Ähnlich einem Grafikprogramm.
diese datei bzw. daten sollten dann wohl seriel an die Steuerplatine
übertragen werden.
Das Datenformat ist durch die selbstgestalltete software völlig frei
wählbar.
Gibt es evtl. schon fertige software die verwendet werden könnte?
zu 2.
Hier wäre es sicherlich möglich die anzahl an pixel auf 320x240 zu
reduzieren und auch die wiederholrate auf 20x/sec zu reduzieren
zu 3.
da ja wie oben angesprochen die LED's in module aufgeteilt werden ist
eine Steuerplatine erforderlich:
PC->Steuerplatine->LED-Module
d.h. Schnittstelle zwischen PC und Steuerplatine und dann noch eine
Schnittstelle zwischen der STeuerplatine und den ganzen modulen.
Ein möglicher ansatz war PC-> steuerplatine mit Ethernet
Hierbei ist aber die echtzeit wohl das problem
Steuerplatine -> LED-Module mit USB, i2C, oder seriel via RS232/485
Gruß
Hi,
mensch, zur Hauptaufgabe PLANUNG hat hier gar keiner Lust, oder ? :-)
Vorgabe ist VGA-Ansteuerung, d.h. über Pixeltakt, V-und H-syncimpuls
muss die RGB-LED ausgewählt werden (auf ersten Blick klassischer Job für
Zeitzeichengeber, Zähler & Co., oder?) und diese für den
infragekommenden Zeitraum mit einem der R/G/B-Videoamplitude
entsprechenden Strom zum leuchten gebracht werden... ich würde wetten,
der Signalpfad für die Farbauszüge kann frei von Digitalen Komponenten
sein (abgesehen vielleicht von einem enablesignal).
Zeilenauswahl: Zähler der von V-sync resetted wird und bei H-Sync um
eins weiterzählt und dessen "Zählergebnis" die aktivierte Zeile vorgibt.
Spaltenauswahl: sobald eine Zeile aktiviert ist, zählt ein Zähler die
Takte die eine Pixeluhr vorgibt. Das Zählergebnis selektiert die aktive
LED in der Zeile. Sowas kann man machen indem durch den Zählerausgang +
Transistor (BC547 oder so, das sind die Dinger mit Basis, Kollege und
Emitter) die Kathoden einer RGB-Gruppe an Masse legt, und das RGB-Signal
an den zugehörigen Anoden anbietet, parallelgeschaltet.
Ich weiß nicht aus welcher Richtung des Einsatzes von Mikrocontrollern
kommt, aber das wäre hier so nützlich wie ein Salzstreuer für Schnecken.
Oder ?
Grüße,
Hendrik.
@ Hendi
So wird das nix. Wenn jede LED nur 1/307200 der Zeit an ist, muss diese
mit dem 307200 fachen Strom angesteuert werden, damit diese normal hell
leuchtet. Ich glaube nicht, dass eine LED 3072A verkraftet...
@ Martin
Das was ihr per PC machen wollt, macht doch die Grafikkarte von alleine:
Einfach auf 640x480 stellen und per DVI einen FPGA anschließen.
Dieser FPGA speichert das Bild in einem RAM und sendet es parallel an
die einzelnen AVRs (per UART, SPI. o.ä.) Mit einem AVR kann man maximal
8x8 Pixel, also 192 LEDs ansteuern. Für mehr reicht die Rechenleistung
nicht. Das ergibt also 80*60, also 4800 LED Module !!!
Die Datenrate liegt jetzt nur noch bei 4800Byte/s für jeden AVR.
Vergesst bitte nicht, dass ein AVR einen extremen Rechenaufwand mit dem
PWM hat. PWM mit ordentlicher Auflösung (16bit) bei mehr als 100Hz
Wiederholrate treibt ihn schon bei sehr wenigen Kanälen zum Anschlag.
8bit PWM ist nicht zu empfehlen, da ihr noch eine Art Dimmer Kurve
implementieren müsst, da die LEDs nicht linear zum PWM heller werden.
Wenn ihr das nicht macht, habt ihr nur eine sehr schlechte Auflösung der
Helligkeit die zudem nicht mal linear ist.
Kurz gesagt: Ihr könnt es wahrscheinlich vergessen die LEDs per AVR
anzusteuern, wenn ihr nicht tausende davon für das PWM verbauen wollt.
Ich denke, dass Euch nur Logikbausteine wie z.B. ein FPGA als Lösung zur
PWM Erzeugung bleiben.
Wie gesagt: Schat mal in den oben genanten Xilinx Artikel zur LED Wand
am Timessquare rein. Ist mit sicherheit sehr lehrreich - auch wenn ihr
nicht gleich 2 Millionen Pixel steuern wollt.
Gruß,
Thomas
nur mal so ein Gedankenzug dazu...
Bevor man anfängt, das ganze digital zu lösen - ein RGB Signal (analog),
spalten zähler, der beim Zeilenrücksprung resettet wird und dann durch
einen frei laufenden, einstellbaren Taktgenerator den Zähler von links
nach rechts durchzählt und das RGB Signal "Scannt". Genauso könnte man
auch mit den Zeilen verfahren. Vor den Treiber einen kleinen C, der den
Wert der Helligkeit bis zum nächsten Bild speichert und gut is.
Ist doch ganz einfach, oder? :-)
Gruß,
Tubie
Hallo zusammen,
also ich beschäftige mich schon seit längerem mit dieser Thematik,
die grobe Planung steht bei mir bereits. Der Teufel liegt jedoch im
Detail.
Zum Thema RGB auf digital :
Hier gibt es Bausteine welche ein entsprechendes Interface bieten,
Ich glaube der AD9880 bin mir aber nicht ganz sicher. Dieser nimmt die
RGB Signale auf und gibt diese Digital raus(schon getestet).
Um ein film auf der Videowand zu gucken reicht der Windows Mediaplayer,
da kann man die Auflösung einstellen.
Du brauchst auf jeden Fall ein FPGA welches von dem ganze Bild
(1024x800) die benötigten Informationen raus sucht und an das
entsprechende Modul weiterleitet.
Detailliertere Informationen kann ich dir im laufe der Woche zumailen,
schick mir doch mal ne mail, so dass ich daran denke, da ich nicht
täglich hier im board bin.
mail : marekswierzy@freenet.de
gruß
marek