www.mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Sinus mit spannungsgesteuerter Phasenverschiebung


Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein PLL kann das. Man muss nur nach dem Multiplizierer eine Konstante 
addieren.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.)

Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Norgan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sinusschieber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ein Sinussignal am Eingang...

Welche Frequenz? Frequenzbereich?

Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sinusschieber (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

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

Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: .... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Verzoegerung erreicht man mit einem Allpass. Gesteuert ist eine 
andere Sache.

Autor: Josef Huber (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 !!.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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..

Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke euch allen, Problem erst mal gelöst!

Autor: tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Herbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Matthew

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

Autor: Matthew R. (matthew)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Herbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Matthew

Vielen Dank für deine Antwort. :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.