Hallo zusammen!
Ihr müsst mir mal helfen. Ich bekomm da nicht so ganz was auf die Reihe.
Ich will die drei RGB Led's via multiplexing anzusteuern. So womit ich
jetzt nicht klar komme ist die PWM steuerung. Folgende Werte sind nur
Beispielwerte.
- Reihe 1 durch die PWM 2.5V z.B.
- Reihe 2 durch die PWM 3.7V z.B.
- Reihe 3 erstmal egal
So jetzt kommt mein Problem
- Spalte 1 schalte ich direkt durch. Also auf Masse.
Jetzt würden LED 1 und 4 so helleuchten wie ich will. Jetzt kommt mein
Knackpunkt.
- Spalte 2 schalte ich so das der Mittelwert der PWM sagen wir mal 1.2V
beträgt.
Jetzt würde auch LED 2 so Leuchten wie ich will. Allerdings kann ich
jetzt LED 5 keine andere Helligkeit zuordnen, weil sie ja schon durch
die PWM der Reihe 2 und Spalte 2 bestimmt wird.
Wo ist mein Denkfehler. Denn ich hab jetzt schon öfters gelesen und mein
Kollege ist überzeugt davon das es geht.
LG Max
Max wrote:
> Also ist Multiplexing mit einer gemeinsamen Anode nicht möglich?
Natürlich ist das möglich, aber nicht so wie Du denkst. Zunächst einmal
bedeutet Multiplexing, dass Du z.B. eine Spalte nach der anderen streng
zyklisch aktivierst, während Du die Reihen so ansteuerst, dass die
gewünschten LEDs einer Spalte leuchten, wenn die entspechende Spalte
gerade aktiviert ist. Auf diese Weise kannst Du jede beliebige LED
leuchten lassen oder ausschalten, also jedes x-beliebige Muster
erzeugen. Das geht natürlich nicht nur im 0/100%-Modus sondern auch mit
jeder beliebigen Helligkeitsabstufung. Dazu aktiviersts Du die Reihen
nicht während der Gesamtzeit, in der eine Spalte aktiviert ist sondern,
je nach gewünschter Helligkeit, nur einen Teil dieser Zeit. Mit einem
µ-Controller sollte das zu machen sein. Für die einzelne LED in einer
3x3-Matrix bedeutet das allerdings, dass sie nur mit einer PWM von
0...33,3% leuchten kann. Zur Nutzung der vollen Leistung einer LED ist
dazu der 3-fache LED-Nennstrom erforderlich.
Jörg
Aso ok! Also Programmiertechnisch würde das so aussehen, das die Spalten
einen Zyklus an sein und dann wird zu nächsten Spalte gegangen. Sprich
der Zähler zählt von 0 - 255. Solang ist die Spalte 1 an. Wenn er bei 0
wieder anfängt wieder die Spalte 2 aktiviert. Und so weiter. So weit
richtig?
Nehmen wir einen Blauton. R = 145; G = 49; B = 228.
Also:
Spalte 1 zähl 0-255 dabei ist Rot (Pin1) 145 Zeiteinheiten an und den
Rest aus.
Dann Spalte 2 zähl 0-255 dabei ist Grün (Pin1) 49 Zeiteinheiten an und
den Rest aus.
Dann Spalte 2 zähl 0-255 dabei ist Grün (Pin1) 228 Zeiteinheiten an und
den Rest aus.
So richtig?!
-----
Noch ne andere Frage. Mein Kollege hat die obige Zeichnung gemacht. Wo
ist da der Unterschied. Bei mir wären es 9 Reihen und 3 Spalten. Bei ihm
irgendwas anderes?! Ist seine Version eventuell besser auf bezug auf den
Nennstrom. Wenn ich das richtig sehe müssen ja meine LED's pro Spalte
kurzzeitig 180 mA aushalten?! Das muss dann auch der entsprechende
Widerstand sein, oder? Sprich ca. 66 Ohm bei 12V?!
ICH DANKE EUCH! :) Ich kann nämlich deswegen schon net schlafen.
Max wrote:
> Aso ok! Also Programmiertechnisch würde das so aussehen, das die Spalten> einen Zyklus an sein und dann wird zu nächsten Spalte gegangen. Sprich> der Zähler zählt von 0 - 255. Solang ist die Spalte 1 an. Wenn er bei 0> wieder anfängt wieder die Spalte 2 aktiviert. Und so weiter. So weit> richtig?
Ja, so kann man es machen
> Nehmen wir einen Blauton. R = 145; G = 49; B = 228.>> Also:>> Spalte 1 zähl 0-255 dabei ist Rot (Pin1) 145 Zeiteinheiten an und den> Rest aus.>> Dann Spalte 2 zähl 0-255 dabei ist Grün (Pin1) 49 Zeiteinheiten an und> den Rest aus.>> Dann Spalte 2 zähl 0-255 dabei ist Grün (Pin1) 228 Zeiteinheiten an und> den Rest aus.>> So richtig?!
Ja
> Noch ne andere Frage. Mein Kollege hat die obige Zeichnung gemacht. Wo> ist da der Unterschied. Bei mir wären es 9 Reihen und 3 Spalten. Bei ihm> irgendwas anderes?!
in der 1. Zeichnung sind 3 RGB-LEDs in einer 3x3-Matrix angeordnet
in der 2. Zeichnung sind 9 RGB-LEDs in einer 9*3-Matrix angeordnet
> Ist seine Version eventuell besser auf bezug auf den> Nennstrom. Wenn ich das richtig sehe müssen ja meine LED's pro Spalte> kurzzeitig 180 mA aushalten?! Das muss dann auch der entsprechende> Widerstand sein, oder? Sprich ca. 66 Ohm bei 12V?!
Ich weiss weder, welches jetzt Deine Zeichnung ist noch mit wieviel
Strom die LEDs normalerweise betrieben werden sollen/müssen/dürfen.
Jörg
1. Zeichnung ist von mir. Ich hatte nur jetzt keine Lust 9 Rot, 9 Grüne
und 9 Blaue untereinander zu machen.
Also ist kein Unterschied zwischen Zeichnung 1 und 2?! Hab ich bei
beiden Zeichnungen das "Problem" mit dem kurzzeitigen Peakstrom?!
Angenommen jede LED braucht 23 mA. (max. 50mA) Was würdest du denn für
einen Mosfet empfehlen.
So dann gibt es doch ein paar Dinge die mir noch net ein Leuchten.
Nehme wir mal den Artikel also eagle vorlage. Bei mir wäre es halt dann
9 Zeilen und 3 Spalten. Spalte 1 wäre Rot, Spalte 2 wäre Grün, Spalte 3
Blau.
Jetzt die Fragen.
1.) Wo tu ich jetzt die Vorwiderstände genau hin? (Warum dann an die
Position?)
2.) Welchen Wert muss der Vorwiderstand haben? Bzw. wie rechne ich das.
Denn Rot, Grün bzw. Blau brauchen ja jeweils einen anderen Widerstand um
auf 20mA zu kommen. Also kann ich ja schonmal keinen einheitlichen
Zeilen-Vorwiderstand nehmen. Kommt der dann in die Spalte?
3.) Wie ist das mit dem Pulsstrom zu verstehen? Das ich einen höhren
Strom brauche, damit alle LED die gleiche Helligkeit haben leuchtet mir
vielleicht noch ein. Aber wie kommt der hohe Strom zusammen.
4.) Ich hab jetzt auch öfters gelesen, dass es Probleme mit der Frequenz
geben könnte. Warum ist das so?
Ich danke Euch! :)
LG Max
Max wrote:
> Keiner ne Antwort berat?! Och büdde...
Ich finde es garnicht so schlecht, wenn meine Familie und ich ein Dach
überm Kopf haben und nicht hungern müssen. Daneben brauche ich einen
Internet-Anschluß und Strom für den Computer, damit ich Dir antworten
kann. Daher sah ich mich genötigt, statt Dir sofort zu antworten, mich
mit anderen Problemen zu befassen, und zwar mit den Problemen zahlender
Kunden. Ich kann Dich gerne in diesen exclusiven Kreis mit aufnehmen und
würde Dich dann genauso bevorzugt behandeln. Ansonsten wirst Du wohl
warten müssen bis ich Zeit und Muse habe. Den anderen kompetenten
Antwortgebern wird es vermutlich ähnlich gehen.
Ich muß mich auch jetzt kurz fassen:
1. Die Vorwiderstände kommen dort hin, wo die Parallelausgabe
stattfindet, also in diesem Fall in die 9 Reihen. Nur dann bekommt jede
LED einer Spalte einen eigenen Widerstand.
2. Der Vorwiderstand muß so bemessen sein, dass er bei der Differenz von
Ansteuerspannung und LED-Flußspannung den 3-fachen Nennstrom durchläßt
(bei Spaltenmultiplexer). In diesem Fall wäre es u.U. sinnvoller, die
Reihen zu multiplexen (9-facher Nennstrom) und die unterschiedlich
großen Vorviderstände in die Spalten zu legen
3. Wenn eine LED im Mittel max. 1/3 bzw. 1/9 der Zeit leuchtet, muß sie
das mit 3-fachen, bzw. 9-fachem Strom tun, um auf ihre Nennleistung zu
kommen.
4. Bei so wenigen LEDs sollte es keine Probleme mit der Frequenz geben
Die angehängt Schaltung wird nicht funktionieren. Mit einem MOSFET als
Sourcefolger in den Zeilentreibern bekommst Du bei 5 V Steuerspannung
kaum mehr als 3 V für die LEDs. Besser wäre ein BC337 in
Kollektorschaltung. Da kommen noch über 4 V raus. Ebenso ist es
unsinnig, die Zeilentreiber mit mehr als 5 V zu versorgen. Das
produziert nur zusätzliche Verlustleistung in den Transistoren.
Jörg
Danke Jörg! ;-)
Ich sah nur meinen Thread wirder im Nervana versinken. Danke für die
Antwort.
zu 1. und 2.)
Multiplexe ich denn jetzt eigentlich nicht die Reihen?! Denn so bin ich
auf den 51 Ohm Widerstand gekommen. (9 facher Nennstrom)
Wenn ich jetzt Spalten muxe muss ich ja, wie du geschrieben hast in jede
Reihe einen Widerstand machen. Berechne ich dann den Vorwiderstand für
den Blaue Led?! Sprich R= (12V-3,2)/60mA = 146,6 Ohm (theoretisch)
zu 4.)
Ja das mit dem Mosfets ist mir nach späteren draufschauen auch
aufgefallen. Vorwiderstand und LED müssten eigentlich an den Drain. Hm
müsste ich mir noch mal Gedanken machen. Es fehlen ja auch noch 100kOhm
am Gate nach Masse, was mir gerade auch noch aufgefallen ist... ;-)
Aber den den BC337 schau ich mir mal an.
Das mit der Frequenz würde mich aber im allgemeinen trotzdem noch
interessieren. :-)
So dann danke ich dir schon mal Jörg!
Gute Nacht
Max
Max wrote:
> zu 1. und 2.)> Multiplexe ich denn jetzt eigentlich nicht die Reihen?! Denn so bin ich> auf den 51 Ohm Widerstand gekommen. (9 facher Nennstrom)
Das ist zwar auch eine Frage der sprachlichen Definition, aber Du hast
weiter oben geschrieben, dass Du die Spalten 1 bis 3 zyklisch aktivieren
willst. Zur Erinnerung:
> Aso ok! Also Programmiertechnisch würde das so aussehen, das die Spalten> einen Zyklus an sein und dann wird zu nächsten Spalte gegangen. Sprich> der Zähler zählt von 0 - 255. Solang ist die Spalte 1 an. Wenn er bei 0> wieder anfängt wieder die Spalte 2 aktiviert. Und so weiter. So weit> richtig?
Das verstehe ich als multiplexen der Spalten und dafür müssen die LEDs
mit dem 3-fachen Nennstrom betrieben werden.
> Das mit der Frequenz würde mich aber im allgemeinen trotzdem noch> interessieren. :-)
Der komplette Zyklus sollte nicht länger als 10 ms (100 Hz) sein, damit
die LEDs nicht flimmern. Die Multiplexfrequenz und der zu schaltende
Strom multipliziert sich mit der Anzahl der zu schaltenden Reihen oder
Spalten. Wenn Du hohe Ströme schnell schalten willst gibt es häufig
Probleme mit Funkstörung (EMV) und induktiven Spannungsspitzen bzw.
kapazitiven Verkopplungen, insbesondere bei größeren Leitungslängen.
Außerdem müssen die verwendeten LED genügend schnell eio- und
ausschalten. Deswegen wird man die Multiplexfrequenz nicht höher wählen
als unbedingt nötig. Andernfalls kann es neben den EMV-Problemen auch
zum Übersprechen zwischen den LEDs kommen, d.h. LEDs, die ausgeschaltet
sein sollten, glimmen mehr oder weniger hell
Jörg