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
und wie sieht denn das Netzteil aus, das immerhin 3000 Ampere liefern muss, wenn man mal von 10 mA pro LED ausgeht?
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.
Irgendwie muß es gehen am Hamburger Hauptbahnhof hing jahrelang so eine Grafische Anzeigetafel.
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
Hi, also hier ist ein sehr interessanter Artikel darüber, wie man sowas per FPGA's löst: http://www.xilinx.com/publications/xcellonline/xcell_51/xc_es-tsquare51.htm Gruß, Thomas
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
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.