Pages: [1] 2   Go Down
Author Topic: 8 X 40 LED Panel mit Maxim 7219 2m X 0,4m und jede menge Fragen  (Read 1728 times)
0 Members and 1 Guest are viewing this topic.
Berlin
Offline Offline
Newbie
*
Karma: 0
Posts: 46
Ich bin ja bereit alles zu lernen, bin leider auch nur ein Mensch!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo liebe Community!

Hab vor einiger Zeit mein Großprojekt Dauerbaustelle im Wohnzimmer begonnen wo ich nun langsam zum Bereich Elektronik komme. Bei meinem Projekt handelt es sich in erster Linie um eine Trockenbauwand mit diversen Extras. Zu diesen Extras soll nun auch ein LED-Panel gehören. Zum besseren Verständnis hier mal was zum gucken.



Dieses Panel soll in Zukunft Zeit, Datum und Text anzeigen. Momentan wird es noch monocrom mit grünen Standard-LEDs gebaut. Für 320 RGB-LEDs fehlt mir denn doch das nötige Kleingeld.
Für das Multiplexing verwende ich 5 Maxim 7219 welche ich nach meinen bisherigen Recherchen parallel schalten werde. Jedes 8 X 8 Display-Segment bekommt einen Max für Zeilen und Spalten. Soweit die Theorie.

Nun mal zu meiner ersten Frage:
Theoretisch liefert ja mein Arduino maximal 1A, ich werd aber das Gefühl nicht los das das nicht reichen wird bei der Menge an LEDs. Hab zwar bis jetzt überall gelesen das der Max ohne Widerstände und Transistoren auskommt, nur befürchte ich, das die Helligkeit den Bach runtergeht, sobald mehr Strom gefordert wird als vorhanden. Im Extremfall würden ja alle 320 LEDs leuchten und das ergibt nach meiner Rechnung einen Wert von 0,02 X 320 = 6,4A. Ist es  möglich mit dem Max Transistoren zu schalten welche mir dann den nötigen Strom für die LEDs liefern? Gut wenn ich mal das bis her gelesene rekapituliere, sollte der Max die Reihen nacheinander durchschalten, demzufolge wären dann 8 LEDs mit einmal im Höchstfall an, also 160 mA. Warscheinlich stimmen beide Überlegungen nicht, weil ich noch irgendwas nicht richtig verstanden habe.

Für den Anfang sollte das erstmal reichen. Bis diese Frage nicht geklärt ist, glaube ich nicht das ich die Max schon auf die Platte bringen sollte.

Ich bedanke mich schon mal im Voraus bei allen die mir mir Rat und Tat zu Seite stehen, meine Freundin wirds auch danken wenn das Wohnzimmer nicht mehr wie ne Baustelle aussieht.

LG aus Berlin
Daniel
Logged

Austria
Offline Offline
Full Member
***
Karma: 2
Posts: 107
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Nun mal zu meiner ersten Frage:
Theoretisch liefert ja mein Arduino maximal 1A, ich werd aber das Gefühl nicht los das das nicht reichen wird bei der Menge an LEDs. Hab zwar bis jetzt überall gelesen das der Max ohne Widerstände und Transistoren auskommt, nur befürchte ich, das die Helligkeit den Bach runtergeht, sobald mehr Strom gefordert wird als vorhanden. Im Extremfall würden ja alle 320 LEDs leuchten und das ergibt nach meiner Rechnung einen Wert von 0,02 X 320 = 6,4A. Ist es  möglich mit dem Max Transistoren zu schalten welche mir dann den nötigen Strom für die LEDs liefern? Gut wenn ich mal das bis her gelesene rekapituliere, sollte der Max die Reihen nacheinander durchschalten, demzufolge wären dann 8 LEDs mit einmal im Höchstfall an, also 160 mA. Warscheinlich stimmen beide Überlegungen nicht, weil ich noch irgendwas nicht richtig verstanden habe.

Jeder MAX schaltet max. 8 LEDs auf einmal und brauchst 5 MAX also ergibt sich der Maximalstrom I = 20mA * 8 * 5 = 800mA

Du musst aber beachten das du durch das Multiplexen an Helligkeit verlierst. Jede LED leuchtet ja nur 1/8 der Zeit.(Duty Cycle)
Deswegen könntest du den Strom(20mA) vervielfachen, ohne dabei den LEDs zu schaden. Wieviel du den Strom erhöhen darfst musst du aus dem Datenblatt entnehmen. Dort ist aber meistens nur der " Peak Forward Current" für "Duty Cycle = 1/10" angegeben, deswegen muss man(n) da ein wenig schätzen.

Grüße,
J3RE
Logged

Berlin
Offline Offline
Newbie
*
Karma: 0
Posts: 46
Ich bin ja bereit alles zu lernen, bin leider auch nur ein Mensch!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo J3RE

