mittlerer Strom von PWM messen

OP #1153775
Hallo

Ich betreibe einige LEDs mit einem PWM Signal aus einem PIC16f690 und 
würde für die Regelung gerne den mittleren Strom der LEDs mittels ADC 
messen.
Konkret steuert das PWM-Signal (~2KHz) einen MOSFET, der die LEDs (3 in 
Serie) betreibt. Ein 1 Ohm Shunt Widerstand nach der LED gibt mir eine 
kleine Spannung, die ich mittels OpAmp verstärke und dann mit dem ADC 
messe.
Das klappt soweit, aber die Spannung ist sehr variabel (logisch, ist ja 
auch PWM). Wie kriege ich nun den mittleren Strom, der durch die LED 
fliesst?
Ich habe versucht die maximale Spannung zu messen, kriege das aber nicht 
richtig hin. Das Multimeter zeigt mir am OpAmp Ausgang eine vernünftige 
Spannung an, der ADC misst aber Mist :-(
Mit einer konstanten Spannung (von extern) klappt die Regelung über den 
ADC wie erwartet.
Ein Kondensator um die Spannung am Messeingang kurz zu halten habe ich 
auch schon versucht, wollte aber nicht klappen :-(

Wie misst man nun normalerweise den mittleren Strom eines PWM Signals? 
Oder den Maximalen - den Rest kann ich danach ja rechnen.

Gruss
Daniel
Gast #1153795
wenn du nen ADC hast, der so schnell wandelt, dass du den Rechteck 
abbilden kannst. Dann kannst deinen mittleren Strom berechnen. Während 
Toff ist der Strom Null und während Ton ist der Strom
Imax = Ushunt/Rshunt.

und über den Duty Cycle kannst dann den mittleren Strom bestimmen.

Iavg = Ion * DC

DC und Rshunt sind bekannt
Ushunt wird gemessen
Gast #1153802
Oder über ne Sample and Hold Schaltung.. immer dann, wenn der PWM auf 
eins geht, machst nen Sample in den Kondensator. über nen 
Spannungsfolger gibst dann die Kondensatorsapnnung an deinen ADC. So 
weisst du immer, wie deine Spannung am Shunt während Ton ist. Rest wie 
oben.

Du siehst, jetzt haben wir schon drei Möglichkeiten. Je nachdem, wie 
genau und reaktionsschnell du regeln willst steigt oder fällt der 
Aufwand
#1153878
@  Daniel S. (dschaedl)

>Ich betreibe einige LEDs mit einem PWM Signal aus einem PIC16f690 und
>würde für die Regelung gerne den mittleren Strom der LEDs mittels ADC
>messen.

???
Wozu messen? Du KENNST den Strom doch, weil DU die PWM steuerst. Siehe 
PWM.

MFG
Falk
#1153900
Ich hab das so verstanden, dass er die Spannung nicht kennt, die seine 
LED treibt. Von daher würde ich das auch einfach so machen, wie bereits 
beschrieben: Die Spannung überm Shunt während der On-Phase messen 
(besser: Kurz vor der Off-Phase, falls durch induktive Anteile der Strom 
langsamer ansteigt). Dann mit dem Dutycycle, den du ja durch deine PWM 
kennst, den mittleren Strom ausrechnen.

Matthias
Gast #1154479
Ich seh´s auch so: Er kennt den Strom nicht... zumindest nicht genau.
Er kennt lediglich die Spannung am PWM-Ausgang Uon, und Uoff und den 
DutyCycle.
Aber genaugenommen würde sein regler einmal einregeln und dann wäre es 
das. Es kommt ja von aussen keine Störgröße mehr drauf. Ausser, er 
möchte Einflüsse, wie Temperatur kompensieren.

Wenn es aber gar nicht so exakt sein muss, dann würde ich einfach mit 
nem kleinen Tesprogramm den CD langsam hochdrehen, bis die LEDs so 
leuchten, wie ich es mir vorstelle und dann den DC hart in der SW 
einstellen. Einflüsse wie Temperatur werden dann halt nicht kompensiert.
Gast #1154503
Hallo,
wichtig ist wohl hier, dass der Sample-Vorgang nicht mit einem 
Schaltvorgang der PWM zusammenfällt. Das verursacht i. d. R. starke 
Störungen.
Somit sollte der AD-Wandler auf die PWM abgestimmt sein, wie das bei 
Motor-Controllern üblich ist.
MfG.
OP #1154623
Danke für all die vielen Hinweise!!

ein paar Kommentare:
Der ADC ist leider zu langsam um das PWM Signal korrekt abzubilden.
Die Ausgangsspannung kenne ich leider nicht genau; sie liegt im Bereich 
10-14V - darum will ich ja messen ;-)
Ausserdem will ich schlussendlich die Helligkeit regeln, indem ich die 
Zielspannung über Rshunt anpasse.

Sample & Hold klingt eigentlich optimal. Aber dazu brauche ich wieder 
ein zusätzlich zu beschaffendes Bauteil.
Den ADC auf das PWM Signal zu synchronisieren klingt eigentlich auch gut 
- bloss wie :-(
Ich werde mich zuerst mal mit dem Tiefpass beschäftigen. Die 
Dimensionierung wird mich wohl noch etwas Kopfzerbrechen kosten, da ich 
das noch nie gemacht habe...
zu diesem Thema habe ich auch noch einen interessanten Artikel gefunden:
http://imperia.mi-verlag.de/imperia/md/content/ai/ae/fachartikel/ei/2006/10/ei06_10_030.pdf

Danke nochmals für die vielen Tips :-)
Daniel
Gast #1156642
hmm.. klar das geht. Dann muss ich mich nur noch auf meine Rechenkünste 
verlassen.
Ist mir aber zu einfach :-D .
Ich habe mir jetzt die Lösung mit dem Tiefpass aufgebaut - klappt auch 
wunderbar und ich habe einen schönen Regelkreis :-)

Danke nochmals
Daniel

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.