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
@ 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
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.
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