OK, also 800 mA, das schafft der Arduino. Nur 1/8 an Leuchtkraft is dann für dieses Projekt wohl zu wenig. Ich bräuchte da schon die volle Leuchtkraft. Somit müßte ich den Strom um Faktor 8 erhöhen, 8 X 0,8 A = 6,4 A. Der Arduino bringt soviel mit Sicherheit nicht und der Max wird sich hierbei wohl auch verabschieden.
Aber schonmal Danke, langsam versteh ich das Funktionsprinzip des Multipelxings.
Logged

Wien
Online Online
Edison Member
*
Karma: 23
Posts: 1658
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

wenn Du eigentlich farbe willst, schau mal nach den ws2812, die haben das schieberegister für 3x1bit schon eingebaut. Du sparst Dir das multiplexing, alles leuchtet mit voller helligkeit, und strom ist auch kein problem, der arduino schiebt ja nur daten raus. 500 stück kosten etwa 70 euro. ich find die dinger grenzgenial und hab mir jetzt mal welche bestellt, kann also über das ansteuern noch nichts sagen, aber es gibt schon beispiele im netz.

gruß stefan
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 234
Posts: 20201
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Theoretisch liefert ja mein Arduino maximal 1A, ich werd aber das Gefühl nicht los das das nicht reichen wird bei der Menge an LEDs.

Ich weiß nicht was DEIN Arduino liefern kann; die Arduinos, die ich kenne können das nicht. Bei denen ist bei ca 450mA Schluß.

Der MAX7219 vermag maximal 40 mA pro LED geben (320mA total), Aber Glaube mir 5mA sind schon fast zu hell (wenn nicht gerade die Sonne draufscheint).
Der MAX7219 kann auch die Helligkeit aller LEDs in 16 Schritten regeln.

Du brauchst ein 5V Netzteil zu 8x5 ILED (Ich weiß nicht welchen LED-Strom Du nun einstellst). (200mA bei 5mA LED-Strom, 800mA bei 20mA und 1,6 bei 40mA). Dieses Netzteil versorgt direkt die MAX7219 und wenn Du willst auch den Arduino am 5V Pin. Bei Verschiedenen Netzteilen Masse zusammengeschaltet.

Quote
Für das Multiplexing verwende ich 5 Maxim 7219 welche ich nach meinen bisherigen Recherchen parallel schalten werde. Jedes 8 X 8 Display-Segment bekommt einen Max für Zeilen und Spalten. Soweit die Theorie.

Die MAX7219 werden nicht paralell geschaltet sondern in Serie.

Arduino Ausgang -> Din MAX7219 A
Dout MAX7219 A -> Din MAX7219 B
Dout MAX7219 B -> Din MAX7219 C usw

LOAD und CLK aller MAX7219 werden paralell geschaltet bzw angesteuert.
Es werden immer die Daten aller 5 MAX7219 übertragen.

Quote
Dieses Panel soll in Zukunft Zeit, Datum und Text anzeigen. Momentan wird es noch monocrom mit grünen Standard-LEDs gebaut. Für 320 RGB-LEDs fehlt mir denn doch das nötige Kleingeld.
RGB-LED können nicht mehr mit dem MAX 7219 angesteuert werden da mit diesen ICs nur 8 Farben möglich sind. Für RGB LED ist das einfachste Du nimmst 5 Rainbowduinis und verlötest die RGB-LEDs wie die 8x8 RGB-Matrix.

Grüße Uwe
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 234
Posts: 20201
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

wenn Du eigentlich farbe willst, schau mal nach den ws2812, die haben das schieberegister für 3x1bit schon eingebaut. Du sparst Dir das multiplexing, alles leuchtet mit voller helligkeit, und strom ist auch kein problem, der arduino schiebt ja nur daten raus. 500 stück kosten etwa 70 euro. ich find die dinger grenzgenial und hab mir jetzt mal welche bestellt, kann also über das ansteuern noch nichts sagen, aber es gibt schon beispiele im netz.

gruß stefan

Ich finde die WS2812 auch genial. Der einzigen Nachteil ist daß sie 5x5mm SMD-LEDs sind und Du darum Dir eine Platine selbst bauen mußt.
Stefan Du mußt nur noch sagen wo Du 500 um 70€ gefunden hast; ich hab sie für 164€ gefunden.
Ansonsten kannst Du einen LED-Strip kaufen und auseinanderschneiden; da brauchst Du dann keine Platine bauen: http://www.ebay.de/itm/4m-240-RGB-LED-Strip-WS2812-5050-SMD-LEDs-integriertem-WS2811-Controller-/350695271467?pt=Bauteile&hash=item51a7112c2b

Grüße Uwe
Logged

Wien
Online Online
Edison Member
*
Karma: 23
Posts: 1658
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi, uwe,

ich find das platinenmachen lustig (und kann trotzdem keine datenblätter lesen...), deswegen vergeß ich immer...

