Methoden zum Konvertieren von PWM in ein +/- 10-V-Signal

Angenommen, wir haben ein PWM-Signal, das die Geschwindigkeit eines Motors steuert, und einen digitalen Pin, der angibt, in welche Richtung sich ein Motor bewegt. Wie können wir diese Signale in ein 1 +/- 10-V-Signal umwandeln, wobei <0 rückwärts und >0 vorwärts ist reisen.

Ich weiß, dass es mehrere Möglichkeiten gibt, dies zu implementieren, aber es ist gut, verschiedene Methoden in Betracht zu ziehen

Wenn Sie +/- 10-V-Signal sagen, versorgt dieses "Signal" den Motor mit Strom oder ist es ein Niederstromsignal, das an einen hochohmigen Eingang weitergeleitet wird, der dann etwas anderes tut (dh einen Treiber)? Und wie hoch ist die Spannung des PWM-Signals? Und was ist die PWM-Frequenz?
Inverter + Tiefpassfilter...
Ich habe Ihnen bereits in Ihrer vorherigen Frage zu VFD und MCU einen Link gegeben.
Warum fragst du nochmal ? Sie haben keine der Antworten auf Ihre vorherige Frage akzeptiert.

Antworten (4)

So etwas sollte gut funktionieren. Teile sind nur ein Beispiel, die Optimierung erfordert mehr Arbeit (und Informationen).

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan


Bearbeiten:

Ich wurde um eine Analyse des Verstärkers gebeten (Verstärkung = +2 für Schalter geschlossen, -2 für Schalter offen).

Beachten Sie zunächst, dass die Eingänge des Operationsverstärkers aufgrund von R3 / R5 immer bei Vin / 2 ausgeglichen sind.

(Beachten Sie auch, dass sie immer positiv sind, da Vin von 0 V bis 5 V variiert, sodass M1 immer eine positive Spannung am Drain sieht - 0 bis 2,5 V für 0 bis 5 V Eingang)

Schalten Sie M1 offen (aus), wir haben Strom (Vin - Vin/2)/R2, der durch R2 fließt, also muss - (Vout - Vin/2)/R1 mit KCL durch R1 fließen.

Auflösen für Vout/Vin = 1/2 - R1/(2*R2) = -2,00 für R1 = 5*R2


Bei geschlossenem Schalter (angenommen M1 = 0 Ω ) haben wir einen zusätzlichen Begriff und bei erneuter Verwendung von KCL lautet das Ergebnis:

Vin/(2*R2) – Vin/(2*R4) + (Vout – Vin/2)/R1 = 0

Auflösen für Vout/Vin = 1/2 +R1/(2*R4) - R1/(2*R2) = +2,00 für R1 = 5*R2 R4 = (25/40) * R2.


Schön, ich dachte an eine Schaltung mit geschalteter Verstärkung (+1/-1) mit einem analogen Schalter anstelle des FET. (Wie ein Lockin-Ding.) Ich habe mehrere davon in ein Notizbuch gekritzelt. Man könnte die PWM umkehren und dann einen vom Laufwerks-"Bit" ausgewählten MUX verwenden, um das Vorzeichen zu ändern.
@GeorgeHerold Danke Dies ergibt eine Verstärkung von +/- 2 mit einem einzigen SPST-Schalter. Wenn Sie sich bündig fühlen, ist es einfacher und vielleicht genauer, einen DPDT-Analogschalter und einen Instrumentenverstärker zu verwenden, aber das kostet das 100-fache.
Nette Antwort @SpehroPefhany - ich hatte eher etwas wie George im Sinn. Verzeihen Sie meine Unwissenheit, aber ich glaube nicht, dass ich diese Topologie für einen Operationsverstärker schon einmal gesehen habe (mit Ausnahme des FET-Schalters - das grundlegende Verstärker-Setup). Würde es Ihnen etwas ausmachen, ein bisschen Schaltungsanalyse dazu zu machen? Oder ist das ein relativ Standard-Setup, das ich woanders nachschlagen könnte? Wenn ich versuche zu analysieren, erhalte ich falsche Ergebnisse.
@stefandz, ohne FET, es ist ein differentieller Operationsverstärker. (Deshalb könnte auch ein Instrumentenverstärker verwendet werden ... für noch mehr Geld können Sie einen einzelnen IC, AD630, kaufen.)
@GeorgeHerold du hast recht - ich habe meinen Kopf durcheinander gebracht, als ich versucht habe, ihn als invertierenden Operationsverstärker mit einem Offset am nicht invertierenden Eingang zu analysieren. Faule Analyse = falsche Antworten! Jetzt, wo ich es sehe, schäme ich mich, dass ich es nicht früher getan habe. Aber danke, dass du dem Teufel den Namen gegeben hast!

