Forum: Digitale Signalverarbeitung / DSP / Machine Learning Berechnung der Phasendifferenz Strom und Spannung


von Kamil (Gast)


Lesenswert?

Hallo Zusammen,

ich möchte gerne ein kleines Netzanalysegerät in Matlab simulieren und 
gegebenfalls in einen DSP überführen.

Es sollen:

Strom
Spannung
Wirkleistung
Blindleistung
Scheinleistung
Leistungsfaktor
etc. p.p. :)

messen und Berechnen können.

Aber es kommt schon recht schnell zu Fragen.
Wenn ich eine Spannung und einen Strom habe, würde ich gerne die 
Phasendifferenz zwischen Strom und Spannung wissen.

Wie komme ich an diese Phasendifferenz?

Ich könnte natürlich die Zeit zwischen den Null-Durchläufen stoppen und 
pauschal mit der Freq. (50 Hz) verrechnen.

Aber geht es auch Mathematisch; und wenn ja wie ?

Vielen Dank

Gruß

Kamil

von Gerhard (Gast)


Lesenswert?

Hallo Kamil

<<<
Ich könnte natürlich die Zeit zwischen den Null-Durchläufen stoppen und
pauschal mit der Freq. (50 Hz) verrechnen.

Aber geht es auch Mathematisch; und wenn ja wie ?

<<<

Du brauchst wohl beides. Woher soll Matlab wissen, wie gross der versatz 
ist ? Das musst du wohl simulieren. Im uC kannst du dann z.B. den 
Versatz der Nulldurchgänge von Strom und Spannung herausmessen und damit 
dann die Wirkleistung und den Leistungsfaktor berechnen.

Gerhard

von pq (Gast)


Lesenswert?

Mathematisch:

Du erzeugst dir per Software einen Sinus und einen Cosinus mit 50Hz.
Dann Sinus mit dem Spannungssignal multiplizieren und Tiefpassfiltern.
Dann Cosinus mit dem Spannungssignal multiplizieren und Tiefpassfiltern.

Arctangens(Sinusergebnis gefilter/Cosinusergebnis gefiltert) = 
Phasenwinkel zwischen Spannung und dem virtuellen Sinussignal.

Das gleiche mit dem Stromsignal machen. Dann hast Du den Phasenwinkel 
zwischen Strom und virtuellem Sinussignal.

Differenz aus beiden ist Phasenwinkel zwischen Strom und Spannung.

Der Vorteil dieser Methode: Man schaut nicht nur auf die Nulldurchgänge, 
sondern auf den ganzen Verlauf. Deshalb ist die Messung auch bei 
verzerrten Stromsignalen noch richtig.

von Kamil (Gast)


Lesenswert?

Hallo pq,

Ich habe da ein kleines problem:

strom_messung : zwei perioden mit jeweils 512 werten gesampelt (1024 
werte)
spannung_messung : zwei perioden mit jeweils 512 werten gesampelt(1024 
werte)
sin_wert: zwei perioden mit jeweils 512 stüzpunkten(1024 werte)
cos_wert: zwei perioden mit jeweils 512 stüzpunkten(1024 werte)

dann jeweils (für strom und spannung)[das verstehe ich nicht]:

erg_s[1] = sin_wert[1]*strom_messung[1];
erg_c[1] = cos_wert[1]*strom_messung[1];

phi_1 = arctan(erg_s[1]/erg_c[1]);

?!?!?

Ein weiteres Gedanken-häppchen wäre nett :)

Danke

von Matthias L. (Gast)


Lesenswert?

>Im uC kannst du dann z.B. den
>Versatz der Nulldurchgänge von Strom und Spannung herausmessen und damit
>dann die Wirkleistung und den Leistungsfaktor berechnen.

So den Leistungsfaktor zu ermitteln, geht schief, sobald der Strom von 
der Sinusform abweicht!

Besser ist Scheinleistung durch Wirkleistung zu rechnen.

von Alex (Gast)


Lesenswert?

<pedantic on>
PF = P / S
<pedantic off>

Ansonsten hat Matthias natürlich recht. Alternativ musst du die oben 
vorgeschlagenen Berechnungen bei nichtlinearen Verbrauchern für 
sämtliche signifikanten Harmonischen einzeln durchführen, also 50 Hz, 
100 Hz, ... 300 Hz usw.
Das dürfte aber die Rechenleistung deines DSP schnell sprengen, wenn du 
die Signale online (ohne Puffer) berechnen möchtest. Da sind etwa 10 kHz 
Samplerate sinnvoll, damit du pro Periode 200 Samples hast.
Für die Offline-Variante (mit Puffern) müsstest du die Puffer evtl. noch 
etwas größer machen, da die Filter etwas Zeit zum Einschwingen brauchen.

