Forum: Mikrocontroller und Digitale Elektronik Phasenverschiebung mittels PWM-Eingang messen


von Erik H. (agutanus)


Lesenswert?

Hallo, ich möchte die Phasenverschiebung zwischen 2 Rechtecksignalen im 
100 kHz Bereich messen und möglichst genau an einem µC einlesen. Es 
handelt sich um die Ausgangsspannung und -strom eines Wechselrichters, 
welche über Komparatoren aufbereitet sind.

Der µC kann nur über Simulink-Blöcke programmiert werden, weshalb eine 
Hardwarenahe Programmierung entfällt. Es kann jedoch die Frequenz und 
Pulsweite eines PWM-Signales ermittelt werden.

Das Problem daran ist, dass es eine positive ODER negative 
Phasenverschiebung sein kann, deshalb entfällt zB. der Vergleich mittels 
AND-Logik.

Ich möchte also ein PWM-Signal erzeugen, welches vom Beginn des 
Spannungspulses bis zum Beginn des Strompulses geht. Aus dem 
Tastverhältnis kann ich dann erkennen, ob es eine induktive (<50%) oder 
kapazitive (>50%) Phasenverschiebung ist.
Zur Realisierung hatte ich mir beispielsweise vorgestellt die Flanken 
der 2 Signale mittels monostabiler Kippstufe (74HCT221) in kurze 
Spannungspulse zu wandeln, mit denen ich dann ein RS FlipFlop setzen 
(Spannungsnulldurchgang) und Rücksetzen (Stromnulldurchgang) kann.

Jedoch finde ich diese Lösung recht ungünstig, da bei sehr geringer 
Phasenverschiebung die S- und R-Signale gleichzeitig am FlipFlop 
anliegen und mit jedem Schaltglied (Komparator, Kippstufe, FlipFlop) 
weitere Verzögerungen auftreten...

Hat jemand eine bessere Idee die Phasenverschiebung zu ermitteln? (ohne 
FPGA...)

von Erik H. (agutanus)


Angehängte Dateien:

Lesenswert?

Ich glaube ich habe eine halbwegs brauchbare Lösung gefunden: mittels 2 
D-FlipFlops kann ich ein entsprechendes PWM-Signal erzeugen. (siehe 
angehängter Schaltplan)

In der LTspice Simulation klappt das nicht, da die mitgelieferten D-FF 
Modelle keine Zeitverzögerung berücksichtigen.

Noch besser wäre die Verwendung eines "Time to Digital Converters", 
allerdings sind diese Bausteine für Privatanwender kaum erhältlich...
(Beispiel: MAX35101 oder TDC-GP21)

von Erik H. (agutanus)


Angehängte Dateien:

Lesenswert?

Korrektur: hatte im vorherigen Post einen Logikfehler in der 
CLR-Beschaltung. Hier die korrigierte (und funktionierende) Schaltung.

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.