Forum: Mikrocontroller und Digitale Elektronik LED Matrix Layout


von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebe Gemeinde,

ich bin gerade dabei, für mein Homecockpit eine LED Platine zu 
entwickeln.
Das ganze soll über einen AVR gesteuert werden. Anscheinend eignet sich 
schon der Attiny2313 dafür. Das ganze soll für etwa 200 Leds verwendet 
werden(oder mehr). Ansteuerung: kaskardierte Schieberegister für die 
Spalten und ein 3zu8 Latch für die Zeilen(5x8)
Hier ein Link zu dem was ich sozusagen nachbaue:
http://attiny.com/scroll5.htm

Ich bin gerade dabei zu überlegen, wie ich das mit dem Layout machen 
soll...
Ich möchte ja kein Lauflicht, sondern einzelne ausgänge, an die ich LEDs 
anschließen kann(per Kabel zu den einzelnen Bereichen, z.B. für die 
Fahrwerksanzeige etc.). Ein weiteres Problem ist das es nicht immer 
gleichfarbige LEDs sind, also Rote, grüne, blaue, gelbe etc..

Nun kam mir die Idee, das ganze in Bausteinen aufzubauen:
Ich nehm immer einen 8er Block(also ein Schieberegister), bei dem ich 
dann die Vorwiderstände an die jeweilige Farbe der LED anpasse. Von da 
aus gehts dann per Stecker(Flachbandkabel, ISP Buchse sowas in der art) 
zu einer anderen Platine, auf der dann die Matrix in Lötpunkte oder 
etwas ähmliches ausgeführt ist.

Im Anhang is eine (sehr) grobe Zeichnung davon:
Platine 1 ist die Masterplatine mit dem Attiny drauf und den LED 
Treiber(ULN2003), den Schieberegistern und dem 3zu8 Converter, sowie 
eine UART Schnittstelle. An dem ersten Schieberegister werden die 
Vorwiderstände(nicht eingeziechnet) dann z.B. für Rote Leds 
gewählt(natürlich Pulsstrom). Die 5*8 Matrix wird dann über ein 
Flachbandkabel weitergeleitet zur Platine 2, auf der sich dann 
Anschlussmöglichkeiten für die LEDs bietet. Somit erspare ich mir großes 
rumgetue auf der Masterplatine. Diese soll auch noch erweiterbar sein, 
d.h. ich werde als erstes nur ca. 5 Schieberegister auf die 
Masterplatine setzen, die ich aber mit einem "Erweiterungsstecker" noch 
auf z.B. 9 Schieberegister erweitern kann(einfach weiter kaskardieren, 
per Dip schalter dann die Zahl der Schieberegister einstellbar).

Meint ihr dass das eine gute Überlegung ist? Würde das laufen?
Wie muss ich die Vorwiderstände dimensionieren? Sollte ich lieber einen 
Atmega8 nehmen?
Wie sollte ich das Layout aussehen lassen? Schaff ich das auf einer Lage 
Platinen?
Ich bin mir auch beim Datenaustauschprotokoll noch nicht sicher, wie ich 
das aussehen lassen soll... Ich muss ja jede LED einzeln asteuern 
können...

Gruß und danke schonmal für die Hilfe,

Tom

von Falk B. (falk)


Lesenswert?

@  Tom (Gast)

>Das ganze soll über einen AVR gesteuert werden. Anscheinend eignet sich
>schon der Attiny2313 dafür. Das ganze soll für etwa 200 Leds verwendet
>werden(oder mehr).

hmm, im Prinzip ja, aber da du ja noch ne Menge Steurungskram für dein 
Cockpit braucht, wird deim 2313 fix der Flash ausgehen. Nimm was 
grösseres. Für ein Einzelstück spielt der Preis sowieso keine Rolle.
Mega32 oder Mega 64.

>Fahrwerksanzeige etc.). Ein weiteres Problem ist das es nicht immer
>gleichfarbige LEDs sind, also Rote, grüne, blaue, gelbe etc..

Dafür nimmt man statt normaler Schieberegister und Vorwiderstände besser 
Schieberegister mit Stromquellen, die passen sich den verschiedenen 
Flußspannungen automatisch an. Siehe LED-Matrix, der TLC 5921 & Co 
ist dein Freund.

Wenn du aber 200m LED eher unregelmässig verteilt ansteurn willst, wird 
das per LED-Matrix auch ein sehr wildes Drahtverhau. Ausserdem holst du 
dir dann auch ggf. elektrische Probleme an den Hals, Stucwort 
Multiplexpulsströme.

Hier ist es eher sinnvoll, lieber mehrer kleine Boards zu nehmen, an dem 
z.B. 20 LEDs direkt angesteuert werden. Diese Boards werden dann per 
RS-485 oder CAN-Bus verbunden. Spart Kabelsalat.

