Forum: Analoge Elektronik und Schaltungstechnik LED PWM mit kondensatoren dämpfen?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wie erwartet, flimmern die LEDs bei Versuchen mit PWM niedriger 
Frequenz.

Taktgeber der PWM ist ein Timer, Ausgang ein digital Pin. PWM fähige 
Pins will ich im Versuch nicht verwenden, weil es ein Versuch ist und 
weil ich später mehr LEDs treiben will (ca. 100), als ich PWM fähige 
Pins habe. Die LEDs hängen übrigens an Schieberegistern auf einer 
externen Platine, die über einen Bus mit der uP-Platine verbunden ist.

Weil die LEDs extern sind, kann ich die Frequenz nicht beliebig erhöhen. 
Irgendwann macht der Bus das Tempo wohl nicht mehr mit. Ich habe das 
aber noch nicht genau durchgerechnet. Der uP taktet übrigens mit 16MHz.

Mir fallen nun zwei Möglichkeiten ein, das Flackern bei niedrigen 
Frequenzen zu verhindern.

1. Ich spendiere jeder LED einen kleinen Kondensator

2. Ich moduliere nicht jede der 100 LEDs, sondern deren gemeinsame 
Rückleitung. Dann brauche ich zwar einen größeren Treiber (ca. 2A), aber 
die PWM kann lokal auf der Platine erzeugt werden. Somit wäre ich an 
keine Bus-bedingten Einschränkungen gebunden.

Was würdet ihr tun?

: Verschoben durch Moderator
von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wenn es von Interesse ist, der LED-Treiber (Schieberegister) wird ein 
TPIC6B595 sein.

von Harald W. (wilhelms)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:

> 1. Ich spendiere jeder LED einen kleinen Kondensator

Das funktioniert eher schlecht bis garnicht. Da LEDs stromgesteuert
und nicht spannungsgesteuert sind, müssten solche Kndensatoren
unverhältnismäßig gross werden. Schau Dir mal das Strom/Spannungs-
diagramm einer LED im Datenblatt an. Schon bei einer Veringerng
der Spannung um nur 0,1 Volt gibt es eine starke Verringerung des
Stroms und damit der Helligkeit.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> Die LEDs hängen übrigens an Schieberegistern auf einer
> externen Platine, die über einen Bus mit der uP-Platine verbunden ist.

Warum nicht PCA9685 an Stelle der Schieberegister?
Wieviel Strom brauchen deine LEDs?

von Thorsten S. (thosch)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:

> Weil die LEDs extern sind, kann ich die Frequenz nicht beliebig erhöhen.
Stimmt nicht.
> Irgendwann macht der Bus das Tempo wohl nicht mehr mit.
Das ist der Fehler im Konzept:
Wenn man PWM über den Bus übertragen wil, geht die Bandbreite schnell 
aus.

Nimmt man stattdessen einen LED-Treiber, der die PWM und/oder 
Stromeinstellung der LEDs lokal erledigt, muss man über den Bus nur noch 
die Helligkeitswerte für die LEDs übertragen, und das auch nur dann, 
wenn die sich ändern.

Schau dir mal Treiber wie den TLC59116 an, oder für RGB LEDs z.B. den 
LP5030 / LP5036...


> Was würdet ihr tun?
ein passenderes Konzept wählen, s.o.

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> PWM schrieb:
>> Die LEDs hängen übrigens an Schieberegistern auf einer
>> externen Platine, die über einen Bus mit der uP-Platine verbunden ist.
>
> Warum nicht PCA9685 an Stelle der Schieberegister?
> Wieviel Strom brauchen deine LEDs?

2mA pro LED, das würde schon passen. Bei ca. 15V brauche ich 
Open-Collector. Der PCA9685 ist interessant. Habe einen (nur ganz 
kurzen) Blick in das DB geworfen. Das Limit scheint leider 12V zu sein. 
Ich sehe mir das aber heute abend nochmal an.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> Bei ca. 15V brauche ich Open-Collector.