Ich kann dort ein analoges Schema sehen, was cool ist, aber eine Sache stört mich. Wenn Sie ein Richtungssignal im System haben, sind Sie sicher, dass PWM verwendet wird, um tatsächlich Geschwindigkeit / Position / Spannung zu modulieren, oder dass es verwendet wird, um Frequenz zu erzeugen? Ich habe mehrere Systeme gesehen, bei denen Menschen Schrittmotoren mit Richtungssignal und PWM-Signal gesteuert haben, das für das Schrittsignal verwendet wurde. Das ist falsch! Trotzdem tun es die Leute.

Tatsächlich weist die Frage darauf hin, dass in bestimmten Systemen ein Impuls- / Richtungsantrieb durch einen analogen Antrieb ersetzt wurde und eine Art Schnittstelle erforderlich ist, um die Dinge wieder zusammenzufügen.

Wenn dies der Fall ist, hilft keine analoge Schaltung. Da die Informationen nicht kompatibel sind, sind Impulse die Position, während der analoge Befehl aktuell ist (normalerweise nicht immer). Und wenn dies der Fall ist, benötigen Sie ein digitales Gerät, FPGA oder Mikrocontroller, das die Impulse erfasst und den aktuellen Sollwert entsprechend berechnet. Tatsächlich ist es eines der Merkmale moderner Servoantriebe. Es wird wahrscheinlich die Schleife schließen müssen, sonst häufen sich schnell Fehler. Also unterm Strich, wenn dies der Fall ist, überdenken Sie das System.

Sicherlich würde die Verwendung von PWM zum Ansteuern eines Schrittsignals auf einem Stepper schnell als Lösung verworfen werden - da dies die Geschwindigkeit nicht ändern würde (es sei denn, Sie meinen, Schritte bei niedrigen - und möglicherweise sehr hohen - Arbeitszyklen vollständig zu überspringen)?
Nein, es kommt darauf an. Für Nicht-Echtzeitsysteme ist dies die einzige Möglichkeit, die Geschwindigkeit aufrechtzuerhalten, daher ist es für niedrige Geschwindigkeiten in Ordnung, solange keine Positionssteuerung erforderlich ist. Für höhere Geschwindigkeiten dürfen sie sogar einfache Profile aufbauen, wiederum ohne Lageregelung. Und warum sollte ich dieses Ding überhaupt verteidigen? Keine Ahnung...
Ich bin völlig verwirrt - wenn Sie PWM zum Ansteuern eines Schrittsignals verwenden, ändern Sie sicherlich nur die Impulsbreite, nicht die Frequenz, und können daher die Geschwindigkeit nicht ändern? Ich bin mir nicht sicher, ob dies hier eine Diskussion wert ist (wie Sie betonen), aber ich bin gespannt, welche Details mir fehlen!
Nein, konstante Einschaltdauer von 50 %, aber wechselnde Frequenz. Die Sache ist, dass die PWM-Peripherie vom Programm unabhängig ist, sodass sie nur von Zeit zu Zeit den Wert im Frequenzregister ändern müssen.
Erwischt. Also PWM-Peripherie, aber tatsächlich als PFM-Controller verwendet (aber nur Geschwindigkeit, nicht Position). Puh, dachte ich hätte da meine Murmeln verloren!

Hier ist eine Single-IC-Lösung, die Ihnen ziemlich nahe kommt:

Geben Sie hier die Bildbeschreibung ein

