Hallo zusammen,
ich hoffe ich bin im richtigen Forum gelandet. Gleich vorneweg ich habe
eigentlich nicht viel mit Elektronik am Hut und bin daher auch nicht
übermäßig bewandert, weshalb ich hier Hilfe suche.
Meine Projekt: Ich würde gerne High Power LEDs über einen Raspberry Pi
steuern. Dabei habe ich 4 LED cluster mit je max. 4 LED. Insgesamt
werden es nicht mehr als 12 - 15 LEDs werden. Die Stromaufnahme je LED
beträgt max. ca. 750mA bei 2,3V. Die Aufgabe besteht darin diese LED
Cluster mit dem Raspberry zu dimmen. D.h. ich brauche 4 Kanäle, die je
ein Cluster ansprechen.
Soweit ich gelesen habe, ist die eleganteste Methode zum Dimmen von
LEDs, die Stromaufnahme zu limitieren. In dem Zusammenhang fällt der
Begriff Konstantstromquelle sehr häufig (Quelle:
http://www.elektronikpraxis.vogel.de/themen/hardwareentwicklung/powermanagement/stromversorgung/articles/377381/index2.html).
Jetzt habe ich mir angeschaut, was der Raspberry an Ausgängen bietet.
An/Aus Ausgänge fallen aus. Dann habe ich gesehen, dass es einen PWM
Ausgang. Aber da es ja nur einer ist, nützt es relativ wenig. Insofern
scheint der I2C recht interessant.
Jetzt fallen mir folgende Ideen ein. Entweder ich habe 4 Schaltungen,
die über ein Signal des I2C Buses mir einen bestimmten Maximalstrom zur
Verfügung stellen, um die LED zu dimmen. Oder falls das so nicht
funktioniert, könnte man doch über den I2C Bus einen IC ansprechen der
ein bestimmtes PWM Signal erzeugt aus dem dann wieder über einen
weiteren IC/Schaltung ein bestimmter Strom generiert wird.
Fragen:
1. Sind meine Gedankengänge überhaupt so richtig?
2. Wenn ja, was haltet ihr von meinen Vorschlägen zu Realisierung? Macht
das überhaupt so Sinn?
3. Geht es vielleicht einfacher?
4. Wo kann ich konkrete Beispiele finden, um meine Idee umzusetzen?
Vielen Dank für eure Hilfe!
Peter
Peter schrieb:> 4. Wo kann ich konkrete Beispiele finden, um meine Idee umzusetzen?
Vor knapp 2 Jahren gab es bei ELV mal ein Modul für 16 LED über I2C
Ausgangsleitung war geringer, kann man jedoch zusammenfassen.
Module anderer Leistung:--> Datenblatt des Herstellers auf dem Modul.
Oder Internet: PWM,I2C LED .....
Hallo,
wie bastelig soll/darf es denn sein? Willst Du ein fertiges Modul, oder
hast Du Lust, selbst was zu bauen?
Arbeite grade an einem änlichen Projekt: per I²C gesteuerte
Konstantstromquellen für LED-Leisten. Als Grundlage möchte ich Step-Down
Spannungsregler Module von ebay verwenden und eine externe
Stromstärkenbegrenzungsregelung dranbauen, deren Soll mit einem
Mikrocontroller eingestellt wird.
Das könntest Du für Dein Projekt auch verwenden. Hat bestimmt schonmal
jemand so gemacht - evtl. hat ja jemand einen Link zu einem ähnlichen
Projekt. Ich stelle meine Ergebnisse auf jeden Fall hier im Forum vor,
wenn sie dann vorliegen.
Lukas
Puh...das waren jetzt schon allerhand Antworten.
@Holger: Kannst du denn ein kommerzielles Produkt empfehlen? Ich möchte
ja eine Software schreiben, die die Dimmung in Abhängigkeit
verschiedener Faktoren (z.B. Tageszeit) vornimmt. Ich kann mir nur
schwer vorstellen, dass man einen freiprogrammierbaren LED Dimmer kaufen
kann.
@Ich selber: Hast du einen Link dafür?
@Lukas P.: Ich hätte schon Lust auch etwas selber zu bauen. Würde mich
freuen, wenn du dein Projekt online stellt, sodass man es sich anschauen
kann.
Ich habe im Netz jetzt eine Schaltung gefunden, die ein PWM Signal in
einen Konstantstrom umwandeln kann. Sowas wäre ja schon mal ein Ansatz.
Ich habe die Schaltung als Bild angehangen. Leider habe ich sie noch
nicht ganz verstanden. Soweit ich es laienhaft einschätzen kann, würde
ich sagen, dass es sich um einen Impendanzwandler (OPV1) mit
angeschlossenen Integrier (OPV2) handelt. Je länger die PWM Impulse
desto höher die Spannung am MOSFET je mehr Strom kann fließen.
Ist dieser Gedanke richtig?
Warum sind am Eingang der Schaltung Widerstände und Kondensatoren? Sieht
für mich aus wie 2 Tiefpässe.
Welche Rolle spielen R7, R8 und R10?
Peter schrieb:> Soweit ich es laienhaft einschätzen kann, würde> ich sagen, dass es sich um einen Impendanzwandler (OPV1) mit> angeschlossenen Integrier (OPV2) handelt. Je länger die PWM Impulse> desto höher die Spannung am MOSFET je mehr Strom kann fließen.
Richtig erkannt sind die beiden RC-Glieder am Anfang Tiefpässe, die
machen aus der PWM-Spannung eine fast konstante Gleichspannung. Der
Impedanzwandler danach ist dafür da, dass der Spannungsteiler aus R9,
R11 und R13 die mit der PWM und den Tiefpässen erzeugte Spannungsquelle
nicht so sehr belastet. Die Widerstände R5, R6 sind zusammen 100kOhm,
der Spannungsteiler zusammen 410kOhm. D.h., ohne den OpAmp IC2b als
Puffer, könnte am Ausgang des Spannungsteilers nur 410/(200+410)=2/3 der
Spannung erzeugt werden.
R10 ist ein Shunt; er wird verwendet, um den Strom durch die LED zu
messen. Nach dem Ohmschen Gesetz: wenn über den Widerstand R10 ein Strom
Iled fließt, fällt über ihn eine Spannung Ushunt = R10 * Iled ab. Bei
750mA sind das Ushunt = 0.2Ohm * 750mA = 150mV. Der OpAmp IC2a
vergleicht diese Spannung mit der per PWM und Tiefpass erzeugten und
durch den Spannungsteiler reduzierten Spannung (Sollspannung). Liegt sie
höher, reduziert er die Spannung am Ausgang und damit die Leitfähigkeit
des MOSFETs, bis der Strom soweit sinkt, dass die Spannung, die über R10
abfällt, wieder der Sollspannung entspricht. Ohne den Spannungsteiler
könntest Du nicht die volle Auflösung des PWM-Ausgangs nutzen, z.B.
5V-0V in 256 Schritten, sondern müsstest Spannungen von 0.15V-0V
erzeugen, das entspräche nur ~8 Schritten. Du hättest also anstatt 256
nur 8 Helligkeitsstufen zur Verfügung.
R7 sorgt dafür, dass nicht jedes kleine Zittern am Ausgang von IC2a den
Mosfet in Aufruhr versetzt. R8 tut das gleiche, nur für Shuntspannung ->
+-Eingang von IC2a.
So zumindest verstehe ich die Schaltung. Korrigiert mich, wenn ich
falsch liege.
Mein Ansatz ist Ähnlich: ich würde, statt mit dem MOSFET Leistung zu
Verbraten, direkt die Spannungsquelle (Buck-Regler) drosseln. Außerdem
würde ich glaube ich auf IC2b verzichten und die Tiefpässe niederohmiger
dimensionieren. Über ~500kOhm Spannungsteiler fließen bei 5V
Ausgangsspannung nur 0.1mA, das kann der PWM-Ausgang von jedem
Controller problemlos liefern. Der OpAmp-Eingang schluckt maximal
0.001mA, sollte also den Spannungsteiler auch nicht zu sehr belasten.
Wie eilig hast Du es denn? Meinen Ansatz testen und die richtigen
Bauteilwerte ermitteln kann ich frühestens in zwei Wochen, muss noch auf
eine Bestellung warten.
Lukas
Und mal so am Rande: Der Raspberry bringt KEIN Hardwarebasierenden PWM
mit sich. Die die verfügbar sind, werden für das Soundmodul auf dem
Raspi verwendet - es ist kein PWM Kanal auf die GPIO ausgeführt. Eine
Softwarelösung dürfte aber rein theoretisch für deinen Anspruch, ein
paar LEDs zu dimmen, ausreichen.
Halt falsch... gelogen: GPIO18 scheint wohl ein HW PWM Chanel
enthalten.. doof nur das er da auch den SCL CLK führt.
> doof nur das er da auch den SCL CLK führt.
Ist kein Problem. Peter möchte ohnehin mehr als einen Kanal betreiben,
also muss er die PWM extern generieren.
Lukas P. schrieb:> Ist kein Problem. Peter möchte ohnehin mehr als einen Kanal betreiben,> also muss er die PWM extern generieren.
Korrekt.
Ich habe es eigentlich überhaupt nicht eilig. Mich interessiert nur das
Thema gerade. Es ist mehr die Neugierde die mich antreibt als der Drang
das Projekt sofort umzusetzen. Deswegen bin ich dann auch auf deine
Ergebnisse gespannt;)
Ich würde gerne noch ein paar Fragen loswerden. Soweit ich informiert
bin ändert der Tiefpass nichts an der Frequenz des Eingangsignals (PWM).
Lediglich die Amplitude verkleinert sich mit ansteigender Frequenz.
Eventuell entsteht auch noch eine Phasenverschiebung. Mein
Schaltungsbeispiel ist angeblich für ein 15kHz Signal ausgelegt. Wenn
ich jetzt von einem 15kHz Rechtecksignal ausgehe, dass zwischen 0 und 5V
schwingt, komme ich rechnerisch (1/(1+(2*pi*f*R*C)^1)^1/2) für die
Ausgangsspannung auf ca. 1,7% der Eingangsspannung. Da es zwei Tiefpässe
hintereinader sind auf sogar nur 0,028% der Eingangsspannung. Für 5V
würde das eine Amplitude von gerade mal 1mV ergeben. Ist die
Rechnung/der Gedanke so richtig?
Selbst, wenn sich jetzt die Pulsweite ändert, ändert sich ja die
Frequenz nicht und damit auch nicht die Spannung nach dem doppelten
Tiefpass!?
Ich dachte IC2-a ist ein Integrierer, aber deiner Aussage nach gleicht
er zwei Spannungen an. Woher weißt du das? Wie kann ich das sehen?
Btw die PWM Signal kann ich wohl ganz gut mit dem PCA9685 erzeugen. Hat
16 Kanäle und lässt sich mit I2C ansprechen. Gibt es sogar als Modul zu
kaufen.
Zum Themenkomplex LED dimmen siehe diesen Artikel, da steht drin, wie es
geht und wie nicht:
LED-FadingPeter schrieb:> Soweit ich informiert bin ändert der Tiefpass nichts> an der Frequenz des Eingangsignals (PWM).
Korrekt.
> Lediglich die Amplitude verkleinert sich mit ansteigender Frequenz.
Falsch, das Signal wird nur geglättet.
Siehe die Grundlagenartikel:
PulsweitenmodulationPWM-Glättung/Digital-Analog-Wandlung mit RC-Tiefpass
Wenn du der Sache wirklich auf den Grund gehen willst, empfehle ich dir
eine LTspice Simulation.
> Ich dachte IC2-a ist ein Integrierer, aber deiner Aussage nach gleicht> er zwei Spannungen an.
Um die Schaltung um IC2-a zu verswtehen, lass erstmal R7, R8 und C13
weg, dann erschließt es sich vielleicht. Dazu auch diesen Artikel
durcharbeiten:
Operationsverstärker-Grundschaltungen> Woher weißt du das? Wie kann ich das sehen?
Lange Erfahrung.
Alexander: Der 'LED-Fading'-Artikel berücksichtigt aber in keinster
Weise, dass die Flussspannung der LED stark mit der Temperatur variiert.
Mit dem im Artikel gewählten Aufbau werden in der LED (worst case rot)
maximal ~6mW Wärmeleistung frei (I=~3mA), die kann man aber idR. bei
36mW (20mA) betreiben. Die Demo wird also in einem sicheren
Leistungsbereich durchgeführt, deshalb ist der Betrieb bei
Konstantspannung ok. Peters LEDs hingegen (~750mA, mutmaßlich bei
Spannungen >10V), werden sich schon deutlich aufheizen. Er will sie
(denke ich) auch nicht nur bei unter halber Leistung laufen lassen oder
den Kühlkörper überdimensionieren. Wenns blöd läuft, gehen die LEDs ihm
mit einer Konstantspannungsquelle thermisch durch und verbraten. Es gibt
also drei Optionen: ausreichend niedrig gewählte Konstantspannung mit
Vorwiderstand und dann mit in Serie geschaltetem MOSFET per PWM dimmen,
eine schnell schaltbare Konstantstromquelle und damit per PWM dimmen,
oder eben doch eine variierbare Stromquelle. Der Erste Ansatz hat den
Nachteil, dass bei den Strömen im Vorwiderstand schon deutlich Leistung
verbraten wird. Je kleiner man ihn wählt, desto mehr variiert der
LED-Strom mit der Flussspannung. Außerdem braucht man eine
Konstantspannungsquelle, die die schnellen Leistungssprünge
ausregulieren kann, oder muss die PWM-Frequenz senken. Den zweiten
Ansatz werde ich mal in meine Versuchsreihe aufnehmen, den dritten habe
ich aktuelle in Planung. Wenn meine Ausführungen fehlerhaft sind,
widersprich mir gerne - habe das nicht studiert.
Peter: die Dämpfung durch den Tiefpass ist, wie Du schon gesagt hast,
frequenzabhängig. Stell Dir das Prozedere einfach so vor: Der
PWM-Ausgang vom IC lädt (Ausgang high) und entlädt (ausgang low) den
Kondensator durch den Widerstand. Der Widerstand begrenzt die maximale
Lade-/Entladegeschwindigkeit. Es fließt umso mehr Lade/Entladestrom, je
größer die die Differenz zwischen der Spannung am Kondensator und der
des PWM-Ausgangs ist (siehe Ohmsches Gesetz). Dadurch bewegt sich die
Kondensatorspannung in jedem PWM-Taktzyklus etwas näher an den
Mittelwert der Spannung am PWM-Ausgang. Wenn Du das nicht verstehst,
überlege Dir mal für verschiedene Extremfälle, wie Lade- und
Entladestrom wären. Z.B. Kondensator a) komplett entladen, b) auf Vhigh
geladen, c) auf Vhigh/2 geladen, jeweils das PWM-on/off-Verhältnis bei
50/50. Wie groß (qualitativ) ist der Ladestrom jeweils im on-Abschnitt,
wie groß der Entladestrom im off-Abschnitt. Wie ist das Verhältnis der
Ströme? Lädt oder entlädt der Kondensator unterm Strich?
>> Woher weißt du das? Wie kann ich das sehen?> Lange Erfahrung.
Naja ... :) Habe vor ein paar Tagen ähnliche Schaltungen aus Shunt,
OpAmp und 'Leistungsdrossler' gesehen, bei denen der Leistungsdrossler
nicht mit einem MOSSFET, sondern mit einem Schaltnetzteil realisiert
wurde. Habe nur interpretiert, dass hier das gleiche Prinzip umgesetzt
worden ist. Was genau die Aufgabe des Kondensators ist, bin ich mir
nicht sicher. Ich vermute, er soll die Steuerspannung des MOSFET
stabilisieren. EDIT: Wobei, dann hätte man ihn mit dem anderen Beinchen
an Masse gelegt. Hat also schon was mit Rückkopplung zu tun. Hm ...
Lukas P. schrieb:> Alexander: Der 'LED-Fading'-Artikel berücksichtigt aber in keinster> Weise, dass die Flussspannung der LED stark mit der Temperatur variiert.> [...] deshalb ist der Betrieb bei Konstantspannung ok.
Das muss er auch nicht, dort wird die LED exemplarisch über einen
Vorwiderstand betrieben, nicht mit einer Konstantspannung wie du
schreibst.
>> eine LED mittels Vorwiderstand von ca. 1 kΩ an Pin D5 anschliessen
Bei größeren Leistungen würde man eine Konstantstromquelle verwenden und
diese per PWM takten.
> Es gibt also drei Optionen: [...]
Korrekt.
> Der Erste Ansatz hat den Nachteil, dass bei den Strömen im> Vorwiderstand schon deutlich Leistung verbraten wird. Je kleiner man> ihn wählt, desto mehr variiert der LED-Strom mit der Flussspannung.
Richtig.
> Wenn meine Ausführungen fehlerhaft sind, widersprich mir
Das stimmt so schon.
Auch deine Ausführungen zum Tiefpass sind schön anschaulich und korrekt.