LEDs brauchen i.A. weniger als 4V. Hast du da vielleicht noch ein 
Konzeptproblem?

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> Das Limit scheint leider 12V zu sein.

Dagegen wurden Transistoren erfunden.

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thorsten S. schrieb:
>> Was würdet ihr tun?
> ein passenderes Konzept wählen, s.o.

Bin ja schon dabei :-)


> Nimmt man stattdessen einen LED-Treiber, der die PWM und/oder
> Stromeinstellung der LEDs lokal erledigt, muss man über den Bus nur noch
> die Helligkeitswerte für die LEDs übertragen, und das auch nur dann,
> wenn die sich ändern.
>
> Schau dir mal Treiber wie den TLC59116 an, oder für RGB LEDs z.B. den
> LP5030 / LP5036...

Von den TPIC6B595 haben ich noch einen Karton voll. So schlecht sind die 
eigentlich nicht. Bin gerade am überlegen, ob man am Pin !G das 
PWM-Singal anlegen und damit dann alle LEds steuern kann. Das wäre das 
einfachste.

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefanus F. schrieb:
> PWM schrieb:
>> Das Limit scheint leider 12V zu sein.
>
> Dagegen wurden Transistoren erfunden.

Hab schon mal gehört das wort ;)
aber
PWM schrieb:
> weil ich später mehr LEDs treiben will (ca. 100 )

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> PWM schrieb:
>> Bei ca. 15V brauche ich Open-Collector.
>
> LEDs brauchen i.A. weniger als 4V. Hast du da vielleicht noch ein
> Konzeptproblem?

Ich habe 15V max. Kfz-Spannung.
Eigentlich wollte ich nur für die LEDs keinen Spannungsregler 
investieren. Das ist ein Teil des Konzepts.

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Harald W. schrieb:
> PWM schrieb:
>
>> 1. Ich spendiere jeder LED einen kleinen Kondensator
>
> Das funktioniert eher schlecht bis garnicht.

Gut, danke für die Anregung. Der Kondensator ist damit vom Tisch weg.

Was haltet ihr von der Ansteuerung des !G Pins (TPIC6B595) zur 
PWM-Modulation der Ausgänge? Kann man Output enable dafür verwenden 
(zweckentfremden)?

von Harald W. (wilhelms)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:

> Ich habe 15V max. Kfz-Spannung.
> Eigentlich wollte ich nur für die LEDs keinen Spannungsregler
> investieren. Das ist ein Teil des Konzepts.

Hmm. Du kennst das hier?
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> Eigentlich wollte ich nur für die LEDs keinen Spannungsregler
> investieren. Das ist ein Teil des Konzepts.

Wolltest du etwa im ernst so viel Energie verheizen?

Für so etwas verwendet man Spannungswandler. Ich würde die 12V erst (je 
nach Farbe) auf 3V oder 4V reduzieren und dann damit die LEDs ansteuern.

: Bearbeitet durch User
von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Harald W. schrieb:
> PWM schrieb:
>
>> Ich habe 15V max. Kfz-Spannung.
>> Eigentlich wollte ich nur für die LEDs keinen Spannungsregler
>> investieren. Das ist ein Teil des Konzepts.
>
> Hmm. Du kennst das hier?
> http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23

Ich mache nichts anderes. Welche Probleme hast du mit dem 
"hochverseuchten Kfz-Netz" und LEDs  ;-) Das klappt schon, sorge dich 
nicht

von Michael B. (laberkopp)


Bewertung
-2 lesenswert
nicht lesenswert
PWM schrieb:
> Was würdet ihr tun

Nachdenken.

Wer nur Hämmer kennt, für den ist alles ein Nagel.

Da du nur Kondensatoren kennst, willst du alles abblocken.

Block wie Zementklotz.