Anmerkungen

  • V1 ist Ihre PWM-Erzeugungsschaltung. Dieser sollte niederohmig sein. Die meisten Mikrocontroller-Ausgänge würden ausreichen, abhängig von der Eingangsimpedanz Ihres Tiefpassfilters.
  • R1 und C1 bilden den Tiefpassfilter. Sie können dies so aufwendig oder so einfach machen, wie Sie möchten. Ich habe einfach gewählt.
  • R4 wird verwendet, um den Offset einzustellen. Wenn Ihre Eingangs-PWM 0 V bis +3,3 V beträgt und Ihr gewünschter Ausgangsbereich -10 V bis +10 V beträgt, kommen Sie mit 6,3 k ziemlich nahe.
  • R6 und R5 werden verwendet, um Ihren Spannungsausgang nach dem Einstellen von R4 zu skalieren.

Anpassen der Schaltung

Wenn Sie die Schaltung manuell anpassen müssen, schlage ich vor, dass Sie R5 kurzschließen, um einen Spannungsfolger herzustellen, und R4 anpassen, bis ein 50%iges Tastverhältnis eine Ausgangsspannung von 0 V ergibt.

Wir können auch etwas Mathematik verwenden, um unsere Schaltungsbeziehungen zu finden. In dieser Schaltung stellt das Anpassen von R4 wirklich den Spannungsteiler von R1 und R4 so ein

( v 1 M A X 2 v N e G ) R 4 R 1 + R 4 v N e G = 0

Angenommen V1= 3,3 V und V neg = 10 V:

( 3.3 v 2 10 v ) R 4 R 1 + R 4 10 v = 0
( 11.5 v ) R 4 R 1 + R 4 10 v = 0
R 4 R 1 + R 4 = 0,8696
6.67 R 1 = R 4

Sobald Sie Ihren Offset eingestellt haben, beginnen Sie mit der Anpassung von R5, bis Sie bei 100 % Tastverhältnis 10 V und bei 0 % Tastverhältnis -10 V erhalten. Auch hier sollten Sie in der Lage sein, diesen Schritt zu berechnen:

v Ö u T , M A X = G v ich N , M A X

Wobei „G“ die Verstärkung der Operationsverstärkerschaltung und V in,max die maximale Spannung an V + (oder die PWM bei 100 % Tastverhältnis) ist. In einem invertierenden Verstärker

G = 1 + R 5 R 6

Von diesem Punkt an sollten Sie in der Lage sein, die Substitution zu verwenden und zu geeigneten Werten für R5 und R6 zu gelangen.

Wo ist der Richtungseingang für diese Schaltung?
Peinlicherweise habe ich die Frage falsch gelesen und die Richtungseingabe verpasst. Die Schaltung ist nur für den Betrieb mit PWM ausgelegt, wobei ein Tastverhältnis von 0 % auf -10 V und ein Tastverhältnis von 100 % auf +10 V skaliert wird. Ich werde es hier für die Nachwelt hinterlassen, falls jemand mit diesem besonderen Bedürfnis auf diese Frage stößt, aber die Antwort von spehro ist besser für die Frage geeignet und ich habe seine Antwort positiv bewertet.

Wie einige der Kommentare zeigen, brauchen wir ein wenig mehr Informationen. Ich gehe hier davon aus, dass Sie Mikrocontroller verwenden und dass sowohl Ihre PWM- als auch Ihre digitalen Ausgangspins mit 0-3,3 V arbeiten. Hier ist die digitale Logik, die Sie zuerst zu implementieren versuchen:

PWM-VERZEICHNIS | Ausgang
  1 0 | 1 (Vorwärtsrichtung)
  0 0 | 0 (Weiterleiten)
  1 1 | 0 (Rückwärts)
  0 1 | 1 (Rückwärts)

Dies repräsentiert die XOR-Logik. Der einfachste Weg, dies zu implementieren, wäre die Verwendung eines einfachen XOR-ICs und eines Pegelumsetzers. Ein Tiefpassfilter ist nicht wirklich erforderlich, wenn Sie einen Motor antreiben, da die Spulen im Motor als Tiefpassfilter wirken