Im Rahmen meiner Arbeit am PQopen-Projekt habe ich viele interessante Menschen kennengelernt und viel dazugelernt. Die Funktionalität einer PMU (Phasor Measurement Unit) hat mich dabei immer wieder fasziniert.
PMUs sind in der Höchstspannungsebene weit verbreitet, in niedrigeren Ebenen sind sie jedoch selten anzutreffen. Dies liegt primär an den hohen Anschaffungskosten und der oft wenig effizienten operativen Nutzung der Messdaten in diesen Bereichen.
Da nur wenige PMU-Hersteller auch Power Quality nach IEC 61000-4-30 auswerten können, habe ich die Herausforderung angenommen: Ich habe den PQopen Power Quality Analyzer zu einer echten PMU erweitert.
Phasor-Messung und Total Vector Error (TVE)
Für die Ermittlung des Synchrophasors ist eine exakt synchronisierte, absolute Zeitachse der Messdaten essentiell. Die Genauigkeit der Messung wird maßgeblich durch den Total Vector Error (TVE) nach IEEE C37.118.1 bestimmt.
- Hochpräzise PMUs, wie sie bei Übertragungsnetzbetreibern (ÜNB) eingesetzt werden, erreichen TVE-Werte von kleiner 0,1%.
- Je nach Anwendungsfall ist solch eine hohe Präzision nicht zwingend erforderlich; oft genügt ein TVE < 1%.

Hinweis zur Zeitgenauigkeit: Bei einer Frequenz von 50 Hz entspricht ein TVE von 1% einer maximalen Zeitabweichung von etwa 32µs.
Während diese Genauigkeit für professionelle Messgeräte typischerweise kein Problem darstellt, ist sie für den PQopen-Aufbau eine echte Herausforderung: Die Datenerfassung erfolgt über einen frei abtastenden Arduino DUE (mit SAM3X MCU), dessen Clock weder an die „Echte“ Zeit gekoppelt noch nachgeführt wird.
Die Abtastung erfolgt zwar kontinuierlich, die Datenübertragung aber paketweise. Die Paketgröße ist dabei so gewählt, dass sie Messwerte einer Dauer von ca. 50 ms enthält. Auf der Empfängerseite wird bei jedem Paket ein Zeitstempel vom Edge-System generiert.
Mein Durchbruch: Durch einige gezielte Kniffe gelang es mir, die Abtastpunkte mit einer Abweichung von kleiner als 10µs an die Systemzeit des Edge-Computers anzunähern!
Für das korrekte Ermitteln des Synchrophasors sind deshalb folgende Faktoren wichtig:
- Genaue Zeitsynchronisierung der Systemzeit
- Bekannte und kompensierte Timings des Analog-Pfads, der ADC-Wandlung und der Übertragung
Teil 1: Synchronisierung der Systemzeit
Standard-Synchronisierung (NTP)
Für die „normalen“ PQopen-Geräte verwende ich NTP (Network Time Protocol) zur Synchronisierung der Systemzeit. Das liefert eine Abweichung von kleiner als 5ms (teilweise sogar 1ms und darunter), was für deren Einsatzzweck völlig ausreicht.
Präzise Zeitsynchronisierung
Für die erforderliche PMU-Genauigkeit muss eine präzisere Zeitquelle genutzt werden. Typische heute verwendete Varianten sind:
- GNSS (GPS): Synchronisierung mittels Satelliten-Positionierungssystem. Erfordert eine Antenne mit (fast) freier Sicht.
- PTP (IEEE 1588v2): Synchronisierung mittels Precision Time Protocol über Ethernet (kabelgebunden).
Um einen Raspberry Pi hochpräzise zu synchronisieren, benötigt man einen GPS-Receiver mit PPS-Ausgang (Pulse Per Second). Ein Beispiel dafür ist das Sparkfun GPS-17285 mit einem NEO-M9N Modul.
Das wirklich aufregende Detail: Mit dem Raspberry Pi 5 ist es nun möglich, sogar eine PTP Grandmaster Clock zu betreiben, da dieser (erstmals nach dem CM4 mit entsprechendem Board) Hardware-Timestamping unterstützt. Das ist für unter 100€ realisierbar – ein echter Game Changer!
PTP-Experimente
Dieses Potenzial hat mich sofort zu Experimenten verleitet. Nach einigen Versuchen gelang es, zwei Raspberry Pi – einen als PTP-Server und den zweiten als PTP-Client – erfolgreich zu synchronisieren. Die Synchronisierungsqualität ist erstaunlich: Es werden durchgehend Abweichungen von unter 100ns (auf Systemzeit-Ebene, nicht Messdaten) gemeldet.
Folgende Beiträge hat mich inspiriert:
Evaluierung des Messpfades
Zuerst habe ich einen Trockenversuch durchgeführt: Mittels Funktionsgenerator simulierte ich einen PPS-Puls, den ich gleichzeitig für Tests der Abtastgenauigkeit nutzte.

