Auf der Suche nach Geo-Caches musste ich des Öfteren mitten in der
Botanik stehen, nur um festzustellen das weder die Akku-Leistung, noch
die Präzision eines billig Navis ausreichen.
Die Idee war ein einfaches Gerät zu bauen, das von einem GPS-Empfänger-Modul die Daten einließt und die aktuelle Position anzeigt. Ein Modul von Navilock, das Navilock NL-652ETTL ausgerüstet mit dem u-blox 6 Chipsatz schien mir genau das richtige. Dieser Empfänger ist sehr empfindlich, d.h. auch mitten im Wald, oder zwischen Häuserzeilen (Multipath-Problem) erhält man noch eine einigermaßen genaue Position. Der TTL-Pegel des Moduls ist 3.3V. Der Li-Ion Akku Controller sollte die Energieversorgung für das Gerät liefern.
Um die ganze Elektronik in
ein halbwegs kompaktes Gehäuse zu bekommen entwarf ich die Platinen in
SMD-Technik. Mit den Widerständen hatte ich aber so meine Probleme. Da
die Leiterplatte mit dem Atmega 1284P (44 Pins) komplex war, und damit
viele Kreuzungen notwendig würden, verbaute ich keine SMD-Widerstände,
sondern konventionelle. Diese allerdings sollten - ganz in SMD Technik -
auf der Oberfläche monitert werden, um Platz durch den Entfall der
Durchkontaktierung zu sparen. Für Applikationen, die keiner
Erschütterung ausgesetzt sind, sprich nicht auf dem Fahrrad oder
Motorrad montiert, ist das unkritisch. Ansonsten droht natürlich das
Abrütteln der Bauteile, da sich die Kupfer-Pads lösen, je nach
Platinenqualität früher oder später.
In Sachen Schaltung ist nur der CD4050 Level Converter zu
erwähnen. Notwendig ist das Bauteil um die Pegel für die SD-Karte und
das GPS-Modul anzupassen - 5V gehen rein, 3.3V gehen raus. Ich hab
damals nur die Standard-Variante bekommen, also nicht die HC oder HCT
Typen. Später stellte sich dies als Problem heraus, da das eingesetzte
Bauteil die Signalflanken derart verschleift, dass man die Bits
einzeln durch die Leitung bitten muss. Also - Datenrate runterdrehen,
Handbremse anziehen. Den 1284P hatte ich noch nie im Einsatz und
wollte ihn natürlch bei den vollen 20Mhz testen, egal wie die
Auswirkungen auf die Akku Laufzeit sind. Das war jetzt doch sehr
eingeschränkt.
Neu war die Tasten über Widerstände an
den ADC zu legen und auf diese Weise mit einem Pin fünf Tasten
abzufragen. Dieses Konzept ist in der Sistop Stoppuhr übernommen und
als Button-Board ausgeführt. Weiter ist für die Anzeige ein Konzept
entwickelt worden, um komplette Displayinhalte umschalten zu können.
Diese sogenannten Screens sind in einer Matrix angeordnet, durch die
man mit den Tasten navigieren kann. Die mittlere Taste entert den
Screen, um z.B. eine Konfiguration zu verändern. Braucht man in der
Matrix eine Zeile oder Spalte dazu kann das Konstrukt mit wenig
Aufwand erweitert werden. Natürlich ist das Ganze Speicher- und
Laufzeitfreundlich geschrieben. In der Software ist das ein ziemliches
Verschachteln von Klassen und Umgehänge von Pointern. Funktioniert
zuverlässig, ist aber nicht hübsch. Das Konzept floss unverändert in
Sistop ein.
Wie schon erwähnt wurde das Projekt durch Sistop
unterbrochen. Das Loggen der GPS-Daten auf die SD-Karte fehlt noch,
der Code sollte ebenfalls noch etwas bereinigt werden.
In der Zwischenzeit hängt das GPS-Modul an einem
Tablet-PC, zum Geo-Cachen ist das zwar sperrig, aber funktioniert
zuverlässig.
Es ist noch nicht sicher, ob ich das Projekt weiterführe,
oder alles ausschlachte. Die Prämissen
haben sich stark geändert. Ein kleineres Display tuts auch, und die
Energieversorgung könnte ein USB-Pack oder zwei Ultrafire Akkus
übernehmen.
Code und Kicad-Sourcen: GPS-Logger_Sources.tar.gz
Die Idee war ein einfaches Gerät zu bauen, das von einem GPS-Empfänger-Modul die Daten einließt und die aktuelle Position anzeigt. Ein Modul von Navilock, das Navilock NL-652ETTL ausgerüstet mit dem u-blox 6 Chipsatz schien mir genau das richtige. Dieser Empfänger ist sehr empfindlich, d.h. auch mitten im Wald, oder zwischen Häuserzeilen (Multipath-Problem) erhält man noch eine einigermaßen genaue Position. Der TTL-Pegel des Moduls ist 3.3V. Der Li-Ion Akku Controller sollte die Energieversorgung für das Gerät liefern.


Code und Kicad-Sourcen: GPS-Logger_Sources.tar.gz