Forum: Mikrocontroller und Digitale Elektronik PWM-Signal glätten für LM324


von Jannik W. (jay2007)


Angehängte Dateien:

Lesenswert?

Hallo,
ich versuche zur Zeit eine LED-Leiste zu bauen, die über 8-LED´s verfügt 
und über nur eine Leitung angesteuert wird.
Als Eingangssignal möchte ich gerne ein PWM-Signal verwenden, um es an 
anderer Stellen noch nutzen zu können.
Das Signal wird über einen ATMEGA8 erzeugt und der mit 3,6964MHz 
getaktet ist. -> f_PWM = 14,5kHz
Nun hatte ich die Idee einen AD-Wandler nachzubauen und die 
Quantisierungstufen als Ansteuerung für die LED´s zu nutzen, dieses wird 
über den LM324 realisiert.
Um das Rechteck-Signal zu glätten, habe ich einen passiven Tiefpass 
1.Ordnung verwendet, der eine Grenzfrequenz von ca. 42Hz hat.
Der Schaltplan befindet sich in der angehängten Grafik.

Zu Testzwecken habe ich nur einen IC und vier LED´s genutzt.
Wenn ich meine Schaltung simuliere, klappt auch alles, aber wenn ich sie 
aufbaue, dann werden einfach nur alle vier LED´s gedimmt.

Ich habe noch keine praktische Erfahrung mit PWM und auch nicht viel mit 
Frequenzanalyse, ich habe viel gelesen, aber nie etwas gefunden, dass 
mein Problem löst.

Vielen Dank für jede Hilfe, im Vorraus.

von Udo S. (urschmitt)


Lesenswert?

Jannik W. schrieb:
> LED´s

