Forum: Analoge Elektronik und Schaltungstechnik Sinus mit spannungsgesteuerter Phasenverschiebung


von Matthew R. (matthew)


Lesenswert?

Hallo zusammen, ich soll im Rahmen meiner Studienarbeit u.a. eine
Schaltung entwickeln, die es ermöglicht, ein Sinussignal (10V Spitze) in
der Phase variabel zu machen. Ein Sinussignal am Eingang soll durch ein
zweites Eingangssignal (0...10V DC) so beeinflusst werden, dass die
Phasenverschiebung je nach DC-Spannung zwischen 0 und 360° beträgt. Bei
0V DC entspricht die Phase also 0°, bei 5V 180° usw. Leider bin ich noch
auf keine brauchbare Lösung gestoßen. Am liebsten wäre mir eine analoge
Schaltung, da die restliche Schaltung auch analog realisiert ist. Zur
Not würde ich auch zu einem programmierbaren Baustein greifen, aber mit
dem Programmieren hab ich leider nicht so viel am Hut.

Über Lösungsvorschläge würde ich mich sehr freuen! Viele Grüße

von ... (Gast)


Lesenswert?

Ein PLL kann das. Man muss nur nach dem Multiplizierer eine Konstante 
addieren.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Die digitale Alternative wäre ein DDS-IC.  Je nach Ausführung kann
man die auch recht fein in der Phase abstufen.  Ein AD9832/9833 würde
mir da spontan einfallen.  Klingt sicher erst einmal wie eine
Kanone auf Spatzen, aber dürfte alles in allem eine schnell fertig
zu stellende Lösung sein.  (Man braucht noch einen kleinen
Controller, der mit einem ADC das Steuersignal erfasst und dann
die Phasen-Update-Worte für das DDS ausgibt.)

von Matthew R. (matthew)


Lesenswert?

Das hilft mir schon mal etwas weiter. Also könnte ich theoretisch mit 
einem CD4046 o.ä. arbeiten. Gibt es da Beispielschaltungen? Ich habe mit 
PLLs leider noch nie gearbeitet und würde mir gerne ansehen wie das 
funktioniert

von Matthew R. (matthew)


Lesenswert?

Jörg: Danke für den Tipp. Die räumlichen Abmessungen spielen dabei 
allerdings auch eine Rolle. Ich habe sonst nur eine Euro-Platine für die 
gesamte Schaltung vorgesehen, und wenn dann noch ein Controller dazu 
kommt wird das ganze doch recht groß, oder?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Matthew R. wrote:
> Jörg: Danke für den Tipp. Die räumlichen Abmessungen spielen dabei
> allerdings auch eine Rolle. Ich habe sonst nur eine Euro-Platine für die
> gesamte Schaltung vorgesehen, und wenn dann noch ein Controller dazu
> kommt wird das ganze doch recht groß, oder?

Der AD9832 (rein serielle Variante) hat ein Gehäuse von 6.25x6.25 mm²
Kantenlänge.  Als Controller würde vermutlich schon ein ATtiny13
oder ATtiny25 genügen (wenn du keine weitere Funktionalität mit
rein bringen willst); die bekommst du (MLF-Gehäuseversion) ab 4x4 mm².
Falls du andere Controller-Hersteller favorisierst, haben die sicher
ähnlich kleine Gehäuse für ihre kleinen Controller.  Du brauchst noch
etwas Platz für den Programmierstecker, aber es muss ja nicht
unbedingt ein klassischer Stecker mit 2,54 mm Rastermaß sein.

von Norgan (Gast)


Lesenswert?

In heutigen Zeiten sind 160 mm * 100 mm einer Europlatine /unendliche 
Weiten/ , wenn du nicht gerade mit 2,54 mm Lochraster und ausschließlich 
bedrahteten Bauteilen arbeitest.

von Olaf (Gast)


Lesenswert?

> Die digitale Alternative wäre ein DDS-IC.  Je nach Ausführung kann
> man die auch recht fein in der Phase abstufen.

