N'abend,
ich muesste ueber Spi an dem 4 Schieberegister haengen, 25 Led's
multiplexen. Es geht nur ueber Spi, Controller ist ein ATmega32.
Ich hatte mir das so ueberlegt:
Das Problem ist nur, dass das so nicht funktioniert, und ich hab auch
keine Ahnung warum. Hab allerdings auch noch nicht soviel Ahnung von der
ganzen Materie. Spi an sich funktioniert einwandfrei, wenn ich
allerdings obigen Code verwende, gehen erstmal 1-2 Led's an und dann
startet der Controller neu.
Wie koennte man das anders loesen, bin fuer jede Hilfe dankbar.
Gruß
Peter
>ich muesste ueber Spi an dem 4 Schieberegister haengen, 25 Led's
Für 25LEDs reichen auch zwei Schieberegister.(eigentlich sogar 10Pins)
Dein COde ist unvollständig und der Schaltplan fehlt auch
ich hab da mal schnell was zusammen gebastel, das jetzt nicht perfekt,
aber versinnlicht wahrscheinlich das was ich meine, gab es so aehnlich
hier schon mal.
Wie soll denn das mit 2 Schieberegistern gehen?
Zum Code folgt gleich?
Gruß Peter
Lass mich raten, RGB LEDs mit gemeinsamer Anode? ;-)
Ja wo liegt jetzt das Problem?
Bitmuster reinschieben, entprechende Spalte aktivieren, nächster
Durchlauf.
Siehe LED-Martix.
Ach ja, Multiplexen macht man IM Timerinterrupt. Und bevor du das nicht
wirklich verstanden UND umgesetz hast, solltest du die Idee mit
zusätzlicher PWM mal ganz fix vergessen. Mach erstmal das reine Muxen
OHNE PWM.
MFG
Falk
Nicht ganz gemeinsamer Kathode haben die RGB-Led`s.
Ja das mit dem Timer war mir eigentlich auch schon klar, das war im Code
falsch umgesetzt.
Naja mein Problem jetzt ist eigentlich, es sind immer alle R, alle G und
alle B verbunden, das kann ich auch nicht aendern, das hab ich so
bekommen. Wenn ich jetzt als Beispiel 0x7C in die Schieberegister
schiebe und R,G oder B setze, gehen 5 Led's an, sind aber nicht
multiplext.
Das ist jetzt mein Anliegen rauszubekommen, wie das geht?
Gruß Peter
Die Schaltung ist sinnlos kompliziert und geht trotzdem nicht.
Die unteren Schieberegister sind ja alle parallel geschaltet mit MOSI,
SCK und RCK. Das bedeutet, alle werden immer denselben Inhalt haben.
Unsinn.
Machs dir nicht kompliziert und nimm zwei Schieberegister.
Siehe LED Matrix
PS: Vorwiderstände fehlen (zumindest im Schaltplan)
Der COde ist auch zu kompliziert.
Wie Falk sagte:
Nen Timerinterrupt, der immer nur eine Spalte ausgibt.
Danke fuer den Hinweis, aber trotzdem geht das doch bei mir nicht,
dadurch das hier alle R-Anoden, alle G-Anoden und alle B-Anoden
verbunden sind, so funktioniert das Prinzip der Led-Matrix ja nicht.
Gruß Peter
Matthias Lipinsky wrote:
> Machs dir nicht kompliziert und nimm zwei Schieberegister.> Siehe LED Matrix
LED Matrix
(Diese Seite enthält momentan noch keinen Text)
Ach so, ein Leerzeichen statt eines Bindestrichs...
Nichts gegen Schieberegister am SPI (habe ich bei meiner Nixieuhr
auch gemacht), aber dafür, dass an den Schieberegistern gerade mal
4 Ausgänge benutzt sind und man für die Ansteuerung über SPI auch
bereits drei Pins braucht, hätte sich nicht das vierte Pin gleich
noch am Controller finden lassen?
@ Peter (Gast)
>Nicht ganz gemeinsamer Kathode haben die RGB-Led`s.
Dann ist dein Schaltung aber sinnlos. Denn dort ist für die gemuxten
Zeilen ein High Side Driver drin.
>Ja das mit dem Timer war mir eigentlich auch schon klar, das war im Code>falsch umgesetzt.
Na dann setz mal richtig um.
>Naja mein Problem jetzt ist eigentlich, es sind immer alle R, alle G und>alle B verbunden, das kann ich auch nicht aendern,
Wozu auch, so arbeitet eine LED-Matrix. Und das ist auch gar kein
Problem.
> das hab ich so bekommen. Wenn ich jetzt als Beispiel 0x7C in die >Schieberegister schiebe und R,G oder B setze, gehen 5 Led's an, sind aber >nicht
multiplext.
Das ist EIN Schritt im Multiplexen.
>Das ist jetzt mein Anliegen rauszubekommen, wie das geht?
Ist das sooooo schwer? Artikel gelesen?
Datenmuster für Zeile 1 (=Rot) ins Schieberegister eintakten
Zeile 1 aktivieren, Zeilen 2 und 3 deaktivieren
5ms warten (per Timer)
Datenmuster für Zeile 2 (=Grün) ins Schieberegister eintakten
Zeile 2 aktivieren, Zeilen 1 und 3 deaktivieren
5ms warten (per Timer)
Datenmuster für Zeile 3 (=Blau) ins Schieberegister eintakten
Zeile 3 aktivieren, Zeilen 1 und 2 deaktivieren
5ms warten (per Timer)
Sequenz beginnt von vorn
MFg
Falk
@ Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
>auch gemacht), aber dafür, dass an den Schieberegistern gerade mal>4 Ausgänge benutzt sind und man für die Ansteuerung über SPI auch
Das soll glaub ich eine Prinzipskizze sein, kein echter Schaltplan.
Allerding s ist auch die Skizze vollkommen falsch ;-)
MFG
Falk
>wie dann mit 2 Schieberegistern?
Als ich sagte, 2 Register, wusste ich nicht, dass es RBG LEDs sind!
Somit brauchst du doch 4Register
Du musst das so tun: siehe Anhang.
(mit der PWM kannst du die komplette Matrix dimmen)
@ Peter (Gast)
>Dateianhang: ablage.png (45,4 KB, 6 Downloads)
Das ist keine echte Matrix. Denn in der wären Zeilen und Spalen jeweils
verbunden, du hast aber fast alles einzeln angeklemmt, und besch***en
gezeichnet obendrein.
>^^hm kay, anders, ich mein das so, wuerde das funktionieren, wie dann>mit 2 Schieberegistern?
Nicht wirklich. Für 5x5 RGB LEDs mit gemeinsamer Kathode, siehe Anhang.
MFG
Falk
Ok, kleine Korrektur. Es doch eine LED-matrix, wenn gleich eine
unbrauchbare. Das ist ein 3Bit 25:1 Mux, das machen die wenigsten LEDs
lange mit. Und unnötig aufwändig obendrein.
MFG
Falk
Danke, das ihr euch solch eine Arbeit macht, aber das Ding ist, dass das
so, siehe Anhang, neben mir steht, fertig geloetet, und ich die
Ansteuerung realisieren soll und das dachte ich mir, mach ich wie ein
bisschen weiter oben gesagt.
>neben mir steht, fertig geloetet,
Man ist das irgendein neuer Volkssport?
Irgendwas sinnlos zusammenbauen und dann auf Krampf versuchen, da ne
sinnvolle Funktion zu erhalten??
Reiß es ausnander!
Oder lass es von dem in Ordnung bringen, der wollte, dass das so
verdrahtet wird!
Merke:
Erst Denken, dann Bauen!
Peter wrote:
> Danke, das ihr euch solch eine Arbeit macht, aber das Ding ist, dass das> so, siehe Anhang, neben mir steht, fertig geloetet
O.k. dann ist das wohl ein Fall für die Mülltonne.
Da fehlen nämlich die Vorwiderstände und die müssen je nach Farbe
unterschiedlich sein.
Also das ganze nochmal, aber mit 75 Widerständen drin.
Und die alten Darlingtontreiber haben bei 3,6V (blaue LED) zuviel
Spannungsabfall, dürften also nicht mehr funktionieren an 5V.
Daher sollte man etwas moderner sein und FETs nehmen.
Für die Katoden gibts sogar Schieberegister mit FETs fertig, z.B.
TPIC6B595.
Ein Multiplex 1/25 dürfte kaum genügend Helligkeit bringen, daher 1/3
nehmen.
Also die 3 Farben multiplexen und dazu die 25 Bits je Farbe
reinschieben.
Peter