33 LEDs (je 2-3 V, max. 20 mA) sollen einzeln ein-/ausgeschaltet werden können.
Alle gerade eingeschalteten LEDs sollen zusammen dimmbar sein (also immer selber PWM-Dimmwert für alle eingeschalteten LEDs).
Wäre keine Dimmung nötig, würde ich Port-Extender wie den MCP23017 nehmen.
Sollten alle LEDs einzeln gedimmt werden (unterschiedlicher Dimmwert pro LED) wären TLC5940 wohl eine geeignete Lösung.
Letzterer wäre natürlich auch hier möglich, erscheint mir aber für diesen Anwendungsfall (selber PWM-Dimmwert für alle eingeschalteten LEDs) etwas überdimensioniert.
Was wäre aus eurer Sicht für solch einen Anwendungsfall eine optimale Lösung?
Was wäre aus eurer Sicht für solch einen Anwendungsfall eine optimale
Lösung?
Optimal ist die Lösung, die Du selber beherrschst. Einen RP2040 braucht man nicht zwingend, er schadet aber auch nicht.
3,3 V als Versorgungsspannung könnten für die LEDs etwas zu knapp bemessen sein.
Seinerzeit hatte ich einen ATmega48 dafür verwendet und entsprechend viele Schieberegister angeschlossen: http://mino-elektronik.de/AVR_PWM_64/AVR_PWM_64.htm
Du kannst natürlich auch die TLC.... nehmen, wenn Du sie schon in der Schublade hast.
Sollten alle LEDs einzeln gedimmt werden (unterschiedlicher Dimmwert pro
LED) wären TLC5940s wohl eine geeignete Lösung.
Dann nimm den und sei glücklich.
Letzterer wäre natürlich auch hier möglich, erscheint mir aber für
diesen Anwendungsfall (selber PWM-Dimmwert für alle eingeschalteten
LEDs) etwas überdimensioniert.
So what! Einfach und preiswert verfügbar, einfach nutzbar. Fertig.
Was wäre aus eurer Sicht für solch einen Anwendungsfall eine optimale
Lösung?
Du braucht keine optimale Lösung, eine gute reicht.
Weniger Aufwand wäre Multiplexansteuerung, wie MAX7219 oder selbstgemacht mit 6 Zeilen a 6 Spalten und 120mA an den LEDs. Auch da geht neben dem Multiplexen problemlos Dimmen per Programm - wenn man programmieren kann.
Was wäre aus eurer Sicht für solch einen Anwendungsfall eine optimale
Lösung?
Warum kaufst du einen rattenschnellen Prozessor und fühlst dich trotzdem
nicht in der Lage ihn zum dimmen zu verwenden ?
Der RP2040 wird ja primär für die eigentliche Anwendung benötigt, die LEDs stellen hier lediglich die Ausgabe dar - daher der "rattenschnelle Prozessor". ;-)
Das Problem vom RP2040 ist eher, sass er nicht 33 x 20mA ansteuern kann,
man braucht also sowieso Porterweiterung.
Genau, deswegen die Frage nach einer guten Lösung dafür.
Am billigsten wohl 74HC595 mit Vorwiderstand, praktischer DM13 o.a, mit
Konstantstromsenken. Und beide kann man über OE gemeinsam dimmen.
Verstehe, 74HC595 als Shift-Register.
Was ist der DM13? Hast du da ggf. einen Link zu?
Wäre keine Dimmung nötig, würde ich Port-Extender wie den MCP23017
nehmen.
Den kannst du ja nehmen, um die Anoden der LEDs einzeln zu schalten.
Und an alle Kathoden hängst du einen gemeinsam verwendeten Transistor
zum Dimmen mittels PWM (oder wie auch immer du dimmen wolltest).
Danke, Steve, das klingt auch nach einer sehr guten Option!
Zumal ich die MCP23017-Teile bereits kennen und vorrätig habe.
Man bräuchte dann entsprechend 3x MCP23017 (33 LEDs ist wirklich eine blöde Anzahl ;-) ). Ich werde dazu mal ein Schaltbild erstellen und hier zum "Gegenprüfen" posten. ;-)
Vielen Dank nochmals allseits für eure schnellen Antworten
Andreas
Den kannst du ja nehmen, um die Anoden der LEDs einzeln zu schalten.
Wenn ich das Datenblatt des MCP23017 richtig verstehe kann der nur maximal 125mA Gesamtstrom liefern bzw. nur maximal 150mA Gesamtstrom abführen. Ein MCP23017 reicht also anscheinend bei 20mA nur für 6 Anoden bzw. 7 Kathoden.
Den kannst du ja nehmen, um die Anoden der LEDs einzeln zu schalten.
Wenn ich das Datenblatt des MCP23017 richtig verstehe kann der nur
maximal 125mA Gesamtstrom liefern bzw. nur maximal 150mA Gesamtstrom
abführen. Ein MCP23017 reicht also anscheinend bei 20mA nur für 6 Anoden
bzw. 7 Kathoden.
LG, Sebastian
Danke, Sebastian, ein guter Punkt:
Ich werde die LEDs mal genau ausmessen wie viel diese tatsächlich ziehen. Mann muss sie ja auch nicht bei voller Leistung laufen lassen.
Verstehe ich das Datenblatt richtig, dass
Vout = max. 0.5Vdd
bedeutet, dass er bei 3,3 V Supply lediglich 1,65 V für die LEDs am Output "übrig" hat. Das wäre wohl etwas wenig.
dass Vout = max. 0.5Vdd
bedeutet, dass er bei 3,3 V Supply lediglich 1,65 V für die LEDs am
Output "übrig" hat.
Maximal verliert er 1V, bei 60mA LED Strom. Bei 20mA eher 0.3V laut
Output Current as a Function of Output Voltage
Und er regelt bis 3V am Ausgang oder 0.5V VDD auf 0.5% genau, ausserhalb
wohl schlechter.
Danke, Michael, nun sehe ich auch das "Output Current as a Function of Output Voltage"-Diagramm, macht Sinn.
Dann scheint das Teil wirklich eine sehr gute Lösung zu sein, zumal es einem noch die zusätzlichen Vorwiderstände der LEDs erspart dank "constant current".
Man bräuchte dann entsprechend 3x MCP23017 (33 LEDs ist wirklich eine
blöde Anzahl ;-)
Rein funktional könnte der RP2040 auch mit 12 Portpins eine 6x6 Matrix ansteuern und ist auch für gemeinsames Dimmen schnell genug.
Blöd dabei, man braucht MOSFETs und Widerstände.
Man muss ja nicht unbedingt 20 mA durch die LEDs schicken. Mit 8 mA werden sie auch gut leuchten, sofern es keine alten Restposten aus dem letzten Jahrtausend sind.
Man muss ja nicht unbedingt 20 mA durch die LEDs schicken. Mit 8 mA
werden sie auch gut leuchten, sofern es keine alten Restposten aus dem
letzten Jahrtausend sind.
Ein IS31FL3265A hat 18 Konstantstrom-Ausgänge im TSSOP-28 und I2C (oder
SPI, ...3265B).
OK, 18 Channel wären natürlich super und PWM-Steuerung ist auch gleich integriert. Aber bin mir ehrlich gesagt nicht so sicher, ob ich mich an ein TSSOP-28-Package mit 0,65 mm PIN-Abstand ran traue. ;-)
Bisher klingt tatsächlich die Variante mit dem DM13A, den Michael vorgeschlagen hat, am "einfachsten" - auch wenn ich von den Teilen dann halt 3 Stück brauche, sie sind ja recht günstig.
Danke, Michael, und sorry, das hatte ich tatsächlich überlesen:
Klar, das wäre möglich, bin mir nur nicht ganz sicher, ob das "Ergebnis" dann identisch zu den anderen 32 LEDs ist?
Ich meine, wenn ich 32 LEDs über eine DM13A-Konstantstromquelle versorge und 1 direkt vom RP2040 (vermutlich dann einfach mit Vorwiderstand), hätte ich die Befürchtung, dass es schwierig wird die Helligkeit genau gleich zu bekommen.
Ich meine, wenn ich 32 LEDs über eine DM13A-Konstantstromquelle versorge
und 1 direkt vom RP2040 (vermutlich dann einfach mit Vorwiderstand),
hätte ich die Befürchtung, dass es schwierig wird die Helligkeit genau
gleich zu bekommen.
PWM (16 Stück stehen zur Verfügung) auf den Pin und passend einstellen.
dass es schwierig wird die Helligkeit genau gleich zu bekommen.
Die Helligkeit von 2 LED desselben Modells schwankt eh um 1:2, da wirst
du den Strom durch beide doch problemlos genauer hin bekommen.
Man muss halt in der Software die eine LED anders behandeln.
Verstehe, das wäre natürlich möglich das mit "Software zu fixen" und für diese eine LED eine andere PWM-Einstellung (ein entsprechendes Offset) zu wählen.
Verstehe, das wäre natürlich möglich das mit "Software zu fixen" und für
diese eine LED eine andere PWM-Einstellung (ein entsprechendes Offset)
zu wählen.
Man muss das nicht fixen, man wählt nur den passenden Vorwiderstand für diese LED entsprechend dem Strom des Konstantstromtreibers.
Aber diese LED muss eine Sonderbehandlung bekommen weil ihr Zustand nicht per Schieberegister rausgeschoben wird sondern davon getrennt verUNDet mit der PWM, die zum Dimmen der DM13 verwendet wird, an einem PortPin ausgegeben wird.
Verstehe, das wäre natürlich möglich das mit "Software zu fixen" und für
diese eine LED eine andere PWM-Einstellung (ein entsprechendes Offset)
zu wählen.
Man muss das nicht fixen, man wählt nur den passenden Vorwiderstand für
diese LED entsprechend dem Strom des Konstantstromtreibers.
Aber diese LED muss eine Sonderbehandlung bekommen weil ihr Zustand
nicht per Schieberegister rausgeschoben wird sondern davon getrennt
verUNDet mit der PWM, die zum Dimmen der DM13 verwendet wird, an einem
PortPin ausgegeben wird.
Die Helligkeit von 2 LED desselben Modells schwankt eh um 1:2,
Wie kann man nur so einen Unfug schreiben?
Aber gut, von Dir wird nichts anderes erwartet.
Dass DU das nicht weisst, es gar Blödsinn hältst, verwundert nicht, du bist ja der Honk, der LED ohne Vorwiderstand direkt an IC Ausgänge hängt weil er erwartet dass die den Strom schon ungefähr gleich begrenzen.
Schau halt einfach mal in ein Datenblatt statt an deine alternativen Wahrheiten zu glauben.
Und was sagt uns 300 Min. 700 Typ. ? Max. fehlt sogar)
Dass der Helligkeitsunterschied von Exemplar zu Exemplar sogar grösser ist als 1:2.
Auch der Strom eines überlasteten IC-Ausgangs in Abschnürung unterscheidet sich übrigens von Ausgang zu Ausgang leicht mal um 1:2, daran angeschlossene LED können also 1:4 unterschiedliche Helligkeit haben. Anders gesagt: die eine erscheint dann neben der anderen mit nur 25% ihrer Helligkeit eher AUS als AN.
Aber das wirst du nie lernen, deine eigene Selbstüberschätzung schon alles besser zu wissen blockiert jeden Erkenntnisgewinn.