PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 1000 LEDs ?



11.10.2004, 20:25
hallo zusammen,

meine frage hat zwar nicht direkt was mit roboter zutun, aber vielleicht kann mir ja doch jemand weiterhelfen.

ich bin künstler uns möchte 1000 verschiedene leds einzeln ansteuern können. kann ich sowas mit einem cc2 machen? oder welche infrastruktur könntet ihr euch vorstellen?

vielen dank

jdc

Pascal
11.10.2004, 20:42
mit cc2 kenn ich mich net aus, ich könnt mir des ganze mit nem AVR vorstellen, an den du zig schieberegister hängst und daran die LEDs

ein schieberegister ist ein IC, den du mit drei Datenleitungen "fütterst" und 8 Ausgänge erhältst, die kann man aber hintereinanderschalten, so dass du beinahe beliebig viele Ausgänge erhältst

darüber wurde schonmal diskutiert, such also am besten mal danach

tobimc
11.10.2004, 20:47
HI Gast!

Du könntest mit der CC2 oder einem AVR von Atmel (www.atmel.de)
und Seriellen Schieberegistern arbeiten.
(So viele I/Os hat kein µC...)

Allerdings müsstest du auch auf ein externes RAM zugreifen,
(z.B. über I²C).
Naja obwohl... Mega32... 125Byte... musste reichen...

Aber 1000 LEDs... Das wird ein Weilchen gehen, die alle zu steuern...

Du bräuchtest ausserdem 125 Schieberegister (z.B. 74HC595)

Wenn's fertig ist, poste mal n Bild... :D

Liebe Grüße,
Tobi

phreak
11.10.2004, 21:08
naja und ob du das dann wirklich steuern kannst bei 125 schiebereglern ??? :p

Manf
11.10.2004, 21:18
Für die Ansteuerung einer großen Zahl von Elementen mit minimaler Hardware nimmt man Matix- und Zeitmultiplextechnik.
Logisch, nicht unbedingt auch räumlch kann man die Elemente in 33 Zeilen und 33Spalten anordnen und in 33 Zeitschritten jeweisl eine Zeile aktivieren mit dem dazugehörigen Muster in der Spalte.
Die Aufgabe reduziert sich damit auf den Betrieb von 66 Leitungen, was auch nicht ganz billig ist.
Vielleicht gibt es das Gesuchte auch schon fertig (LED Matrix-Laufschrift), vielleicht sogar gebraucht, aber für die Kunst darf es ja vielleicht auch teuer sein.
Manfred

tobimc
11.10.2004, 21:20
HI,

Das ist ja auch nur ein oder aus.
Wenn man regeln will, muss man für jede LED ein Byte rechnen,
das heißt dann, 1KB an Informationen.

RAM! I²C! Langsam!

Mit normalen I²C DCAs wird das ungefähr... 100 Sekunden brauchen.
Allerdings kann man nicht 1000 gleiche Bausteine an den I²C anschliessen,
das heißt, man braucht 125 sorten -> gibt es nicht.

Also nur ein bzw. aus, oder das ganze Parallel, mit 1000 595ern...

Man... das sind mal Dimensionen...

Liebe Grüße,
Tobi

SlyD
12.10.2004, 00:05
Naja man muss ja nicht alles mit EINEM µC machen... z.B. nehme man
10 x 10 Matrizen aus LEDs mit jeweils _einem_ billigen µC mit genug I/Os - und von diesen Einheiten dann halt 10 stück... schon hat man die 1000.
Jetzt vernetzt man die Controller z.B. per RS485 oder I2C und kann nun alle LEDs einzeln von einem Host aus ansteuern - ohne 100 Schieberegister oder sowas... (So machen das ja auch längere LED Laufschriften.)
Sicher kann man so nicht gut alle 1000 LEDs in einer Sekunde einzeln umschalten, aber es würde zumindest mit noch vertretbarerem Aufwand verbunden sein - 10 µCs wo einer vielleicht 5 Euro kostet und nen paar Treiber/Transistoren...