Man hat allerdings eine gewisse Latenzzeit durch die AD-Wandlung und die 
Weitergabe an den DDS. Man sollte also vorher wissen ob man damit leben 
kann.

> Klingt sicher erst einmal wie eine Kanone auf Spatzen, aber dürfte
> alles in allem eine schnell fertig zu stellende Lösung sein.

Wenn man bereits einen Controller programmieren kann und ausserdem
genug drauf hat um ein DDS mit Ausgangsfilter sauber auf eine Platine
zu bekommen dann stimmt es wohl. Ist aber wohl auch eine recht teure
Loesung, oder was kostet so ein DDS derzeit?

Ausserdem stellt man sich die Frage wo kommt das Sinussignal in OP her 
und ist das in irgendeiner Form von Bedeutung....

Olaf

von Matthew R. (matthew)


Lesenswert?

Olaf wrote:
>> Die digitale Alternative wäre ein DDS-IC.  Je nach Ausführung kann
>> man die auch recht fein in der Phase abstufen.
>
> Man hat allerdings eine gewisse Latenzzeit durch die AD-Wandlung und die
> Weitergabe an den DDS. Man sollte also vorher wissen ob man damit leben
> kann.

Na ja, die Latenzzeit spielt wohl auch eine Rolle. Wenn man dabei unter 
0,5ms bleibt ist es allerdings kein Problem.

Die Kosten beim DDS sind allerdings auch nicht unerheblich, das stimmt 
schon.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Olaf wrote:

> Wenn man bereits einen Controller programmieren kann und ausserdem
> genug drauf hat um ein DDS mit Ausgangsfilter sauber auf eine Platine
> zu bekommen dann stimmt es wohl.

Beim Ausgangsfilter ist die Frage, wie weit die gewünschte Signal-
frequenz vom Master-Takt des DDS entfernt ist.  Um an die maximal
möglichen ~ 40 % (für die Grundfrequenz, ohne Aliase) zu kommen,
darf man natürlich etwas Aufwand treiben.  Wenn man aber bei 10 %
des DDS-Taktes liegt, dürfte das recht entspannt sein.

Dafür müsste uns der OP mal sagen, um welche Frequenzen es sich
hier drehen soll.

> Ist aber wohl auch eine recht teure
> Loesung, oder was kostet so ein DDS derzeit?

Der AD9832 kostet bei Segor (die ja auf Grund ihres umfangreichen
Angebots eher Apothekenpreise haben) EUR 20,50 als Einzelstück.
Das ist noch nicht einmal eine halbe Ingenieursstunde. ;-)

Ein AD9833 wäre sogar für EUR 9,80 dort zu haben.

von Matthew R. (matthew)


Lesenswert?

> Dafür müsste uns der OP mal sagen, um welche Frequenzen es sich
> hier drehen soll.

Es handelt sich um ein Sinussignal mit einer Frequenz von maximal 400 Hz 
(oder 50 Hz, muss ich noch klären), aber keinesfalls höher.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dafür kannst du die DDS ja noch in Software machen.  Je nachdem, wie
viel deine Arbeitsstunde kostet, dürfte allerdings ein AD9832 oder
AD9833 insgesamt billiger werden.  Der Entwurf des Anti-Aliasing-Filters
ist ja dann total unkritisch.  Du kannst das DDS bspw. mit 1 MHz
takten, dann hast du mehrere Dekaden Abstand im Filter, da würde sogar
ein simples RC-Filter reichen, und HF-Design ist das dann auch alles
nicht mehr.

von Sinusschieber (Gast)


Lesenswert?

> Ein Sinussignal am Eingang...

Welche Frequenz? Frequenzbereich?

von Matthew R. (matthew)


Lesenswert?

Sinusschieber wrote:
>> Ein Sinussignal am Eingang...
>
> Welche Frequenz? Frequenzbereich?