>Ich bin mir auch beim Datenaustauschprotokoll noch nicht sicher, wie ich
>das aussehen lassen soll... Ich muss ja jede LED einzeln asteuern
>können...

Nimm DMX512, das ist fix und fertig und einfach.

MFG
Falk

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

> für mein Homecockpit

wasn das?

von Tom M. (tomm) Benutzerseite


Lesenswert?

Falk Brunner schrieb:
>>Das ganze soll über einen AVR gesteuert werden. Anscheinend eignet sich
>>schon der Attiny2313 dafür. Das ganze soll für etwa 200 Leds verwendet
>>werden(oder mehr).
>
> hmm, im Prinzip ja, aber da du ja noch ne Menge Steurungskram für dein
> Cockpit braucht, wird deim 2313 fix der Flash ausgehen. Nimm was
> grösseres. Für ein Einzelstück spielt der Preis sowieso keine Rolle.
> Mega32 oder Mega 64.

Ich habe hier einen sehr ähnlichen Aufbau, verdrahtet hab ich derzeit 6 
Zeilen, 8 Spalten. Spiele auch mit dem Gedanken, weitere 6x8er Elemente 
hinzuzufügen. Mir wären Stecker und Pfosten am liebsten, um 90 Grad 
abgewinkelt, damit sich die Elemente einfach nebeneinander stecken 
lassen und nahtlos plaziert werden können, mit Führungsschiene oben und 
unten.

Ansteuerung übernimmt bei mir ein atmega168. Ich programmiere mit C 
(avr-gcc) und habe mit ein paar Spielereien 
(Überblendungseffekte/Scrolling), UART Kommunikation und einem einfachen 
Zeichensatz (nur HEX Ziffern 0..F) knapp 4K flash belegt. Mit nur 2K 
flash wird's sehr eng: Ein unkomprimierter Zeichensatz schlägt schnell 
mit >.5k ein.

von Tom B. (movie85)


Lesenswert?

Hallo und danke für die Antworten!

Hab gerade gemerkt dass ich hier ja schon angemeldet bin:)

@ falk
Danke für die hilfreichen Tipps aber:

1. an Steuerung muss da doch nicht mehr viel rein, der Attiny ist 
lediglich für das multiplexen sowie an und ausschalten der LEDs 
zuständig, die eigendliche Steuerung der LEDS kommt vom PC

2. Ich werd mich mal umschauen, bei reichelt gibst den TLC leider nicht, 
mal sehen was sich vergleichbares bietet, aber dazu: Ich schwimme nicht 
im Geld und möchte alles im Rahmen meines Geldbeutes halten(welches als 
Schüler nicht besonders groß ist :)). Habe gelesen die kosten schon so 
4€(korrigiere mich, ich habs nur innem Forum gelesen) Außerdem hab ich 
bei mir noch ein paar Schieberegister rumliegen:)

3. Die Verteilung wird nicht so dramatisch, die meißten LEDs befinden 
sich sowieso auf einer Fläche von ca. 1m²

Wobei die Idee auch nicht schlecht ist, mehrere kleine Boards zu nehmen, 
an jedem ein attiny und 2 schieberegister vielleicht(Wobei ich dann 
genauso mit meiner Methode arbeitehn kann, ich kann ja auch mehrere 
Treiber parallel laufen lassen, um den Strom nicht ständig zwischen den 
Modulen herumjagen zu lassen:)


Wie gesagt, das ganze wird keine LED Laufschrift, mit extras wie 
Blinken, Zeichensatz oder Bewegen, sondern eine reine LED 
einzelansteuerung.

Da spar ich mir viel code, und alles ist auch nicht so Zeitkritisch, 1 
sek Verzögerung ist nicht weiter schlimm...

Die Idee mit dem DMX512 ist nicht schlecht, wobei der auch recht groß 
ist, da glaube ich für reines an-aus ist der etwas überdimensioniert, 
ich werd mich wohl an ein eigenes Protokoll bemühen, wobei ich da noch 
nicht so viel Erfahrung habe... Vielleicht sowas wie:
Startimpuls, dann einfach seriell alle Zustände reinschieben, beginnend 
mit der letzten LED also z.B.
start-0-0-1-0-0-1-0-1-0-0-0 etc...(Halt wie ein Schieberegister)

@ Wegstaben Verbuchsler
Ein Homecockpit? Ein eigenes FLUGZEUG:)
schau mal hier:
http://forum.flightxpress.net/index.php?page=Thread&threadID=23334&s=8be3ad80103bd7fe683ab0aaef0b3aed38b75feb

Gruß,

Tom

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
Noch kein Account? Hier anmelden.