PS: Btw. Laufschrift: Und wenn es ständig wiederkehrende Muster geben sollte kann man die auch in den einzelnen µCs vordefinieren und nur mit einem kurzen Befehl anzeigen lassen. Also quasi wie ein großes LCD Display mit vordefinierten Zeichen...

PPS: Natürlich geht das nicht mit einer CC2 - da brauchste dann PICs, AVRs oder sonstwas für damits nicht zu teuer wird.

12.10.2004, 13:26
Natürlich geht soetwas mit der CC2 !
Sehr leicht sogar.
Leider unterschätzen die meisten die Möglichkeiten der CC2.

1000 Ports sind kein Problem:
MAX7311 benutzen = 16 I/Os
max 64 Stck. pro Bus möglich= 1024 Ports (+16 I/Os Ports der CC2 selbst)
Somit bräuchte man nichteinmal eine Matrix benutzen.
Und wenn das auch nicht reicht, kann man immernoch den I²C-Bus multiplexen.

Aber die Ansteuerung mit einer Matrix wäre u.U. dennoch sinnvoller.
Hier wären natürlich Schieberegister ideal.
Allerdings würde ich hier zwischen 8 Zeilen und 125 Spalten bis 12 Zeilen und 84 Spalten arbeiten.
Man braucht hier 11 bis 16 Schieberegister.
Die Zeilendaten würde man direkt an die I/Os der CC2 anlegen und die Spalten über Schieberegister.
Der Vorteil wäre hier, eine irrsinnige Geschwindigkeit. ;-)
Schließlich muß man für jede Spalte nur eine "1" immer um eins weiterschieben.
Und das 84 bzw. 125 mal pro Frame.


Aber: Eine direkte Ansteuerung, also jede LED einzeln, über Schieberegister würde ich nicht machen.
Denn, will man nur eine LED ändern, so muß man alle 1000 aktualisieren.
Und bei 125 Schieberegistern in serie würde ich nicht mit so einer großen Taktrate fahren.
max. 10kHz, mehr würd ich hier nicht machen, ohne SHCLK und STCLK zwischendurch zu puffern.


Die CC2 ist übrigens von den Ressourcen einem ATMEGA mit 16MHz gut überlegen !
Vorrausgesetzt man programmiert direkt in ASM bzw. C.
(Jaja, 16 Bit-Controller haben gegenüber 8Bit schon Vorteile *grins*)
Und vom Speicherplatz kann bis jetzt kein ATMEL mithalten !
Denn, welcher Atmel-Controller hat schon 64kByte RAM und 512kB Flash ??

Aber so nebenbei:
Bei 1000 LEDs brauch man einiges an Strom. ;-)
Mit bis zu 20A muß man hier schon rechnen, wenn alle LEDs an sind und man volle Helligkeit benötigt.

Nowar
12.10.2004, 14:09
Hallo Gast,

wenn die Lämpchen nur statistisch, zufällig blinken sollen, würde ich echte Blikbirnchen mit Bimetall nehmen.
Sonst würde ich ein Brett mit LDR´s oder Phototransistoren basteln die vor einem Bildschirm die Hell/Dunkelfelder von selbstgemachten Bildern abtasten, die zu einer Diasequenz aufgereht werden.

Gruß
Nowar

nestler
13.10.2004, 09:34
Gebe dir vollkommen recht, dass das mit der CC2 geht.
Die Frage ist nur, ob sich das ganze preislich lohnt...

C-Control2: 100 Euro
64 Max7311: xx Euro

Und ob man zum Ansteuern der LEDs wirklich 512kB Flash braucht? ;-)

Preisgünstiger wäre da noch die Alternative 4 AVRs zu nehmen
= 72 Ports > 66 Ports (33 + 33....) + 1 Port

gast32
14.10.2004, 23:42
wow vielen dank,.. nur zum besseren verständniss,... es soll keine matrix mit laufschrift werden,.. die leds sollen 3d angeordnet werden und 3d bilder anzeigen :)

