Forum: Mikrocontroller und Digitale Elektronik PWM IC für LED Streifen


von Thomas G. (thomasguenzel)


Lesenswert?

Hallo,

ich habe vor kurzem eine kleine 16 Kanal Platine zum Ansteuern von LED 
Streifen gebaut, welche den PCA9685 nutzt.
Da ich hauptsächlich RGB Streifen nutze, sind 16 Kanäle etwas ungünstig 
gewählt von der Anzahl. Ebenso ist – meines Wissens nach – das versetzte 
On/Off nicht brauchbar für LEDs, da beim setzen der On/Off Register 
unter bestimmten Umständen ein kompletter Cycle übersprungen wird (siehe 
S.20 im Datenblatt). In anderen Beiträgen wird allerdings dazu geraten, 
eine leichte Phasenverschiebung zwischen den Kanälen zu haben, um die 
Last am Netzteil gleichmäßiger zu verteilen.

Meine Frage wäre jetzt: Gibt es gute Alternativen zum PCA9685 für LED 
Streifen?
Ich habe gesehen, dass Texas Instruments einige anbietet, allerdings 
arbeiten diese meist mit Konstantstrom und ich bin mir – als ziemlicher 
Anfänger – nicht sicher, ob das eine gute Lösung fürs Ansteuern von den 
MOSFETs ist (insbesondere weil ja sowohl 12V als auch 24V Streifen 
möglich sind und sich somit ja auch der Strom am Gate ändern müsste, 
aber wie gesagt bin da absoluter Anfänger). Auch in den Application 
Notes habe ich nichts zum Ansteuern von Streifen gefunden.

Aber vielleicht gibt es ja noch andere PWM ICs die sich anbieten würden.

Vielen Dank schonmal!

von Michael_Ohl (Gast)


Lesenswert?

nimm doch einfach einen PIC Microcontroller mit genug 16bit PWM Kanälen. 
Den kann man dann auch ganz ohne Klimmzüge am Brotkasten nach belieben 
in Assembler oder C Programmieren.

mfG
michael

von Stefan F. (Gast)


Lesenswert?

Ich denke, dass die Konstantstromquelle nicht direkt ein Hindernis bei 
der Ansteuerung von MOSFET ist. Die SPannungspegel müssen natürlich 
passen (deutlich über und unter der Gate Threshold Voltage).

Die Leichte Phasenverschiebung bekommst du relativ einfach, indem du 
unterschiedliche große Kondensatoren im einstelligen nF bereich parallel 
zu den Gates schaltest. Dadurch werden zudem die Flanken der Ströme 
flacher, so dass dein LED Streifen weniger HF Störungen abstrahlt.

Der Nachteil bei der Aktion ist, dass die Verlustleistung an den 
Transistoren ansteigt. Sie brauchen mehr Kühlung. Ich würde mir den 
Luxus aber trotzdem gönnen, da ich schon genug mit schlecht 
funktionierenden Funkverbindungen zu kämpfen habe.

von M. K. (Gast)


Lesenswert?

Thomas G. schrieb:
> leichte Phasenverschiebung zwischen den Kanälen zu haben, um die
> Last am Netzteil gleichmäßiger zu verteilen.

Das stimmt.
Die Pulse stochastisch zu verteilen indem man die PWM Hardware nicht 
benutzt, sondern das über Software PDM macht, hat bei einer größeren 
Installation den Spannungsabfall über ein 10m Segment von 7V auf 3V 
gesenkt.
RGBW Leisten, die bei PWM lustige Farbeffekte hatten, konnte so nur 
durch Software PDM doch benutzt werden.
Rot hat die geringste Vorwärtsspannung und bleibt noch lange bei 100% 
wenn, die anderen Farben bereits schwächeln.

PDM ist nicht schwer umzusetzen, braucht wenig Ressourcen und liefert 
Dir fast beliebig viele Kanäle ohne dabei die Rechenzeit zu 
vervielfachen.

10bit reichen um keine sichtbaren Steps mehr beim fading zu sehen.
Das wirst Du aber über eine MCU Deiner Wahl machen müssen.
Fertige ICs dafür kenne ich nicht.

von Thomas G. (thomasguenzel)


Lesenswert?

Michael_Ohl schrieb:
> nimm doch einfach einen PIC Microcontroller mit genug 16bit PWM Kanälen.