Es gibt nur eine einzige Frequenz. Der Sinus am Eingang hat genau die 
gleiche Frequenz wie am Ausgang, der einzige Unterschied ist die Phase.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Matthew R. wrote:

> Es gibt nur eine einzige Frequenz. Der Sinus am Eingang hat genau die
> gleiche Frequenz wie am Ausgang, der einzige Unterschied ist die Phase.

Nee, dann würde ich das mit der DDS aber nicht machen.  Ich dachte,
die Kiste dürfte den Sinus einfach selbst erzeugen.

Dann müsste die PLL-Variante sinnvoller sein, wobei ich mir nicht
ganz sicher bin, ob man damit den Bereich 0...360° wirklich lückenlos
(also ohne ,,Restlücke'' zwischen 360 und 0) erfassen kann.

von Sinusschieber (Gast)


Lesenswert?

> Es gibt nur eine einzige Frequenz.

Ja, welche? Gibt es einen Wert? 50Hz, 1kHz oder 10kHz?


> Der Sinus am Eingang hat genau die gleiche Frequenz wie am Ausgang, der > 
einzige Unterschied ist die Phase.

Das sind bekannte Merkmale eines Phasenschiebers.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

für eine einzelne Frequenz reicht auch eine Zeitverzögerung, digital 
oder analog.

von Matthew R. (matthew)


Lesenswert?

Christoph Kessler (db1uq) wrote:
> für eine einzelne Frequenz reicht auch eine Zeitverzögerung, digital
> oder analog.

Aber wie realisiere ich das in Analogtechnik, und dann noch 
spannungsgesteuert? Ich habe noch keinen passenden IC dafür gefunden

von .... (Gast)


Lesenswert?

Eine Verzoegerung erreicht man mit einem Allpass. Gesteuert ist eine 
andere Sache.

von Josef Huber (Gast)


Lesenswert?

Habe ganz konkret solche Aufgabe mit einem AD9854 gelöst. Dieser DDS hat 
einen I und einen Q-Ausgang, intern über Phasenregister programmierbar, 
angesteuert mit Toshiba TMP78FM48. Ausgangsspannung ist bei mir 
allerdings 1Vss. Frequenz und Phase wären auch über die 
10-Bit-Analogeingänge steuerbar. Die Aktualisierungsrate ist sicher 
>1000Werte/Sekunde.    Weiters in einem anderen Projekt mit 2x AD9850 
(wesentlich billigerer Baustein, aber 2x nötig), mit TMP86FH47 
angesteuert. Bei ernsthaftem Interesse könnte ich Ihnen u.U. eine 
Bastelplatine leihen !!.

von Peter (Gast)


Lesenswert?

>Dann müsste die PLL-Variante sinnvoller sein, wobei ich mir nicht
>ganz sicher bin, ob man damit den Bereich 0...360° wirklich lückenlos
>(also ohne ,,Restlücke'' zwischen 360 und 0) erfassen kann.

Wenn man die Frequenz vor dem Phasenkomperator teilt (z.B. durch 4) dann 
kommt man sogar über 360° hinaus..

von Matthew R. (matthew)


Lesenswert?

Josef Huber wrote:
> Habe ganz konkret solche Aufgabe mit einem AD9854 gelöst. Dieser DDS hat
> einen I und einen Q-Ausgang, intern über Phasenregister programmierbar,
> angesteuert mit Toshiba TMP78FM48. Ausgangsspannung ist bei mir
> allerdings 1Vss. Frequenz und Phase wären auch über die
> 10-Bit-Analogeingänge steuerbar. Die Aktualisierungsrate ist sicher
>>1000Werte/Sekunde.    Weiters in einem anderen Projekt mit 2x AD9850
> (wesentlich billigerer Baustein, aber 2x nötig), mit TMP86FH47
> angesteuert. Bei ernsthaftem Interesse könnte ich Ihnen u.U. eine
> Bastelplatine leihen !!.

Danke, hört sich gut an. Ich werde ggf. darauf zurückkommen. Allerdings 
würde ich vorher doch noch gerne eine analoge Lösung ausprobieren, wenn 
sich eine findet.

