PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Phasenverschiebung messen



Rage_Empire
14.06.2006, 08:27
Hallo,

ich habe vor eine Phasenverschiebung zu 2er Signale gleicher Frequenz zu messen. Dazu habe ich mir folgende Schaltung ausgedacht:




|\ .---.
-------| >O---o---|S |
|/ | | |
|------|R |o-
|\ | | '---'
-------| >O| |
|/ | |
| | .---.
| ----|S |
| | |
|------|R |o-
'---'


die 2 inverter sind die Eingänge und jeweils mit Schmid-Trigger. Die Ausgänge sind von 2 Flip-Flops, wovon eins für positive verschiebung und eins für negative verschiebung dient. Wenn sich nun die Phase der beiden Eingangssignale verschiebt müssten vorne je nach verschiebung pulse zu detektieren sein (bitte korriegert mich, wenn ich einen Denkfehler mache).
So, diese Pulse möchte ich nun mit "Pulsein" messen. ist das Genau genug? Habe keine Erfahrung mt diesem Befehl. Oder sollte ich einen Timer verwenden?
Andere möglichkeit wäre noch diese Pulse in eine Spannung zu wandeln (Prinzip PWM) und diese dann Analog zu messen.

Axo, die Frequenz liegt zwischen 20 und 200khz.

Manf
14.06.2006, 09:03
Eine Phasenverschiebung ist doch eine Differenz, dafür sollte ein Flip-Flop reichen.
Es müßte über die Flanken der Eingangssignale angestuert werden.
Manfred

Rage_Empire
14.06.2006, 09:08
Hallo Manfred,

ich denke auch, daß es mit einem Flip-Flop gehen würde, weiß aber nicht wie ich dann den Unterschied zwischen einer negativen und einer positiven verschiebung detektieren soll.

Manf
14.06.2006, 09:10
Die Phase ist zyklisch, wenn man sie von 0 bis 2pi messen kann dann hat man die volle Information, (mehr weiss das Signal meistens selbst nicht).
Manfred

Rage_Empire
14.06.2006, 09:19
Dafür muß ich dann aber wieder den Nulldurchgang erkennen, richtig?

Manf
14.06.2006, 09:21
Der Nulldurchgang der Phasendifferenz ist bei den Wert von 0 bis 2Pi dabei.

Rage_Empire
14.06.2006, 09:35
ich glaub, ich steh grad a bissl auf der Leitung ;-)

Wenn ich das Signal mit einem Flip-Flop auswerte dann habe ich soetwas am Ausgang:


|-----| |-----|
| | | |
| | | |
| | | |
--| |-------------------------| |----------------
Jetzt verstehe ich nicht, wie ich aus solch Signal wissen kann, um welche Verschiebung es sich handelt. :-k

Manf
14.06.2006, 09:41
Es gibt eine relative Einschaltdauer, den PWM Wert, der ist proportional zum Winkel.
Manfred

Rage_Empire
14.06.2006, 09:48
Ja schon, aber der PWM-Wert ist doch bei -90° der selbe wie bei +90°? Hm, auf einem Oszi erkennt man das aber auch nicht...muß ich zugeben.

ThSteier
14.06.2006, 09:49
Ich hoffe mal, ich habe mir das jetzt richtig zusammengereimt. Wenn ein Signal (hier S1) grundsätzlich die Start- und das andere (hier S2) die Stopbedingung triggert, müßte die Ausgangssignal P eigentlich so aussehen:

S1 vorlaufend:

S1: -___-___-___-___

S2: _-___-___-___-__

P: -___-___-___-___

S2 vorlaufend:

S1: __-___-___-___-_

S2: _-___-___-___-__

P: __---_---_---_--

