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
Mittelwert bilden mit einem RC-Tiefpass?
1 | | |
2 | | |
3 | v I pwm |
4 | | ____ |
5 | o---|____|---o----> ADC |
6 | | | |
7 | - === |
8 | | | | |
9 | | | Shunt --- |
10 | | | |
11 | - |
12 | | |
13 | --- |
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
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
@ 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
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
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.
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.
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
Warum so kompliziert ? Wenn die Versorgungsspannung der LED schwankt, dann würd' ich halt die messen, und die PWM entsprechend nachregeln.
>Warum so kompliziert ? Wenn die Versorgungsspannung der LED schwankt, >dann würd' ich halt die messen, und die PWM entsprechend nachregeln. Genial! Gast3
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.