von Matthew R. (matthew)


Lesenswert?

Peter wrote:
>>Dann müsste die PLL-Variante sinnvoller sein, wobei ich mir nicht
>>ganz sicher bin, ob man damit den Bereich 0...360° wirklich lückenlos
>>(also ohne ,,Restlücke'' zwischen 360 und 0) erfassen kann.
>
> Wenn man die Frequenz vor dem Phasenkomperator teilt (z.B. durch 4) dann
> kommt man sogar über 360° hinaus..

Ich wäre wirklich sehr dankbar für eine Beispielschaltung, da ich mit 
PLLs noch nie gearbeitet habe.

von Matthew R. (matthew)


Lesenswert?

Danke euch allen, Problem erst mal gelöst!

von tom (Gast)


Lesenswert?

Hallo Matthew,

Du hast eine Menge nützlicher Anregungen und Hinweise bekommen und das 
ist hier schon Dein zweites Posting zu diesem Thema. Im ersten hast Du 
es nicht mal geschafft, Deine Problematik + Wünsche klar zu formulieren 
!
Wie es ausschaut suchst Du aber nur jemanden, der die Arbeit für Dich 
macht...
Das hat meiner Meinung nach NICHTS mit dem SINN von Studium und 
Ausbildung zu tun. Gehe da mal dringend in Dich, ansonsten würde ich Dir 
eher eine Laberkarriere nahelegen, und die Technik sein lassen...

Gruss, Tom.

von Matthew R. (matthew)


Lesenswert?

@ Tom:

Tut mir leid wenn ich das Problem für deinen Geschmack zu kompliziert 
formuliert habe. Es gab aber auch Leute die verstanden haben worum es 
geht.

Ich habe übrigens schon genug Probleme selbständig gelöst, man kann ja 
wohl nicht verlangen dass jemand alle Gebiete des komplexen Feldes der 
Elektronik perfekt beherrscht. Dann gäbe es wohl auch dieses Forum 
nicht.

Außerdem hat mir hier NIEMAND eine fertige Lösung angeboten, ich lasse 
mir so was nicht unterstellen

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Matthew R. schrieb:

> Außerdem hat mir hier NIEMAND eine fertige Lösung angeboten, ich lasse
> mir so was nicht unterstellen

Füttere doch bitte keine Trolle.

Was aber als Abschluss des Threads noch interessant wäre, ist eine
kurze Beschreibung, wie du das Problem denn am Ende gelöst hast.
Es wurde ja mehr als ein Lösungsansatz oben diskutiert.

von Matthew R. (matthew)


Lesenswert?

Also ich hab dafür doch einen ATMega16 benutzt. Der Sinus wird intern 
erzeugt und einmal direkt ausgegeben. Für den zweiten Ausgang wird der 
Sinus in Abhängigkeit von einer Gleichspannung weiterverarbeitet: die 
Gleichspannung wird in 360 Teile unterteilt und jedem 1/360 eine 
entsprechende Wartezeit zugeordnet. So hat das zweite Ausgangssignal 
(bezogen auf das erste) immer die richtige Phasenverschiebung, die sich 
auf den "virtuellen Winkel" bezieht. Danach wird das ganze natürlich 
DA-gewandelt, verstärkt und ausgegeben.

von Herbert (Gast)


Lesenswert?

@ Matthew

Kannst du dein Programm einmal posten? Bin am Code sehr interessiert, da 
ich eine Anwendung habe, die ich damit erledigen kann.

von Matthew R. (matthew)


Lesenswert?

@ Herbert:

Hallo, prinzipiell kein Problem, ich hab den Code allerdings auf meinem 
Rechner in der Firma. Die nächsten 3 Wochen bin ich nicht da. Ich könnte 
es danach posten, vorher komme ich leider nicht ran.

von Herbert (Gast)


Lesenswert?

@ Matthew

Vielen Dank für deine Antwort. :)

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.