Wenn bei dir der Fahnenmast im Wind wackelt: Einfach einen Betonklotz 
oben dran, da wird er träger und wackelt nicht mehr so schnell.
Wenn dein Automotor Aussetzer hat, einfach Zementsäcke in den 
Kofferraum, dann reicht der Schwung bis der Aussetzer vorbei ist.
Ebenso blöd ist es, einen Kondensator parallel zu einer LED an PWM zu 
schalten.

Wenn überhaupt filtert man Strom, und der Strom ist es der die LED 
Hellilgkeit bestimmt, durch eine Drosselspule (mit Freilaufdiode am 
Schaltelement).

Aber ein deinem Fall ist sicher ein ordentliches Programm die Lösung, 
denn auch PWM in Software kann so schnell sein, daß es nicht flackert 
oder flimmert. Man darf halt nur nicht im Arduino-Style programmieren.

Ein AVR schafft es, ein 320 x 240 LED Matrix Feld in 256 
Helligkeitsbstufungen pro Pixel mit einem Bild im Multiplex zu bedienen 
und bleibt bei 60Hz Bildwiederholfrequenz. Wenn du viel weniger 
schaffst, kannst du viel schlechter programmieren. Lern halt was.

: Bearbeitet durch User
von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefanus F. schrieb:
> Wolltest du etwa im ernst so viel Energie verheizen?

> Für so etwas verwendet man Spannungswandler. Ich würde die 12V erst (je
> nach Farbe) auf 3V oder 4V reduzieren und dann damit die LEDs ansteuern.

Leute!
Heute ist doch nicht der erste Mai

Jetzt muss ich auch noch rechnen
sagen wir mal, 100 LEDs
Low Current, 2mA pro LED

Alle LEDs sind DUO. Da brennt nur 1 Farbe.
Das reduziert die LEDs effektiv auf 50
x2mA = 100mA

Meist habe ich rot und grün
Wenn rot leuchtet, habe ich ein anderes Problem als LEd-Energie

Auch die grünen sollen nicht alle leuchten. Ich fahre ein Auto, keine 
Disko.
Bleiben ca. 5 stück übrig.

Ich rechne aber 100 LEDs, weil .. na ihr wisst schon. Worst case ist 
Standard.

Über ein "Energieproblem" bei low current LEDs habe ich übrigens noch 
nie im Leben nachgedacht. Jetzt zum ersten mal. Befreit euch aus 
theoretischen Zwängen

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
Ok, dann ist die Energie nicht so schlimm. Aber immerhin löst du mit 
einem Spannungswandler das Problem der Spannung. Davon brauchst du ja 
nur einen, nicht 100 Stück.

von PWM (Gast)


Bewertung
-2 lesenswert
nicht lesenswert
Und schon wieder ist er unter uns. Arduino Fanboy Schreibstil braucht 
die Welt nicht, freundliche Lösungen sind besser. Sieh doch mal die 
anderen Schreiber an. Mach es so wie die, und glaube mir, du wirst den 
Alfred Tetzlaff in dir bald los sein ;-)

Michael B. schrieb:

> Aber ein deinem Fall ist sicher ein ordentliches Programm die Lösung,
> denn auch PWM in Software kann so schnell sein, daß es nicht flackert
> oder flimmert. Man darf halt nur nicht im Arduino-Style programmieren.

Ja du neunmalkluger Schreibklotz. Oben stand aber auch was von BUS.

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefanus F. schrieb:
> Ok, dann ist die Energie nicht so schlimm. Aber immerhin löst du mit
> einem Spannungswandler das Problem der Spannung. Davon brauchst du ja
> nur einen, nicht 100 Stück.

Ja da hast du recht. Wenn ich den PCA9685 einsetze, ist das auf jeden 
Fall eine Option.

Aber was ist denn nun mit !G ? Hat keiner eine Idee? Dann probiere ich 
es halt später einfach aus. Die HW ist ja noch am Nudelbrett äh 
Reisbrett äh..., also noch änderbar

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> Und schon wieder ist er unter uns......

