GPS Modul NEO-6M

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1:Funduino 31.03.2025

Autoren: Prof. Dr.-Ing. Schneider

Einleitung

Das GPS-Modul NEO-6M zählt zu den weit verbreiteten Empfängern für satellitengestützte Positionsbestimmung in eingebetteten Systemen und experimentellen Anwendungen. Es basiert auf der Global Positioning System (GPS)-Technologie und nutzt Signale mehrerer Satelliten, um die geographische Position, die Geschwindigkeit sowie die exakte Zeit des Empfängers mit hoher Genauigkeit zu bestimmen. Der NEO-6M-Empfänger integriert einen hochempfindlichen GNSS-Chip, der den Empfang selbst unter ungünstigen Umgebungsbedingungen – etwa in urbanen Gebieten oder bei partieller Abschattung – ermöglicht. Durch seine kompakten Abmessungen, die geringe Leistungsaufnahme und die standardisierte serielle Schnittstelle eignet sich das Modul insbesondere für mobile, mikrocontrollerbasierte Systeme, etwa in der Robotik, der UAV-Navigation oder der Umweltmesstechnik.

Technologisch zeichnet sich der NEO-6M durch eine hohe Empfindlichkeit, schnelle Time-to-First-Fix (TTFF) und eine zuverlässige Verarbeitung von NMEA-Datensätzen aus. Ergänzend verfügt das Modul über integrierte Funktionen wie Assisted-GPS (A-GPS) zur Beschleunigung des Positionsermittlungsprozesses und eine Pufferbatterie zur Sicherung von Almanach- und Ephemeridendaten. Diese Eigenschaften machen das NEO-6M-Modul zu einer kostengünstigen, aber leistungsstarken Lösung für Forschungs-, Entwicklungs- und Bildungsprojekte, in denen präzise und reproduzierbare Positionsdaten erforderlich sind.

Technische Übersicht

Eigenschaft Daten
Hersteller Goouu
NEO-6M-0-001
Spannungsversorgung
VCC 3-5 V
Stromaufnahme
30-50 mA
Temperaturbereich
-40 bis +85 °C
Empfohlene Baudrate
Default 9600 Baud (variabel 4800 … 230400)
GNSS-System GPS (L1-Band, 1575,42 MHz)
Positionsgenauigkeit typ. 2,5 m CEP unter freiem Himmel
Geschwindigkeitsgenauigkeit 0,1 m/s
Zeitgenauigkeit ca. ±30 ns
Time to First Fix (TTFF)
  • Kaltstart: 27–30 s
  • Warmstart: 25 s
  • Hotstart: 1 s

Pinbelegung

Abb. 2: Pinbelegung des Moduls

Das Modul arbeitet meist mit 5 V-kompatibler Logik, wenn es auf einem Breakout-Board sitzt (z. B. mit Spannungsregler und Pegelwandler). Falls nicht, müsste man auf Levels achten (3,3 V).

Pin NEO-6M Signal Arduino Uno R3
1 Masse GND 0 V GND
2 Betriebsspannung Vcc 3-5 V VCC, 3,3 V
3 RXD Empfang von Daten TX, D4
4 TXD Senden von Daten RX, D3
5 PPS* (Pulse/s)
  • PPS sollte an den Clock Pulse Ausgang (CPOUT) eines Mikrokontrolers angeschlossen werden. Dieser Pin wird bei einer Computerverbindung nicht angeschlossen.

Empfehlung:

  • Nutzen Sie keinen Hardware-RX (Pin 0), da dies die USB-Kommunikation stört. Verwenden Sie stattdessen SoftwareSerial.
  • Einen Anschlussplan zeigt Abb. 3.

Messverfahren

Das Global Positioning System (GPS) ist ein satellitengestütztes Navigationssystem, das die Bestimmung der Position, Geschwindigkeit und Zeit eines Empfängers auf der Erdoberfläche oder in der Atmosphäre ermöglicht. Das zugrunde liegende physikalische Prinzip basiert auf der Laufzeitmessung elektromagnetischer Signale, die von einer Vielzahl orbitaler Satelliten ausgesendet werden. Jeder GPS-Satellit sendet kontinuierlich codierte Signale, welche die präzise Sendezeit sowie die jeweilige Satellitenposition enthalten. Die Position der Satelliten wird durch hochstabile Atomuhren und regelmäßige Bahnmodellierungen gewährleistet.

