Phasenverschiebung einer Rechteckwelle

Ich habe eine Anwendung, bei der ich aus einer primären eine sekundäre Rechteckwelle ableiten möchte, jedoch mit einer kontinuierlich variablen Phasenverschiebung. Ich würde gerne wissen, ob dies auf relativ einfache Weise möglich ist, idealerweise ohne FPGA oder Arduino usw. Ich bin offen für die Idee eines PLL-Chips, wenn diese ungefähr so ​​​​preiswert sind wie beispielsweise 741er oder 555er und dass die Implementierung keine lange Eingewöhnungszeit impliziert. Wenn es jedoch absolut keine andere Möglichkeit gibt, bin ich offen für kompliziertere Vorschläge.

Die Spezifikationen für die primäre Rechteckwelle sind noch nicht in Stein gemeißelt, aber das Folgende kann als Anhaltspunkt genommen werden:

  • Festfrequenz mit einer geeigneten Rate (z. B. 1 MHz)
  • 50 % Einschaltdauer
  • 0–5 V oder 0–3,3 V pp oder ähnlich, um alle Logikanforderungen zu erfüllen

Spezifikationen der sekundär abgeleiteten Rechteckwelle:

  • Phasenverschiebung von Primär von 0-360 Grad
  • nicht diskrete Stufen, sondern stufenlos (analoge Ansteuerung zB Potentiometer, Spannungseingang o.ä.)
  • idealerweise eine sofortige Phasenverschiebung (minimale Einschwingzeit)

Die andere Frage ( Phase Shift Square Wave ) mit dem gleichen Titel wie diese unterscheidet sich darin, dass das OP 6 x 60 Grad feste Teiler seiner ursprünglichen Frequenz erzeugen wollte. Ich möchte in der Lage sein, meine Schicht kontinuierlich über einen vollen Zyklus zu variieren.

Kommentare sind nicht für längere Diskussionen gedacht; diese Konversation wurde in den Chat verschoben .

Antworten (3)

hat sich daran gewagt. das ist es nicht, geht von 0 auf weniger als 90 Grad Verschiebung.

Prinzip in Anlehnung an den Kommentar von @hacktastic.

Pot macht zwei symmetrische Steuerströme und Diodenbrücke steuert, Steuerung gesteuert durch Eingangstakt. Der Ausgang der gesteuerten Strombrücke erzeugt Rampen mit variabler Steigung aus den ansteigenden und abfallenden Flanken des Eingangstakts. dann erzeugt der Komparator vs. die mittlere Versorgung eine Ausgabe.

nicht wahr

falstad original hier ... beachten Sie den "Widerstands" -Schieberegler auf der rechten Seite, der den Pot steuert. Änderungen brauchen ein paar Zyklen, um sich zu beruhigen (falls es nicht von Schiene zu Schiene läuft, weil der 20k-Widerstand ihn zentriert, aber an diesem Punkt ist die Phasenverschiebung sowieso ausgeschöpft).

danke fürs Schreiben. Dies ist eine interessante Methode, aber ich denke, die Einschwingzeit wird ein Problem sein.
@DaveLowe wie das? So etwas hast du nicht angegeben!

ein weiteres halbfertiges Konzept über den PLL-Weg (zB mit preiswertem 74hc4046 PLL-Chip). Ich habe keine Ahnung, was ich mit diesen Dingern mache, aber hey.

Konzept:

Geben Sie hier die Bildbeschreibung ein

gefälschte Live-Action hier (Falstad-Simulation) - beachten Sie den Schieberegler PHASE CONTROL auf der rechten Seite des Bildschirms. Erhält fast 0-180 Grad. Wenn es zu abrupt eingestellt wird, kann es funky werden, aber die Eingabe könnte gefiltert werden.

Der XOR-Detektor ist wahrscheinlich nicht der beste. Hier ist der Bereich der Phasenanpassung auf etwas unter 180 Grad begrenzt. Aber dieses Mal haben wir die Option (nicht gezeigt), sowohl CLK_IN als auch CLK_OUT herunterzuteilen, bevor sie in die Phasenkompression gehen ... auf diese Weise, wenn zum Beispiel clk/2 um 0-180 verschoben wird, dann sollte clk/1 verschoben herauskommen 0-360. hoffentlich.

Noch einmal, um es ganz klar zu sagen, dies ist weit entfernt vom "wirklichen Leben", nur eine Veranschaulichung des Prinzips

Mit den 16-Bit-Timern von Arduino Uno, Nano oder Mega2560 können Sie einstellbare phasenverschobene Rechteckwellen erzeugen. Der Phasenverschiebungsbereich beträgt 180 Grad.

Die Nano-Uno-Boards können nur 2 Kanäle (Timer-1) ausgeben, während der Mega2560 3 Kanäle (Timer 1,3,4 und 5) ausführen kann.

Es gibt ein Demo-Projekt bei Runtime Micro, das Teile, Diagramme und Code-Listings abdeckt.

Vollständige Offenlegung: Ich bin der Autor.