Der nächste, heut kriege ich echt noch Augenkrebs :-(.
Erkläre mir doch bitte mal warum du ein Apostroph für die Pluralbildung 
benutzt.
Siehe auch
http://www.spiegel.de/spiegel/print/d-16748340.html

von Ingo (Gast)


Lesenswert?

Udo Schmitt schrieb:
> Der nächste, heut kriege ich echt noch Augenkrebs :-(.
Hör doch einfach auf zu heulen, du weisst doch was gemeint is!

von Jemand (Gast)


Lesenswert?

Udo Schmitt schrieb:
> Jannik W. schrieb:
>> LED´s
>
> Der nächste, heut kriege ich echt noch Augenkrebs :-(.
> Erkläre mir doch bitte mal warum du ein Apostroph für die Pluralbildung
> benutzt.
> Siehe auch
> http://www.spiegel.de/spiegel/print/d-16748340.html

Und auch der nächste, welcher wieder den Duden zum Frühstück gegessen 
hat.
Biete ihm lieber eine Lösung für sein Problem.

von Hubert G. (hubertg)


Lesenswert?

Ich weiss nicht welche Simulation du verwendest, aber dein Filter kann 
nicht funktionieren. Es fehlt die notwendige Last.

von MaWin (Gast)


Lesenswert?

> aber wenn ich sie aufbaue, dann werden einfach nur alle vier LED´s
> gedimmt

Vielleicht hast du Masse vom LM324 nicht angeschlossen.

Eigentlich sollte sie nämlich funktionieren.

Daß dir in der Simulation die Widerstände R2 bis R6 nicht durch 
übermässige Hitzeentwicklung aufgefallen sind, ist der Nachteil von 
Simulationen. Die dürfen ruhig KILOohm haben.

Auch leuchtet bereits bei 50% PWM die oberste LED, aber das ist immerhin 
besser als daß bei anderer Auslegung der common mode Input voltage range 
des LM324 überschritten worden wäre.

von Udo S. (urschmitt)


Lesenswert?

Ingo schrieb:
>       Udo Schmitt schrieb:
>> Der nächste, heut kriege ich echt noch Augenkrebs :-(.
> Hör doch einfach auf zu heulen, du weisst doch was gemeint is!

Aflso schribsen wirr alle nurr nfch so. Du wisst ja ws gemnt ist.

ich will den TO nur vor dem ausgelacht werden bewahren. Wenn er so einen 
Scheiß in einer Bewerbung schreibt dann fliegt er schon deswegen auf den 
"Aussortiert" Haufen.
Das ist nämlich kein Tipp, sondern ein systematischer und peinlicher 
Fehler.

von Jannik W. (jay2007)


Angehängte Dateien:

Lesenswert?

Hubert G. schrieb:
> Ich weiss nicht welche Simulation du verwendest, aber dein Filter kann
> nicht funktionieren. Es fehlt die notwendige Last.

Ich verwende Multisim und das Schaltbild ist 1zu1 heraus kopiert.
also muss ich R1 erhöhen, um eine Last zu erzeugen oder den Filter 
anders auslegen?

MaWin schrieb:
>> aber wenn ich sie aufbaue, dann werden einfach nur alle vier LED´s
>> gedimmt
>
> Vielleicht hast du Masse vom LM324 nicht angeschlossen.
>
Masse ist so angeschlossen, wie im Datenblatt(siehe Anhang) vorgesehen, 
allerdings habe ich, zum testen, Masse abgezogen und es ging nur die 
unterste LED aus. Dieses Verhalten kann ich mir nicht ganz erklären.

> Eigentlich sollte sie nämlich funktionieren.
>
> Daß dir in der Simulation die Widerstände R2 bis R6 nicht durch
> übermässige Hitzeentwicklung aufgefallen sind, ist der Nachteil von
> Simulationen. Die dürfen ruhig KILOohm haben.
Ok, ich hab mich nach dem max. Eingangsstrom des OPV gerichtet, aber das 
lässt sich ja einfach beheben.


> Auch leuchtet bereits bei 50% PWM die oberste LED, aber das ist immerhin
> besser als daß bei anderer Auslegung der common mode Input voltage range
> des LM324 überschritten worden wäre.
Ja genau das war so geplant, kann man ja über den qC beeinflussen.

von Hubert G. (hubertg)


Lesenswert?

Der Filter kann nur funktionieren wenn ein Strom fließt. In die OP 
fließen nur ein paar nA.

von Jannik W. (jay2007)


Lesenswert?

Hubert G. schrieb:
> Der Filter kann nur funktionieren wenn ein Strom fließt. In die OP
> fließen nur ein paar nA.
Achso das war mir nicht klar, Anfänger eben.
Gibt es denn eine Möglichkeit eine Last zu "simulieren"?
Kann man eine andere Art von Filter verwenden, der nicht Strom abhängig 
arbeitet?

von Hubert G. (hubertg)


Lesenswert?

Ich gehöre zu denen die fast nichts simulieren sondern lieber probieren.
Erhöhe C1 auf 0,47µ und gib nach R1 noch 100k nach GND dazu. Sind aber 
jetzt nur geschätzte Werte.

von Udo S. (urschmitt)


Lesenswert?

Hubert G. schrieb:
> Der Filter kann nur funktionieren wenn ein Strom fließt. In die OP
> fließen nur ein paar nA.

Der Filter funktioniert einwandfrei wenn die PWM von einer Push Pull 
Stufe kommt, wenn der "Generator" also sowohl Strom liefern, als auch 
verbrauchen kann.
Der Generator muss also niederohmig genug sowohl gegenüber Masse wie 
auch Vcc sein.
Da die OP Eingänge hochohmig genug sind, beeinflussen sie den Filter 
nicht zusätzlich.

Tipp zur Fehlersuche: Hänge ein 2 - 10K Poti an Plus 5V und Masse und 
den Schleifer an deine OP Eingänge. Funktioniert es jetzt wenn du am 
Poti drehst dann stimmt zumindest der Teil mit den OPs und der Anzeige.

von MaWin (Gast)


Lesenswert?

> > Der Filter kann nur funktionieren wenn ein Strom fließt. In die OP
> > fließen nur ein paar nA.
> Achso das war mir nicht klar, Anfänger eben.

Das ist ja auch völliger Humbug den Hubert in seiner gnadenlosen 
Unkenntnis hier verbreitet,
der Filter funktioniert, der Strom fliesst
bei hi und lo von und in den uC-Ausgang,
alles in Orndnung.

von Achim S. (Gast)


Lesenswert?

Jannik W. schrieb:
> also muss ich R1 erhöhen, um eine Last zu erzeugen oder den Filter
> anders auslegen?

Nein: der Tiefpass ist in Ordnung, eine Last braucht der nicht. Ich 
könnte Huberts Bedenken nur dann verstehen, wenn du den Eingang mit 
einer "einseitigen" Treiberstufe ansteuern würdest. Bei einem Push-Pull 
Ausgang wie deinem ATMEGA ist dieser Filter genau richtig.

Jannik W. schrieb:
> Masse ist so angeschlossen, wie im Datenblatt(siehe Anhang) vorgesehen

in der Simu sieht es so aus, als sei Pin 11 offen. Wenn er in der 
Schaltung angeschlossen ist, sollte es passen.

Jannik W. schrieb:
> Ok, ich hab mich nach dem max. Eingangsstrom des OPV gerichtet, aber das
> lässt sich ja einfach beheben.

der liegt im nA-Bereich, da ist ein kOhm Spannungsteiler immer noch sehr 
niederohmig.

Kannst du vielleicht mal mit einem Oszi oder einem Frequenzzähler 
prüfen, ob die PWM-Frequenz viel niedriger liegt als geplant (weil z.B. 
ein paar Fuses falsch stehen oder weil ein Prescaler falsch gesetzt 
wurde). Dann könntest du auch nach dem Tiefpass noch eine stark 
modulierte Spannung sehen und die LEDs würden gedimmt werden.

von Hubert G. (hubertg)


Lesenswert?

Udo Schmitt schrieb:
> Der Filter funktioniert einwandfrei wenn die PWM von einer Push Pull
> Stufe kommt, wenn der "Generator" also sowohl Strom liefern, als auch
> verbrauchen kann.

Mein Fehler, hatte bei meinen bisherigen Anwendungen nur Push-Stufen. 
Bei denen geht ohne Last nichts.

von Jannik W. (jay2007)


Lesenswert?

Udo Schmitt schrieb:
> Tipp zur Fehlersuche: Hänge ein 2 - 10K Poti an Plus 5V und Masse und
> den Schleifer an deine OP Eingänge. Funktioniert es jetzt wenn du am
> Poti drehst dann stimmt zumindest der Teil mit den OPs und der Anzeige.
Damit habe ich die Schaltung zuerst aufgebaut und das hat Problemlos 
funktioniert.
Deshalb ist meine idee das der Filter nicht so arbeitet wie geplant.

Hubert G. schrieb:
> Ich gehöre zu denen die fast nichts simulieren sondern lieber probieren.
> Erhöhe C1 auf 0,47µ und gib nach R1 noch 100k nach GND dazu. Sind aber
> jetzt nur geschätzte Werte.
Ich habe auch erst gebaut :), aber das hat nicht funktioniert und da ich 
kein Oszilloskop besitze, musste ich mir anders helfen.


MaWin schrieb:
> Das ist ja auch völliger Humbug den Hubert in seiner gnadenlosen
> Unkenntnis hier verbreitet,
> der Filter funktioniert, der Strom fliesst
> bei hi und lo von und in den uC-Ausgang,
> alles in Orndnung.
Ok danke, denn diese Info konnte ich nirgendwo anders finden, zur 
Bestätigung.

von Hans J. (step_up_mosfet)


Lesenswert?

@ Jannik W. (jay2007)
Verkleinere R11 auf 10 kOhm und lass R1 weg.
Vergrößere C1 auf 4.7µF oder 47µF.

von Jannik W. (jay2007)


Lesenswert?

Achim S. schrieb:
> in der Simu sieht es so aus, als sei Pin 11 offen. Wenn er in der
> Schaltung angeschlossen ist, sollte es passen.
Ohh stimmt, das ist aber nur in der Simulation so. Auf dem Steckbrett 
habe ich schon alles dreimal durchgesehen und neu gesteckt.

Achim S. schrieb:
> Kannst du vielleicht mal mit einem Oszi oder einem Frequenzzähler
> prüfen, ob die PWM-Frequenz viel niedriger liegt als geplant (weil z.B.
> ein paar Fuses falsch stehen oder weil ein Prescaler falsch gesetzt
> wurde). Dann könntest du auch nach dem Tiefpass noch eine stark
> modulierte Spannung sehen und die LEDs würden gedimmt werden.
Leider fällt diese Option weg, da ich kein Oszilloskop besitze, 
allerdings wollte mich mal mit dem Thema "Soundkarten-Oszilloskop" 
beschäftigen, um ein "Schätzeisen" für Signalverläufe zu haben.
Software seitig hab ich auch schon fast alles übertprüft.
Was muss ich denn eigentlich an Grenzfrequenz erreichen, damit es 
funktioniert, das ist mir irgendwie noch nicht ganz klar.

von Jannik W. (jay2007)


Lesenswert?

Hans Jelt schrieb:
> Verkleinere R11 auf 10 kOhm und lass R1 weg.
> Vergrößere C1 auf 4.7µF oder 47µF.
Ok, werde ich gleich mal testen.

von Achim S. (Gast)


Lesenswert?

Jannik W. schrieb:
> Dann könntest du auch nach dem Tiefpass noch eine stark
>> modulierte Spannung sehen und die LEDs würden gedimmt werden.
> Leider fällt diese Option weg, da ich kein Oszilloskop besitze,

Alternativ kannst du auch dein Multimeter auf "AC" stellen und messen, 
ob hinter dem Tiefpass noch eine nennenswerte AC-Amplitude vorhanden 
ist. Einige Multimeter erlauben auch, Frequenzen im kHz Bereich zu 
messen (dann aber vor dem Tiefpass).

Jannik W. schrieb:
> Was muss ich denn eigentlich an Grenzfrequenz erreichen, damit es
> funktioniert, das ist mir irgendwie noch nicht ganz klar.

Die PWM Frequenz muss weit unterhalb der Grenzfrequenz des Tiefpass 
liegen, damit die Modulation der Ausgangsspannung gering wird. Bei einem 
einfachen TP erster Ordnung sind > 2 Größenordnungen gar nicht so 
verkehrt (42Hz zu 14kHz).

der folgende Thread dreht sich ums Thema PWM-Restwelligkeit, er ist auch 
im Tutorial verlinkt:
Beitrag "PWM Tiefpass Restwelligkeit Berechnung"

von Jannik W. (jay2007)


Lesenswert?

Achim S. schrieb:
>
> Alternativ kannst du auch dein Multimeter auf "AC" stellen und messen,
> ob hinter dem Tiefpass noch eine nennenswerte AC-Amplitude vorhanden
> ist. Einige Multimeter erlauben auch, Frequenzen im kHz Bereich zu
> messen (dann aber vor dem Tiefpass).
>
> Jannik W. schrieb:
>> Was muss ich denn eigentlich an Grenzfrequenz erreichen, damit es
>> funktioniert, das ist mir irgendwie noch nicht ganz klar.
>
> Die PWM Frequenz muss weit unterhalb der Grenzfrequenz des Tiefpass
> liegen, damit die Modulation der Ausgangsspannung gering wird. Bei einem
> einfachen TP erster Ordnung sind > 2 Größenordnungen gar nicht so
> verkehrt (42Hz zu 14kHz).
Aber bei mir liegt doch die PWM-Frequenz weit oberhalb der grenzfrequenz 
des TP.
F_pwm = 14,5kHz
F_r = 42 Hz

> der folgende Thread dreht sich ums Thema PWM-Restwelligkeit, er ist auch
> im Tutorial verlinkt:
> Beitrag "PWM Tiefpass Restwelligkeit Berechnung"
Ok, dann arbeite ich mich da mal durch.

@hans
Ich hab es mit C= 10uF und R11 = 10kohm versucht, das hat nichts 
gebracht.

von Achim S. (Gast)


Lesenswert?

Jannik W. schrieb:
> Aber bei mir liegt doch die PWM-Frequenz weit oberhalb der grenzfrequenz
> des TP.
> F_pwm = 14,5kHz
> F_r = 42 Hz

tschuldigung, ich habe es natürlich genau falsch rum getippst: die PWM 
Frequenz muss weit oberhalb der Tiefpass-Grenzfrequenz liegen, damit sie 
stark gedämpft wird. Passt bei dir also...

von Jannik W. (jay2007)


Lesenswert?

Achim S. schrieb:
> tschuldigung, ich habe es natürlich genau falsch rum getippst: die PWM
> Frequenz muss weit oberhalb der Tiefpass-Grenzfrequenz liegen, damit sie
> stark gedämpft wird. Passt bei dir also...

Ich bin echt am verzweifeln. Laut dem Dokument in dem, von dir 
empfohlenen Post, liegt mein Filter genau im Bereich des Möglichen, aber 
in der Realität habe ich eine komplizierten Dimmer.

Es gibt natürlich die Alternative eine ATINY mit außreichend Ports zu 
nehmen, der das Frequenzverhältnis analysiert und dann die LEDs 
schaltet.

Aber ich würde es gerne mit den Bauteilen hinbekommen, die ich im Haus 
habe.
Hat noch jemand eine gute Idee oder ein Beispiel für die Auslegung der 
Schaltung.

von Tom W. (Gast)


Lesenswert?

Hubert G. schrieb:
> Ich weiss nicht welche Simulation du verwendest, aber dein Filter kann
>
> nicht funktionieren. Es fehlt die notwendige Last.

Dafür hat er die Referenzspannung für die OPs ordentlich niederohmig :-)


An TE: Mach da mal am Eingang was niederohmigeres hin und nimm vor allem 
einen Doppel-T-Filter.

von Jannik W. (jay2007)


Lesenswert?

Thomas Werner schrieb:
> An TE: Mach da mal am Eingang was niederohmigeres hin und nimm vor allem
> einen Doppel-T-Filter.
Also soll ich den Widerstand verringern und den Kondensator vergrößern?
Mal eine blöde Frage, kann man dazu auch einen Elko nutzen, denn ich 
habe in dieser größe keinen konventionellen Kondensator im Haus.

Noch eine Verständnissache, ist ein doppelter TP, ein TP 2.Ordnung oder 
zwei hineinandern geschaltete TP 1.Ordnung?

von klaus (Gast)


Lesenswert?

Thomas Werner schrieb:
> An TE: Mach da mal am Eingang was niederohmigeres hin und nimm vor allem
> einen Doppel-T-Filter.

und was soll das bringen ?

von Achim S. (Gast)


Lesenswert?

Jannik W. schrieb:
> Ich bin echt am verzweifeln. Laut dem Dokument in dem, von dir
> empfohlenen Post, liegt mein Filter genau im Bereich des Möglichen, aber
> in der Realität habe ich eine komplizierten Dimmer.

da ist nichts kompliziert dran, nur irgendwas läuft anders als gedacht. 
Solchen Problemen kommt man normalerweise mit Messen auf die Spur. Ein 
Oszi wäre ideal, aber wenn du keins hast, dann schau halt mit dem 
Multimeter. Sowas lässt sich doch hoffentlich auftreiben, oder?

Also mein Vorschlag von oben, jetzt noch mal etwas detaillierter:

Lege eine PWM von z.B. 30% an. Miss mit einem Multimeter hinter dem 
Tiefpass im AC-Messbereich und im DC-Messbereich die Spannung. Mach das 
selbe spaßeshalber auch mal vor dem Tiefpass um auzuschließen, dass dein 
Controller ein grundsätzliches Problem hat. Falls dein Multimeter auch 
auf Frequenzzählen eingestellt werden kann: miss vor dem Tiefpass die 
PWM Frequenz. Wenn du die Werte hast, sehen wir weiter....

von Hubert G. (hubertg)


Lesenswert?

Auch wenn du aufgrund meines Fauxpas meiner Antwort skeptisch 
gegenüberstehst, habe ich deine Schaltung auf dem Steckbrett aufgebaut 
und PWM über den Arduino UNO, Testprogramm Fade, eingespielt.
Folgende Werte habe ich geändert:
R11  100k
C1 100n
R2 1k
R3 bis R6 220

Die Leds gehen wie sie sollen, der Reihe nach an und aus.

von Michael R. (mexman) Benutzerseite


Lesenswert?

Hallo Jannik,

Udo Schmitt hat Dir den ersten brauchbaren Tipp hier gegeben um schonmal 
weiterzukommen und Deine Schaltung zu pruefen:


Tipp zur Fehlersuche: Hänge ein 2 - 10K Poti an Plus 5V und Masse und
den Schleifer an deine OP Eingänge. Funktioniert es jetzt wenn du am
Poti drehst dann stimmt zumindest der Teil mit den OPs und der Anzeige.


Tu das doch endlich und hoere nicht auf das Filter-Gesuelze.

Dann sehen wir weiter.

Gruss
Michael

von Jannik W. (jay2007)


Lesenswert?

Ihr seit die Geilsten!!!!

Es läuft endlich, ich habe in etwa deine Widerstands Werte eingesetzt, 
Hubert.
Jetzt geht es und ich glaube, dass ich den Fehler gefunden habe:
Ich habe den Widerstands des TP nicht vor sondern hinter den Kondensator 
gesetzt :(
Kann das der Fehler sein?

Vielen Dank an alle die mir geholfen haben oder versucht haben zu helfen 
:)



Michael Roek schrieb:
> Tu das doch endlich und hoere nicht auf das Filter-Gesuelze.
>
> Dann sehen wir weiter.
Schön dass du versuchst zu helfen, aber lies bitte auch den ganzen 
Beitrag, denn:

Jannik W. schrieb:
> Damit habe ich die Schaltung zuerst aufgebaut und das hat Problemlos
> funktioniert.
> Deshalb ist meine idee das der Filter nicht so arbeitet wie geplant.

von MaWin (Gast)


Lesenswert?

> Ich habe den Widerstands des TP nicht vor sondern hinter den Kondensator
> gesetzt :(
> Kann das der Fehler sein?

Nein, das ist toooooooooootal unwichtig...

Ist doch klar, wenn du nicht aufbaust was du zeichnest.
Es geht auch mit deinen Widerstandswerten
(obwohl R2 bis R6 ruhig 1000 x grösser sein könnten
und R1 eine Drahtbrücke sein könnte).

von Jannik W. (jay2007)


Lesenswert?

MaWin schrieb:
> Nein, das ist toooooooooootal unwichtig...
>
> Ist doch klar, wenn du nicht aufbaust was du zeichnest.
> Es geht auch mit deinen Widerstandswerten
> (obwohl R2 bis R6 ruhig 1000 x grösser sein könnten
> und R1 eine Drahtbrücke sein könnte).
Ich habs ja selber nicht gesehen bzw. wahrgenommen. Richtiger 
Anfängerfehler -.-
Ja das gehe ich jetzt im nächsten Schritt an.

von Hans J. (step_up_mosfet)


Lesenswert?

Hubert G. schrieb:
> R11  100k

Den Widerstand würde ich nicht so groß machen.

Probiere mal folgendes:
Stelle die PWM-Frequenz auf Null oder entferne einfach die Zuleitung, 
jetzt misst du mal die Spannung die sich dort aufbaut.
Aus dem Eingang des LM358 fließt ein geringer Strom, dadurch wird die 
Messung ungenau.
Also je größer der Widerstand ist, desto ungenauer der Wert.
Du kannst ja mal einen 1MOhm Widerstand vom Eingang nach Masse gehen 
lassen und dann am Eingang die Spannung messen.

von Tom W. (Gast)


Lesenswert?

klaus schrieb:
> Thomas Werner schrieb:
>> An TE: Mach da mal am Eingang was niederohmigeres hin und nimm vor allem
>> einen Doppel-T-Filter.

> und was soll das bringen ?

Eine bessere Dämpfung gegen den ripple.

Mit "niederohmig" meine ich den Strom, der die Vorspannungen für die neg 
Eingänge der Ops erzeugt. Viel zu hoch.

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.