Finde leider nur welche mit max. 6 Kanälen. Besser wären genug für 
mindestens 4 Streifen, also mit mindestens 12 Kanälen. Müsste dann wohl 
also mehrere zusammen schließen.


Stefan ⛄ F. schrieb:
> Ich denke, dass die Konstantstromquelle nicht direkt ein Hindernis bei
> der Ansteuerung von MOSFET ist. Die SPannungspegel müssen natürlich
> passen (deutlich über und unter der Gate Threshold Voltage).

Hättest du zufällig einen Schaltplan dafür? Hab nur diese Application 
Note gefunden, die aber auch nicht wirklich das Betreiben von LED 
Streifen beschreibt 
https://www.maximintegrated.com/en/design/technical-documents/app-notes/2/2197.html


M. K. schrieb:
> Das wirst Du aber über eine MCU Deiner Wahl machen müssen.
> Fertige ICs dafür kenne ich nicht.

Schade, hatte gehofft, dass es da schon fertige Lösungen gibt.

von Stefan F. (Gast)


Lesenswert?

Thomas G. schrieb:
> Hättest du zufällig einen Schaltplan dafür?

Für einen Widerstand? nein.

Hänge an die Ausgänge anstelle von LEDs einfache Widerstände. Daran 
sollte dann eine pulsierende Spannung abfallen, mit der du deine MOSFET 
ansteuern kannst.

Grundschaltungen findest du in 
http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%202.pdf 
Kapitel 2.2 und 3.4

von Johannes S. (Gast)


Lesenswert?

Thomas G. schrieb:
> da beim setzen der On/Off Register
> unter bestimmten Umständen ein kompletter Cycle übersprungen wird (siehe
> S.20 im Datenblatt)

Wo steht das da genau, welches Datenblatt? Bei meinem von NXP Rev.4 von 
2015 steht auf S.20 ein Timingdiagramm und nichts von übersprungenen 
Cycles.
Der PCA9685 wurde ja genau für solche gedimmten LED Arrays entworfen. 
Ich würde da eher versuchen die 'bestimmten Umstände' zu vermeiden.

von M. K. (Gast)


Lesenswert?

Thomas G. schrieb:
> Schade, hatte gehofft, dass es da schon fertige Lösungen gibt.

Für PWM sicher.
Für PDM nach meinem Wissen nicht.

Zur PWM Ansteuerung von LEDs gibt es aber wirklich reichlich Kram ohne 
da basteln zu müssen.
Mit Fernbedienung, mit Bedienelementen etc. pp.
Einfach mal bei Ebay durchforsten.

Es wird nicht so ganz klar, was Du Dir von einer eigenen Ansteuerung 
erwartest.
Wenn Du das über einen eigenen Controller betütern willst, ist eine PDM 
Routine auch schnell geschrieben.
Das englische Wikipedia ist hier mal wieder nützlicher als die 
kastrierte deutsche Version:
https://en.wikipedia.org/wiki/Pulse-density_modulation

Der Vorteil bei PDM gegenüber PWM ist, das die high / low Wechseln nicht 
einmal während eines Zyklus geschehen, sondern stochastisch verteilt 
ständig während eines Zyklus.
Damit kannst Du also mit viel geringerer Frequenz arbeiten ohne ein 
Flackern wahrzunehmen.
PDM ist prädestiniert für viele PWM Ausgänge, weil jeder weitere Ausgang 
mit einem Vergleich und einer Portoperation erschlagen ist.
Die PDM Routine legst Du in eine ISR die mit 100Hz aufgerufen wird und 
mit den Portpins wackelt. Nicht allzu kompliziert.

Ich habe vor Jahren auf einem 12Mhz 8051 eine 4x10bit PDM geschrieben, 
der noch anderes zu tun hatte. Also kein Hexenwerk.
Dedizierte PWM Hardware im Controller brauchst Du eigentlich nur für 
sehr schnelle Sachen.

von Johannes S. (Gast)


Lesenswert?

das alles kann der PCA doch, programmierbare On/Off Zeiten mit 12 Bit 
Auflösung bei hohen Frequenzen. Kaskadierbar und 6 Bit I2C Adresse frei 
einstellbar, damit bekommt man auch große Arrays hin.

M. K. schrieb:
> Zur PWM Ansteuerung von LEDs gibt es aber wirklich reichlich Kram ohne
> da basteln zu müssen.