@ Stefanus F. das galt natürlich deinem Vorgänger und ich wette, ER ist 
es wieder :)

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> Aber was ist denn nun mit !G

Mach das, ich denke es könnte klappen.

Ich würde allerdings auch die PCA9685 verwenden, weil das Timing auf dem 
steuernden Computer dadurch viel einfacher wird.

Guck mal wie billig die sind, da sind sogar 200Ω Vorwiderstände für die 
LEDs mit drauf: Ebay-Artikel Nr. 272495242297

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefanus F. schrieb:

> Ich würde allerdings auch die PCA9685 verwenden, weil das Timing auf dem
> steuernden Computer dadurch viel einfacher wird.
>
> Guck mal wie billig die sind, da sind sogar 200Ω Vorwiderstände für die
> LEDs mit drauf: Ebay-Artikel Nr. 272495242297

Stimmt, dagegen sind Argumente kraftlos :)

Letzte Frage noch zu PCA9685: Wie lang dürfen die Verbindungskabel zur 
uC Platine sein?

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> Wie lang dürfen die Verbindungskabel zur uC Platine sein?

Hängt stark von der Übertragungsrate, den Pull-Up Widerständen, dein 
Eigenschaften des Kabels, der Anzahl der Busteilnehmer und der Stärke 
von Störfeldern ab.

2 Meter kann man ohne grossen Aufwand hin bekommen, darüber könnte es 
schwierig werden.

von Schlumpf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Du willst einen gemeinsamen Enable Pin für die PWM nutzen?
Dann kannst du aber die LEDs an diesem Chip immer nur alle gleich hell 
leuchten lassen.
Wenn das kein Problem ist, warum willst du dann überhaupt die LEDs 
einzeln ansteuern können?
Dann schalte sie doch einfach alle parallel an einen gemeinsamen PWM

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefanus F. schrieb:
> PWM schrieb:
>> Wie lang dürfen die Verbindungskabel zur uC Platine sein?
>
> Hängt stark von der Übertragungsrate, den Pull-Up Widerständen, dein
> Eigenschaften des Kabels, der Anzahl der Busteilnehmer und der Stärke
> von Störfeldern ab.

Hach, seufz, ich liebe Prosa. Gibts zum Überbrücken von 2 Metern (das 
reicht völlig) auch irgendwo einen Schaltplan, wo z.B. die Pull-Up 
Widerstände einen Ohmwert haben? Einen speziellen I²C Treiber braucht es 
wohl nicht, oder? "Arduino Fanboy" hatte dahingehend recht: der uC ist 
ein Mega 2560.

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
> Du willst einen gemeinsamen Enable Pin für die PWM nutzen?
> Dann kannst du aber die LEDs an diesem Chip immer nur alle gleich hell
> leuchten lassen.

Ja genau. Das reicht schon. Die LEDs sind Kfz-Kontrollampen. Nachts 
sollen die dunkler sein, damit sie nicht blenden.

> Wenn das kein Problem ist, warum willst du dann überhaupt die LEDs
> einzeln ansteuern können?
Hatte ich das geschriebn? Dann war das so nicht richtig. Per Steuerung 
lässt sich jede LED zwar einzeln ansprechen, damit Blinken möglich ist, 
aber beim Dimmen (PWM) ist das nicht nötig.

> Dann schalte sie doch einfach alle parallel an einen gemeinsamen PWM
Das ist ja eine der Optionen. Die Lösung per !G (Output enable) gefällt 
mir bis jetzt am besten.

von Schlumpf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> Befreit euch aus theoretischen Zwängen

Befreie dich doch mal von den theoretischen Zwängen und probiere es aus.

von Schlumpf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> Hatte ich das geschriebn?

Nein, aber wenn du 100 LEDs über einen Bus per PWM ansteuern willst, 
geht man davon aus, dass du das willst.

