-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: PWM-Spannungen skalieren

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    02.03.2005
    Ort
    OWL
    Beiträge
    216

    PWM-Spannungen skalieren

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,
    ich erzeuge mit einem ATMega8 (V=5V) 2 sinusförmige Ausgangsspannungen über zwei PWM-Pins mit nachgeschalteten Filtern zweiter Ordnung. Problem ist nun, dass ich die Amplitude der beiden Spannungen mit EINEM Poti einstellen möchte (zwischen 0V und 1V) und keinen Ansatz für eine Lösung habe. Ich hatte anfangs mit den PWM-Signalen BC547 Transistoren geschaltet, die die vom Poti kommende Spannung beim Durchschalten auf Masse zieht, jedoch wurde die Signalform dabei verfälscht.
    Wäre nett, wenn mir jemand helfen könnte, vielen Dank dafür...

    Ruppi

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    18.06.2005
    Ort
    Hattenhofen
    Alter
    30
    Beiträge
    55
    Eine Möglichkeit wäre im Chip:
    Du erzeugst eine analoge Spannung mit deinem Poti und lässt den AVR diese Spannung messen. (Muss ja nicht höllisch genau sein) Ich gehe mal von einer ADC-Leitung mit 10 Bit aus.
    Jetzt lässt du die PWM-Signale nicht direkt erzeugen (mit der Sinus-Folge), sondern multiplizierst deine PWM-Folge mit <ADC-Wert>/1024. Damit wird die Amplitude im Chip errechnet und du hast (theoretisch) genau das selbe Signal wie ohne Poti-Konstruktion.

    Warum das mit den Transistoren nicht klappt, liegt vermutlich (ich weiß es nicht genau) daran, das die Transistoren beim Einschalten vom sperrenden Zustand über den verstärkenden Zustand (Ib ~ Ic) in den übersättigten Zustand und andersherum schalten. Damit würde beim Einschalten das Signal leicht verzerrt, da erst der Transistor voll durchschalten muss.
    Du solltest mal suchen nach speziellen HF-Transistoren. Vllt. lässt sich auch was mit FETs machen (die sind immer ohmisch).
    Eine andere Möglichkeit wäre (je nach gewünschter Ausgangsleistung !?!) statt mit dem Transistor eine Spannung von 1V zu modulieren (mit der PWM), eine Spannung von 1 V zu modulieren (mit der Sinus-Spannung nach den Filtern) oder aber (dazu bracuhst du FETs) die Ausgangsspannung des AVRs über einen dynamischen Spanungsteiler zu jagen. (Ein Widerstand und ein FET werden in Reihe geschalten; Widerstand an Drain. An den Widerstand kommt der Ausgang des AVRs, an Source kommt Masse. Nun bestimmt die Spannung am Gate den Widerstand des FETs)

    Ich hoffe geholfen zu haben.
    MfG
    Christian

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.03.2005
    Ort
    gerne in den Bergen
    Alter
    33
    Beiträge
    429
    das mit dem verfälschen:

    je nach frequenz würde ich einmal nach audioverstärker suchen... oder zeig doch mal deine schaltung. um eine analoges signal verzerrungsfrei zu verstärken muss man die basis "vorspannen". aber ein volt sind da zuviel. eher 0.7 oder so. kommt auch noch auf den trans drauf an. (datenbaltt!! :-p )

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.07.2006
    Ort
    Berlin
    Beiträge
    439
    Hallo Ruppi,

    Mag sein, dass ich deine Schaltung nicht richtig begriffen habe, aber aus deinem Versuch, mit Transistoren abzuschwächen habe ich darauf geschlossen, dass du versucht hast, auf der PWM-Seite (am uC) abzuschwächen.

    Sicher hast du einen Operationsverstäker für das Filter benutzt, sodass du am Ausgang des OP eine Spannung mit niedrigem Innenwiderstand hast.
    Dort könntest du die Signale mit Potis abschwächen und wenn du ein niederohmiges Signal brauchst, noch einmal OPs als Spannungsfolger nachzuschalten.

    Gruß
    Detlef

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    02.03.2005
    Ort
    OWL
    Beiträge
    216
    Guten Morgen!
    Ich muss wohl erstmal noch ein paar Randbedingungen nennen: Ich erzeuge mit einem ATMega8 über Fast-PWM (f=250kHz, 6Bit) zwei Rechteckspannungen. Gedacht ist das ganze für eine Schrittmotorsteuerung. Die Sinussignale möchte ich vorgeben, um Mikroschritte zu erzeugen.
    Detlef, Du hast Recht, ich habe versucht, die Signale auf der uC-Seite abzuschwächen. Die Filter sind einfache RC Filter, also ohne OP. Das Problem ist, dass die Amplituden BEIDER Signale mit einem Poti abgeschwächt werden müssen, oder ich müsste ich zwei Potis verwenden und jedesmal, wenn ich den Phasenstrom ändere, beide genau verstellen - das wird also nichts.
    Christian: Deine Idee ist grundsätzlich gut, aber bei einem 6-Bit PWM Signal würde ich durch die Multiplikation ja Auflösung verschenken, die ich nicht zur Verfügung habe.
    Im Grunde bräuchte ich sowas, wie einen OP im Doppelpack, bei dem sich die Verstärkung beider OPs mit einer externen Spannung einstellen lässt. Leider habe ich keinen Schaltplan von der Sache. Ich habe das früher mal mit einem Stereopoti gemacht, funktionierte auch wunderbar, aber zum einem viel zu groß und zum anderen auch nicht sonderlich genau - einfach unschön...
    ich frage mich, wie andere Leute diese Sache bei Ihren Mikroschritt-Stufen hinbekommen.

    Wenn noch jemand eine Idee hat, immer raus damit. Vielen Dank erstmal für die Antworten!!

    Ruppi

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.07.2006
    Ort
    Berlin
    Beiträge
    439
    Hallo Ruppi,

    wie wäre es, wenn Du eine durch Poti variable "Referenzspannung" im Takt der PWM-Signale mit FET-Schaltern auf 2 Widerstände nach Gnd schaltest. An diesen R fällt dann 0 oder Vref ab, diese Signale kannst Du dann filtern.

    Gruß
    Detlef

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    02.03.2005
    Ort
    OWL
    Beiträge
    216
    Hi,
    Ich hatte es damals genauso gemacht, jedoch mit BC547 Transistoren. Durch die Widerstände (oder was auch immer) wurde leider das Signal verfälscht. FETs dürften sich vielleicht anders verhalten, hmm...
    Ich könnte sicher auch ohne Widerstand nach Masse schalten, denn ich habe 5V Versorgungsspannung und erzeuge dann ja per Spannungsteiler die 0..1V Referenzspannung. Bei Schluss nach Masse würde nicht sehr viel Strom fließen. Was für einen FET würdest Du vorschlagen? Habe noch nicht so viele Typen verbaut.

    Ruppi

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.07.2006
    Ort
    Berlin
    Beiträge
    439
    Hallo Ruppi,

    ich würde keine einzelnen FETs, sondern FET-Schalter, z.B. CD4016 benutzen.
    Die lassen sich mit den PWM-Signalen schalten.

    Gruß
    Detlef

  9. #9
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.373
    Einige Möglichkeiten zum Multiplizieren allgemein.
    http://homepages.fh-regensburg.de/~c...e/analmult.pdf
    Der D/A Wandler wird dort nicht erwähnt, das elektronische Poti und PWM.

    PWM mit einstellbarer Spannung U und Tastung ist wohl am einfachsten. Wie gesagt, COMS Analogschalter, die zwischen U und GND wechseln.
    Manfred


    Ein paar (schnelle) Multiplizierer mit logarithmischer Kennlinie:
    http://www.ee.washington.edu/stores/...near/ad633.pdf
    http://web.mit.edu/6.301/www/AD532_c.pdf
    http://www.enformatika.org/ijsp/v2/v2-4-31.pdf

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    02.03.2005
    Ort
    OWL
    Beiträge
    216
    hallo,
    ich habe es mit einem mos4016 probiert, jedoch habe ich dann das problem, dass ich mit der ausgangsspannung nicht auf 0V komme, nachvollziehen kann ich das nicht! Das Signal bleibt bei etwa 300mV stehen. Manfred, die analogmultiplier sind ganz interessant, kannte ich noch gar nicht. allerdings auch nicht gerade billig... wenn es mit dem mos 4016 wirklich nicht klappt, werde ich es mit diesen bausteinen versuchen.

    vielen dank für die zahlreichen tipps!

    Ruppi

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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