Hallo! Ich möchte die Phasenverschiebung von zwei Sinusschwingungen gleicher Frequenz (1000 Hz) und Amplitude messen. Ich kenne den Spitzenwert dieser Spannung leider noch nicht, ich weiß nur, dass es so um 0,6V liegen wird. Dazu habe ich mir überlegt, die positiven Nulldurchgänge zu detektieren und die Zeit mit einem Mikrocontroller zu messen. Ich sehe dabei allerdings probleme mit der Auflösung. Wäre es nicht besser, die beiden Signale zu überlagern (wobei eines invertiert ist) und die resultierende Spannung zu messen? Das müsste dann doch eine halbwegs stabile Gleichspannung werden, oder? Wenn ja, dann dürfte die Verstärkung ja nicht mehr das Problem sein. Wie kann ich die werte einem MC übergeben, wenn die überlagerte Spannung negativ ist? Mit dem ADC kann ich ja nur zwischen GND und VADC messen. Gruß, Moritz Becker PS Wie kann man sich hier eigentlich richtig anmelden?
Habe gerade einen groben Denkfehler bemerkt. Natürlich wird es bei der Überlagerung keine Gleichspannung, aber die resultierende Spannung müsste proportional der Verschiebung sein.
willst du nur die Zeit zwischen den Signalen oder auch die Spannung der Signale messen? Wenn es nur um die Flanken geht, könnte man die Spannungen einfach so stark verstärken, dass man damit externe Interrupt "speisen" kann. Wenn man einen Controller mit 2 Input-Capture-Eingängen benutzt, kann man als Nebeneffekt noch beide Frequenzen/Periodendauern messen... Überlagerte Wechselspannung erinnert mich an Korrelationsgrad-Messer. Elektor oder Elrad hatten mal vor Jahren eine ziemlich simple Schaltung mit ExOr-Gattern und Komparatoren...
Es geht nur um die Zeit zwischen den beiden Nulldurchgägnen. Allerdings muss auch eine negative Verschiebung erkennbar bleiben. Das mit den Interrupts war ja auch meine erste Idee, da es sich aber um "minimale" Verschiebungen handelt, glaube ich, dass die analoge Auswertung besser ist. Bis zu welcher Auflösung in ns kann man denn mit einem MC arbeiten? Bei 20Mhz (Mega 48) dauert ein Zyklus 0,05ns?? Dann könnte man also mit ca. 0,1ns Auflösung arbeiten, wenn man die Zyklen bis zum zweiten Interrupt zählt, vorrausgesetzt das Programm arbeitet so schnell.
Wie währe denn sowas: 1. beide signale verstarken so das Rechtecksignale entstehen. 2. Logik erkennt erste pos Flanke & welche von beiden. 3. Dadurch wird ein Zähler mit zB 100Mhz wird gestartet. 4. Logik erkennt beide Signale pos. 5. Zähler wird gestoppt. Jetzt hat der uC alle Zeit der welt den Zäler auszulesen. und die "Richtung" des signales auszuwerten. Den Zähler zu reseten und die Flankenerkennung wieder scharf zu machen 2-> Erinnert an Drehrichtungserkennung bei ink.Gebern Wenn delta t allerdings über die gesamte phase erkannt werden soll muss der zähler bei 100MHz schon 56 bit haben Is nur mal so ne idee.....
Hallo ich habe das Problem einmal mit 2 Schmidt-Triggern und einem d-Flip-Flop gelöst. Die Nulldurchgänge von einem Signal auf den Takteingang die Anderen auf den D-Eingang. Die Breite des Ausgangsignales ist dann proportional der Phasenschiebung.
Nachtrag. Grober Rechenfehler. reichen eigentlich 3x8 bit 100E6/2000->5000 0xFFF->4095 -> 80% dT
Ich finde beide Lösungen interessant! Ich habe noch nie einen so schnellen Zähler benutzt und weiß auch nicht welcher geeignet sein könnte. Ich brauche auf jedenfall eine sehr hohe Auflösung und sollte mit 100%dT rechnen. Gibt es 32Bit Zähler die mit 100Mhz laufen und bezahlbar sind? Wie werden die angesteuert? Separate Leitungen für Start und Stop? Der MC sollte das Messergebnis durch seine eigene Rechenzeit möglichst wenig beeinflussen. Wie genau ist die Lösung mit dem Flip-Flop? Hört sich auf jeden fall einfacher an. Aber damit kann man doch nicht die Richtung der Verschiebung erkennen, oder? Wenn ich das richtig verstanden habe, dann startet ein bestimmter Nulldurchgang den Flip-Flop und bei 0 Verschiebung wird er genau gleichzeitig wieder gestoppt. Dann könnte im ungünstigsten Fall (durch Latenz im Flip-Flop) die Verschiebung genau eine Periode sein. Ich kenne mich mit Analogtechnik nicht so gut aus, aber gibt es Flip-Flops, die schnell genug sind, für so etwas? Gruß, Moritz Becker
Die beiden Spannungen auf zwei schnelle Komparatoren geben: high, wenn Sinus > 0V und low sonst. Dann beide Signale XORen: Pulbreitenmodulierte Pulse der Wiederholfrequnz 1kHz. Wenn die Messung nicht schnell sein soll: die Pulse tiefpaßfiltern und das Signal mit ADC langsam wandeln. Sollte Auflösung im Bereich der Stufen des ADC geben,also z.B. ca. 1° für 8Bit. Oder mit den Pulsen ne schnelle clock gaten. Auflösung wird umso besser, je schneller die clock ist. Cheers Detlef
@Moritz Welche auflösung ist denn Gewünscht ? Um nicht schon wieder Rechenfehler zu produzieren mal langsam. F-> 1khz -> 1 Halbwelle 0,5e-3 s Takt 100e6 zeit 1/2000 -> 5000d->0x1388 impulse -> 14bit auflösung 10ns; !20MHz->50ns nicht 0,5 Vorschlag 14bit Counter 74LV4020. Das ist noch ein billigheimer. über 100MHZ dürfte die Luft dann schon dünn werden. Das ist auch schon nicht mehr so hoppla hopp aufgebaut. Abgesehen davon muss der rest der schaltung mit mindestens der selben Genauigkeit arbeiten. Wenn mal die schaltung steht kann man ja immer noch stufenweise übertakten. Hier würde ich mal einen IRQ auf das höchste bit setzen und dann einfach jeweils den vollen Zähler zum jeweiligen Zählerendstand addieren. Sofern der Zähler das noch mitmacht. Beim LV4020 ist bei 100MHz schluss. und der gilt schon als "fast".
Das Problem mit der Auflösung ist, dass ich nicht genau weiß wie genau ich es brauche. Das ganze soll mal ein günstiger (und damit nicht so genauer) Massendurchflussmesser werden. (Coriolis-Massenddurchflussmesser) Um zu überprüfen, ob es überhaupt geht, mit relativ "einfachen" mitteln so etwas aufzubauen, brauche ich halt eine hohe Auflösung. Ich habe leider kein Ozziloskop, mit dem ich die Phasenverschiebung im Vorfeld untersuchen könnte. Zum berrechnen fehlen mir einige Daten. Mit dem 100MHz Zähler sollte es aber schon funktionieren. Ich werde mir den 74LV4020 mal ansehen. 100MHz ist aber schon nix mehr für Lochrasterplatinen, oder? Vielen Dank für alle bisherigen Antworten! Moritz Becker
Ich kann den 74LV4020 leider nicht finden. Ich finde zwar unter 4020 14Bit Zähler, jedoch nur bis 8MHz. Wo kann ich den denn bekommen? (inkl. Datenblatt) Gruß, Moritz Becker
erstmal sorry, das ich diesen älteren thread wieder ausgrabe. wie kann ich mit der flip-flop-schaltung eine positive oder negative phasenverschiebung detektieren?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.