Falls du das nicht willst, dann hänge einfach alle LEDs parallel über 
getrennte Vorwiderstände an EINEN Transistor, der von EINEM PWM Pin 
gesteuert wird

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
> PWM schrieb:
>> Befreit euch aus theoretischen Zwängen
>
> Befreie dich doch mal von den theoretischen Zwängen und probiere es aus.

Oh mann. Ich bin doch schon unterwegs. Zaubern kann ich aber nicht :-)

Schlumpf schrieb:
> PWM schrieb:
>> Hatte ich das geschriebn?
>
> Nein, aber wenn du 100 LEDs über einen Bus per PWM ansteuern willst,
> geht man davon aus, dass du das willst.
>
> Falls du das nicht willst, dann hänge einfach alle LEDs parallel über
> getrennte Vorwiderstände an EINEN Transistor, der von EINEM PWM Pin
> gesteuert wird

Das habe ich schon in der Pipeline, gerade geschrieben.

Ich freue mich ja über Tipps, danke an alle.

von Schlumpf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Dann helfe ich dir jetzt auf die Sprünge :

LED an : 100% Duty Cycle des PWM
LED aus: 0% Duty Cycle

Wie geht jetzt zB Blinken mit 0,5 Hz?

Wie geht Blinken mit gedimmter LED?

Klingelt's?

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich sehe mir den PCA9685 genauer an. Dann bleiben meine Chips eben in 
der Schublade. @ Stefanus F. kannst dich ja noch mal melden, wenn du 
willst. Damit ich den I²C Bus vernünftig hin kriege.

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
> Dann helfe ich dir jetzt auf die Sprünge :
>
> LED an : 100% Duty Cycle des PWM
> LED aus: 0% Duty Cycle
>
> Wie geht jetzt zB Blinken mit 0,5 Hz?
>
> Wie geht Blinken mit gedimmter LED?
>
> Klingelt's?

Äh..nee. Weiß nicht, was du jetzt meinst.
Vom Programm her geht das schon. Bis jetzt nur auf lokale Pins bezogen, 
aber es funzt. Und es flackert ;-)

> Wie geht Blinken mit gedimmter LED?

Ist doch ganz easy. Reine Mathematik, wo 0 oder 1 raus kommt. 1=Pin 
Hhigh=LED leuchtet, und umgekehrt.

von Schlumpf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Habe ich es richtig verstanden?

Du willst folgendes:
Alle roten LEDs dimmen
Mit allen roten LEDs blinken
Mit einigen grünen LEDs blinken
Einige grüne LEDs dimmen.

Stimmt das?

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> Und es flackert ;-)

Wenn ich höher takten könnte, wäre das flachern weg. Aber das jetzige 
konzept macht der Bus nicht mit. Ich muss die PWM Geschichte vom Bus weg 
kriegen, das war keine gute Idee. Aber ich bin ja gerade dabei, meinen 
Denkfehler zu korrigieren.

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
> Habe ich es richtig verstanden?
>
> Du willst folgendes:
> Alle roten LEDs dimmen
> Mit allen roten LEDs blinken
> Mit einigen grünen LEDs blinken
> Einige grüne LEDs dimmen.
>
> Stimmt das?

ja, jetzt foppst du mich.
Du hast es schon verstanden ;)

von Schlumpf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> ja, jetzt foppst du mich. Du hast es schon verstanden ;)

Ne, ganz ehrlich nicht.
Denn wenn du das willst, was ich geschrieben habe, dann begreife ich 
nicht, was du da mit einem Bus willst...

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
>
> Denn wenn du das willst, was ich geschrieben habe, dann begreife ich
> nicht, was du da mit einem Bus willst...

Und wie komme ich von der uC Platine auf die externe LED-Treiber 
Platine, wenn nicht per Bus?