noch ne frage,... wie würdet ihr das vom fachwissen einschätzen? hab relativ wenig ahnung von elektronik. bin aber relativ fit mit java,perl,assembler,basic and so on...

denkt ihr, dass es möglich ist sowas umzusetzen,.. wenn ich einfach mal zum conrad maschier mir ein paar bücher kauf und danach das equipment. oder ist das nicht realistisch als einsteigerprojekt :)

Manf
14.10.2004, 23:46
Erzähl' doch noch etwas davon, ob die LEDs nur ein/aus geschaltet werden sollen oder ob auch die Helligkeit in Stufen gesteuert werden soll.
Manfred

Goblin
15.10.2004, 13:44
hey, das mit den 3d bildern hört sich interessant an...

unbedingt nen video posten, wenn du's hingekriegt hast!

gast32
16.10.2004, 20:51
okay werde ich machen. werd mir am montag paar bücher kaufen undpaar teile zum basteln.

im gunde möchte ich nur 0 oder 1 also an oder aus und eine farbe. ganz simple :) ich möchte sehr helle leds nehmen und diese im abstand von ca 15 cm in einem drahtkonstrukt (welche auch die kabel beinhalten soll) anordnen. die form soll einem fliesenden wal form gleichen,... aber ohne flosse usw. alles 3d.

dann möchte ich bewegte bilder über die leds laufen lassen,..die bilder sollen auch 3d über das ganze objekt laufen,....

naja so hab ich mir das vorgestellt.... :) mal schaun was rauskommt.

ich nehme mal an ich werde hier im laufe der sache öfters posten,.. ihr seid echt super.

grüsse

jonas

Manf
16.10.2004, 20:58
meine frage hat zwar nicht direkt was mit roboter zutun, aber vielleicht kann mir ja doch jemand weiterhelfen.

ich nehme mal an ich werde hier im laufe der sache öfters posten,.. ihr seid echt super.
Wenn es interesant ist, dann sind Roboter ein weites Feld.
Vielen Dank für die Ankündigung, wir sind schon neugierig.
Manfred


p.s.:

Bei 1000 LEDs brauch man einiges an Strom.
Mit bis zu 20A muß man hier schon rechnen, wenn alle LEDs an sind und man volle Helligkeit benötigt.
Ich fand die Bemerkung sehr gut, bei LEDs denkt man sonst immer an Ströme die man leicht auch als Logiksignalströme unter den Tisch fallen läßt. Bei 20A im Multiplexbetrieb muß man sicher noch mal genauer hinsehen.

gast32
16.10.2004, 21:11
noch ne frage, welche bücher würdet ihr mir zum schnellen einstieg empfehlen?

werde es wohl erstmal mit nem ccontrol versuchen, da ich darüber die meisten infos gefunden habe.

avatar
16.10.2004, 21:13
Wenn sich das Bild schnell ändern soll, schlage ich vor ein Dual-Port -RAM zu verwenden.

Auf der einen Seite vom Dual-Port-RAM kannst du das Bild generieren und einfach ins RAM schreiben.

Auf der anderen Seite vom Dual-Port-RAM baust du "Sequenzer" dran. Das ist einfach ein Zähler, der endlos läuft und das RAM ausliest und die Daten an den Multiplexer gibt, an dem die LED's hängen.

Als Multiplexer kannst du entweder eine Matrix nehmen mit
32 Zeilen x 32 Spalten nehmen (=1024) oder
128 Zeilen x 8 Spalten oder... ?

Im ersten Fall könntest du mit 64 MUX-Ausgängen alle 1024 LED's ansteuern. Jede LED wird dabei sowohl an der Anode als auch an der Kathode geschaltet.


noch ne frage, welche bücher würdet ihr mir zum schnellen einstieg empfehlen?Ich kann das hier empfehlen: Einführung in die Mikrocomputer - Technik. Grundlagenbuch der Mikrocomputer- Technik. von Adam Osborne