Ein GPS-Empfänger bestimmt seine eigene Position durch Trilateration: Er misst die Laufzeit der Signale von mindestens vier Satelliten. Aus dieser Laufzeit wird die pseudorange, also die scheinbare Entfernung zum jeweiligen Satelliten, berechnet. Da elektromagnetische Wellen sich nahezu mit Lichtgeschwindigkeit ausbreiten, ist eine exakte Zeitmessung erforderlich. Bereits kleinste Zeitfehler würden zu erheblichen Positionsabweichungen führen; daher wird eine vierte Messung benötigt, um neben den drei räumlichen Koordinaten auch die interne Uhrenkorrektur des Empfängers zu bestimmen.

Die Satelliten befinden sich auf mittleren Erdumlaufbahnen (Medium Earth Orbit, 20.200 km) und gewährleisten durch ihre Konstellation, dass zu nahezu jedem Zeitpunkt und an nahezu jedem Ort der Erde mindestens vier Satelliten sichtbar sind. Die Genauigkeit der Positionsbestimmung hängt von verschiedenen Faktoren ab, darunter die atmosphärische Signalverzögerung (Ionosphäre und Troposphäre), Mehrwegeffekte durch Reflexion an Oberflächen sowie die geometrische Satellitenanordnung, ausgedrückt durch die Dilution of Precision (DOP).

Durch Modellierungsverfahren, Korrekturdatendienste (z. B. SBAS) und moderne Empfängertechnologien können diese Fehlerquellen reduziert werden. Damit stellt GPS ein hochpräzises, global verfügbares Navigationssystem dar, das in wissenschaftlichen Anwendungen, im Transportwesen, in der Geodäsie sowie in Alltagsgeräten wie Smartphones und Navigationssystemen unverzichtbar ist.

Protokolle

NMEA-0183 Protokoll (Standard-GPS-Datenausgabe)

Das NEO-6M gibt standardmäßig NMEA-Sätze aus.

Typische Datensätze sind:

  • GGA – Fix-Daten (Position, Höhe, Satellitenzahl)
  • RMC – empfohlene Minimaldaten (Zeit, Datum, Position, Geschwindigkeit)
  • GSV/GSA – Satelliteninformationen
  • VTG – Bewegungsrichtung und Geschwindigkeit
  • GLL – geografische Position

Format: ASCII-Text durch Kommata getrennt.

Beispiel:

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,,*47

UBX-Protokoll (u-blox Binary Protocol)

Ein binäres, hoch effizientes proprietäres Protokoll von u-blox.

Verwendung:

  • Konfiguration des Moduls (Baudrate, Update-Rate, Navigationseinstellungen, Filter)
  • Abruf präziser und rohformatiger GNSS-Daten
  • Aktivieren/Deaktivieren einzelner NMEA-Sätze
  • GPS-Engine steuern (z. B. Power-Mode, dynamisches Modell)

RTCM (optional, abhängig von Firmware/Modulvariante)

Einige NEO-Module können RTCM-Korrekturdaten empfangen, um DGPS zu unterstützen. Beim NEO-6M ist dies jedoch nur eingeschränkt und nicht für RTK geeignet.

Messschaltung

Abb. 3: Anschlussplan für das Modul

Die vorgeschlagene Messschaltung wird in Abb. 3 dargestellt.

Software

Arduino

Arduino-Bibliothek installieren

Für einfache Nutzung: → TinyGPSPlus von Mikal Hart (1.0.3)

Installation über: Sketch → Bibliothek einbinden → Bibliotheken verwalten → TinyGPSPlus suchen

Wenn Sie die HSHL-Bibliotheksordner einbinden, sind alle Ordner bereits installiert.

Quelle:

https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner

Ziel:

c:\HSHL-User\Documents\Arduino\libraries
URL: https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoGPSNeo6M/DemoGPSNeo6M.ino

Simulink

https://de.mathworks.com/help/simulink/supportpkg/arduino_ref/read-serial-data-from-a-gps-shield-using-arduino-hardware.html

Messung

Beispielausgabe von DemoGPSNeo6M.ino für einen Standort in Lippstadt.

Breite: 51.673500
Laenge: 8.364261
Hoehe: 93.40
Satelliten: 8
Zeit: 8:0:42

Dies entspricht dem Hochschulstandort in Lippstadt (51°40'24.6"N 8°21'51.3"E).

Video

Erste Schritte mit dem GY-NEO6MV2 NEO-6M GPS-Modul und Arduino

Datenblätter

Weiterführende Artikel



→ zurück zum Hauptartikel: Sensor-Baukasten
→ zurück zum Hauptartikel: HSHL-Mechatronik-Baukasten