Das erschlägt auch gleich mein Problem aus dem anderen Threat (https://www.roboternetz.de/phpBB2/viewtopic.php?p=189607#189607). Wieder was gelernt :)

Viele Grüße,
Thomas

ThSteier
14.06.2006, 09:57
Ja schon, aber der PWM-Wert ist doch bei -90° der selbe wie bei +90°?
Hoppla, auch wieder wahr... Hm, in meinem Fall könnte ich über den Empfängerabstand sicherstellen, daß die Phasenverschiebung unter 90° bleibt - aber wie man das generell lösen kann, wüßte ich jetzt auch nicht.

Viele Grüße,
Thomas

Rage_Empire
14.06.2006, 10:01
Hallo Thomas

Ja, und dazu kommt auch noch Duty/Cycle mit 50%! Dann würde deine Zeichnung oben auch anders aussehen :-k

ThSteier
14.06.2006, 10:15
Eine Variante wäre IMHO, zwei externe INTs am Controller zu nutzen und auf die steigenden Flanken zu triggern. Damit wäre der D/C erstmal aus dem Rennen und man könnte gleich noch ermitteln, welches Signal eher ankommt.

Aber das wäre dann schon fast mit Kanonen auf Spatzen...

Manf
14.06.2006, 10:26
Das flankengetriggerte FF holt die gesamte Phaseninformation aus dem Signal heraus.
0 bis 360° oder
-180° bis +180°

Wie man die Phase bei größeren Verschiebungen mißt, ist im Link besprochen, mit "synthetischer Frequenz" also durch Variation der Arbeitsfrequenz die ja dann bei konstanter Laufzeitdifferenz eine unterschiedliche Phasenverschiebung bringt.
Manfred

https://www.roboternetz.de/phpBB2/viewtopic.php?t=16515

https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=824

ThSteier
14.06.2006, 10:45
So langsam dämmert mir zwar, auf was Du dort hinaus willst (Durch das gewobbelte Sendesignal ändert sich die Phasenverschiebung berechenbar auch bei gleichbleibendem Abstand, soweit erstmal richtig?). Aber bis ich das grundlegend verstehe oder gar praktisch nachvollziehen kann, wird's wohl noch 'ne ganze Weile dauern.

Ich ackere mich erstmal durch den Threat, versuche anschließend mein Gehirn wieder zu entknoten und frage dann weiter ;)

Viele Grüße,
Thomas

Manf
14.06.2006, 10:55
Ja, soweit ist es richtig.
Versuche mal die Differenz der Frequenzen zu betrachten, die ist relativ klein und wird dann in eine relativ große Wellenlänge umgeformt.
Manfred

https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=826

Rage_Empire
14.06.2006, 11:44
Jedenfalls werde ich das resultierende PWM-Signal per ADC messen, das benötigt am wohl wenigsten Ressourcen des Controllers und die Auflösung ist mehr als gut.

Rage_Empire
14.06.2006, 18:43
Also die Schaltung hab ich mal nach dieser Vorlage aufgebaut und hinter Q ein rc-glied, welches eine Analogspannung ausgibt und per ADC ausgewertet wird:

http://www.elektronik-kompendium.de/forum/upload/RS-FF.gif

Kann ich die Spannung bezüglich des winkels per gleichung rechnen? theoretisch ist es linear.

Beispiel:



180° entspricht Vmax/2 [also 2,5Volt / ADC=512]
x° entspricht aktuelle Spannung [angenommen 3Volt / ADC=615]



dann wäre x°= 180 mal 3 durch 2,5

oder einfacher 72 x gemessene Spannung in Volt oder geht das mit der PWM so nicht (nicht linear)?

Rage_Empire
15.06.2006, 23:34
Ok, weiß vorerst alles, was ich wissen wollte \:D/ . Das Datenblatt des 4046 hat mir alles gesagt (hätt ich auch früher drauf kommen können ](*,) )

Rage_Empire
19.06.2006, 20:30
So, ich nun wieder ;-)

Jetzt hab ich ein weiteres Problemchen: Eins der 2 Signale ist ein Wechselspannungssignal (auch negative Anteile). Wie bekomme ich das mit der Messung hin ohne die Phase zu beeinflussen? Gleichrichter, Optokoppler oder doch Koppelkondensator?