GPS-Modul Neo von u-blox

Das Neo-Modul von u-blox ist größer und weniger empfindlich als das GPS-Modul SkyNav SKM53 (vorgestellt im Heft 02/15). Dafür lässt es sich komfortabler benutzen und auswerten.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 10 Min.
Von
  • Dr. Roland Pleger
Inhaltsverzeichnis

Das u-Blox-Modul Neo-6

(Bild: Roland Pleger)

Gleich eine Reihe an Zusatzfunktionen bringt das Neo-Modul mit: Ein SMD-Spannungsregler hebt die Spannungsversorgung auf 5 Volt an. Die aktive Patchantenne ist über einen Stecker mit dem Modul verbunden und frei orientierbar. Nur vier 4 Anschlüsse führen nach außen, die Spannungsversorgung (VCC und GND) und die Lese- und Schreibleitungen des UART (RX und TX). Der USB-Ausgang des Chips bleibt ungenutzt. Über seine I2C-Schnittstelle schickt er Daten an ein EEPROM. Eine Pufferbatterie versorgt das Modul mit Strom, um Positionsschätzwerte nach dem Ausschalten zu sichern. Der PPS-Ausgang (Pulse per second) steuert lediglich eine Leuchtdiode. Über einen längeren Zeitraum gemittelt, stellt der PPS-Ausgang ein Zeitnormal mit einer Genauigkeit von mehr als einer Mikrosekunde bereit. Die Puls- und Periodendauer lassen sich einstellen, ebenso viele Empfangsparameter. Manche Befehle scheinen nicht offengelegt zu sein - neben der der allgemein zugänglichen Protokollspezifikation gibt es auch ein nicht-öffentliches Handbuch.

Nach dem Einschalten sendet der NEO-6 folgende Daten:

$GPTXT,01,01,02,u-blox ag - www.u-blox.com*50
$GPTXT,01,01,02,HW UBX-G60xx 00040007 FF7FFFFFp*53
$GPTXT,01,01,02,ROM CORE 7.03 (45969) Mar 17 2011 16:18:34*59
$GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*20
$GPTXT,01,01,02,ANTSTATUS=DONTKNOW*33
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,00*79
$GPGLL,,,,,,V,N*64
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,00*79
$GPGLL,,,,,,V,N*64
$GPTXT,01,01,02,ANTSTATUS=INIT*25
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,00*79
$GPGLL,,,,,,V,N*64
$GPTXT,01,01,02,ANTSTATUS=OK*3B

Nach ca. 20 Minuten:

$GPGGA,,,,,,0,00,99.99,,,,,,*48
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,4,1,16,01,,,24,02,,,25,03,,,25,04,,,24*7F
$GPGSV,4,2,16,05,,,24,06,,,23,07,,,24,09,,,25*73
$GPGSV,4,3,16,11,,,24,12,,,25,13,,,25,14,,,25*7C
$GPGSV,4,4,16,15,,,25,23,,,25,30,,,24,33,,,29*75
$GPGLL,,,,,,V,N*64
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30

Nach mehreren Neustarts und nach ca. 10 Minuten:

$GPGGA,203453.00,,,,,0,00,99.99,,,,,,*65
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,4,1,15,01,,,22,02,,,23,04,,,28,05,,,23*70
$GPGSV,4,2,15,06,,,24,08,,,22,10,,,23,12,,,23*71
$GPGSV,4,3,15,13,,,24,20,,,23,23,,,23,24,,,23*7A
$GPGSV,4,4,15,28,,,22,30,,,22,32,,,22*75

Kontrollmitteilungen beginnen mit $GPTXT. Der Chip überprüft die Antenne und empfängt zunächst kein Signal (5. Zeile DONTKNOW). Nach der Initialisierung (18. Zeile) gibt er eine positive Rückmeldung (25. Zeile OK). Alle NMEA-Daten sind zu Beginn ungültig. Das Verwirrende ist: auch nach mehr als zehn Minuten ändert sich daran nicht allzuviel. Der GPS-Chip erkennt zwar viele Satelliten ($GPGSV-Zeilen), kann aber kein Positionssignal ableiten. Manchmal erfasst er zumindest die Zeit ($GPGGA-Zeile: 20h34 53s). Dieses Verhalten wurde an drei baugleichen GPS-Modulen beobachtet.

Üblicherweise werden die Module über das Windows-Programm U-Center angesprochen, das komfortabel Steuersequenzen zusammenstellt. Sind die Module falsch oder gar nicht initialisiert, werten sie scheinbar auch keine Empfangsdaten aus. Hinzu kam, dass die Pufferbatterien bei zwei der getesteten Module entladen waren und der Speicher gar keine Vorabinformationen an den Chip liefern konnte. Die Kontaktfahnen sind mit den Batterien punktverschweißt und reißen beim Lösen. Das Programm U-Center läuft auch unter Wine/Linux (beim Autor stürzte es reproduzierbar ab). Aber auch ein Arduino-Mikrocontroller genügt zum Programmieren der Chips.