von Schlumpf (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Mit nem Draht, auf dem dein uC über EINEN pin EINE PWM für ALLE LEDs 
schickt.

Wenn alle roten LED immer das gleiche tun, dann brauchst du auch nur EIN 
Signal, um sie alle GEMEINSAM anzusteuern

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
> Mit nem Draht, auf dem dein uC über EINEN pin EINE PWM für ALLE LEDs
> schickt.
>
> Wenn alle roten LED immer das gleiche tun, dann brauchst du auch nur EIN
> Signal, um sie alle GEMEINSAM anzusteuern

hatte ich doch oben schon als Option genannt

PWM schrieb:
>
> 2. Ich moduliere nicht jede der 100 LEDs, sondern deren gemeinsame
> Rückleitung.

von Schlumpf (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
PWM schrieb:
> hatte ich doch oben schon als Option genannt

Ok, das hab ich nicht gesehen.

Ja und warum machst du das nicht gleich so?
Du brauchst doch nur eine einzige Leitung um alles zu machen.
An, Aus, Blinken, Dimmen...

Warum willst du da überhaupt einen Bus einbauen?

Auf diese Idee wäre ich nicht mal gekommen. Die Hardware wird 
aufwändiger, die Software wird aufwändiger und der Nutzen ist NULL.

Wenn du z.B. mit 0,5Hz blinken willst, dann konfigurierst du deine PWM 
eben jede Sekunde um:
1 Sekunde 0%
1 Sekunde 100% (oder eben weniger, wenn gedimmt werden soll)

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
> Ok, das hab ich nicht gesehen.
>
> Ja und warum machst du das nicht gleich so?

Denkfehler passieren halt hin und wieder ;-)

> Du brauchst doch nur eine einzige Leitung um alles zu machen.
> An, Aus, Blinken, Dimmen...
>
> Warum willst du da überhaupt einen Bus einbauen?

Wat daran verstehst du nicht?
1
[Platine 1 mit dem uC]-----[Bus]-----[Platine 2 mit den LEDs]

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
> Warum willst du da überhaupt einen Bus einbauen?

Eine Idee habe ich ja noch. NEIN, die 100 LEds sollen nicht gemeinsam 
gescahltet werden. Jede LED soll separat gesteuert werden können.

Alle LEDs sollen aber einer gemeinsamen Helligkeit unterworfen sein.

von Schlumpf (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
PWM schrieb:
> Wat daran verstehst du nicht?
> [Platine 1 mit dem uC]-----[Bus]-----[Platine 2 mit den LEDs]

Jo, dann nimm nen Bus.. Wird wohl nötig sein.

Entweder habe ich die Problemstellung nicht begriffen, oder du stehst 
ganz massiv auf dem Schlauch oder dir hat mal jemand erzählt, dass man 
Platinen nur mit Bussen verbinden darf. Ich weiss es nicht.

von Schlumpf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> Jede LED soll separat gesteuert werden können.

Aha! Das war das fehlende Detail!

von Schlumpf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Also unter den Voraussetzungen ist die Idee mit dem Enable Pin sicher 
eine gute Idee.

Wenn du das über ein Schiebergister machst, dann würde ich darauf 
achten, dass du den Takteingang filterst. Dass kurze Spikes auf dem Takt 
nicht zu einem ungewollten Schiebevorgang führen.
Entsprechend musst du dann natürlich mit der Datenrate runter.
Aber das ist ja kein Problem, da du ja nur noch die Information An/Aus 
übertragen musst. Und das sollte zeitlich unkritisch sein.
Das Dimmen machst du dann, wie du ja schon die Idee hattest, global über 
den Enable-Pin.

du könntest dich sogar nach einem PWM-Controller umschauen, der über SPI 
angesteuert wird. Den könntest du dann in die Schieberegisterkette 
einhängen und dann z.B. im Letzten Byte des Telegramms die Helligkeit 
übertragen.
Der Chip steuert dann mit seinem PWM Ausgang Global die OEs der 
Schieberegister.

Dann ist dein Controller völlig von irgendwelchen PWMs befreit und du 
sparst auch noch eine Leitung.

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
> Also unter den Voraussetzungen ist die Idee mit dem Enable Pin sicher
> eine gute Idee.

ja meinst du, das klappt? Werde das auf jeden Fall durchtesten.

Ansonsten bleibt immer noch ein Transistor für die gemeinsame 
Rückleitung der LEDs.

> Wenn du das über ein Schiebergister machst, dann würde ich darauf
> achten, dass du den Takteingang filterst. Dass kurze Spikes auf dem Takt
> nicht zu einem ungewollten Schiebevorgang führen.

Leider wieder Prosa. Ich bin kein Profi. Hobby-Frickler mit Ambition zur 
Perfektion. Sage mir: Welche Kapazität (Kabel-Länge=1 bis 2 Meter, 
gewöhnliche Steuerleitung). Takt: Sagen wir mal: 1000 Hz reichen für ein 
flackerfreies Dimmen meines bescheidenen Wissens nach völlig aus.

> Entsprechend musst du dann natürlich mit der Datenrate runter.
> Aber das ist ja kein Problem, da du ja nur noch die Information An/Aus
> übertragen musst.

Ja genau.

> Das Dimmen machst du dann, wie du ja schon die Idee hattest, global über
> den Enable-Pin.

d'accord

> du könntest dich sogar nach einem PWM-Controller umschauen, der über SPI
> angesteuert wird. Den könntest du dann in die Schieberegisterkette
> einhängen und dann z.B. im Letzten Byte des Telegramms die Helligkeit
> übertragen.

Nicht so schnell. Der PCA9685, wie von Wolfgang und Stefanus empfohlen, 
läuft via I2C. Wäre doch sinnvoll, den PWM Pin auch über I2C zu steuern.

Aber eigentlich dachte ich einfacher: Reicht ein einfaches geschirmtes 
Kabel nicht aus?



> Der Chip steuert dann mit seinem PWM Ausgang Global die OEs der
> Schieberegister.
>
> Dann ist dein Controller völlig von irgendwelchen PWMs befreit und du
> sparst auch noch eine Leitung.

Die eine Leitung habe ich. Die meisten lokalen Pins bleiben eh frei, 
weil die LEDs extern sind.

OK, freut mich wegen der Übereinkunft :-)

von Schlumpf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> ja meinst du, das klappt? Werde das auf jeden Fall durchtesten.

Ja, das klappt

PWM schrieb:
> Hobby-Frickler mit Ambition zur
> Perfektion.

In sich widersprüchlich.. denn dann sollte man sich ein wenig mit der 
Theorie befassen.. Frickeln und Perfektion schließt sich aus. :-)