die adresse hab' ich in der firma, ich schreib' sie morgen hier rein.
doch gefunden:
http://rita.en.alibaba.com/product/677814159-213640342/5050_SMD_RGB_LED_with_built_in_WS2811_IC.html
dort haben leute vom mikrocontroller.net schon bestellt, dorther hab ich den link.

gruß stefan
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 234
Posts: 20201
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke Stefan.
Wenn die WS2812 als "5050 SMD RGB LED with built-in WS2811 IC " beschreiben werden (was sie auch sind) ist es schwer den WS2812 zu finden.
Grüße Uwe
Logged

Wien
Online Online
Edison Member
*
Karma: 23
Posts: 1658
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

jaja, immer das gleiche: zu faul zum selber googeln, und dann noch ausreden... smiley-razz

aber im ernst. sag mir bitte, wenn Du bestellen willst, vielleicht häng' ich mich an, oder ich bestelle, und Du...

ich hab' jetzt mal einen 2meter-streifen mit 120 ws2812 bestellt, weil ich an schaltung und code nicht gleichzeitig herumbasteln will. davon kann ich gern ein stück nach bozen schicken, vollkommen uneigennützig, ich hab' nämlich sicher kein problem beim coden mit dem vermaledeiten timing des 2811 (ich wüßte nicht wirklich, was ich da auf elektronischer seite mache, und würde schnipsel aus dem netz ausprobieren).
wenn ich da schon mal was funktionierendes hätte...

gruß stefan
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 234
Posts: 20201
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke Stefan, Hab gestern abend selbst 1m davon bestellt.
Grüße Uwe
Logged

northern germany
Offline Offline
Jr. Member
**
Karma: 2
Posts: 94
Ausbildung: Funkmechaniker, Systemadministrator
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Auf die Gefahr hin das es Offtopic wird, die WS2812 klingen lecker.
Verstehe ich das richtig, dass die Dinger als Schieberegister arbeiten, also die ersten 3x8 bit gehen von AVR in Din erster WS, werden dann weitergereicht über Dout1 an Din2, wenn Din1 die nächsten Daten bekommt usw?

Danke

Dirk
Logged

using arduino leonardo
--
tomorrow today will only be yesterday, so live your life today!

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 234
Posts: 20201
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Auf die Gefahr hin das es Offtopic wird, die WS2812 klingen lecker.
Verstehe ich das richtig, dass die Dinger als Schieberegister arbeiten, also die ersten 3x8 bit gehen von AVR in Din erster WS, werden dann weitergereicht über Dout1 an Din2, wenn Din1 die nächsten Daten bekommt usw?

DankeDirk

http://www.nooelec.com/files/WS2811.pdf Seite 4
Nicht ganz, ich habe verstanden, daß die ersten 24 Bit im ersten Chip bleiben und die nachfolgenden von Do an Din des nächsten Ws2811/12 weitergereicht werden.
Die Sequenz fängt mit einem Reset an (min 50µS LOW)  gefolgt von den Daten wobei mittellanger Impuls und mittellange Pause High ist (1,2µS und 1,3µS) bzw kurzer Impuls und lange Pause Low ist (0,5µS und 2µS) alle Zeiten mit +/-0,15µS Tolleranz. In High Speed Modus halbieren sich die Zeiten von H und L. Der Modus wird über das Pin SET eingestellt.
Die FastSPI Bibliothek müßte den Baustein ansteuern können. http://code.google.com/p/fastspi/

Grüße Uwe
« Last Edit: January 28, 2013, 07:30:40 pm by uwefed » Logged

Wien
Online Online
Edison Member
*
Karma: 23
Posts: 1658
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

beim 2812er kann man den modus nicht verstellen, das SET-pin vom ws2811 ist nicht herausgeführt. warum, kann ich mir nicht erklären, weil am 2812 ja noch ein pin frei wäre. so läuft er immer mit 800Kbps.

gruß stefan
Logged

northern germany
Offline Offline
Jr. Member
**
Karma: 2
Posts: 94
Ausbildung: Funkmechaniker, Systemadministrator
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke an Uwe,

hab das heute noch mal in Ruhe gelesen und auch so verstanden, dass die ersten 24 Bit / 3 Byte im ersten WS281x bleiben, die nächsten im zweiten usw.
Früher hab ich halt Schieberegister mal anders gelernt.
Muss mir mal so einen Meter mit 60 Stück zum Spielen holen ... machen sich bestimmt genial als Statusanzeigen für verschiedene Sachen.

Dirk
Logged

using arduino leonardo
--
tomorrow today will only be yesterday, so live your life today!

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 234
Posts: 20201
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Früher hab ich halt Schieberegister mal anders gelernt.
Dirk, bei den Schieberegistern ist es immernoch so. Du schiebst 1 Bit hinein unadam Ende kommt ein Dit heraus. Um alle Bits herauszuschieben (neue Daten einzugeben) müßen genausoviele Bits hineingeschoben werden wie das/die Schieberegister lang ist/sind.

Grüße Uwe
Logged

Pages: [1] 2   Go Up
Jump to: