GPS-TELEMETRIE MIT KARTENAUSWERTUNG
VORLÄUFIGE PROJEKTIDEE
Stand: 19. September 2010

            
Abb. 1a-d  ( Screenprints GARMIN OREGON )
Vorläufig basierend auf den Tests mit APRS-Daten, so wie sie im Amateurfunkbetrieb verwendet werden.

So ganz neu ist es nicht, daß manche GPS-Handgeräte zusätzlich zu ihrem NMEA-Datenausgang auch noch mit einem NMEA-Eingang ausgestattet sind. Im hierbei unterstützten Format zugeführt, lassen sich auf diese Weise neue Wegpunkte im geräteinternen Speicher ablegen und falls eine Kartendarstellung möglich ist, so lassen sie sich hierauf auch anzeigen ( Abb.1a ). In der Praxis wurde diese Funktion bisher allerdings kaum benutzt, obwohl sie interessante Möglichkeiten z.B. auch zur Live-Positionsverfolgung jeder Art sich bewegender Objekte bietet. 
Im Folgenden seien Ideen für ein relativ einfaches Funk-Telemetrieprojekt vorgestellt. Es ermöglicht nicht nur eine laufende Standortverfolgung von Fahrzeugen ( Modellen ) usw. auf Karten, sondern auch noch die Anzeige von der Gegenstation empfangener Zusatzinformationen wie z.B. Höhenwerten, Bewegungsgeschwindigkeiten und Bewegungsrichtungen ( Abb.1d ). Vorgesehen ist darüber hinaus aber auch noch die Auswertung mehrerer beliebiger Analogdaten, was z.B. die Bordspannung auf der Senderseite beinhalten kann.
Auf der auswertenden Seite wird eines der schon oben erwähnten GPS-Handgeräte benutzt. Mithilfe der von ihm gelieferten GPS-Daten ist damit zusätzlich auch noch eine ständige Kontrolle des räumlichen Bezuges zwischen dem eigenen und dem Fremdstandort möglich wird ( Abb.1a, c-d ).

EINHEIT ZUR DATENERFASSUNG UND AUSSENDUNG ( FREMDEINHEIT )


Abb. 2