PWM schrieb:
> Welche Kapazität (Kabel-Länge=1 bis 2 Meter,

Auch wenn dir Prosa nicht gefällt:
das lässt sich so pauschal nicht beantworten. Leitungsführung spielt 
dabei auch ne Rolle. Abstand von Signal zu GND z.B.

PWM schrieb:
> Wäre doch sinnvoll, den PWM Pin auch über I2C zu steuern.

Kann man machen.. aber der Chip bietet für JEDE LED einen SEPARATEN PWM.
Kann man machen, aber ist mit Kanonen auf Spatzen geschossen, wenn du ja 
eigentlich über den Bus für jede LED nur die Info An/Aus übertragen 
willst.

PWM schrieb:
> Die eine Leitung habe ich. Die meisten lokalen Pins bleiben eh frei,
> weil die LEDs extern sind.

Dann mach es mit den Schieberegistern und der zusätzlichen Leitung, die 
die PWM an die OE Pins führt

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
> PWM schrieb:
>> Hobby-Frickler mit Ambition zur
>> Perfektion.
>
> In sich widersprüchlich.. denn dann sollte man sich ein wenig mit der
> Theorie befassen.. Frickeln und Perfektion schließt sich aus. :-)

Ja ich weiß :-)

> das lässt sich so pauschal nicht beantworten. Leitungsführung spielt
> dabei auch ne Rolle. Abstand von Signal zu GND z.B.

