Hallo, ich bin neu hier, und bin mir nicht ganz sicher, ob ich hier im richtigen Forum bin, aber ich frag einfach mal. Und zwar habe ich hier fast 1000 RGB LED rum liegen. Und das ist ja schade das die hier nur rum liegen, und dachte mir daraus kann man sicher ein schöne Lichtwand bauen. Und nun suche ich was schönes und besonders einfaches (da ich in dem bereicht nicht so fit bin) steuern über den PC. Vieleicht nicht alle 1000 LED´s aber vieleicht so 50 Pro Modul, so hätte man 150 PIN´s die ich gerne steuner würde. Geht das?? Mit welcher Methode könnte man das machen? Ich habe in dem Shop was gefunden was ich sehr nett finde: http://shop.mikrocontroller.net/csc_article_details.php?&saArticle[ID]=78 Wäre es möglich darüber sowas zu realisieren?? Den ein Netzwerk habe hier ich schon im ganzen Haus? So könnte man die Module schön verteilen. Schon mal Danke für eure Antworten. Gruß
Wie wärs, wenn du mal beschreiben würdest, was du unter "ansteuern" verstehst? Willst du damit eine einfarbige Fläche machen, Filme gucken, oder sonst was? Wenn du zuviele LEDs hast, ich hätte interesse ;)
Sagen wir mal ein Modul hat 5X10 LED´S also 50 LED mit 150 PIN (RGB für jede farbe ein PIN)Nun möchte ich einfach sagen können auf welches LED mit welchen PIN Strom kommt. Also Filme nicht, aber eben muster. Ich bin gerne bereicht zu tauschen. LED´s gegen howto zum Steuern ;-)
> Nun möchte ich einfach sagen können auf welches LED > mit welchen PIN Strom kommt. Also Filme nicht, aber eben muster. Wie schnell muss sich das Muster ändern können. Wie schauen die Muster aus? Willst du zb in Rot Abstufungen machen oder reicht Rot Ein/Aus? Grundsätzlich: Du kannst die Leds entweder logisch als Matrix anordnen und multiplexen und über den Multiplex eine PWM realsieren. Oder aber man könnte natürlich auch die LEDS an eine entsprechende Schieberegisterkette hängen. Du siehst, da sind noch einige Fragen offen, bevor man dir was Vernünftiges vorschlagen kann.
@lafkaschar: Du hast mir eine Nachricht zukommen lassen, leider weiß ich nicht wie ich dir darauf antworten kann, daher hier im Forum. Ja ich will die Farben nur ein und aus schalten, nicht dimmen. Eine solche LED Matrix klingt gut, heiß ich hätte ein Marix aus 5X10(x3 für die RGB) @kbuchegg: Der Wechsel von einem "bild" zum andern sollte schon schnell gehen. So das man schöne Muster bauen kann. Philipp
Vergiss es. So wenig Ahnung wie du hast wird das niemals etwas! Ich hab zu Hause viele Autoteile herumliegen (ca. 1000). Wie mach ich daraus ein Auto? Ich hab zwar nicht so Ahnung, es sollte aber ca. 220 km/h können und schön aussehen. Wäre ja schade wenn die Teile nur rumliegen. Verkauf die Leds und fertig!
Der Wechsel von Bild zu Bild ist unkritisch, darüber brauchst du dir erstmal keine Gedanken zu machen, egal welche Ansteuerung du benutzt. Die maximal notwendige Geschwindigkeit dafür liegt bei 100Hz, du hast also sehr viel Zeit -> 10ms pro Bild um die Daten zu verteilen, das ist ne sehr lange Zeit für zb. eine Shiftregister Kette das wären 80000 Ausgänge die man bei 8Mhz Registertakt in 10ms ansteuern könnte. Die Länge einer solchen Kette, oder der Strom der diese ziehen würde, oder die Impulslast beim Einschalten, IST das Problem. Gruß Hagen
> Der Wechsel von einem "bild" zum andern sollte schon schnell > gehen. So das man schöne Muster bauen kann. Das hab ich nicht gemeint. Die Frage ist: Wie oft soll sich das Muster ändern. 1 mal pro Sekunde, 10 mal, 100 mal. > Die maximal notwendige Geschwindigkeit dafür liegt bei 100Hz Mitlerweile hat er auch bekannt gegeben, dass er keien PWM braucht. Reines Ein/Aus reicht. Also: massig Zeit. > Die Länge einer solchen Kette, oder der Strom der diese ziehen würde, > oder die Impulslast beim Einschalten, IST das Problem. Yep. Ich würde bei sovielen LEDs trotzdem eher zu einer Matrix-Lösung und Multiplexing tendieren.
> Karl heinz Buchegger wrote: > Das hab ich nicht gemeint. > Die Frage ist: Wie oft soll sich das Muster ändern. 1 mal > pro Sekunde, 10 mal, 100 mal. Einmal die Sekunde reicht vollkommen, mehr wäre nett aber kein muss.
Philipp Loens wrote: >> Karl heinz Buchegger wrote: >> Das hab ich nicht gemeint. >> Die Frage ist: Wie oft soll sich das Muster ändern. 1 mal >> pro Sekunde, 10 mal, 100 mal. > > Einmal die Sekunde reicht vollkommen, mehr wäre nett aber kein muss. Also massig Zeit für den µC. Vom Stromverbrauch her wäre eine gemultiplexte Matrix sicherlich die bessere Lösung. Ist allerdings vom Verständnis her etwas schwieriger. Wie stellst du dir ein Modul vor? Soll das eine eher flächige Sache oder eher eine lineare Lösung (ala Weihnachtskette) werden. Wie auch immer. Überschlagsmässig: Wenn du dir einen Mega8 holst, hast du ausreichend Rechenpower und genügend Anschlüsse. Mega16 wäre auch eine gute Wahl, auch wenn er grösser ist. Da ist einfach etwas mehr Speicher drinnen, da musst dann von der Programmierung her nicht sparen. Zuallererst würde ich mal die Idee als solches vergessen und einfach mal eine LED an so einen Prozessor dranhängen und mit dieser einen LED spielen. Wirst sehen: Der Appetit kommt mit dem Essen. Plötzlich kommst du nämlich drauf, dass mehrer Farbabstufungen kein Fehler wären, dann kann man nämlich schöne Farbübergänge von einer Farbe zur nächsten machen. Etc. etc.
>> Die maximal notwendige Geschwindigkeit dafür liegt bei 100Hz >Mitlerweile hat er auch bekannt gegeben, dass er >keien PWM braucht. Reines Ein/Aus reicht. Und darauf habe ich geantwortet, 100Hz -> 100 mal pro Sekunde, also 100 Bilder oder eben Muster pro Sekunde. Mehr ist unnötig. Du hast mich da also falsch verstanden, nichts mit PWM oder so. >Vom Stromverbrauch her wäre eine gemultiplexte Matrix >sicherlich die bessere Lösung. Ist allerdings vom Verständnis >her etwas schwieriger. Nein, meiner Meinung nach ist es die kompliziertere Lösung, aus Sicht der Strombelastung. 1.) braucht man nicht weniger Strom als bei einer nicht gemultiplexten Ansteuerung. Bei Multiplexing muß man nämlich in kürzerer Zeit eine proportional höheren Strom benutzen als bei Dauerstrom. 2.) durch die kürzere Zeit der Ansteuerung beim Mulitplexing entstehen höhere Strombelastungen, ergo merh Aufwand. Multiplexing hat nur den Vorteil das man mit wesentlich (quadratisch) weniger Verdrahtungsaufwand auskommt. Lichttechnisch hat es keinen Vorteil. Auch ich würde von vorn herein eine Full-RGB Ansteuerung in Betracht ziehen, sprich nicht nur 6 Farben. Es gibt nun zwei Vorgehensweisen: 1.) nimm komplexe und readymade Bausteine wie die TLC/STPIC Shiftregister die dich vom komplexen Hardwarefummeln befreien. Diese werden dezentral als Modul mit zb. 4 RGB LEDs verteilt und zentral durch einen AVR angesteuert. Du brauchst dann zur Verbindung der Module nur max. 6 Leitungen. Diese Lösung ist par Euro teurer dafür aber einfacher zu warten, aufzubauen, zu verkabeln und die PWM Ansteuerung in fast Echtfarben ist inklusive (TLC Bausteine vorausgesetzt). 2.) mach alles selber, sprich eigene Verdrahtung und zentrale Ansteuerung. Der Aufwand beim Verlegen der LEDs ist dann dementspechen höher und das am Ende irgendwas nicht läuft höher wahrscheinlich. Bei 150*3 LEDs braucht das Minimum Multiplexing 21+22 Datenleitungen. Das setzt aber vorraus das die RGB LEDs einzeln ansteuerbar sind. Diese 43 Datenleitungen müssen quasi an jede der LEDs herangeführt werden. Ziemlich komplex bei 10m^2 Bodenfläche ;) Ich würde ja 1.) bevorzugen. Gruß Hagen
Die maximal notwendige Geschwindigkeit dafür liegt bei 100Hz, du hast also sehr viel Zeit -> 10ms pro Bild um die Daten zu verteilen, das ist ne sehr lange Zeit für zb. eine Shiftregister Kette das wären 80000 Ausgänge die man bei 8Mhz Registertakt in 10ms ansteuern könnte... Hahaha.. Du hast sowas scheinbar noch nie praktisch aufgebaut.. Rein rechnerisch mag die Zahl ja stimmen, aber schon mal darüber nachgedacht, dass diese 80000 (=10Kilobyte PRO BILD) Ausgänge, die du da rausschieben willst, auch irgendwo hergeholt werden müssen? Das bei der SPI schnittstelle jedes Bytes "per Hand" abgeschickt werden muss (bei 8Mhz Schiebetakt alle 1Mikrosekunde ein Byte)? Das diese ausgeschobenen Daten auch zeitgleich dann ausgegeben werden müssen...? So, und unter der Annahme das sei gelöst, dann: Wo kommen die Daten her, die ausgegeben werden sollen...? Es sind ja immerhin 10Kilobyte pro Bild!! Bei nur 100Hz Wiederholrate wären das ja nur 1Megabyte Videostrom...
Ist gar nicht so schwer. Kannst du löten? Wenn ja dann löte die 1000 Leds zusammen (mit Zinn) Dann nimmst du noch dein ENC-Modul und machst es dran. Dazwischen natürlich noch ein Atmega. Am besten mit Bascom programmieren weil einfach! Für die Stromversorgung ein PC-Netzteil, da dieses genug Power hat. Fertig!
>>Hahaha.. Hahaha ;) >>Du hast sowas scheinbar noch nie praktisch aufgebaut.. Doch habe ich. >>Rein rechnerisch mag die Zahl ja stimmen, aber schon mal darüber Jo, sie stimmt sogar exakt, schon mal nachgerechnet ? >>nachgedacht, dass diese 80000 (=10Kilobyte PRO BILD) Ausgänge, die du da >>rausschieben willst, auch irgendwo hergeholt werden müssen? Steht ja noch garnicht zur Debatte ;) Denoch ist das nicht so schwer. 1.) 8Mhz SPI Takt auf einem AVR bedeutet das dieser mit minimal 16Mhz getaktet wird. Das heist auch das wir pro Datenbyte exakt 18 Takte Zeit haben um das nächste Datenbyte zu holen. In 18 Takten können wir ohne Probleme das nächste Datenbyte aus dem SRAM holen oder es live berechnen. 2.) wer erzählt was davon das diese Daten irgendwo hergeholt werden müssen ? Sie können genausogut live berechnet werden, zb. aus einem Zeichensatz. Worauf ich aufmerksam machen wollte, da ich eben sowas ähnliches schon gebaut habe, sind ganz andere Sachverhalte. Nämlich der Punkt das zb. 100Hz Bildwiederholrate ausreichend sind, das man dann alle 10ms ein Bild ausgeben müsste, das man in diesen 10ms mit einem 16Mhz AVR rechnerisch 80000 LEDs seriell ohne "Probleme" ansteuern könnte, das diese 80000 LEDs insgesamt 27000 RGB-LEDs wäre und das das viel mehr als nur 1000 RGB-LEDs sind, das das nur ein Siebenundzwanzigstel der Menge ist, das also die Frage nach Zeitproblemen bei der Ansteuerung von 1000 LEDs, nach der Bildwiederholrate oder ähnlichem, absolut überflüssig und voreilig sind. Das alles sind nicht die realen Probleme über die man nachdenken sollte. Es sind Fragen wie: - Verdrahtungsaufwand - Stromlast - Hardwarekomplexität jeweils ob man nun alles selber macht, per Multiplexing oder nicht, oder ob man fertige Bausteine dafür nimmt die mehr kosten. >>Das diese ausgeschobenen Daten auch zeitgleich dann ausgegeben werden >> müssen...? Hm, du solltest nicht Anderen vorwerfen das sie keine Ahnung haben ;) Denn eigentlich müsste dir bekannt sein das man fast alle Shiftregister durch ihr internes Latch im Hintergrund mit Daten füllen kann. Erst mit einem Enable Signal werden diese Daten dann zeitgleich durch alle Register real ausgegeben. Das heist also -> es ist absolut kein Problem die Daten für das nächste Bild, während noch das aktuelle angezeigt wird, in die Register reinzischieben und dann zeitgleich für alle Register anzeigen zu lassen. (Die gleiche Technik ist übrigens auch bei der SPI Ausgabe mit dem AVR möglich. Also auch hier kann man, wärend ein Byte per HW-SPI rausgeschoben wird, das nächste Datenbyte vorbereiten oder zb. aus dem SRAM holen. Wie gesagt stehen dafür AVR-Taktfrequenz/SPI-Taktfrequenz*8 + 2 Takte an Zeit zur Verfügung, also ausreichend Zeit) Ergo: für die Berechnung und Aausgabe des nächsten Bildes stehen volle 10ms an Zeit zur Verfügung. Das ist in jedem Falle, auch wenn es 10KByte an Daten wären, ausreichend Zeit, auch für einen AVR. Da man eben 1.) die Bytedaten beim SPI quasi im Hintergrund holen kann, man also volle 8Mhz SPI ohne Zeitverlust erreichen kann 2.) die Shiftregister mit neuen Daten füllen kann obwohl sie gerade ein Bild anzeigen Es wird zu anderen Problemen kommen. Zb. werden durch diese zeitgleiche/gemultiplexte Anzeige enorm hohe Impulsströme entstehen. Schau dir mal das Datenblatt des TLC59xx Registers an. TI hat bei diesen Registern aus diesem Grunde die Übernahme der Daten an die einzelnen 16 Ausgänge um jeweils +20ns versetzt. D.h. bei neuen Daten werden die 16 Ausgänge nicht gleichzeitig sondern einzeln um 20ns versetzt aktiviert. Das reduziert die Stromlast erheblich beim Multiplexing etc.pp. Um so mehr man multiplext um so höher müssen aber wiederum die LED Ströme eingestellt werden um die gleiche Helligkeit zu erreichen als wenn man mit Dauerstom die LED ansteuern würde. Das Multiplexing verringert also einerseits den Verdrahtungsaufwand eorm, erhöht aber dementsprechend die LED Ströme und damit die Impluslast der Shiftregister usw. Gruß Hagen
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.