Hallo, ich habe im Forum gelesen, dass ich mit dem Problem der Umschaltung zwischen SIRF und NMEA bzw. umgekehrt zwar nicht alleine bin, eine Lösung habe ich aber noch nicht gefunden. Ich habe folgendes Problem: Ich habe einen Datenlogger gebaut, mit dem ich NMEA Daten auf SD Karte schreiben kann. Der Datenlogger besteht im groben aus einem ATmega128 und einem NL SIRF III GPS Modul und ist mit WinAVR programmiert. Beim Loggen der Daten ist mir aufgefallen, dass die mitgeschriebene Strecke um ca 100m von der tatsächlichen Strecke verschoben ist. Im NMEA GGA Datensatz konnte ich sehen, dass kein DGPS eingeschalten war. Meine Idee ist also, von NMEA auf SIRF umzuschalten, das DGPS oder SBAS einzuschalten und dann auf NMEA zurück zu gehen. Das Umschalten in Sirf scheint funktioniert zu haben, das Rückschalten jedoch nicht mehr. Die NMEA Befehle funktionieren alle. Beispielzeile aus Quellcode: ser_puts("$PSRF100,0,9600,8,1,0*0C\n"); Wie muss denn z.B. eine Befehlszeile im SIRF Format aussehen? So gehts auf jeden Fall nicht: ser_puts("A0A20000785030004BAF0C80202FEB0B3"); Was genau mache ich falsch? Hat jemand schon mal DGPS an einem SIRF III über einen Controler eingeschaltet? Ich hoffe, ihr könnt mir helfen, ich komme gerade nicht mehr weiter. Fourstroker
>Hat jemand schon mal DGPS an einem SIRF III über einen Controler >eingeschaltet? Hast du einen separaten DGPS Empfänger angeschlossen ? Wenn nein bringt das umschalten auch nichts.
Dein GPS liefert dir eine Koordinate 4807.038,N Latitude 48 deg 07.038' N Die 038 sind keine Sekunden sondern Bruchteile von Minuten. Die musst du noch in Sekunden umrechnen. Wenn du das nicht machst hast du einen Versatz von mehreren 100m.
Haben SIRF Empfänger keinen eigene Korrektureinrichtung? Ich dachte das sei im Chipsatz integriert. Einen Rechenfehler mache ich nicht, da ich die empfangenen Positionsdaten auch schon direkt in ein externes Programm gespielt habe und auch da den Versatz erhalte. Ich kapier das ehrlich gesagt nicht. Eine Abweichung von 10m hätte ich ja verstanden aber doch nicht 100m :-(
Was du meinst ist vermutlich die Korrektur mittels EGNOS. Einem Korrektursignal, welches innerhalb von Europa zur Verfügung steht um die Genauigkeit des GPS Signals etwas zu verbessern. Diese Funktion beherrscht der SIRF III selbst und benötigt keinen externen DGPS Empfänger dafür. Aber eine Abweichung von 100m ohne Korrektursignal ist ziemlich viel. Ich könnte mir das nur bei sehr schlechten Empfangsbedingungen vorstellen. Denn selbst ohne EGNOS hast du schon eine reproduzierbare Genauigkeit von ca 10m bei halbwegs gutem Empfang. Ciao, Rainer
Guten Abend, ich habe auch eine Frage zu SIRF <-> NMEA. Vielleicht kann mir wer weiterhelfen. Ich habe ein GPS-Modul. Dieses habe ich ausversehen auf den SIRF Mode gesetzt. Im Tool GPS-NMEA-Monitor sehe ich folgende Daten; ? SiRF-bin. Beim Scan, ob ein GPS-Modul angeschlossen ist erkennt er diesen: "Found GPS receiver 9600 baud (SiRF-Binary)" Das Modul ist nicht "fix". Es blickt öfter als 1 mal/ sek. Hat eine den Befehl, wie ich das Modul in den Werkszustand bringe? Versuch ich es mit dem Tool von Binär wieder auf NMEA zu bringen tut sich nichts. (brauch das NMEA Format). Vielen Dank für Anregungen im Voraus.
Habe das Problem gelöst. NMEA Daten nun wieder vorhanden. Bekomme bloß noch kein Signal. Er findet keinen einzigen Sat. . Muss ich bei den gängigen GPS-Modulen einen Code senden, damit sie sich einen Sat. suchen, oder reicht es aus zu warten?
Ich habe das Tool hier http://w5.nuinternet.com/s660100031/SirfTech.htm eingesetzt. Damit ging der Wechsel zu NMEA super. Aber mein Problem, dass ich keine Sat. finde besteht noch.
>Aber mein Problem, >dass ich keine Sat. finde besteht noch. Dann mach mal ne Antenne dran und halte das Teil aus dem Fenster.
Wie muss denn z.B. eine Befehlszeile im SIRF Format aussehen? So gehts auf jeden Fall nicht: ser_puts("A0A20000785030004BAF0C80202FEB0B3"); Die muss so aussehen ser_puts("\xA0\xA2\x00\x00\x78\x50\x30\x00\x4B\xAF\x0C\x80\x20\x2F\xE\xB 0\xB3"); also du must die Daten als binary senden, nicht als String
gps_data schrieb: > Aber mein Problem, dass ich keine Sat. finde besteht noch. Sucht er denn nach den richtigen Satellite, i.e. stimmt die Uhr und sind die Almanach-Daten halbwegs aktuell?
also vielen Dank erstmal euch. 1. Antenne ist dran 2. Antenne ist korrekt ausgerichtet 3. die Uhrzeit stimmt gar nicht 4. Das Format ist schon erkenntbar (Position und so fehlt natürlich) Eine Idee, was man da setzen muss, damit er was findet?
zu 2 -> Falsche Uhrzeit/Datum liegt sicher daran, dass ich den GPS Chip-Satz auf Werkseinstellungen gesetzt habe.
Fang doch mal einige NMEA Strings ein und poste sie hier. Vllt. können wir dann schon sehen, was los ist. Ein brauchbarer Empfänger sollte selbst unter (nicht metallischen) Dach zumindest den einen oder anderen Satelliten nahe des Zenith finden, wenn da nicht noch Stockwerke dazwischen sind. Ist zumindest bei meinem Drecks-Medion mit SiRF II so. Der TomTom mit SiRF III rastet sofort auf wesentlich mehr ein.
Vielen Dank. Der eine GPS-Empfänger liefert: ... 00:00:39.040 $GPGGA,000039.040,,,,,0,00,,,M,0.0,M,,0000*58 00:00:39.040 $GPGLL,,,,,000039.040,V,N*74 00:00:39.040 $GPGSA,A,1,,,,,,,,,,,,,,,*1E 00:00:39.040 $GPGSV,1,1,00*79 00:00:39.040 $GPRMC,000039.040,V,,,,,,,150209,,,N*4C 00:00:39.040 $GPVTG,,T,,M,,N,,K,N*2C ... Bei dem zweiten Modul schaffe ich es nicht die Baudrate umzustellen. Hierzu eine Frage: Muss ich irgendwie beim Programmieren einen Jumper/Spannung etc. setzen, oder kann ich die Befehle einfach an den Chip senden? Danke
Da du leider noch nicht genau gesagt hast, welches Navilock Modul du genau benutzt, gehe ich einfach mal von einem NL-501ETTL aus. Ab Seite 7 des Datenblattes findest du die Einstellungen für Baudrate etc. sowie auf Seite 7 dann die Kommandos zur Freigabe des Receivers ($PSRF101....), bzw. auf Seite 8 das gleiche dann mit Längen- und Breitengrad. Die genauen Werte sind dabei nicht entscheidend, aber die Freigabe der Empfangskanäle. Kommando $PSRF105 ist sehr interessant - Freigabe der Debug Infos. Fox Mulder schrieb: > Was du meinst ist vermutlich die Korrektur mittels EGNOS Zumindest diese Navilock Firmware scheint keine Unterstützung für EGNOS zu bieten, die der Sirf Star III ja eigentlich hat.
Danke. Ich habe nun zur Freigabe den Befehl genommen: $PSRF101,-2686700,-4304200,3851624,96000,497260,921,12,3*24. Die Anwort vom System: < $PSRF101,-2686700,-4304200,3851624,96000,497260,921,12,8*24 N $PSRFTXT,Version: GSW3.5.0_3.5.00.00-SDK-3EP2.01A *07 N $PSRFTXT,TOW: 0*25 N $PSRFTXT,WK: 1519*69 N $PSRFTXT,POS: 6378137 0 0*2A N $PSRFTXT,CLK: 96250*25 N $PSRFTXT,CHNL: 12*73 N $PSRFTXT,Baud rate: 9600*66 Scheint ja alles richtig eingestellt zu sein. Die Datenausgabe sieht so aus: $GPGGA,000016.055,,,,,0,00,,,M,0.0,M,,0000*51 $GPGLL,,,,,000016.055,V,N*7D $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,00*79 $GPRMC,000016.055,V,,,,,,,150209,,,N*45 $GPVTG,,T,,M,,N,,K,N*2C
Mir ist gerad was aufgefallen: Ich habe zum Test einmal die Baudrate auf 4800 gesetzt (Befehl $PSRF102,4800,8,1,0). Als Antwort erhalte ich: < $PSRF102,4800,8,1,0*11 N $PSRFTXT,Version: GSW3.5.0_3.5.00.00-SDK-3EP2.01A *07 N $PSRFTXT,TOW: 0*25 N $PSRFTXT,WK: 1519*69 N $PSRFTXT,POS: 6378137 0 0*2A N $PSRFTXT,CLK: 96250*25 N $PSRFTXT,CHNL: 12*73 N $PSRFTXT,Baud rate: 9600*66. Also werden die Befehle nicht richtig gesetzt,oder?
Hi >Die Datenausgabe sieht so aus: Sieht sehr unvollständig aus. Schon mal mit dem NMEA Reference Manual, z.B. http://www.google.de/url?sa=t&rct=j&q=NMEA+Reference+Manual+SIRF&source=web&cd=5&ved=0CEgQFjAE&url=http%3A%2F%2Fwww.ekf.de%2Fc%2Fcgps%2Fcg2%2Finf%2Fnmea_reference_manual.pdf&ei=spq1UdbULYnx4QTd44HwCQ&usg=AFQjCNHMey4GaEuwo-WRSpacMz_jRkaeGA verglichen? MfG Spess
Ja habe ich. Das Unvollständige daran ist, dass die Koordinaten fehlen ;). Und der Status auf "0" für unfixed steht.
also ich denke mal, es liegt daran, dass ich die Befehle nicht wirklich setze (wie man am 9600 -> 4800 beispiel sieht). Wer eine Idee, wie ich das korrekt durchführe?
Hi >also ich denke mal, es liegt daran, dass ich die Befehle nicht wirklich >setze (wie man am 9600 -> 4800 beispiel sieht). Wer eine Idee, wie ich >das korrekt durchführe? Warum willst du eigentlich an irgend welchen Einstellungen herumschrauben. Die Module von Navilock, die ich bisher in den Fingern hatte, haben auf Anhieb funktioniert. Sorge lieber für einen anständigen Empfang. Wenn du das Modul an deinen Rechner koppeln kannst ist das Programm SirfDemo ganz hilfreich. MfG Spess
Ich habe das Modul direkt am Rechner angekoppelt. Mit dem von dir angegebenen Tool. Aber kein Erfolg es zur Funktion zu bringen.
Habe mal eben ein Bild von der Terminal - Oberfläche gemacht. Eventuell kann ja hier wer Aussagen zum Fehlverhalten des Moduls machen. Danke euch!
>Die Datenausgabe sieht so aus:
Und sagt Null Empfang.
Ist die Spannungsversorgung von deinem GPS Modul in Ordnung?
Selbst mit nur ein oder zwei Satelliten kommt nach kurzer
Zeit wenigstens die Uhrzeit richtig rüber.
Ich habe ein zweites baugleiches Modul. Das tausche Ich nur aus. D.h. die Spannungsversorgung sowie andere Randbedingungen sind identisch.
Fourstroker B. schrieb: > Beim Loggen der Daten ist mir aufgefallen, dass die mitgeschriebene > Strecke um ca 100m von der tatsächlichen Strecke verschoben ist. Gegenüber welchem Kartendatum? Das GPS liefert von Haus aus meist WGS84.
>Ich habe ein zweites baugleiches Modul. Das tausche Ich nur aus. D.h. >die Spannungsversorgung sowie andere Randbedingungen sind identisch. Und das zweite funktioniert? Naja vermutlich. Such mal nach sirfdemo und stell dein GPS damit noch mal ein.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.