Stand: 12. Mai 2023
Automatic translation by
GOOGLE:
https://www-kh--gps-de.translate.goog/locator.html?_x_tr_sch=http&_x_tr_sl=de&_x_tr_tl=en&_x_tr_hl=de&_x_tr_pto=wapp
NEUE Softwareversion "V3":
Hinzugekommen ist eine Anzeige von Höhendaten und eine Umschaltmöglichkeit
auf die mitteleuropäischen Zeitzonen incl. ihrer EEPROM-Speicherung.
Zur Umschaltung wird die Taste oberhalb der USB-Buchse verwendet.
Abb.1 Gesamtansicht der Locator-Decodereinheit
Schon seit vielen Jahren gibt es eine Fülle von Anwendungen,
die sich der Maidenhead-Locatordaten bedienen. Diese setzen sich aus einer
kurzen Folge gebräuchlicher Buchstaben und Ziffern zusammen und erlauben
damit die weltweite Definition rechteckförmiger geographischer Bereiche.
Tabelle 1 liefert eine Übersicht über die verschiedenen Datenformate
mit 4-10 Charaktären und den sich daraus für Standorte in Mitteleuropa
ergebenden Detaillierungsgraden.
locator
data
|
vertical
square length
|
horizontal
square length
|
4 characters
( e.g.: JN49 )
|
~ 110 Km
|
~ 150 Km
|
6 characters
( e.g.: JN49EF )
|
~ 4,7 Km
|
~ 6,0 Km
|
8 characters
( e.g.:JN49EF30 )
|
~ 470 m
|
~ 600m
|
10 characters
( e.g.:JN49EF30AB )
|
~ 20 m
|
~ 25 m
|
Tabelle 1 Detaillierungsgrade der einzelnen Locatorversionen
Im Amateurfunkbetrieb werden Locatordaten üblicherweise zur Bestimmung
des eigenen Standortes benutzt, lassen sie bedarfsweise aber auch auf dem
Funkweg an Gegenstationen übertragen. Hierbei handelt es sich entweder
um Festwerte oder von angeschlossenen GPS-Empfängern stammende und
danach konvertierte Livedaten. Während die 6-stellige Variante dabei
als das Standardformat bezeichnet werden kann, begnügt man sich bei
verschiedenen digitalen Modes ( z.B. bei FT8 ) und speziell Kurzwellenanwendungen
mit dem 4-stelligen Format.
Das realisierte Decoderkonzept
Mein Interesse aber galt speziell dem 10-stelligen
Format mit seinen dabei definierten Rechteckbereichen mit Abmessungen von
nur etwa 20x25m. Mir war dabei allerdings bewusst, dass ich mich damit
schon in einem Bereich bewegen würde, der unterhalb des vom US-Netzbetreiber
für zivile GPS-Anwendungen ermöglichten Genauigkeitsbereiches
liegen würde. Bei Betrieb eines GPS-Empfängers an einem hierfür
nicht optimalem Standort ( also ohne freie Sicht zum Himmel und rundum bis
zum Horizont ) waren wechselnde Locatoranzeigen auch bei stationärem
Betrieb zu erwarten und würden sich dabei vorzugsweise auf die letzten
beiden der angezeigten Stellen auswirken.
Abb.2 verwendetes LiLyGo ESP32-Modul mit 1.14"-TFT-Display
Damit ging es um den Aufbau eines entsprechenden einfachen Decoders,
der nur aus einem GPS-Empfängermodul und einem Mikrocontrollerbaustein
mit zugehörigem Display bestehen sollte. Nach einiger Suche schien
mir der seit einiger Zeit erhältliche LiliGO-Baustein mit ESP32-Prozessor
und 1.14"-TFT-Display [ gem. Abb.2 ] als hierfür besonders gut geeignet
zu sein. In kompakter Weise vereint er einen leistungsfähigen Prozessor
mit möglichen Zusatzfunktionen wie z.B. Bluetooth und ein 1.14"-TFT-Farbdisplay
mit einer Auflösung von 135x240 Pixeln. Für externe 5V-Speisung
und zur Programmierung besitzt er einen C-USB-Anschluß, erlaubt aber
auch den Betrieb über einen anschaltbaren 3.7V-Akku. Somit war zur
Komplettierung als vollständige Decodereinheit nur noch ein zusätzliches
GPS-Modul erforderlich.
Infos zur Software und Datenauswertung
Die erstellte Software verwendet die bekannte
TinyGPSPlus-Library von Mikal Hart. Die zur Wandlung der GPS-Daten in das
10-stellige Maidenheadformat benutzte Routine wurde an das ARDUINO-Format
angepasst und basiert dabei auf einer älteren, von OE3HBW stammenden
BASCOM-Version.
Die realisierte Softwareversion ermöglicht die Displaydarstellung
von GPS-Urzeit in GMT, der vom Empfängermodul gelieferten Daten von
Breiten- und Längengrad, eines daraus konvertierten 10poligen-Maidenhead-Locatorwertes,
sowie der Anzahl ausgewerterter GPS-Satelliten. Erfahrene Satellitenutzer
wissen, daß es nach Betriebsbeginn abhängig vom Einsatzstandort
und auch der jeweilgen Empfängerkonstellation einige Minuten dauern
kann, bis ein sog. "GPS-Fix" erfolgt ist und verlässliche Daten angezeigt
werden. Erfahrungsgemäß beginnt das mit der Anzeige korrekter
Zeitwerte, erfordert für die restlichen Daten aber den Empfang von
mindestens 3-4 Satelliten. Kleinere Abweichungen können sich hinsichtlich
dieses Verhaltens bei Verwendung unterschiedlicher Typen von GPS-Moduln
ergeben.
Abb.3 Locator-Decodereinheit in Betrieb
Nachdem zum Leistungsumfang der ESP32-Prozessoren auch eine Bluetooth-Funktion
gehört, lag es nahe, sie zu verwenden, um die auf dem Display angezeigten
Daten bei Bedarf auch noch parallel dazu über Distanzen von einigen
Meter drahtlos übertragen zu können. Dazu ist ausgehend von üblicherweise
einem PC oder Smartphone/Tablet einmalig ein "Pairing" mit dem Decodermodul
herzustellen, wobei sich das Letzgenannte dabei unter dem Namen "LILIGO-LOCATOR"
meldet. Zum Datenempfang mit einem Smartphones/Tablets eignet sich im einfachsten
Fall ein Bluetooth-Terminalprogramm ( gem. Abb.4a ).
Abb.4a Anzeige der Bluetoothdaten Abb.4b Kartenausschnitt
der K7FRY-Seite mit Bereichsmarkierung gem. 10pol-Locatordaten
Zur Kartendarstellung ( siehe Abb.4b ) bis zu 10-stelliger Locatordaten
am PC/Smartphone usw. gibt es auf der Internet-Seite von K7FRY ein hierzu
hervorragend geeignetes Tool [3].
Nachbau
Als GPS-Modul wählte ich eine Version mit
serieller Bereitstellung von 9600bps-NMEA-Daten bei TTL-Pegeln, sowie einem
Betriebspannungsbereich von ca. 3-5V und einer integrierten Patch-Antenne,
wobei an dieser Stelle selbstverständlich auch Versionen mit separater
Antenne nutzbar sein würden. Die Zusammenschaltung von ESP32-Prozessor
und GPS-Modul erfolgt über lediglich 3 Leitungsverbindungen, als da
sind: Masse, +5V und der seriellen Datenzuführung vom GPS-Modul an
den ESP32-Port: "GPIO27" ( siehe dazu auch Abb.7 ).
Besondere Nachbauhinweise ergeben sich ansonsten nicht.
Abb.5a GPS-Modul auf Gehäuserückseite und
Abb.5b verwendbares Thingiverse-Gehäuse
Wie aus den Abb.1, 3, 5a und 5b zu ersehen ist, gibt es für das
verwendete Prozessormodul ein kleines passendes 3D-Gehäuse ( Thingiverse
3777859 ), welches z.B. hier [4] erhältlich ist.
Programmierung
Besonders für die weniger Geübten kann
das Hochladen der benötigten Programmfiles incl. ggf. mehrer seiner Libraries
unter Verwendung der Arduino-IDE eine oftmals kaum überwindbare Hürde
darstellen. Da sollte es eine gute Nachricht sein, wenn die benötigte
Software hier [1] bereits im BIN-Format vorliegt und mithilfe des von der
Firma EXPRESSIF verfügbaren Windows-Tools "Flash Download" [2] nach
nur wenigen zusätzlichen Eingaben auf unkomplizierte Weise in wenigen
Sekunden zum Processor hochgeladen werden kann.
Abb.6a-c Eingabefenster des Flash-Tools ( 6b-c
zur Grossdarstellung anklicken )
Vorher sind PC und ESP32-Baustein allerdings erst einmal kabelmäßig
via USB miteinander zu verbinden. Nach PC-Aufruf des Flash-Download-Tools
müssen gem. Abb.6a zuerst noch der verwendete Processortyp "ESP32"
ausgewählt und anschliessend die OK-Taste betätigt werden. Im
daraufhin gemäß Abb.6b erscheinenden neuen Fenster ist eine freie
Eingabezeile auszuwählen und hier über das zugehörige "..."-Fenster
in den jeweiligen Ordner zu verzweigen, in dem die zu verwendende BIN-Datei
vorher abgelegt wurde. Nach ihrer Anwahl sollte sie auch in der entsprechenden
Eingabezeile des Tools erscheinen. Im rechts daneben sichtbaren Fenster
ist jetzt mit Eingabe des Hexwertes "0x10000" noch die zur Datenablage benutzte
Startadresse einzugeben und durch Setzen eines Hakens am linken Rand die
gesamte Zeile zu aktivieren. Beim Anstecken des ESP32-Bausteins sollte auch
schon der für die Verbindung benutze COM-Port gefunden worden sein und
nach Aufruf des Auswahlfenster neben "COM:" auch angewählt werden können.
In den sonstigen Positionen sollte es genügen, die angezeigten Defaultwerte
zu übernehmen. Nach Betätigung der Start-Taste kann anschliessend
der Ladevorgang gestartet werden. Gemäß Abb.6c ist er dabei
auch als Laufbalken verfolgbar und bereits nach wenigen Sekunden abgeschlossen.
Beendet wird der Vorgang durch Drücken der Stop-Taste. Nach erfolgreichem
Abschluss und ggf. noch einmal erforderlicher kurzer Betätigung des
auf der Platinenunterseite des ESP32-Moduls befindlichen RESET-Tasters,
sollten auf dem TFT-Display bereits einige Textzeilen entspr. Abb.7 sichtbar
werden und die Decodereinheit soweit betriebsbereit sein. Wie schon
oben beschrieben, ist danach allerdings immer auch noch der Zeitraum bis
zum GPS-Fix abzuwarten.
Abb.7 LilyGO-Modul ohne Gehäuse
mit angezeigter Einschaltmeldung
( siehe auch die Pins über die das GPS-Modul angeschlossen ist
)
Linkliste
[1] http://www.kh-gps.de/locator_v3.bin
[2] https://www.espressif.com/en/support/download/other-tools
[3] https://k7fry.com/grid/
[4]
https://www.3d-loewe.de/