Auf der Daten-Erfassungsseite wurde das GPS-Empfängerboard "NL507-TTL" von NAVILOCK ( bezug z.B. über Amazon möglich ) eingesetzt. Es ist mit 3.3V betreibbar und liefert seine NMEA-Daten mit 9600bps und 3Vss-TTL-Pegel. Bausteine mit ähnlichen Schnittstellendaten lassen sich an dieser Stelle natürlich ebenfalls verwenden.
Mithilfe eines Microcontroller vom Typ ATMEL "ATMEGA8" werden die vom GPS-Empfänger bereitgestellten NMEA-Datensätze der Typen: "GPGGA" und "GPRMC" ausgewertet, wobei der Erstere die Längengrad-, Breitengrad- und Höhendaten liefert, wogegen die Werte für Bewegungsgeschwindigkeit- und Bewegungsrichtung den RMC-Protokollen entnommen werden.
Die Identifikation der sendenden Stelle erfolgt über einen frei wählbaren Ident-Namen, der aus mehreren ASCII-Zeichen bestehen kann und später auf der anzeigenden Karte neben der Positionsmarke erscheint ( Im Amateurfunkbetrieb wird an dieser Stelle üblicherweise das amtliche Rufzeichen benutzt ). Aus Gründen der Übersichtlichkeit sollte man sich dabei in der Praxis auf Namen mit max. etwa 8 Zeichen beschränken. Er wird einmalig im EEPROM-Bereich des Mikrocontrollers abgelegt und bleibt dort bis zu einer evtl. später einmal gewünschten Überschreibung erhalten.
Aus den zur Verfügung stehenden Daten erzeugt der Mikrocontroller neue NMEA-Datensätze. Dabei handelt es sich um die zur Wegpunkverarbeitung auf der auswertenden Seite akzeptierten Protokolltypen: "GPWPL" und "PGRMW", wobei es sich bei Letzteren um ein GARMIN-proprietäres ( = firmenspezifisches ) Format handelt. Während die GPWPL-Protokolle nur Längen- und Breitengraddaten, sowie Wegpunktnamen enthalten, ist durch Verwendung von "PGRMW" zusätzlich auch noch eine Übermittlung von Höhendaten und Wegpunktsymbolen ( ICONS ) möglich. In einem Kommentarfeld lassen sich bei Bedarf auch noch beliebige andere Daten hinzufügen. Das können z.B. die von der mobilen Station stammenden Bewegungsdaten oder irgendwelche Analoginformationen sein. Nachdem die Protokolle jeweils noch um eine Prüfsumme ergänzt wurden, werden sie vom Mikrocontroller etwa im Sekundentakt mit 9600bps seriell ausgeben und gelangen von hier an den Dateneingang des Sendermoduls. An dieser Stelle setze ich das RADIOTRONIX Transceivermodul "Wi.232EUR-R" ein. Es arbeitet im 868MHz-Bereich und erlaubt Sendeleistungen von bis zu 32mW. Bei Bord-Boden-Verbindungen sind damit mühelos Funkreichweiten von 1500m und mehr erreichbar. Zur Einhaltung des im 868MHz-Bereich vorgeschriebenen max. Duty-Cycles ( zeitlich prozentuale Frequenzbelegung ) wird es bei mir im Kanal 4 ( 869.525MHz ) betrieben, der
hierfür einen Wert von 10% zulässt.
Die drei Bestandteile der Gebereinheit ( GPS-Empfangsmodul, Mikrocontroller und Funkbaustein ) lassen sich mit einer einheitlichen Spannung von 3.3V versorgen. Dazu könnte z.B. eine 3.7V-LiPo-Zelle mit nachgeschaltetem 3.3V-Spannungsregler ( Low-Drop-Version ) benutzt werden. Ich habe stattdessen jedoch einen von Fa. SPARKFUN aus den USA stammenden DC/DC-Wandler benutzt ( Art.: PRT-08290 ). Er erlaubt den Betrieb aus unterschiedlichsten Energiequellen im Spannungsbereich von 1.1V bis 4.5V, muss allerdings vorher zuerst einmal von 5V-Ausgangsspannung auf 3.3V umgestellt werden ( wozu 100KOhm-Widerstand "RF2" durch ein 180KOhm-Exemplar auszutauschen ist ).
Zur Konfiguration ist ein separater TTL/USB-Adaper erforderlich. Geeignete Versionen sind auch von anderen Herstellern als betriebsfertiges Board erhältlich ( siehe unter "Interessante Links" ). Sobald er über die Punkte A-C angeschlossen und eine Brücke an "CONFIG1" hergestellt wurde, startet das Mikrocontrollerprogramm im Configurations-Mode. Wird an einem angeschlossenen PC ein  Terminalprogramm aktiviert, so lässt sich hierüber der bei allen folgenden Aussendungen zur Identifikation benutzte Wegpunktname eingeben.    
Die Konfiguration des Funkbausteins erfolgt durch Anschluss des gleichen Adapters an den Punkten D-F. Über eine Brücke an "CONFIG2" ist dafür auch der "Wi.232EUR-R" in den zugehörigen Modus zu versetzen. Die Einstellung der gewünschten Transceiverparameter erfolgt wiederum am PC mithilfe einer hierfür vom Hersteller bereitstehenden Windows-Software. Nach Beendigung der Einstellungen sind eventl. noch bestehende Konfigurations-Brücken wieder aufzutrennen

EINHEIT ZUM DATENEMPFANG UND AUSWERTUNG


Abb. 3