Was für eine Plattform + Entwicklungsumgebung setzt du ein?

von Kamil (Gast)


Lesenswert?

Hallo zusammen,

@Alex

ich möchte das ganze erstmal simulieren mit matlab.

Später kann ich mir einen dsPIC o. einen Cortex M3 oder ähnliches 
vorstellen.
Je nachdem wieviele berechnungen durchgeführt werden müssen.


Gruß


Kamil

(heute abend werde ich mich mal anmelden...dann könnten wir emails 
austauschen :), falls jemand mit simulieren möchte)

von Andreas R. (rebirama)


Lesenswert?

Ich hätte mal ne Idee, die ohne die ganzen Arrays auskommt und 
Frequenzunabhängig ist:

I: aktuelles stromsample
U: aktuelles spannungssample
Integral: Integral über ein bestimmtes Intervall, z.B. eine Sekunde 
(aufsummieren)
SPI: Samples pro Integrationszeitraum


Wirkleistung:
Integral(I*U) durch SPI

EffektivStrom:
sqrt((Integral(U^2) durch SPI)

EffektivSpannung:
sqrt((Integral(I^2) durch SPI)

Scheinleistung=Effektivspannung*Effektivstrom

Leistungsfaktor: Wirkleistung/Scheinleistung

"Aufwendige" Rechnungen Fallen nur einmal pro Intervall an.
Nulldurchganserkennung nicht zwingend notwendig.
Allerdings kann man nicht unterscheiden ob der Verbraucher kapazitiv 
oder induktiv ist.
Das schaft selbst n 8bitter ;-)

Erweiterung für Phasenwinkel:
Man könnte die Methode mit PQs Ansatz kombinieren und hätte den 
Phasenwinkel.
Stromwinkel:
arctan (Integral(Sinus*I)/SPI /Itegral(Cos*I)/SPI)
Spannungswinkel genauso,
Die Differenz ist die Winkelverschiebung zwischen beiden.
Wichtig: Wirkleistung=cos(phi)*Scheinleistung gilt nur wenn keine 
Oberwellen vorhanden sind, also nicht für Schaltnetzteile etc.

von Kamil T. (kamil09)


Lesenswert?

Hallo Andreas,

das Netzanalysegerät(Simulation) soll möglichst real sein.
Es können in der Praxis ja Oberwellen vorhanden sein.

Gruß

Kamil

von Andreas R. (rebirama)


Lesenswert?

Ich meinte mit den letzten zwei Zeilen meines Posts:

Blind- und Wirkleistung lassen sich mit der Methode bestimmen, aber die 
Angabe/Berechnung eines Winkels funktioniert nur, wenn die Blindleistung 
ihre Ursache in einer Verschiebung der Grundschwingung hat. 
Blindleistung kann auch durch Oberwellen "generiert" werden.
Mit der Integrationsmethode erhält man die komplette Blind- und 
Wirkleistungleistung unabhängig von der Frequenz, also auch die der 
erfassbaren (Nyquist!) Oberwellen.

Das Herausfiltern der Grundschwingung geschieht durch die Multiplikation 
mit Sinus und Cosinus (=Kreuzkorrelation). Die Oberwellen fallen dadurch 
raus und die Grundwelle bleibt übrig. Anschließen kann die 
Winkeldifferenz zwischen Strom und Spannung berechnet werden.

von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Schau dir mal die Bilder im Anhang an, das Verfahren habe ich bereits 
erfolgreich genutzt.
KI = 2  PI  N * 50 Hz
KP = 0.001 ... 1 (je nach gewünschter Dynamik, kleiner Werte liefern 
bessere Ergebnisse, Lastwechsel werden aber langsamer erkannt)

von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Just some text ...

von Alex (Gast)


Lesenswert?

Also für jeden interessanten Frequenzanteil einfach "in-phase" und 
"quadrature" Signale erzeugen und mit der Angegebenen Formel Blind- und 
Wirkleistung berechnen.

von Matthias L. (Gast)


Lesenswert?

>ich möchte gerne ein kleines Netzanalysegerät in Matlab simulieren und
>gegebenfalls in einen DSP überführen.

>Es sollen:

>Strom
>Spannung
>Wirkleistung
>Blindleistung
>Scheinleistung
>Leistungsfaktor


Aber mal so in den Raum geworfen:

Sowas gibts doch schon fertig als IC.

von znil (Gast)


Lesenswert?

Hallo Kamil,

ich stehe vor einem ähnlichen Problem.
Wie hast du das Ganze nun gelöst?
Ich muss jedoch zunächst nur Wirk / Blind und Scheinleistung aus dem 
Spannungs - und Stromverlauf berechnen....
Da scheint die Methode von Andreas R. recht simpel.
Funktioniert das auf diese Weise?

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.