Forum: Mikrocontroller und Digitale Elektronik GPS-Synchronisierung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Florian S. (floke4)


Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich arbeite gerade mit sechs GPS-Modulen und möchte mit ihnen mit 
jeweils einem Microcontroller eine Zeitmessung durchführen.
Ich habe aber das Problem, dass die Uhrzeit der GPS-Modulen sich um ca. 
2 Sekunden unterscheidet. Manche von den Modulen sind synchron aber dann 
ein paar wieder um 2 Sekunden verschoben. Die Module haben alle einen 
PPS (Pulse per Second) Ausgang.
Ich verstehe so ca. das Prinzip von PPS, also dass ich exakt jede 
Sekunde einen Impuls bekomme, aber ich habe leider überhaupt keine Idee 
wie ich damit meine GPS-Module synchronisieren kann. Kann mir vielleicht 
bitte jemand von euch weiterhelfen?
Danke und lg Floke

von Pandur S. (jetztnicht)


Bewertung
0 lesenswert
nicht lesenswert
Naja, eigentlich sollten sie synchron sein. Sollten sowohl die Seit 
gleich anzeigen, sowie den PPS Puls zur selben Zeit rauslassen.
Die Satelliten sind genuegend, und die hast die Pulse mit einem 
Oszilloskop verglichen ?

von Florian S. (floke4)


Bewertung
0 lesenswert
nicht lesenswert
Hallo, danke für die schnelle Antwort!
Die PPS sind synchron, nur die Zeit, die mir ein GPS-Modul liefert, ist 
um 2 Sekunden anders als bei einem anderen Modul.
Danke und lg

von Mucky F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Florian S. schrieb:
> Ich habe aber das Problem, dass die Uhrzeit der GPS-Modulen sich um ca.
> 2 Sekunden unterscheidet.

Vielleicht mal eine Antenne anschließen? ;-)

2 sec sind bei GPS nicht möglich, vermutlich haben deine Module keinen 
Fix.
Entweder warten bis Sie sich mit dem System synchronisiert haben oder 
bessere Empfangsbedingungen schaffen.

von DerLellek (Gast)


Bewertung
-5 lesenswert
nicht lesenswert
Das kann man alles recherchieren wenn man sich nur 5 Minuten Zeit nimmt! 
Du kannst dir nicht erwarten, dass dir das Forum hier auf wundersame 
Weise deine Arbeit (die du wahrscheinlich für irgendein unnützes 
Schulprojekt brauchst) erledigt. Beschäftige dich erstmal selbst mit dem 
Thema!

Wenn du damit fertig bist und immer noch keinen Plan hast, dann kannst 
du ja nochmal fragen, aber so wirst du hier keine Antwort bekommen.

PS: Ein Oszilloskop könnte dir immens helfen, und das sollte normal zur 
Grundausstattung jedes Elektronikers gehören, der sich nur ein bisschen 
für die Materie interessiert.

von Florian S. (floke4)


Bewertung
0 lesenswert
nicht lesenswert
Hallo, dir auch danke für deine Antwort!
Ich habe bereits bei allen Modulen eine externe Antenne oben.
Außerdem verwende ich das Programm U-center 20.10 um den Empfang zu 
überwachen. Ich bekomme auch bei allen Modulen immer einen Fix zusammen. 
Aber dann ist es manchmal so, dass eben die Zeit verschoben ist.
Danke und lg

von Mucky F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Florian S. schrieb:
> Außerdem verwende ich das Programm U-center 20.10 um den Empfang zu
> überwachen.
Sind das Originale ublox Empfänger und alle vom gleichen Typ?

> Aber dann ist es manchmal so, dass eben die Zeit verschoben ist.
Immer um den gleichen Betrag und + oder - zur korrekten Zeit?

Evtl. gibt dein Empfänger seine lokale Zeit, er hat GPS Schaltsekunden 
nicht mitbekommen oder macht bei der Umwandlung in UTC was falsch.

von Mucky F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mucky F. schrieb:
>> Aber dann ist es manchmal so, dass eben die Zeit verschoben ist.

oder er macht Fehler beim Wandel in das uBlox Format, auf den seriellen 
werden ein paar Telegramme verschluckt ...

von Florian S. (floke4)


Bewertung
0 lesenswert
nicht lesenswert
Das sind keine originalen Empfänger. Ich verwende das Modul GT-U7.
Weißt du eventuell wie man das synchronisieren kann?
Danke und lg

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mucky F. schrieb:
> 2 sec sind bei GPS nicht möglich, vermutlich haben deine Module keinen
> Fix.

Da wäre ich mir nicht so sicher, Ist sicher gestellt, dass das Modul die 
Anzahl der Schaltsekunden schon richtig empfangen hat? Sonst kann es die 
GPS-Zeit nicht richtig in UTC umzurechnen. Die Übertagung aller 
Almanach-Daten dauert insgesamt ungefähr eine viertel Stunde.