da ist viel Schrott dabei, die IR oder RF Empfänger reagieren gerne auf 
Signale die nicht für sie gedacht sind. Wenn die TV FB stört dann ist 
unbrauchbar, hatte ich schon.

von Thomas G. (thomasguenzel)


Angehängte Dateien:

Lesenswert?

Johannes S. schrieb:
> Wo steht das da genau, welches Datenblatt? Bei meinem von NXP Rev.4 von
> 2015 steht auf S.20 ein Timingdiagramm und nichts von übersprungenen
> Cycles.

Hab in der angehängten Datei mal eingezeichnet was genau ich meine. Auf 
S.19 werden die Outputs 'wie erwartet' im nächsten Cycle aktualisiert.

Stefan ⛄ F. schrieb:
> Grundschaltungen findest du in ...

Top, vielen Dank! Werd ich mir anschauen.

M. K. schrieb:
> Es wird nicht so ganz klar, was Du Dir von einer eigenen Ansteuerung
> erwartest.

War bisher mit fertig gekauften eBay/Aliexpress Lösungen nicht 
zufrieden. Meist war die PWM Frequenz einfach zu gering und/oder es 
wurde linear gedimmt und nicht logarithmisch.

M. K. schrieb:
> Dedizierte PWM Hardware im Controller brauchst Du eigentlich nur für
> sehr schnelle Sachen.

Bin da vermutlich etwas geprägt von Softwareentwicklung für PCs, und 
versuch meist, so wenig Overhead wie möglich auf dem IC zu haben und 
möglichst viel "im Hintergrund" laufen zu lassen. Bin bei dem Projekt 
noch nicht sicher wie viel sonst auf dem Chip laufen muss und 
Software-PWM/PDM wäre ja doch recht zeitkritisch.

von Johannes S. (Gast)


Lesenswert?

Thomas G. schrieb:
> Hab in der angehängten Datei mal eingezeichnet was genau ich meine. Auf
> S.19 werden die Outputs 'wie erwartet' im nächsten Cycle aktualisiert.

ja, aber muss man tON > tOFF setzen? Wenn durch die versetzten Phasen 
eine Überlappung entsteht kann man ja wieder tON der 2. LED kleiner 
machen beim aufdimmen.

von Thomas G. (thomasguenzel)


Lesenswert?

Johannes S. schrieb:
> tON der 2. LED kleiner
> machen beim aufdimmen

Wie meinst du das? Welche 2. LED?

von Johannes S. (Gast)


Angehängte Dateien:

Lesenswert?

ich habe das mal mit 2 LED gemalt wie ich mir das denke.
LED1 ist dabei erstmal immer mit 50%, LED2 mache ich in Stufen heller. 
Um die Last gleichmässiger zu verteilen, starte ich LED2 nach LED1. Das 
geht bis 50 %, dann gibt es eine Überlappung. Wenn diese jetzt in den 
nächsten Zyklus reingeht, also tOFF < tON wird, dann gibt es das Problem 
mit den Zyklen (Fall3). Wenn tON von LED2 in dem Fall kleiner gemacht 
wird, dann passt es wieder.
Bei 16 und mehr LED wird das natürlich beliebig kompliziert. Ich weiss 
nicht ob man sich da solche Sorgen machen muss oder ob PDM da besser 
ist. Für eine Terassenbeleuchtung möchte ich auch 24x 3 Watt Spots 
ansteuern und wollte das mit den PCA9685 machen.

von Thomas G. (thomasguenzel)


Lesenswert?

Die Idee von dir find ich mega! Ist auf jeden Fall schonmal besser als 
als gar kein Delay. Werde ich nächste Woche mal testen.

Johannes S. schrieb:
> Für eine Terassenbeleuchtung möchte ich auch 24x 3 Watt Spots
> ansteuern und wollte das mit den PCA9685 machen.

Also in meinem Prototypen habe ich aktuell noch keine 
Phasenverschiebung, lediglich einen 470uF Elko zwischen den +12V/+24V 
und GND, aber wie gesagt, bin absoluter Anfänger und keine Ahnung ob das 
wirklich so viel bringt. Es funktioniert allerdings einwandfrei mit ~50W 
(5x 24V RGB Streifen, je 10W, also 3.33W pro Kanal). Jedoch hätte ich 
gerne in der nächsten Version einen Chip hergenommen, der eben dieses 
Problem mit dem tOff < tON nicht hat.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.