Auf der auswertenden Seite wird das gleiche Funkmodul "Wi.232-EUR-R" eingesetzt. Grundsätzlich kann die Funkübertragung natürlich auch mit anderen Bausteinen erfolgen. Wichtig ist nur, daß sie 9K6-Datensignale über ausreichende Distanzen übertragen und mögliche Übertragungsfehler weitgehend selbst erkennen können ( wie z.B. ZigBee ). 
Am Datenausgang des Funkbausteins stehen die empfangenen GPWPL- und PGRMW-Datensätze wieder zur Verfügung. Nach Pegelwandlung mithilfe eines MAX3232 ( das ist die 3V-Version des bekannten: MAX232 ) können sie von einem angschlossenen GARMIN-Handgerät geeigneten Typs direkt verarbeitet werden. Dazu ist es nicht nur erforderlich, daß diese Geräte eine NMEA-IN-Funktion besitzen, sondern es muss auch noch die Möglichkeit bestehen, über serielle Datenanschlüsse hierauf zugreifen zu können. Geräte, die einen solchen Zugriff  NUR über USB erlauben, sind hier somit nicht verwendbar. Während serielle Datenanschlüsse häufig auch schon bei älteren GPS-Geräten zu finden waren, wurde auf sie später oft zugunsten von Nur-USB-Anschlüssen verzichtet. Vermutlich nach Kundendruck hat man sich ihrer erst in der letzter Zeit wieder besonnen, so dass die neueren GARMIN Gerätetypen OREGON ( ab Typ 300 ) und COLORADO wieder Schnittstellen besitzen, die eine Umschaltung zwischen USB und SERIELL erlauben.
Der einfachste Zugriff auf die seriellen Daten erfolgt durch Nutzung eines dazu von GARMIN erhältlichen Anschlusskabels mit der Bezeichnung "010-11131-00". Es ermöglicht eine Fernspeisung des GPS-Gerätes ( Spannungsbereich: 8-36V ), wozu ein Spannungswandler eingebaut ist. Weiterhin in das Kabel integriert sind ein bidirektionaler Wandler zwischen ( 3V-) TTL- und RS232-Pegelwerten und eine Umschaltfunktion zur Freigabe der seriellen Datenenein- und Ausgänge.
Nachdem die Belegung der von den Geräten verwendeten Mini-B Anschlussbuchsen aber generell bekannt ist, könnte eine Adaption grundsätzlich auch ohne dieses ( relativ teure ) Kabel im Selbstbau realisiert werden. Dabei müsste allerdings sorgfältig darauf geachtet werden, daß hier keine zur evtl. Beschädigung des angeschlossenen Gerätes führenden Fehler passieren. Nähere Angaben zur Anschlussbelegung und zum Adapter-Selbstbau findet man hier.
Ankommende Wegpunkdaten werden im geräteinternen Speicher des GPS-Gerätes abgelegt und auf der Karte dargestellt ( Abb. 1a ). Ich verwende hierbei das Modell OREGON400t, das von Haus schon eine europaweite topographische Karte im Maßstab 1:100000 mitbringt, was im Normalfall schon eine ausreichende Auflösung sicherstellt. Wem das nicht genügt, dem bietet Fa. GARMIN ( für viel Geld ) auch noch topographische Karten im Maßstab 1:25000. Einige Kosten kann man auch noch sparen, in dem man den Gerätetyp OREGON300 einsetzt und dabei z.B. die kostenlos erhältlichen Karten aus dem OpenMaps-Projekt verwendet. Mit geeigneter Software ist darüber hinaus sogar die Einbindung selbst erstellter Karten möglich.
Die Wegpunkte werden an Hand ihres Namens identifiziert, wobei das Eintreffen von Datenstrings mit bereits bekanntem WP-Namen zur Überschreibung bereits  abgelegter Positionsdaten und damit auch zur Aktualisierung der Anzeigeposition auf der Karte führt.
Mitübertragene Zusatzdaten können durch Antippen des jeweiligen Wegpunkt-Icons aufgerufen werden. Daraufhin öffnet sich ein sie anzeigender Bildschirm ( Abb. 1d ). Ein weitere Möglichkeit des Aufrufs von Zusatzinformationen besteht über den im Hauptmenü zu findenden "WAYPOINT MANAGER" ( Abb. 1b ). Die nach seiner Anwahl erscheinende Liste ( Abb. 1c ) enthält alle dem System bekannten Wegpunktnamen, wobei sich die gewünschten Informationen durch Antippen des zugehörigen WP-Fensters, Anwahl der Funktion "VIEWMAP" und wiederum des WP-Namensfensters erreichen lassen.
Die Konfiguration des Funkmoduls erfolgt analog zur Geberseite durch Anschluss des schon oben erwähnten TTL/USB-Adapters an den Punkten D und F, wobei auch dieser Funkbaustein wiederum vorher in den Konfigurationsmodus versetzt sein musste. Die Verbindungen zu den Anschlüssen E und G sind dabei zeitweise zu unterbrechen.


