Schnelleinstieg GPS mit dem Modul Neo-6M

Ein preiswertes GPS-Modul ist das NEO-6M der Fa. u-blox AG.
Diese GPS-Module sind auf Breakout-Boards erhältlich. (Siehe Neo-6M auf www.electrodragon.com)
Das Breakout-Board hat eine kleine Rahmenantenne, einen Micro-USB-Anschluss, UART-Pins, eine LED, Pufferbatterie und einen EEPROM.

Das Modul kann über den USB-Port oder die UART-Pins angesprochen und mit Spannung versorgt werden.
Bei Versorgung über die Pins muss man sich nach dem Schaltplan des Breakout-Boards richten.
Im verwendeten Board erfolgt die Spannungsversorgung von den Pins über einen Spannungsregler RT9193, der eine Spannung von bis zu 5,5V vertragen soll.

Bei Verwendung der UART-Schnittstelle wird für die Verbindung zum PC ein UART-USB-Adapter benötigt.
Zum Test sollte einfach die USB-Schnittstelle verwendet werden.

Direkt nach dem Verbinden des USB-Anschlusses mit dem PC wird das Board vom Teensy-Treiber erkannt, offensichtlich ist ein Standard-USB-Chip verbaut.
Der Treiber stellt einen virtuellen COM-Port zur Verfügung.
Es sollte nicht nötig sein, die Parameter der seriellen Schnittstelle einzustellen.
(Falls vom Terminalprogramm gefordert, oder bei Verwendung der UART-Schnittstelle, sollte 9600,8,n,1 probiert werden.)

Das NEO-6M-Modul sendet direkt nach dem Einschalten sekündlich die Statusmeldungen im NMEA-Protokoll.
Diese kann man sich mit einem einfachen Terminalprogramm anzeigen lassen.
Das sind ASCII-Textmeldungen, die mit "$" (auch "!" erlaubt) beginnen und mit Zeilenvorschub enden. (CR/LF)

Bsp.:

    $GPRMC,075639.00,A,5059.58332,N,01334.44249,E,0.991,,200617,,,A*71
    $GPVTG,,T,,M,0.991,N,1.836,K,A*2E
    $GPGGA,075639.00,5059.58332,N,01334.44249,E,1,03,4.40,128.2,M,43.9,M,,*5A
    $GPGSA,A,2,19,12,17,,,,,,,,,,4.52,4.40,1.00*0C
    $GPGSV,2,1,08,01,03,009,,06,08,106,,12,58,245,27,13,10,163,*7F
    $GPGSV,2,2,08,17,35,053,36,19,49,079,27,24,84,276,30,25,17,246,*77
    $GPGLL,5059.58332,N,01334.44249,E,075639.00,A,A*6B
		

Der Inhalt der NMEA-Meldungen ist standardisiert.
Eine genaue Beschreibung der Schnittstelle findet man im Dokument u-blox 6 / Receiver Description / Including Protocol Specification.
(u-blox6_ReceiverDescrProtSpec_(GPS.G6-SW-10018)_Public.pdf)
Dieses Dokument beinhaltet auch die Kommandos, die der Modul akzeptiert.

Vom Modul werden Kommandos im NMEA-Format, im "u-Blox"-spezifischen Binärformat UBX und im RTCM-Format akzeptiert.
Bsp. für NMEA: "$PUBX,03*30<CR><LF>" fordert den Satellitenstatus an, das macht eine schöne Ausgabe.

Für die Eingabe ist ein Terminalprogramm hilfreich, welches die Eingabezeile von der Ausgabe trennt.
Bsp.: hTerm

Für die UBX-Telegramme braucht man eine spezielle Software oder ein Skript (Codec).
Die UBX-Telegramme bieten dafür einen grösseren Funktionsumfang.

Die Verwendung des RTCM-Protokolls wird ebenfalls im o.g. Dokument beschrieben. (siehe auch www.rtcm.org)
Für einfache Tests ist dieses aber unnötig.

Es gibt Module mit genaueren Ausgaben, bspw. NEO-6P, aber diese sind kaum erhältlich und sehr teuer.