von Kurt (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Genau das, was Wolfgang schreibt ist der Knackpunkt:
GPS-Zeit und UTC (also die Standardzeit ohne Zeitzone) laufen mit jeder 
offiziellen Schaltsekunde weiter auseinander.

Bei allen GPS-Modulen, die ich kenne, ist die anfänglich ausgegebene
Zeit nach erstem GPS-Fix von Firmware-Erstellung bis erster darauf
folgender Schaltsekunde korrekt.
Bei 2 s Offset dürfte die Firmware deiner Module etwa aus 2013 / 2014
stammen, da sie die letzten 2 Schaltsekunden in 2015 und 2016 noch
nicht kennen.

Der Offset GPS-Zeit zu UTC wird alle 12.5 Minuten von den Satelliten 
abgestrahlt, somit dürften deine Probleme nach jeweils einer
Viertelstunde GPS-Empfang von allein verschwinden.

Beitrag #6596410 wurde vom Autor gelöscht.
von Florian S. (floke4)


Bewertung
0 lesenswert
nicht lesenswert
Hallo, danke für deine sehr hilfreichen Informationen!

Ich habe aber trotzdem noch eine Fragen für mein Verständnis:
Nach ca. einer viertel Stunde ist dieser Offset verschwunden, sind von 
da an die GPS-Module synchron, oder muss ich sie trotzdem noch 
synchronisieren???

Danke und lg Floke

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Florian S. schrieb:
> Nach ca. einer viertel Stunde ist dieser Offset verschwunden, sind von
> da an die GPS-Module synchron, oder muss ich sie trotzdem noch
> synchronisieren???

Drücke es mal anders aus: Erst nach einer viertel Stunde ungestörtem 
Datenempfang kennt der GPS-Empfänger sicher die Anzahl der 
Schaltsekunden, die er für die korrekte Umrechnung GPS-Zeit nach UTC 
benötigt. Die GPS-Zeit berechnet der GPS-Empfänger zusammen mit dem 
Standort. Da gibt es nichts zu synchronisieren - vorausgesetzt, die 
Software von deinem Modul macht alles richtig.

von Kurt (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Worauf willst du die GPS-Module synchronisieren?
Die können sich doch nur auf ihr empfangenes GPS-Signal synchronisieren.

Qualitativ ordentliche GPS-Module geben das PPS-Signal erst aus,
wenn sie einen ausreichend genauen GPS-Fix mit 5 Satelliten bestimmen
konnten. Der PPS-Puls sollte dann auf wenige µs genau sein.

Wurde dann auch noch der Offset GPS-Time zu UTC empfangen, sind die
Zeitanzeigen (in UTC) der GPS-Module so gut und genau, wie ihr
GPS-Empfang:

Sieht das GPS-Modul nur einen kleinen Himmelsausschnitt, dauert es
teilweise "ewig" bis zum ersten GPS-Fix - und wenn später wieder zu
wenige Satelliten "gesehen" werden, kann die Zeitgenauigkeit auch
auf ms Fehler abdriften...

Also: Wie genau brauchst du es?
Übliche GPS-Module können nur bei guter Himmelssicht auf µs (oder
besser) genau sein. Die "DOP"-Werte VDOP, HDOP, PDOP (möglichst klein)
können hier zur "Vertrauensbildung" beitragen.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Kurt schrieb:
> Übliche GPS-Module können nur bei guter Himmelssicht auf µs (oder
> besser) genau sein.

Die Genauigkeit der Zeit ist prinzipiell nicht schlechter als die 
Position. Wenn die Position auf 10 m genau ist, entspricht das einer 
Zeitgenauigkeit von bestimmt besser als 100ns. So denn die 
Empfängerhardware ordentlich gebaut ist, kommt das auch so am 
1PPS-Ausgang raus.

von Manfred (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Kurt schrieb:
> Qualitativ ordentliche GPS-Module geben das PPS-Signal erst aus,
> wenn sie einen ausreichend genauen GPS-Fix mit 5 Satelliten bestimmen
> konnten.

Ich habe es gerade nicht mehr im Kopf: Ich habe vor längerer Zeit mit 
GPS gespielt, war ein Sony-Chipsatz, der seriell NMEA liefert. Da gibt 
es eine Info, müsste ein Bit im Datensatz sein, die mir miteilt, ob die 
Zeit gut ist. Der Sekundentakt wurde aber schon vorher geliefert - also 
mal die Specs lesen.

Hier gibt das eine schöne Website, wo man die Satelliten in Echtzeit 
verfolgen kann. Die nächstliegende Stadt wählen, die Karte passend 
drehen und man sieht, in welchem Winkel die Satelliten stehen. Ich habe 
das über lange Zeiten mit einem stationären Empfänger verglichen und man 
kann gut sehen, wenn z.B. nahe Gebäude abschatten. Das habe ich nicht 
rein als Hobby getan, ich habe beruflich getestet, GPS ist nicht ganz so 
simpel, wie es dem Handynutzer erscheint.

https://in-the-sky.org/satmap_radar.php?year=2021&month=2&day=21

Wenn man mal in die Beschreibungen von GPS schaut, wird weltweit 
lediglich der Empfang von drei Satelliten garantiert, in der Praxis im 
freien Feld sind es meistens mehr.

von Kurt (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Genau, Wolfgang ...
für eine genaue Position braucht man eine gute Himmelssicht auf
schön über den Himmel verteilte Satelliten. - Erst damit wird auch
eine genaue Zeit möglich!

Hat das GPS-Modul nur Ausblick auf eine kleine Himmelsfläche, kann
je nach Satellitenkonstellation die Positionsberechnung und damit auch
die Zeitanzeige auch wieder ungenauer werden.
Genau das zeigen die DOP-Daten - und genau darum habe ich deren
Auswertung für die Abschätzung der Genauigkeit empfohlen.

von Florian S. (floke4)


Bewertung
0 lesenswert
nicht lesenswert
Aso ok danke für die Informationen!

Also ich bin mit meinen Modulen draußen und habe immer guten 
"Himmelsicht".

Ich habe mir gedacht, dass für eine Zeitmessung auf Hundertstel (0.01 
Sekunden genau) genau die GPS-Module mit dem PPS-Ausgang synchronisiert 
werden müssen. Aber anscheinend machen sie das dann nach ca. 15 Minuten 
selbst, sowie ich das jetzt verstanden habe, oder?

Danke lg Floke

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Florian S. schrieb:
> Ich habe mir gedacht, dass für eine Zeitmessung auf Hundertstel (0.01
> Sekunden genau) genau die GPS-Module mit dem PPS-Ausgang synchronisiert
> werden müssen. Aber anscheinend machen sie das dann nach ca. 15 Minuten
> selbst, sowie ich das jetzt verstanden habe, oder?

Die 1PPS Pulse sind schon lange vorher richtig (sobald ein 3D-Fix 
geklappt hat). Nur die Umrechnung in UTC kann hängen.
Ob das für deine Zeitmessung stört, hängt von deinem System ab.

von Florian S. (floke4)


Bewertung
0 lesenswert
nicht lesenswert
Ok danke!

Ja des ist bei meinem System nicht vorteilhaft, da ich in kurzer Zeit 
mehrere Zeiten von unterschiedlichen GPS-Module nehme. Und wenn da eines 
2 Sekunden hinten nach ist, wäre das blöd.

Wie funktioniert das synchronisieren mit PPS und der TinyGPS++ Library 
beim Arduino?

Danke und lg Floke

von batman (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Viele GPS-Receiver haben ja eine batteriegepufferte Echtzeituhr, die 
auch ohne Empfang zumindest einen Tag sekundengenau laufen sollte. Nur 
bin ich mir nicht sicher, ob die nicht mit dem nächsten Fix ohne 
Schaltsekundenabgleich wieder falsch gestellt wird!?

von Kurt (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ein GPS-Modul kann die Zeit nur zyklisch bereitstellen.
Eine Uhr für gewünschte Zeitmessungen muss im µC verwirklicht sein.

Die Sekunden-Nachkommastellen in der µC-Uhr werden von z.B. einem
1 ms-, oder 10 ms-Timer-Interrupt umlaufend von 0..999 bzw. 0..99 
hochgezählt.
Mit dem PPS-Puls werden sie auf Null synchronisiert. Ein externer
Interrupt wäre dafür optimal.

Die Zeitangaben in den GPGGA- und GPRMC-Zeilen liefern die Zeit als
HHMMSS.sss sowie das Datum. (Nach 1/4 Stunde sauberem Empfang auch
im UTC-Zeitmaß.) Allerdings sind die Nachkommastellen (.sss)
wenig hilfreich, da der Übertragungszeitpunkt nicht definiert ist.
Hier kann nur der PPS für Genauigkeit sorgen.

Solange alle zyklisch ausgegebenen NMEA-Sätze in < einer Sekunde
übertragen (Baudrate, ...) und ausgewertet werden können, ist der
Abgleich von Zeit (ohne Nachkommastellen) und Datum beim µC auf die
vom GPS-Modul gelieferten Angaben problemlos.

Ob so ein Arduino alles für eine im ms-Bereich exakt synchronisierbare
und auslesbare Uhr bereitstellt? - Keine Ahnung...
Sowas habe ich bisher nur direkt mit einem µC gemacht.

von Florian S. (floke4)


Bewertung
0 lesenswert
nicht lesenswert
Ok danke euch!!!

von Adib (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Was hast du eigentlich für  einen chip von ublox?
Es gibt welche mit PPS und noch einem zusätzlichen  pulse Ausgang.
Wenn du die zwei Signale auf einen timer gibst, kannst du den PPS auf 
einen capture und mit dem anderen signal den timer takten lassen.
Ich hatte den ublox neo m8t benutzt.

Auch solltest du mit den ublox Protokollen arbeiten ...
Im NAV PVT ist eigentlich alles drin, um zu erkennen, ob Position und 
Daten gültig sind.

Ps es gibt von ublox auch Chips mit einem "Externem trigger" Signal. 
Dann generiert der ublox einen zeitstempel und der uc ist komplett 
entlastet.

Hth, Adib.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.