Zum Inhalt

PQopen PMU Prototyp

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%.
Interpretation des TVE (Lombardi, Michael – 10.6028/NIST.TN.2189 – An Evaluation of Dependencies of Critical Infrastructure Timing Systems on the Global Positioning System (GPS))

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:

  1. GNSS (GPS): Synchronisierung mittels Satelliten-Positionierungssystem. Erfordert eine Antenne mit (fast) freier Sicht.
  2. 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.

Funktionsweise der neuen PMU-Methode: Das fixe PMU-Zeitraster wird über die Messdaten gelegt und mit der letzten bekannten Frequenz wird der Phasor berechnet.

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

Schreibe einen Kommentar