In diesem Beitrag möchte ich – als Ergänzung zum vorherigen Artikel zur Messung der Netzfrequenz – genauer auf die zeitliche Abweichung eingehen. Gemeint ist hier nicht die Abweichung des Messwerts, sondern die Frage, wie gut die Zeitstempel der Daten synchronisiert sind. Denn für den Vergleich von Messungen an unterschiedlichen Orten ist es entscheidend, dass die Daten auch tatsächlich zum gleichen Zeitpunkt erfasst wurden.
Ich möchte hier aus der Praxis berichten, wie die Synchronisierung im PQopen-Messgerät umgesetzt ist und welche Erfahrungen ich damit gemacht habe.
Aufbau des PQopen-Messsystems
Das PQopen-Messgerät besteht im Wesentlichen aus zwei Komponenten:
- der Datenerfassungseinheit (bestehend aus einem Arduino Due und der analogen Eingangsschaltung),
- sowie einem Raspberry Pi zur Datenverarbeitung und Kommunikation.
Die Verbindung zwischen Raspberry Pi und Arduino erfolgt über eine USB-2.0-Schnittstelle. Aufgrund der hohen Übertragungsrate sind hier nur sehr geringe Latenzzeiten zu erwarten.
Um die eingehenden Daten möglichst schnell mit einem Zeitstempel zu versehen, werden sie zunächst von einem schlanken Hintergrunddienst entgegengenommen, sofort gestempelt und anschließend in eine Queue gestellt. Diese Architektur erlaubt es, den zeitkritischen, synchronen Abtastprozess von der asynchronen Weiterverarbeitung sauber zu entkoppeln.
Synchronisation der Systemzeit
Die interne Uhr des Raspberry Pi ist – wie bei vielen Embedded-Systemen – nicht besonders genau. Um dennoch präzise Zeitinformationen zu erhalten, wird NTP in Kombination mit chrony zur Zeit-Synchronisation eingesetzt. Damit lassen sich typische Unsicherheiten im Bereich von einstelligen bis niedrigen zweistelligen Millisekunden erreichen.
Grundsätzlich gilt: Je länger ein System mit einem zuverlässigen NTP-Server synchronisiert läuft, desto stabiler wird die lokale Zeitbasis – der zeitliche Fehler konvergiert langfristig gegen null.
Zur Bewertung des zeitlichen Drifts lässt sich ein Vergleich der gemessenen Nulldurchgänge (also der Nulldurchgangszeitpunkte der Netzspannung) über mehrere Systeme hinweg durchführen. Ein konstanter Versatz kann beispielsweise auf unterschiedliche Schaltgruppen oder Phasenfolgen hinweisen. Ändert sich hingegen der Zeitstempel, ohne dass sich die gemessene Frequenz verändert, deutet das auf Jitter in der Echtzeituhr des Systems hin.
Zwei Zeitquellen im System
Im PQopen-System spielen zwei unterschiedliche Zeitquellen eine Rolle:
- ADC-Taktgeber des Arduino Due – liefert konstant getaktete Samples.
- Systemuhr des Raspberry Pi – wird durch NTP synchronisiert, unterliegt aber Schwankungen.
Methode zur Korrektur der Zeitstempel:
Um die Systemzeitdrift zu kompensieren, wird regelmäßig – zum Beispiel alle 10 Sekunden – die Systemzeit abgefragt. Die Differenz zur vorherigen Abfrage gibt die „wahre“ Zeitabweichung an. Daraus wird eine Korrekturgröße berechnet, mit der die zukünftigen Zeitstempel angepasst werden.
Praktischer Vergleich von zwei Messstellen
Zur Validierung der Synchronisationsgüte habe ich Daten von zwei Messpunkten (gleiche Messgeräte wie hier vorgestellt, räumlich ca. 50 km voneinander entfernt) über eine Stunde hinweg aufgezeichnet – jeweils 180.000 Nulldurchgänge (3600 s × 50 Hz). Zu jedem Nulldurchgang wurde die Frequenz gemessen und gemeinsam mit einem Zeitstempel in einer Datenbank gespeichert. Für diese Analyse wurden ausschließlich die Zeitstempel betrachtet.
Wertet man die Differenz der Zeitstempel zwischen den beiden Datensätzen aus (die jeweils exakt gleich viele Nulldurchgänge enthalten), kann man systematische Zeitfehler sichtbar machen. In einem Histogramm der Zeitstempeldifferenzen zeigt sich ein klarer Schwerpunkt – allerdings nicht bei 0 ms, sondern bei etwa -1,6 ms. Umgerechnet auf den Phasenwinkel eines 50-Hz-Systems entspricht das etwa -30°.

Diese 30° könnten ein Hinweis auf unterschiedliche Schaltgruppen von Transformatoren sein. Diese können Phasenverschiebungen im 30°-Raster zwischen Ober- und Unterspannungsseite verursachen. Natürlich kann das auch eine belastungsabhängige Komponente sein, dazu werde ich die Daten über einen längeren Zeitraum beobachten.
Bemerkenswert ist die geringe Streuung: Rund 80 % der Werte liegen innerhalb eines 1 ms breiten Fensters. Das lässt sogar die Hypothese zu, dass man aus solchen Daten Rückschlüsse auf die absolute Phasenlage ziehen kann – und damit vielleicht sogar grob die Richtung von Lastflüssen abschätzen könnte.
Ausblick: Citizen-Science-Projekt
Diese Ergebnisse geben mir die Zuversicht, den nächsten Schritt zu gehen: Aktuell plane ich ein Citizen-Science-Projekt, mit dem Ziel, ein offenes Netzwerk von Messstellen zur Erfassung der Netzfrequenz in Europa aufzubauen. Im Zentrum steht dabei die Verfügbarkeit und Vergleichbarkeit der Daten – auch, was ihre zeitliche Genauigkeit betrifft.
Euer Michael