Mit diesem Aufbau konnte ich die Signallaufzeiten zwischen Messeingang und der Auslesung am Edge-Computer exakt evaluieren. Da dies ein systematischer Fehler ist, kann er korrigiert werden (mittels des Parameters adc_delay_seconds im Konfigurations-File des DAQ-Servers).
Teil 2: Ermittlung des Synchrophasors
Abkehr vom klassischen PLL-Prinzip
Klassische PMUs basieren oft auf dem PLL-Prinzip (Phase-Locked Loop): Nach aufwendiger Filterung werden Spannung und Strom in Real- und Imaginärteil zerlegt, einer PLL zugeführt und daraus die Momentanwerte der Phasoren abgeleitet. Diese Methode ist ideal für hochgenaue Messungen und einen kontinuierlichen Phasor-Verlauf, aber auch empfindlich gegenüber Oberschwingungen.
In vielen Anwendungen wird der Phasor jedoch nur einmal pro Nenn-Periodendauer (z.B. alle 20ms bei 50Hz) benötigt. Ich dachte mir: Das muss auch „billiger“ gehen – blockweise und ohne aufwendige PLL.
Die Grundidee war, die PQ-Messung um eine blockweise PMU-Messung zu erweitern.
Die PQopen-Methode
Die Grundschwingungseffektivwerte und die Phasenverschiebung werden direkt berechnet. Die wichtigste Kenngröße ist dabei die aktuelle Frequenz.

Da PQopen bereits pro Grundschwingungsperiode eine genaue Frequenzmessung vornimmt, kann dies genutzt werden: Zu den jeweiligen PMU-Zeitstempeln (gerade absolute Zeitpunkte im 20ms Raster bei 50Hz) werden die Phasoren berechnet.
Vorteil: Obwohl die Frequenzmessung dieser Methode maximal eine Periode hinterherhinken kann, steht sie PLL-Methoden in nichts nach, da diese durch den Regelkreis ebenfalls Einschwingzeiten bei dynamischen Vorgängen aufweisen.
Validierung der Messung
Simulation unter Idealbedingungen
Zur Validierung simulierte ich einen PPS-Puls (statt des GNSS-Moduls) mit dem Funktionsgenerator. Gleichzeitig gab ich auf Kanal 2 einen Sinus aus, der synchron zum PPS-Puls war. Dies funktioniert bei ganzzahlig teilbaren Frequenzen wie 1Hz (PPS) und 50Hz (Netz) problemlos. Dieser Sinus wurde an den Messeingang von PQopen (z.B. U1) angeschlossen.
Damit konnte ermittelt werden, wie das System unter Optimalbedingungen (ohne Fehler der Zeitmessung an sich) funktioniert.

Reale Messung
Unter Realbedingungen erhält man keinen konstanten Winkel. Wie bei typischen PMU-Anwendungen ist hier die Differenz von größerem Interesse. Ich habe dazu zwei PMU-fähige Geräte aufgebaut, um den Phasenwinkel der Netzspannung am selben Punkt zu ermitteln. Die Differenz dieser Winkel gibt quasi den Fehler des Gesamtsystems an.

Im Betrachtungszeitraum konnte gezeigt werden, dass die Phasendifferenz nicht über 0,57° hinausging und somit ein TVE von kleiner 1% erreicht werden konnte!
Falls ihr Fragen zur genauen Implementierung oder zum Aufbau und Betrieb einer PTP Grandmaster Clock habt, könnt ihr mir gerne schreiben!
Euer Michael