NACHBAU

Das auf der Geberseite verwendete Programm wurde in BASCOM-AVR geschrieben und ist bei Interesse verfügbar. Ansonsten gibt es die beiden Einheiten bisher nur als Versuchsaufbauten. Falls irgendwo Interesse bestehen sollte dafür ( SMD- ) Platinen zu entwerfen, so ist das durchaus in meinem Interesse und würde auch mit Rat und Tat unterstützt werden. Ich selbst habe allerdings derzeit nicht vor, in dieser Richtung aktiv zu werden.

KONTAKT: khhmz(at)t-online.de

INTERESSANTE LINKS

Weitere Seiten des Verfassers zu ähnlichen Themen:
http://www.kh-gps.de/oregonaprs.htm
http://www.kh-gps.de/geofriend3.htm

Funkmoduln:
http://www.mikrokopter.de/ucwiki/RadioTronix
http://plischka.at/Wi.232EUR-R.html
http://www.radiotronix.com/products/proddb.asp?ProdID=13
http://www.bundesnetzagentur.de/media/archive/6709.pdf

NMEA-Protokolle:
http://www.kowoma.de/gps/zusatzerklaerungen/NMEA.htm
http://info.aprs.net/index.php/$PGRMW
http://www.gloposys.de/Global%20Positioning%20System%20CD/anhang-a.htm

Garmin-GPS-Empfänger:
http://gpsinformation.info/penrod/oregon/oregon.html

http://garmin.blogs.com/softwareupdates/2009/06/aprs-support-in-colorado-and-oregon.html
https://buy.garmin.com/shop/shop.do?pID=26668

GPS-Geräteschnittstellen:
http://info.aprs.net/index.php/HandHeldGPS
http://info.aprs.net/index.php/VehicleGPS

Kartenmaterial:
http://www.garmin.com/garmin/cms/site/de/karten/topo_karten/deutschland_v2
http://www.amazon.de/Garmin-Freizeitguide-Deutschland-Freizeitkarten-Regionen/
      dp/B001FO55MS/ref=sr_1_17?ie=UTF8&s=ce-de&qid=1263830255&sr=1-17

http://www.cachewiki.de/wiki/Eigene_Karten_f%C3%BCr_Garmin_Ger%C3%A4te
http://openmaps.eu/download
http://www.kowoma.de/gps/freieKarten/freieKarten.htm

USB/TTL-Adapter:
http://www.chip45.com/Peripherie-Module/ioMate-USB1-CP2102-USB-UART-Wandler-Modul.html
http://www.sparkfun.com/commerce/product_info.php?products_id=718
http://plischka.at/USB-to-TTLRS232.html

DC/DC-Wandler:
http://www.sparkfun.com/commerce/product_info.php?products_id=8290

BASCOM-AVR:
http://www.mcselec.com/

KONTAKT: dj7oo(at)t-online.de