Also mit Oszi feintunen. Gut, geht auch.

> Dann mach es mit den Schieberegistern und der zusätzlichen Leitung, die
> die PWM an die OE Pins führt

Meine unsicherheit ist immer noch der Bus. Aber vielleicht ist das bei 2 
Metern kein Problem. Ich habe das tatsächlich noch nie gemacht. Oszi 
wird hoffentlich eine Hilfe sein.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
> Kann man machen.. aber der Chip bietet für JEDE LED einen SEPARATEN PWM.
> Kann man machen, aber ist mit Kanonen auf Spatzen geschossen, wenn du ja
> eigentlich über den Bus für jede LED nur die Info An/Aus übertragen
> willst.

Bei 12ct pro Kanone ist das finanziell zu stemmen.

Man kann natürlich auch die WS2812 als LEDs mit eingebautem 
Bus-Controller oder WS2811 als separatem Controller einsetzen.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> Hach, seufz, ich liebe Prosa.

Du hast damit angefangen.

> Gibts zum Überbrücken von 2 Metern (das
> reicht völlig) auch irgendwo einen Schaltplan, wo z.B. die Pull-Up
> Widerstände einen Ohmwert haben?

https://i.stack.imgur.com/GfXfF.jpgs

von Harald W. (wilhelms)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:

> Welche Probleme hast du mit dem "hochverseuchten Kfz-Netz" und LEDs  ;-) > > Das 
klappt schon, sorge dich nicht.

Ja, wenn man einen Wechselroboter für die
dauernd durchbrennenden LEDs hat...

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Harald W. schrieb:
> PWM schrieb:
>
>> Welche Probleme hast du mit dem "hochverseuchten Kfz-Netz" und LEDs  ;-) > > 
Das
> klappt schon, sorge dich nicht.
>
> Ja, wenn man einen Wechselroboter für die
> dauernd durchbrennenden LEDs hat...

WIESO in Drei Pontifex Maximus Namen sollen im Auto LEDs durchbrennen? 
Ich habe vieles noch nicht gehört, aber das auch noch nicht.

Stefanus F. schrieb:

> https://i.stack.imgur.com/GfXfF.jpgs

Das ist schon mal ein Anfang. Prima, danke dir :-)

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
@ Stefanus F.  der R3 past aber nicht oder?

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> ... der R3 past aber nicht oder?

Das ergibt 1,5mA. Was magst du daran nicht?

von Harald W. (wilhelms)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:

> WIESO in Drei Pontifex Maximus Namen sollen im Auto LEDs durchbrennen?
> Ich habe vieles noch nicht gehört, aber das auch noch nicht.

Dann solltest Du Dich etwas mehr mit der Erlernung von Grundlagen
beschäftigen. Das es im Auto starke Störspannungen gibt, sollte
allgemein bekannt sein. Deshalb gibt es dafür Schutzschaltungen,
die auch in den DSE-FAQ beschrieben werden. Die Autohersteller
bauen für ihre serienmäßig vorhandene Elektronik auch entspre-
chende Schutzschaltungen ein, und das sicherlich nicht, weil sie
zuviel Geld haben.

von PWM (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> PWM schrieb:
>> ... der R3 past aber nicht oder?
>
> Das ergibt 1,5mA. Was magst du daran nicht?

Ergibt R3 R2 keinen Spannungsteiler ?

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
PWM schrieb:
> der R3 past aber nicht oder?

Ich glaube den haben die nur eingezeichnet, um zu verdeutlichen, dass 
der Eingang des Mikrocontroller hochohmig ist, oder so. Lass ihn weg.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.