-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: RC-Tiefpassfilter dimensionieren

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.11.2015
    Beiträge
    19

    RC-Tiefpassfilter dimensionieren

    Anzeige

    Hi Leute,

    ich benutze einen Arduino Uno und brauche für ein Gerät eine Gleichspannung von 0-5 V.
    Praxiswerte meines Arduino : 0-4,385V, 35,08mA
    Da der Arduino nur PWM-Ausgänge zum Schalten von 0-4,385V hat, möchte ich
    das PWM-Signal durch einen Tiefpassfilter (RC-Glied) in eine Gleichspannung mit Wechselanteil, deren Mittelwert dem des PWM-Signals entspricht und dessen Wechselanteil von der Beschaltung des Filters abhängig ist, glätten.

    Ich benutze willkürlich zum Testen einen Widerstand mit 10k Ohm und einen EKO mit 100nF.
    Wenn ich nun mein Tastverhältnis auf 100% (255 Duty Cycle) schalte, dann kommt auch genau die gleiche Spannung heraus, wie vor dem Filter(Ua=4,385V).
    Also würdeich sagen, dass mein Tiefpassfilter funktioniert und glättet.
    Leider habe ich kein Oszilloskop zur Hand und kann dadurch mein Ausgangssignal nicht prüfen.

    Deswegen versuche ich es auf die Rechnenweise.


    Ich habe die Grenzfrequenz ausgerechnet fg=1/(2*Pi*R*C)
    fg=1/(2*pi*10kOhm*100nF)
    fg=159,1549 Hz
    Die Ausgangspannung nach dem Tiefpass berechnet sich wie folgt:

    Ua=Ue=1/(wurzel(1+(2*Pi*f*R*C)²)

    Jetzt ist ja nur die Frage, was ich für eine Frequenz in der Formel verwenden soll.
    Laut den Arduino- Datenblatt hat mein PWM 470Hz an den besagten Pin, den ich verwende.
    Laut Wikipedia ist aber bei Gleichspannung die Frequenz =0 und deswegen ist Ue=Ua.

    Ua=4,385V/(wurzel(1+(2*Pi*10kOhm*100nF)²)
    Ua(f=0Hz) = 4,385V-> so würde schonmal der richtige Wert herauskommen.

    Ua(f=470Hz)= 0,320V-> der Wert für f=470Hz in der Ausgangsspannungsformel des TP kann nicht stimmen.

    Nach der Glättung bleibt ja auf der Gleichspannung immer noch eine Restwelligkeit (Ripple).
    Beim idealen DA-Wandler beträgt die Ripplespannung= 20mV.
    Deswegen wäre es interessant für mich zu wissen wieviel Ripple durch meinen DA-Wandler entstehen.

    Berechnung Ripple:
    Tpwm=1/f
    =1/470Hz=2,12765ms

    URipple= (Ue*Tpwm/(4*RC))
    = (4,385V*2,127ms/(4*10kOhm*100nF)
    =2,331V <--- das kann ja auch nicht stimmen.

    Meine Frage ist, was habe ich falsch gemacht und wie kann ich meinen Tiefpassfilter richtig dimensionieren bzw. berechen,so dass ich am Ende eine Gleichspannung von 0-4,385V habe.

    Ich hoffe mir kann jemand helfen.

    Gruß Lord Integer

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.04.2015
    Beiträge
    196
    Vielleicht hilft Dir der Begriff "Zeitkonstante".
    tau = R*C.
    Gibt die Zeit an, die das RC-Glied benötigt um 68% entladen/geladen zu sein.
    Dein tau liegt bei 10000 * 0,0000001 bei einer Millisekunde.
    Wenn Du also alle 2ms etwas in Dein RC-Glied reinpustest, wird über den R wieder gewaltig entladen. Entweder pustest Du häufiger durch Erhöhung der PWM-Frequenz oder Du erhöhst einen Deiner beiden Bauteilwerte.

    Wenn Du R oder C erhöhst, verringerst Du den Ripple, allerdings braucht es mehr Pulse, um C auf den gewünschten Wert zu laden. Um also eine befriedigende Dynamik zu erhalten, wirst Du wahrscheinlich R verringern und C erhöhen müssen. Ansonsten kann es ein Weilchen dauern, bis sich die gewünschte Analogspannung bei Änderung des PWM-Wertes einstellt.

    Ich frage mich selber noch zwei Sachen:
    - Sind die 100nF Deines EKO (Elko?) wirklich 100nF oder 100uF (Elko so klein?)
    - Ist es sinnig, das RC-Glied durch eine Diode zu erweitern und dann nach der Gleichrichterfaustformel tau = RC = 5* 1/f zu arbeiten?

    Ein Oszilloskop ist total unpraktisch, man misst einfach nach und vergisst die Grundlagen. Kauf Dir kein Oszilloskop!

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    11.12.2011
    Beiträge
    31
    Wäre es nicht einfacher, die 5V Ausgangsgleichspannung am Arduino abzugreifen und einen kleinen DC/DC Wandler dranzuhängen? Würde einem viel Rechnerei sparen

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    Zitat Zitat von Lord Integer Beitrag anzeigen
    Wenn ich nun mein Tastverhältnis auf 100% (255 Duty Cycle) schalte, dann kommt auch genau die gleiche Spannung heraus, wie vor dem Filter(Ua=4,385V).
    Also würdeich sagen, dass mein Tiefpassfilter funktioniert und glättet.
    Das ist falsch, weil bei PWM mit Tastverhältnis 100 % kommt saubere Gleichspannung aus und es gibt keine Wechselspannung Komponente. Ich kann dir leider beim Tiefpass nicht helfen, weil du kein Schaltplan und nix über gewünschte Parameter (wie Ausgang belastende Impedanz, max Welligkeit am Ausgang, usw.) deiner Schaltung angibst.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    26
    Beiträge
    1.192
    Hallo,
    Die Ausgangsspannung hinter dem Tiefpassfilter ist im Mittel Ua=Ue*Tastverhältnis (der ripple ist hier noch nicht enthalten). Tastverhältnis in der Formel 0 (0%) ... 1 (100%).
    Je weiter PWM-Frequenz und Grenzfrequenz des Filters auseinander liegen, desto niedriger wird der ripple, allerdings braucht die Ausgangsspannung hinter dem Filter dann auch länger, um sich auf ein geändertes Tastverhältnis anzupassen. Bei etwa 500 Hz PWM-Frequenz würde ich die Grenzfrequenz des Filters eher im Bereich 50 Hz wählen.

    Das Ganze lässt sich natürlich auch mit SPICE simulieren (geeignete Programme: z.B. LTspice oder TINA-TI).
    Deine Schaltung in der Simulation:
    Klicke auf die Grafik für eine größere Ansicht

Name:	deinvorschlag.jpg
Hits:	12
Größe:	52,7 KB
ID:	31137
    Da ist also wirklich noch sehr viel ripple drauf. Größenordnung 2,5 Volt ! Ist auch zu erwarten, da PWM-Frequenz und Grenzfrequenz des Filters nicht besonders weit auseinander liegen.
    Mit 10k / 1uF werden es in der Simulation etwa 250mV.
    Mit 10k / 10uF werden es etwa 25mV.
    Dieses Verhalten ist auch zu erwarten, ein Filter 1.Ordnung fällt mit 20dB (=Faktor 10) pro Dekade im Frequenzbereich ab.
    Klicke auf die Grafik für eine größere Ansicht

Name:	10k10u.jpg
Hits:	10
Größe:	34,9 KB
ID:	31138

    Warum wird der Arduino eigentlich mit 4,385V betrieben? Üblich sind 5V oder 3,3V.

    Woher kommt die Info
    Beim idealen DA-Wandler beträgt die Ripplespannung= 20mV.
    ?
    Grüße,
    Bernhard
    Geändert von BMS (16.01.2016 um 11:52 Uhr)
    "Im Leben geht es nicht darum, gute Karten zu haben, sondern auch mit einem schlechten Blatt gut zu spielen." R.L. Stevenson

  6. #6
    Benutzer Stammmitglied Avatar von avr_racer
    Registriert seit
    01.04.2014
    Ort
    MecklenburgVorpommern
    Beiträge
    92
    Ich hoffe das klar ist, das bei einer PWM Grundsätzlich nur eine Frequenz vom AVR kommt die abhängig vom PWM-Mode ist. Diese Frequenz kann bzw muss vorher berechnet werden und ins OCRx geladen werden.
    siehe Waveform Generation Mode Bit Description des entsprechenden AVR's
    Jeder MODE ist auch erklärt und hat eine Gleichung nach der die PWM-Frequenz berechnet werden kann.

    Welcher AVR sitzt denn auf dem ARDUINO?? ATmega328 ??

    Ich mach mal ein Beispiel falls du eine Fast-PWM nutzt ist dafür die Gleichung

    fOCnxPWM = fclk_I/O/ ( N (1+TOP))

    N = Teilerfaktor (1, 8, 64, 256, or 1024)
    TOP = kann sein (ff, 1ff, 3ff oder das was im OCR eingetragen wird) FF = 8bit, 1FF = 9bit, 3FF = 10bit, OCR = Modes welche diese Register als ENdwert nutzen....
    fclk_I/O = CPUtakt

    für 8bit-FAST-PWM
    fOCnxPWM = 4Mhz / ( 8 (1+ FF )) = 244,140...Hz

    für 10bit-FAST-PWM
    fOCnxPWM = 4Mhz / ( 8 (1+ 3FF )) = 488,28..Hz

    vielleicht kannst du dir jetzt erklären, wie man auf 470Hz kommt und welcher Mode genutzt wird.

    Das mit dem Tastverhältniss 100% ist logisch das dort dann auch Ue=Ua ist, denn da wirds einen kleinen Spike geben von gerademal einen Takt.

    Das betrifft
    0% `________________`__________________

    100% .---------------------.-----------------------.

    Nach der Glättung bleibt ja auf der Gleichspannung immer noch eine Restwelligkeit (Ripple).
    Beim idealen DA-Wandler beträgt die Ripplespannung= 20mV.
    Deswegen wäre es interessant für mich zu wissen wieviel Ripple durch meinen DA-Wandler entstehen.
    Der Ripple hängt davon ab wie schnell der Kondensator entladen/geladen wird bzw welche Last am Augang hängt !!!!!!!!!!!!
    Hohe Last = Hoher Ripple
    Keine Last = Kein Ripple
    Wenn du einen Impedanzwandler an dessen Ausgang schaltest sollte das Ripple Problem verschwunden sein.

    http://www.avr-asm-tutorial.net/avr_de/avr_adc500.html
    Auf dieser Seite wird ein ADC mit Hilfe eines PWM-Signal hergestellt und hier findest du mal ein Bild mit verschiedenen Graphen bei verschiedenen Tiefpässen dazu auch nochmal eine Erklärung.

    Ua=4,385V/(wurzel(1+(2*Pi*10kOhm*100nF)²)
    Ua(f=0Hz) = 4,385V-> so würde schonmal der richtige Wert herauskommen.

    Ua(f=470Hz)= 0,320V-> der Wert für f=470Hz in der Ausgangsspannungsformel des TP kann nicht stimmen.
    Lass die Gleichung mal weg und mache es dir einfacher. Setze einfach mal 30% Tastverhältniss auf die Spannung, welche den Controller versorgt, um. 30%*5/100 = 1,5V

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    22.11.2015
    Beiträge
    19
    Hi,
    vielen Dank für die Hilfe.

    Ich habe nun den Kondensator auf 10uF geändert und den Widerstand auf 10k Ohm gelassen.
    So erhalte ich eine Ripplespannung von 26,46mV (Berechnung mit 50% Tastverhältnis, da bei diesem Tastverhältnis die stärkste absolute Ripple auftritt) und die Restwelligkeit ist stark reduziert.
    Jedoch errechne ich mit den Bauteilen (R=10k Ohm und C=10uF) eine Grenzfrequenz von 1,568 Hz.
    Also liegt die Grenzfrequenz ziemlich weit weg von der PWM-Frequenz 470Hz.
    Im Bezug auf die Restwelligkeit ist es ja auch gut so.
    Nun ist ja die Frage ob sich die Ausgangsspannung nun auch in einer passablen Geschwindigkeit dem Tastverhältnis anpasst.
    BMS schrieb, das er eine Grenzfrequenz von 50 Hz wählen würde.
    Wenn es so ist , das muss ich ja andere Bauteilgrößen wählen und genau auf 50 Hz zu kommen und die Ripplespannung würde sich erhöhen , somit auch der Ripple.
    Somit würde sich dann aber auch die Zeitkonstante ändern tau = R*C und der Kondensator sich schneller oder langsamer be- und entladen.

    Und warum ist der Ripple gleich null, wenn ich einen Impedanzwandler bzw. Operationsverstärker nach dem TPF verschalte?
    Warum liegt dann keine Last an? (gibts da auch ne Berechnung zu, bzw. wie kann man das beweisen?;P)
    In der Hinsicht dieser Lösung könnte ich ja einen nichtinvertierenden OP mit einer Verstärkung von 1 nehmen.

    Gruß Lord Integer

  8. #8
    Benutzer Stammmitglied Avatar von avr_racer
    Registriert seit
    01.04.2014
    Ort
    MecklenburgVorpommern
    Beiträge
    92
    Nabend,

    BMS schrieb, das er eine Grenzfrequenz von 50 Hz wählen würde.
    Schau dir mal die Diagramme zum TP und HP an. Na überleg mal was du filtern willst ??? Eine hohe Frequenz soll gefiltert werden, also je nachdem wie stark man die Frequenz filtern will, wendet man Pässe anderer Ordnung an oder man schiebt, in der einfachen Ordnung, die Frequenzen weit genug von einander weg. (nur bedingt möglich) Einfach mal stöbern im Netz...

    Und warum ist der Ripple gleich null, wenn ich einen Impedanzwandler bzw. Operationsverstärker nach dem TPF verschalte?
    Grundlagen OPV, goldenen Regleln eines OPV. Einfach gesagt hoher Eingangswiderstand und niedrieger Ausgangswiderstand und wenn was mit einem hohen Widerstand belastet wird fließt auch geringer Strom in den Eingang des OPV's.

    Warum liegt dann keine Last an? (gibts da auch ne Berechnung zu, bzw. wie kann man das beweisen?;P)
    Die Last wird nur auf ein anderes Element verschoben sowie mit einfachen Relais und Schaltschützen. Kleine Leistung kann sehr hohe Leistung schalten
    Jo berechnen kann man das aber wenn man das Prinzip verstanden hat reicht es meistens aus. Um deine Wissensdurst zu stillen, ja sicher kann man das.....

    !!!!!! nur mit ner APP möglich !!!!!!!!!

    http://elektroniktutor.de/analogverstaerker/impedw.html einmal lesen. ;PP

    In der Hinsicht dieser Lösung könnte ich ja einen nichtinvertierenden OP mit einer Verstärkung von 1 nehmen.
    Ja

    Gruß Chris

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    26
    Beiträge
    1.192
    Hallo,
    die genannten 50 Hz waren erst mal eine Größenordnung. Für kleinen ripple muss die Filterfrequenz niedriger liegen oder die Ordnung erhöht werden.
    Der ripple wird bei hochohmiger Messung NICHT NULL! Der Kondensator im RC Tiefpass wird bei High/Low ja ständig ge- und Entladen!
    Der ripple wird nur in der Theorie null, mit R und C unendlich groß. ..
    Grüße,
    Bernhard
    Geändert von BMS (18.01.2016 um 18:45 Uhr)

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    22.11.2015
    Beiträge
    19
    Hi,
    ich habe noch Probleme mit der Dimensionierung des Tiefpasses.
    Habe meine Schaltung schon mit dem Op getestet und es klappt auch in der Praxis.
    Aber ich möchte es auch verstehen , das ich es dokumentieren möchte.
    Die Schaltung habe ich nun auf eine Verstärkung von 2 geändert , da ich doch eine 0-10V Gleichspannung brauche.


    Erstes Problem:

    R=10k Ohm, C= 10uF, Pwm Taktfrequenz 490Hz, Eingangsspannung 5V

    Wenn ich nun den Ripple berechne dann komme ich auf 25, 5 mV, wenn ich mit der Software Tina das digitale Oscilloskop betrachte, dann habe ich beim Wechselspannungsanteil auch wie BMS 25 mV Ripplespannung.
    (Habe aber mit halber Betriebsspannung gerechnet, da da der größe Ripple sein soll).
    Klicke auf die Grafik für eine größere Ansicht

Name:	virtuelle osci.jpg
Hits:	6
Größe:	61,7 KB
ID:	31157



    Meine Grenzfrequenz lautet 3,24mHZ bei 490 Hz.(liegt auch schön weit auseinander, so ist Restwelligkeit gut reduziert)

    So nun ist der Ripple ja schön klein und eine schöne Gleichspannung kommt am Ende heraus

    Jedoch wenn ich mit dem digitalen Oscilloskop das Bodediagramm betrachte um den Frequenzgang zu betrachten bekomme ich ein komisches Bild.
    Da ist aufeinmal meine Grenzfrequenz bei 1100 Hz.
    Wie kann das denn sein ?
    Klicke auf die Grafik für eine größere Ansicht

Name:	Bodediagramm.jpg
Hits:	10
Größe:	65,5 KB
ID:	31156

    Der ideale Tiefpass 1.Ordnung sieht anders aus. (siehe Link:https://de.wikipedia.org/wiki/Tiefpass)

    Was mache ich nun falsch?
    Was muss ich beachten?
    Wie würde man den Tiefpassfilter mit dem nichtinvertierenden Op mit der Verstärkung von 2 am besten dimensionieren?

    Gruß Lord Integer

    - - - Aktualisiert - - -

    Achja und normalerweise soll ja 20dB (=Faktor 10) pro Dekade im Frequenzbereich abfallen.
    Bei mir fällt es aber -50 dB ab (siehe angehängtes Bild).

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Suche 50 Hz tiefpassfilter
    Von im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 23
    Letzter Beitrag: 28.06.2010, 14:59
  2. Schrittmotorantrieb - wie dimensionieren ?
    Von Crazy Harry im Forum Motoren
    Antworten: 6
    Letzter Beitrag: 18.03.2010, 08:17
  3. Krezschlitten - Dimensionieren
    Von swunder im Forum Mechanik
    Antworten: 2
    Letzter Beitrag: 25.04.2009, 15:53
  4. Aktiver Tiefpassfilter 2. Ordnung
    Von Schottky im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 25.08.2008, 08:19
  5. variabler RC-Tiefpassfilter
    Von taylor22 im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 10.11.2007, 21:54

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •