Forum: Projekte & Code GPS-Logger mit Aufzeichnung auf SD-Karte


von Andreas R. (andrewr)



Lesenswert?

Ich möchte hier mal mein jüngstes Projekt vorstellen,

Einen GPS-Logger mit Aufzeichnung auf SD-Karte

Ja, ich weiss, GPS-Logger gibt´s wie Sand am Meer, Kann auch günstig bei 
allen möglichen Anbietern im www kaufen. Aber irgendeinen Haken haben 
die Dinger immer. Entweder die maximale Anzahl an Trackpunkten reicht 
nicht für die ganze Urlaubstour, oder man braucht spezielle 
Treibersoftware um Daten aus dem Gerät auszulesen, oder man muss die 
Daten erst noch für die  Verwendung in Google-Earth konvertieren, oder, 
oder, oder.
Der vieleicht wichtigste Aspekt ist aber: Die Dinger sind dann gekauft 
und nicht selbst gebaut!

In der Entwicklungsfase hatte ich noch ein 2x24 Zeichen Display dran. 
Ich habe lange mit mir gehadert ob ich das beim Endgerät dranlassse oder 
nicht. Letzendlich ist es dann doch entfallen, da das Gerät ja ein 
handlicher Logger werden sollte und nicht etwa ein Naviersatz. Es geht 
ja auschließlich um das aufzeichnen der Trackdaten. Alles Andere kann 
ein echtes Navi eh besser.

Herausgekommen ist dann letztendlich ein schnuckeliges recht kleines 
Gerät, das ich mir bei Motoradtouren schön in den Tankrucksack packen 
kann.

Anbei mal einiges zur Technik: Größe Gehäuse: 90 x 43 x 28 mm
GPS Empfangsmodul: Navilock NL507ETTL
Prozessor: Atmega 1284 (Damit AVR-Dos Draufpasst. OK, ein 64er oder 32er 
hätte zur not auch gereicht)
Spannungsversorgung: 5V - 40V intern mit Stepdown-Wandler auf 3,3V 
runtergeregelt.
Stromaufnahme:  60mA an 6V
    40mA an 9V (Damit könnte man also mit einem 9V Block 5-6 Stunden 
aufzeichnen)
    27mA an 12V
Anzeige der Stati: mittels 3 Rot-Grün LEDs
    Status Empfang
    Status SD-Karte (OK bzw. Schreibschutz oder defekt)
    Status Aufzeichnung
Ausgabe: .GPX - Datei im XML Format, mit Koordinaten, Höhe über 
Meeresspiegel, Datum und Uhrzeit. Dieses kann direkt in Google Eart oder 
Open Street Map eingelesen werden ohne noch irgendwie konvertiert zu 
werden.
Dateiname: Besteht aus Datum + 2-stelliger Zählnummer
Anzahl Dateien: Unbegrenzt (Begrenzt nur durch die Speicherkarte (FAT))
Aufzeichnungsdauer / Punkte: Unbegrenzt (Begrenzt nur durch die 
Kapazität der SD-Karte)
Datenvolumen: ca. 100kB je Stunde. D.h.: auf eine 128MB Karte kann ich 
bei 8 Stunden Täglich ein knappes halbes Jahr aufzeichnen. Auf eine 
512MB Karte ca. 2 Jahre.

Um die Anzahl der Punkte sinnvoll zu reduzieren, zeichnet das Gerät nur 
dann einen Trackpunkt auf, wenn sich eine Bewegungsrichtungsänderung von 
mindestens 3 Grad ergibt. Sicherheitshalber aber trotzdem mindestens 
einen Punkt pro Minute, für den Fall, das man eine ewig langgezogen 
Kurve fährt. Das macht dann bei 100km/h einen Punkt je 1,66km. Unterhalb 
6km/h geht das
Gerät in den "Fußgängermodus und zeichnet nur noch in ein Minuten 
Intervallen auf. Das macht dann einen maximalen Punkteabstand von 100m 
bei 6km/h. Um die Speichrkarte zu schonen, wird die Datei permanent 
offen gehalten, so das nicht für jeden Trackpunkt die FAT neu 
geschrieben werden muss, sonst wäre die SD-Karte nach ca. 2 Tagen im 
Eimer. Alle 10 Minuten wird gesichert, damit es bei Problemen (z.B. mit 
der Spannungsversorgung) nicht zu Datenverlust kommt. Somit wird die FAT 
bei 8 stündigem Einsatz 48 mal geschrieben. Jeder Start der Aufzeichnung 
erzeugt eine neue Datei.

Ich habe mir gerade noch kleinere GPS-Empfänger bestellt und ein paar 
Mikro-SD-Slots. Damit werde ich mal versuchen ein Gerät zu basteln das 
ich in einer Tic-Tac-Dose unterbekomme...

von 2K (Gast)


Lesenswert?

Sehr schönes Gerät, hast du vor den Schaltplan und die Hex zu 
veröffentlichen ?

von Andreas R. (andrewr)


Angehängte Dateien:

Lesenswert?

> Sehr schönes Gerät, hast du vor den Schaltplan und die Hex zu
> veröffentlichen ?

Nun, ich erstelle üblicherweise keine Schaltpläne. Wenn ich mir 
Programme wie Eagle ansehe dann macht man mit diesen ja nichts anderes 
als Bauteile zu "platzieren" und diese miteinander zu verdrahten. Ich 
mache das üblicherweise direkt im Layoutprogramm. Anbei mal ein 
Screenshot aus Sprintlayout. Möglicherweise hat ja jemand interesse das 
in Eagle zu erfassen. Die 3 Platinen ergeben eine Sandwichbauweise. 
Ausserdem noch die Hex Datei.
Letztendlich ist Hardwaremäßig an dem Ding aber auch wirklich nichts 
spektakuläres dran. Ein Stepdownwandler mit einem MC34063, Ein Taster, 6 
Leuchtdioden. Der Atmega hat 3 Verbindungsleitungen zur Sd-Karte und 
eine "Ader" zum GPS-Empfänger (ok, txd habe ich auch an das GPS-Modul 
angebunden, aber Softwaremäßig wird das nicht genutzt.)
Die meiste Arbeit steckt halt in der Software...

von Andreas R. (andrewr)


Lesenswert?

PS.: Ich habe heute mal eine 2 stündige Motorradrunde aufgezeichnet. 
Dateigröße 110kB. Aufgezeichnete Punkte 1200. Macht 600 Punkte pro 
Stunde. Somit ist die Dateigröße ca. 55kB pro Stunde. Auf meine 128MB 
SD-Karte passen damit Daten eines kompletten Jahres bei 7 Stunden 
täglicher Fahrzeit... ;-)

von Gurkenmann (Gast)


Lesenswert?

Andreas R. schrieb:
> Nun, ich erstelle üblicherweise keine Schaltpläne.
> ...
> Ich mache das üblicherweise direkt im Layoutprogramm.
Mursk^7. Viel Spaß bei größeren Projekten oder nach einem Jahr noch die 
Übersicht zu haben.

von Andreas R. (andrewr)


Lesenswert?

Gurkenmann schrieb:
> Mursk^7. Viel Spaß bei größeren Projekten oder nach einem Jahr noch die
> Übersicht zu haben.

Da stimme ich dir uneingeschränkt zu. Besser lesbar sind auf jeden Fall 
Schaltpläne!!! Ausserdem bin ich bisweilen recht schludrig mit 
Eintragungen von Bauteilwerten / Bezeichnungen. Das hat mich bisweilen 
oft schon in die Bedrullie gebracht wenn ich alte Projekte wieder 
geöffnet habe. Empfehlenswert ist meine Vorgehensweise sicher nicht. 
Aber so bin ich eben... ;-) (Und bislang bin ich so gut klargekommen)

: Bearbeitet durch User
von Andreas R. (andrewr)


Angehängte Dateien:

Lesenswert?

...gestern habe ich mal eine 8 Stunden Tour aufgezeichnet und dabei noch 
einen Bug in der Software entdeckt.
Das NMEA Forat gibt Koordinaten in Grad, Minuten und Dezimalsekunden 
aus.
Das GPX Format enthält die Koordinaten in Grad und Dezimalminuten.
Folgendes Beispiel.
NMEA: 12.34.567
=GPX: 12.57612
zur Umrechnung habe ich einfach die Minuen und Dezimalsekunden mit 1000 
multipliziert:
34.567 x 1000 = 34567
Dies dann mit 10 multipliziert und dann durch 6 geteilt:
34567 x10 /6 = 57612
Passt perfekt. ABER sobald ich knapp nördlich eines Breitengrads bin 
(oder östlich eines Längengrads, ergibt sich folgende Situation.
Beispiel: 12.00.567
00.567 x1000 x10 /6 = 945
Ausgabe auf SD-Karte:12.945 -> und das ist falsch, die Ausgabe hätte 
12.00945 ergeben müssen. 12.945 wird als 12.94500 interpretiert.

Dieser Fehler ist im angehängten Hex-File behoben...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sourcecode ist besser als ein "Hexfile".

von Georg Gast 1 (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Sourcecode ist besser als ein "Hexfile".

Wer Layouts ohne Schaltplan erstellt, schreibt vlt. auch die "Hexfiles" 
einfach so von Hand anstatt Compiler/Assembler und Linker zu verwenden 
;-)

von Crazy Harry (crazy_h)


Lesenswert?

Schönes Projekt und auch ich zeichne nur Layouts :oP
Hab sowas schon mehrfach mit Display gebaut und zeichne die NMEA-Daten 
auf der SD-Karte auf. Diese übersetze ich dann mit GPSBabel in das 
jeweils gewünschte Format.

von Andreas R. (andrewr)


Angehängte Dateien:

Lesenswert?

Rufus Τ. F. schrieb
> Sourcecode ist besser als ein "Hexfile".
Richtig...

Georg Gast 1 schrieb
> Wer Layouts ohne Schaltplan erstellt, schreibt vlt. auch die "Hexfiles"
> einfach so von Hand
Ich habs versucht, klappt nicht ;-)

Crazy H. schrieb
> Hab sowas schon mehrfach mit Display gebaut und zeichne die NMEA-Daten
> auf der SD-Karte auf. Diese übersetze ich dann mit GPSBabel in das
> jeweils gewünschte Format.
Ja, wie ich oben schon schrieb, hatte ich anfangs auch ein Display dran. 
Da ich aber wirklich nur die Trackdaten loggen möchte habe ich drauf 
verzichtet. Da meine Software ja eine gewisse Intelligenz haben sollte, 
(Keine tausende Punkte auf langen Geraden) kam ich natürlich nicht drum 
herum, die NMEA Daten direkt im Logger auszuwerten. Ausserdem wollte ich 
die Daten ja direkt im Google-Earth bzw. Open-Streeet-Map kompatiblem 
Datenformat haben, Also habe ich mir so´n Babbel eben selbst 
geschrieben.

Crazy H. schrieb
> Schönes Projekt und auch ich zeichne nur Layouts
Viele meiner Bekannten arbeiten direkt im Layout. Auch wenns Murks ist, 
scheint das eine weit verbreitete Vorgehensweise zu sein.

So, heute sind meine Minni-GPS-Empfänger gekommen (Siehe Bild). Ziel ist 
ein Logger der nicht größer als 2x4cm wird...

von Michael L. (michaelx)


Lesenswert?

Erst mal vorweg: Ein schönes Projekt!

Andreas R. schrieb:
> Crazy H. schrieb
>> Schönes Projekt und auch ich zeichne nur Layouts
> Viele meiner Bekannten arbeiten direkt im Layout. Auch wenns Murks ist,
> scheint das eine weit verbreitete Vorgehensweise zu sein.

Genau so gut kann man in Assembler ohne vordefinierte Registernamen 
schreiben, statt Labels zu verwenden, die Sprünge von Hand berechnen 
wollen (dazu gab es tatsächlich vor kurzem einen Thread), und auf 
jegliche Kommentare verzichten. All das ist mehr oder weiniger 
verbreiteter Murks. Kann man nachmachen, muss man aber nicht. Die Zeit, 
welche man beim Schaltplanentwurf braucht, spart man beim der 
Layouterstellung schnell wieder ein, wenn man nicht grad so einfache 
Schaltungen baut, die man auch direkt mit dem Edding auf die Platine 
malen kann. So ist jedenfalls meine Erfahrung.

Aber berichte ruhig weiter.

von Andreas R. (andrewr)


Angehängte Dateien:

Lesenswert?

Michael L. schrieb
> Kann man nachmachen, muss man aber nicht

Wie ich oben schon schrieb, ist das sicher nicht die zu empfehlende 
Vorgehensweise. Ich mach das so für mich und bin damit glücklich.
Da ich üblicherweise nicht großartig publiziere, mache ich mir für mich 
meist nicht die Mühe einer guten Dokumentation.

Anbei der Schaltplan, Spannungsversorgung nicht eingezeichnet, die ist 
ein popeliger Stepdownwandler nach Originalschaltplan aus der Aplikation 
Note des MC64063. Den mal ich jetzt nicht auch noch nach.
Wie man sieht ist der Logger Hardwaremäßig einfach nur Kinderkram. Da 
lohnt sich der Aufwand eines Schaltplans meiner Meinung nach wirklich 
nicht.

von Andreas R. (andrewr)


Lesenswert?

Kann bitte mal ein Mod die erste Hex Datei löschen? :

Atmega_1284_test_SD-Karte_und_GPS_LED.hex Beitrag vom 26.07.

Die wird immer wieder gedownloaded, obwohl ich weiter unten vermeldet 
habe das die einen Bug hat. Die Korrigierte fehlerfreie Hex vom 27.07. 
wird nicht gedownloaded.

Danke!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Erledigt.

von Pandur S. (jetztnicht)


Lesenswert?

Und weswegen mit einem DC/DC, das erst noch einen schlechten 
wirkungsgrad hat, ab externem Netzteil. Waer nich ein Buck-Boost ab Lipo 
praktischer gewesen ?

von Andreas R. (andrewr)


Lesenswert?

Jetzt N. schrieb
> Und weswegen mit einem DC/DC, das erst noch einen schlechten
> wirkungsgrad hat, ab externem Netzteil. Waer nich ein Buck-Boost ab Lipo
> praktischer gewesen ?

Nun, den Logger habe ich gebaut um damit Motorradtouren aufzuzeichnen. 
Die Spannungsversorgung kommt immer direkt vom Motorrad (alternativ vom 
Auto wenn ich mit dem unterwegs bin) Somit ist die Versorgungsspannung 
immer 12-14V. Also macht in dem Fall ein Buck-Boost für mich keinen 
Sinn.
Den Wirkungsgrad habe ich mit grob 80% ermittelt. Der interessiert mich 
aber eigentlich bei verwendung am Motorrad auch nicht, da genügend 
Amperchens der Lichtmaschine über sind. Und der tun 24mA nicht weh.

Interessant wäre das, wenn ich das Gerät als Fußgänger benutzen würde.
Wie du auf den Fotos des Geräts erkennen kannst, ist die 
Spannungsreglerplatine nur aufgesteckt. Das Gerät ist dadurch modular. 
im Zweifelsfall kann ich die DC-DC-Wandlerplatine durch eine andere 
ersetzen, wenn sich die Einsatzbedingungen des Geräts ändern.

von Wolfgang (Gast)


Lesenswert?

Andreas R. schrieb:
> Das NMEA Forat gibt Koordinaten in Grad, Minuten und Dezimalsekunden
> aus.

Mir ist kein NMEA Sentence mit Dezimalsekunden bekannt. NMEA verwendet 
Grad und Dezimalminuten.

Welchen NMEA Sentence meinst du?

von Andreas R. (andrewr)


Lesenswert?

Wolfgang schrieb
> NMEA verwendet Grad und Dezimalminuten.

Ich hab mich noch mal schlau gelesen. Die richtige Mathematische 
Sprechweise ist tatsächlich Dezimalminuten. Mir erschliesst sich nur 
nicht warum. Das Format ist ganz klar: Grad, Winkelminuten und Sekunden 
als dezimale Nachkommastellen der Winkelminuten. Warum sich das in 
dieser konstellation Dezimalminuten nennt, obwohl nur die Sekunden 
eigentlich dezimal sind verstehe ich nicht.
Wie dem auch sei, auch bei mathematisch falscher Sprechweise, ändert 
sich am oben geschilderten Sachverhalt nichts.

von Wolfgang (Gast)


Lesenswert?

Andreas R. schrieb:
> Das Format ist ganz klar: Grad, Winkelminuten und Sekunden
> als dezimale Nachkommastellen der Winkelminuten. Warum sich das in
> dieser konstellation Dezimalminuten nennt, obwohl nur die Sekunden
> eigentlich dezimal sind verstehe ich nicht.

Mit Sekunden hat das alles nichts zu tun, glaub's mir oder lies in den 
NMAE-Spezifikationen nach. Da steht zum Format von Breitenangaben (NMEA 
0183 2.0 von 1992):
1
llll.ll    Fixed/Variable length field:
2
           degreed|minutes.decimal - 2 fixed digits
3
           of degrees, 2 fixed digits of minutes
4
           and a variable number of digits for
5
           decimal-fraction of minutes.
Entsprechen für Längenangaben mit 3 Stellen für die Grad.

von Andreas R. (andrewr)


Lesenswert?

@ Wolfgang
Junge, entweder kannst du nicht lesen oder bist des Englisch nicht 
mächtig!

Ich schrieb:
> Grad, Winkelminuten und Sekunden als dezimale Nachkommastellen der
> Winkelminuten.

Du schriebst:
> degreed|minutes.decimal
> 2 fixed digits of degrees, 2 fixed digits of minutes
> and a variable number of digits for decimal-fraction of minutes.

Also schriebst du mir in Englisch genau das was ich schon EXAKT so in 
Deutsch formuliert habe. Über was genau willst du jetzt eigentlich mit 
mir diskutieren?

Ich weiss wie ich aus:
$GPRMC,165105.00,A,1234.56789,N,01234.56789,E,0.688,15.24,170715,,,A*55
$GPVTG,15.24,T,,M,0.688,N,1.275,K,A*08
$GPGGA,165105.00,1234.56789,N,01234.56789,E,1,04,3.04,88.4,M,46.8,M,,*6B

Das mache:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><gpx 
version="1.1" creator="Andreas Reinert GPS-Logger">
<trk><name>26.07.15 10:25</name><trkseg>
<trkpt lat="12.57612" 
lon="012.57612"><ele>48.2</ele><time>2015-07-26T10:25:20Z</time></trkpt>
</trkseg></trk></gpx>

Funktioniert ganz hervorragend!

von Route_66 H. (route_66)


Lesenswert?

Andreas R. schrieb:
> Also schriebst du mir in Englisch genau das was ich schon EXAKT so in
> Deutsch formuliert habe.

Nein, Du sprachst von Sekunden...
Dieses Wort taucht im englischen Originaltext nicht auf.

von André M. (killroymenzel)


Lesenswert?

Mich würde der Quellcode mal interessieren.....
Könntest du ihn hier auch mal reinstellen...?


André

von nur 60 Sekunden (Gast)


Lesenswert?

Dies ist auch mathematisch ein großer Unterschied.

10.50 als Dezimalminuten sind
10 Minuten und 30Sekunden

Als Minutenwert und Sekunden noch dem Dezimalzeichen sind aber
10.50
10 Minuten und 50 Sekunden

von Andreas R. (andrewr)


Lesenswert?

> and a variable number of digits for decimal-fraction of minutes.
Wortwörtlich übersetzt:
und eine variable Anzahl Ziffern für den dezimalen Bruchteil der 
Minuten.
Der Bruchtei der Minuten SIND die Sekunden. Im Nmea Protokoll als 
dezimale Nachkommastellen der Minuten. Genau das habe ich formuliert.

Wie dem auch sei, an dieser völlig sinnlosen Diskusion werde ich mich 
nicht weiter beteiligen.

von Andreas R. (andrewr)


Lesenswert?

André M. schrieb
> Mich würde der Quellcode mal interessieren.....
> Könntest du ihn hier auch mal reinstellen...?

Hallo André

ich habe kein Problem damit gelungene Projekte auch anderen zur 
Verfügung zu stellen die an einem Nachbau für Eigenbedarf interessiert 
sind. Das bedeutet aber noch lange nicht, das ich das als open source 
Projekt betrachte. Zumal ich ernsthaft überlege das Ding kommerziell zu 
verwursten. Ein Markt sollte da sein, wenn ich mir die Kritikpunkte an 
käuflichen Geräten ansehe.
Der Entwurf für die miniturisierte Version ist auch schon fertig. Die 
Platine ist gerade mal 18 x 50 mm groß geworden fertig bestückt wird das 
Gerät dann knapp 10mm dick. Also hat das Ding dann die Größe eines 
Einwegfeuerzeugs.

von Andreas R. (andrewr)


Angehängte Dateien:

Lesenswert?

Anbei noch mal der aktualisierte Schaltplan. In meinem ersten fehlte 
noch der Schalter für den Schreibschutz der SD-Karte.

von Wolfgang (Gast)


Lesenswert?

Andreas R. schrieb:
> Der Bruchtei der Minuten SIND die Sekunden.

Nein, Bruchteile von Minuten bei NMEA sind 1/10, 1/100, 1/1000 Minuten.
Sekunden sind 1/60 Minute.

von neuer Gast (Gast)


Lesenswert?

Andreas R. schrieb:
> Wortwörtlich übersetzt:
> und eine variable Anzahl Ziffern für den dezimalen Bruchteil der
> Minuten.
> Der Bruchtei der Minuten SIND die Sekunden. Im Nmea Protokoll als
> dezimale Nachkommastellen der Minuten. Genau das habe ich formuliert.
>
> Wie dem auch sei, an dieser völlig sinnlosen Diskusion werde ich mich
> nicht weiter beteiligen.

Wie Wolfgang schon schrieb ist es eben nicht egal, ob du mit 
Dezimalminuten oder Sekunden rechnest. die Abweichungen sind da recht 
groß und betragen bei falscher Betrachtung bis zu 40s. Das sind etwa 
800m in Nord - Südrichtung.
und was machst du bei Werten wie xx.80? 80s sind dann schon wieder 1 
Minute und 20s.

von Andreas R. (andrewr)


Angehängte Dateien:

Lesenswert?

Wie schon gesagt, ich beteilige mich nicht mehr an dieser Diskusion.
Meine Software arbeitet perfekt. Siehe Bilder. Meist ist die Genauigkeit 
sogar auf unter +/-2 Meter. Unter ungünstigen Empfangsbedingungen können 
schon mal bis zu 10 Meter Abwichung auftauchen. Das liegt aber am 
GPS-Empfang und nicht an der Berechnung.

von Wolfgang (Gast)


Lesenswert?

Andreas R. schrieb:
> Meine Software arbeitet perfekt.

Vielleicht ist es ein sprachliches Problem und du meinst mit 
Dezimalminuten, Dezimalsekunden und Sekunden einfach nur etwas anderes, 
als der Rest der Welt bzw. die englische Bezeichnung "decimal-fraction 
of minutes" in der NMEA Spezifikation.

Das dein Programm das Richtige raus bekommt, bezweifelt hier keiner.

von Andreas R. (andrewr)


Angehängte Dateien:

Lesenswert?

So, die Platinen für den Mini-GPS-Logger habe ich fertig.

So wie´s aussieht bekomme ich den Logger tatsächlich in ein leeres 
Einwegfeuerzeug eingebaut :-)

von Dieter F. (Gast)


Lesenswert?

Platinenfräser und Biertrinker? Sieht gut aus - wo bekommt man das 
GPS-Modul?

von Andreas R. (andrewr)


Lesenswert?

Dieter F. schrieb
> Platinenfräser und Biertrinker?

So sieht´s aus. Mit meiner selbstgebauten Platinenfräse.
http://youtu.be/IXllvfUQPRA

Dieter F. schrieb
> Sieht gut aus

Danke!

Dieter F. schrieb
> wo bekommt man das GPS-Modul?

In der Bucht:
http://www.ebay.de/itm/271594958495

Gruß...

von Dieter F. (Gast)


Lesenswert?

Andreas R. schrieb:
> In der Bucht:
> Ebay-Artikel Nr. 271594958495

Vielen Dank.

von Crazy Harry (crazy_h)


Lesenswert?

Der Fräsfilm ist beeindruckend - klasse gemacht. Was hast du da für 
einen Fräser drin ?

von Andreas R. (andrewr)


Lesenswert?

Crazy H. schrieb
> Der Fräsfilm ist beeindruckend - klasse gemacht.
Danke!

> Was hast du da für einen Fräser drin ?
Diesen:
https://shop.vhf.de/articleGroups/Isolationsgravierer-W_G_ISO.htm

von Andreas R. (andrewr)


Angehängte Dateien:

Lesenswert?

So, der Mini-Logger ist fertig und funktioniert.
Die Stromaufnahme ist mit dem kleinen GPS-Modul insgesamt geringer.
Nun habe ich an:
12V -> 15mA
9V  -> 21mA
6V  -> 30mA
5V  -> 33mA
Das ist ca. die Hälfte des "großen" Loggers. Damit könnte man das Ding 
an einer 9V Blockbatterie 250mA/h ca. 12 Stunden betreiben.
Mit 4AA Zellen 2000mA/h ca. 65 Stunden.
An der 12V Versorgung eines Fahrzeuges ist das natürlich wurscht...

Allerdings musste ich die Software noch mal ändern. Ich hatte angenommen 
Das Nmeaprotokoll gibt die Reihenfolge der Datenstrings an in der 
Reihenfolge:
GPRMC
GPVTG
GPGGA
GPGSA
GP...
GP...

Das kleine Empfangsmodul gibt die aber in einer anderen Reihenfolge aus.

Nu läufts...

von Axel S. (a-za-z0-9)


Lesenswert?

Andreas R. schrieb:
>> and a variable number of digits for decimal-fraction of minutes.
> Wortwörtlich übersetzt:
> und eine variable Anzahl Ziffern für den dezimalen Bruchteil der
> Minuten.
> Der Bruchtei der Minuten SIND die Sekunden.

Au weia. Ich kann in deinem Interesse nur hoffen, daß das nur eine 
kurzzeitige Entgleisung war.

Im Dezimalsystem sind Nachkommastellen je nach Position nach dem Komma 
Vielfache von 1/10, 1/100, 1/1000 etc. Das System mit Minuten und 
Sekunden hingegen beruht auf einer Teilug der jeweils vorhergehenden 
Einheit durch 60. Und diese Systeme sind in der Notation nicht direkt 
austauschbar.

Beispielsweise sind 1,5 (= 1,50 = 1,500 ... ) Minuten eben nicht das 
gleiche wie 1 Minute und 5 Sekunden, 1 Minute und 50 Sekunden, 1 Minute 
und 500 Sekunden etc.

Tatsächlich ist die halbe Minute = 30 Sekunden. Mithin

1,5' = 1,50' = 1,500' ... = 1'30"

und der Teil nach dem Komma bezeichnet niemals die Sekunden, sondern 
(dezimale) Bruchteile von Minuten.

von Andreas R. (andrewr)


Lesenswert?

Axel S. schrieb
> und der Teil nach dem Komma bezeichnet niemals die Sekunden, sondern
> (dezimale) Bruchteile von Minuten.

Andreas R. schrieb
> Der Bruchtei der Minuten SIND die Sekunden. Im Nmea Protokoll als
> dezimale Nachkommastellen der Minuten. Genau das habe ich formuliert.

Junge, bist du zu blöd zum lesen? oder rede ich Chinesisch?

Ich habe langsam das Gefühl das es hier nur noch darum geht das irgend 
was gepostet wird. Hauptsache dabei gewesen, was gesagt, Auf die Kacke 
gehauen und irgendwen runter gemacht. Gäste, die es nicht mal für nötig 
halten sich in diesem Forum anzumelden ganz besonders.
Das Spiel mache ich definitiv nicht mehr mit!

von 客人 (Gast)


Lesenswert?

Andreas R. schrieb:
> Gäste, die es nicht mal für nötig
> halten sich in diesem Forum anzumelden ganz besonders.
> Das Spiel mache ich definitiv nicht mehr mit!

Hast du vielleicht auch sachlich etwas bezutragen?

von Andreas R. (andrewr)


Lesenswert?

Axel S. schrieb
> sondern (dezimale) Bruchteile von Minuten.

Andreas R. schrieb
> Im Nmea Protokoll als dezimale Nachkommastellen der Minuten

Ohne Worte....

von Andreas R. (andrewr)


Lesenswert?

客人 schrieb
> Hast du vielleicht auch sachlich etwas bezutragen?

Nö, ich melde mich ab aus diesem Forum, ganz besonders wegen Typen wie 
dir!

von Andreas R. (andrewr)


Lesenswert?

客人 schrieb
> Hast du vielleicht auch sachlich etwas bezutragen?

bezutragen? ist das Chinesisch? Na ich kann ja dann demnächst auch als 
Gast hier rompöbeln...

von Andreas R. (andrewr)


Lesenswert?

@ alle mods

Ich habe dieses Forum kennen und schätzen gelernt als informativen 
Ratgeber zu allen Problemen rund um das Thema Mikrocontroller. Wann auch 
immer man nach Lösungen zu Problemen rund um das Thema auf 
Mikrocontroller basierten systhemen "Googelt" stößt man unweigerlich 
früher oder später auf mikrocontroller.net. Leider enden die meisten 
Threads früher oder später in Pöbeleien. Ich mache an dieser Stelle den 
Mods ganz klar den Vorwurf hier nicht massiver einzugreifen. Das Forum 
Verkommt aus meiner Sicht. Was haben Themen wie: Freie Krankenhauswahl?, 
Was hört ihr für Musik ? usw. hier zu suchen?
Wenn ich auch nicht immer mit Urgesteinen wie "eurem" Falk Brunner einer 
Meinung war, waren das doch eigentlich durchaus fachbezogene und 
informative Inhalte.
So wie Diskusionen hier mittlerweile ablaufen, hat das mit einem Forum 
für fachlich bezogenen Gedankenaustausch nicht mehr viel zu tun. Ich 
möchte daran nicht mehr teilhaben. Bitte löscht mich als registrierten 
Benutzer!

von Wolfgang (Gast)


Lesenswert?

Andreas R. schrieb:
> Andreas R. schrieb
>> Im Nmea Protokoll als dezimale Nachkommastellen der Minuten
>
> Ohne Worte....

Da hast dein Zitat leider arg aus dem Zusammenhang gerissen oder dich im 
Satz vertan. Es geht um den von dir völliog falsch verwendeten Begriff 
"Sekunden".

Andreas R. schrieb:
> Der Bruchtei der Minuten SIND die Sekunden. Im Nmea Protokoll als
> dezimale Nachkommastellen der Minuten.

von Andreas R. (andrewr)



Lesenswert?

Aufgrund einiger Anfragen hier noch der Schaltplan (3,3V 
Spannungsversorgung nicht eingezeichnet) sowie das HEX-File zum 
Mini-GPS-Logger

von Andreas R. (andrewr)


Lesenswert?

Wolfgang schrieb
> Es geht um den von dir völliog falsch verwendeten Begriff "Sekunden".

Ich wollte mich dazu eigentlich nicht mehr äußern, aber da du immer sehr 
sachlich argumentierst, ich gerade eine Woche Urlaub erfolgreich mit 
meinem Logger in den Alpen aufgezeichnet habe und mich wieder etwas 
beruhigt habe, hier ein letzter Versuch. (zumal ich das Gefühl habe das 
wir aneinander vorbeireden.)
Einen Winkel kann man auf verschiedene Weisen angeben. Alle Angaben sind 
nur unterschiedliche Sprechweisen die keinerlei Einfluss auf die 
Mathematische Korrektheit haben. (Ich betrachte hier nur Grad Angaben, 
nicht Bogenmaß und auch nicht geodätische Winkelangaben)

Ich zitiere hier mal aus Wikipedia:

Bruchteile von Graden können in mehreren Varianten angegeben werden:

    dezimal: ggg,g…°
    sexagesimal:
        Grad und Minuten: ggg° mm′
        Grad, Minuten und Sekunden: ggg° mm′ ss″
        Grad, Minuten, Sekunden und Tertien: ggg° mm′ ss″ tt‴ (heute 
selten)
    sexagesimal und dezimal kombiniert:
        Minuten dezimal: ggg° mm,m…′
        Sekunden dezimal: ggg° mm′ ss,s…″
        Tertien dezimal: ggg° mm′ ss″ tt,t…‴

Hierzu mal folgendes Beispiel:
Grad Minuten Sekunden
12°   34´      56"

56" (Sekunden) sind in Dezimal 56" x 10 / 6 = 93.333333.... Dezimale 
Sekunden.
D.h. Obiger Wert in Grad und Dezimalminuten ist dann:
12° 34,9333333...´

,93333333.... stellen nach wie vor die Sekunden dar, nur als Dezimale 
Nachkommastellen der Minuten. Exakt das habe ich immer wieder gepostet. 
Ich werde weitere Posts zu diesem Thema ab jetzt wirklich strikt 
ignorieren!!!

von Crazy Harry (crazy_h)


Lesenswert?

Hallo Andreas,

schade daß du das ignorieren willst, denn "die Sekunden dar, nur als 
Dezimale Nachkommastelle" würde ich so auch nicht stehen lassen. 
Sekunden haben als Basis 60. Umgerechnet in Minuten sind es keine 
Sekunden mehr, sondern die Nachkommastellen der Minuten. NMEA hat Grad 
und Minuten mit Nachkommastellen. Ich will nicht bohren oder motzen, es 
ist halt so :o)

Gruss
Harry

von Axel S. (a-za-z0-9)


Lesenswert?

Andreas R. schrieb:

> Hierzu mal folgendes Beispiel:
> Grad Minuten Sekunden
> 12°   34´      56"
>
> 56" (Sekunden) sind in Dezimal 56" x 10 / 6 = 93.333333.... Dezimale
> Sekunden.

<Grrr> Es gibt keine dezimalen Sekunden. Nenn das bitte nicht so.
Es sind dezimale Bruchteile einer Minute.

Oh und bevor du dich aufregst: du darfst das natürlich weiter dezimale 
Sekunden nennen. Nur wundere dich dann bitte nicht, daß dich keiner 
versteht und dir alle widersprechen.

Ich nehme an, den Witz mit "da sind ja nur Geisterfahrer" kennst du.
Mit dezimalen Sekunden bist du der Geisterfahrer.

> D.h. Obiger Wert in Grad und Dezimalminuten ist dann:
> 12° 34,9333333...´
>
> ,93333333.... stellen nach wie vor die Sekunden dar, nur als Dezimale
> Nachkommastellen der Minuten.

Ja. Eben. Nachkommastellen und nicht Sekunden

Sekunden sind das, wovon 60 auf eine Minute kommen. Nachkommastellen 
werden nach dem Dezimalsystem interpretiert. 1,5' ist das gleiche wie 
1,50' und 1,500'. Aber 1' 5" ist was anderes als 1' 50" oder gar 1' 
500". Und genau deswegen nennt man den Teil nach dem Komma auch nicht 
Sekunden.

von Andreas R. (andrewr)



Lesenswert?

So, endlich habe ich die Zeit gefunden noch ein Gehäuse zu fräsen. Nun 
ist das Ding fertig und ist wirklich nicht größer als ein 
Einwegfeuerzeug geworden...

von Vielleicht Nachbauer ;-) (Gast)


Lesenswert?

Sehr schönes Projekt! Gefällt mir gut.
Frage: Was passt denn da für eine Batterie in das Fräsgehäuse?

von Max B. (theeye)


Lesenswert?

Moin Andreas,

danke für das Teilen deines Projektes! Gefällt mir sehr gut. Weiter so!

Gruß Max

von Andreas R. (andrewr)



Lesenswert?

Vielleicht Nachbauer ;-) schrieb
> Sehr schönes Projekt! Gefällt mir gut.
Danke!

Vielleicht Nachbauer ;-) schrieb
> Frage: Was passt denn da für eine Batterie in das Fräsgehäuse?
Lach, netter Witz! :-) Nein, wie ich weiter oben schon schrieb, habe ich 
das Ding gebastelt um damit Motorradtouren aufzuzeichnen. Die 
Spannungsversorgung kommt dann aus dem Bordnetz des Fahrzeugs und wird 
mittels 5,5mm Hohlstecker eingespeist. Siehe Bilder.
Deshalb auch in der "großen" Version der selbstgebaute Step-Down-Regler 
und in der "mini" Version der gekaufte Step-Down-Regler von Traco. (so 
klein kriege ich den selber nicht gebaut wegen der dazu erforderlichen 
Kondensatoren)
Das Gehäuse hat innen 19,5 x 12,5 x 57mmm, da passt nicht mal EINE 
AA-Zelle rein. Siehe Bild.

Hätte ich das für Batteriebetrieb gebaut, hätte ich vermutlich mit einem 
Ultra-Low-Drop-Längsregler gebaut. (z.B. mit einem Zetex ZLDO33T8TA)
und dann das Ganze mit 3 oder 4 AA Zellen betrieben.
Aber auch so kann man das Gerät mit 4 AA-Zellen betreiben. Sollte dann 
bei angenommenen 2000mAh etwa 60 Stunden laufen.

Max B. schrieb
> danke für das Teilen deines Projektes! Gefällt mir sehr gut. Weiter so!
Danke!

von Andreas R. (andrewr)


Lesenswert?

Axel S. schrieb
>> D.h. Obiger Wert in Grad und Dezimalminuten ist dann:
>> 12° 34,9333333...´
>>
>> ,93333333.... stellen nach wie vor die Sekunden dar, nur als Dezimale
>> Nachkommastellen der Minuten.
>
> Ja. Eben. Nachkommastellen und nicht Sekunden

Zunächst mal: Wäre ich auch nur ansatzweise so dämlich wie du mich 
offensichtlich einschätzt, wäre ich wohl kaum imstande (oder schreibt 
man das nach dem Rechtschreibunsinn jetzt "im Stande"?) eine 
funktionierende Software für den Logger zu schreiben.
Aus diesem Grunde zweifle ich auch ernsthaft an deinem Intellekt, da du 
mir ständig versuchst zu erklähren was Sekunden sind!
Vom Begriff der DEZIMALSEKUNDEN habe ich mich nach Belehrung von 
Wolfgang umgehend distanziert, da dies nach geltenden sprachlichen 
mathematischen Konventionen definitiv falsch ist.

Ich versuchs noch mal mit einem Kindergartenbeispiel. Annahme: Eine 
Torte hat 12 Stücke.
Ich habe 2 Torten und 9 Stücke. Das sind in Dezimaltorten dann 2,75 
Torten!
Die 0,75 Torten sind nichts anderes als die 9 Tortenstücke als dezimale 
Nachkommastellen der Torte.
Trotzdem beschreiben die 0,75 Torten immer noch die 9 Tortenstücke und 
daran wird sich auch nach Bemühungen von Geisterfahrerwitzen kaum etwas 
ändern...

Und nichts anderes poste ich hier

von Andreas R. (andrewr)


Angehängte Dateien:

Lesenswert?

...Aber möglicherwise kann mir ja mal jemand diesen Effekt erklähren!?
Ich fahre eine Strecke und der Logger (das GPS-Empfangsmodul) liefert 
mir super Werte. Kaum eine Abweichung größer als 2-3 Meter. Befinde ich 
mich im Stillstand fangen die Empfangenen Kooordinaten plötzlich an zu 
"wandern".
Dabei müsste man doch eigentlich annehmen das im Stillstand die 
optimalen Empfangsbedingungen gegeben sind...

von Jack Smith (Gast)


Lesenswert?

Vermutlich geht die Doppler-Messung der eigenen Geschwindigkeit in die 
Positionsbestimmung ein.  Sobald du stehst liefert der Doppler natürlich 
keine sinnvollen Werte mehr und das Ergebnis verschlechtert sich. 
Näheres dazu kann dir der Modulhersteller sagen (wird er aber 
wahrscheinlich nicht).

von Axel S. (a-za-z0-9)


Lesenswert?

Andreas R. schrieb:
> Zunächst mal: Wäre ich auch nur ansatzweise so dämlich wie du mich
> offensichtlich einschätzt, wäre ich wohl kaum imstande ... eine
> funktionierende Software für den Logger zu schreiben.

Ja. Das ist ganz genau dein Problem. Du bist zwar nicht dämlich, aber du 
drückst dich so aus, daß andere dich für dämlich halten müssen. Jetzt 
darfst du einmal raten, auf wessen Seite der Fehler liegt.

> Vom Begriff der DEZIMALSEKUNDEN habe ich mich nach Belehrung von
> Wolfgang umgehend distanziert

Na prima. Wenn das vor meinem Post war, dann habe ich das wohl 
überlesen. Mea culpa!

von oszi40 (Gast)


Lesenswert?

Andreas R. schrieb:
> Kaum eine Abweichung größer als 2-3 Meter. Befinde ich
> mich im Stillstand fangen die Empfangenen Kooordinaten plötzlich an zu
> "wandern".

Schau mal nach, ob Du zu diesem Zeitpunkt noch alle Satelitten hast. 
Mein Navi mach solche Zicken öfter, wenn es wenige Sats empfängt. Evtl. 
wird zu dieser Zeit eine Richtung abgeschirmt? Da versucht er neu zu 
berechnen.

von Crazy Harry (crazy_h)


Lesenswert?

@Andreas: Dieses Phänomen habe ich auch schon beobachtet. Bei 
Aufzeichnung mehrerer hundert Werte ohne Ortsänderung sind sogar wenige 
Punkte dabei, die bis zu 50m entfernt sind. Mir wurde das mal durch 
ständig wechselnde Empfangsstärken erklärt.
Mir ist auch letzte Woche aufgefallen, daß ein GPS-Tacho von mir morgens 
(ca. 7 Uhr) 4-5 Satelliten empfängt und sich das bis spät nachmittags 
auf 10-11 erhöht. Der Empfänger wird natürlich nicht bewegt und das 
ganze ist über mehrere Tage reproduzierbar.

Harry

von Andreas R. (andrewr)


Lesenswert?

Crazy H. schrieb
> Bei Aufzeichnung mehrerer hundert Werte ohne Ortsänderung sind sogar wenige
> Punkte dabei, die bis zu 50m entfernt sind.

So sieht´s auch bei mir aus. Ich habe ja nun 2 verschidene Module. Die 
Navilocks mit U-Blox 5 Chipsatz und die PA6H Module mit MTK MT3339 
Chipsatz. Beide Module habe ich im Stillstand und in Bewegung getestet. 
Der Effekt tritt bei beiden Modulen immer nur im Stillstand auf. 
Unabhängig von der Anzahl der empfangenen Sateliten. Getestet ruhig 
liegend auf dem Tisch, als Fußgänger, im Auto und auf dem Motorrad. 
Sobald sich die Module in Ruhe befinden geht das "wandern" los. Sieht 
man sehr schön bei meinen Logs wenn ich irgendwo an einer Ampel stehe. 
Sobald ich mich wieder in Bewegung setze sind die Koordinaten wieder 
sehr präzise. Die Geschindigkeit spielt dabei keine Rolle. 3-4 km/h 
reichen schon.

oszi40 schrieb
> Schau mal nach, ob Du zu diesem Zeitpunkt noch alle Satelitten hast.
> Mein Navi mach solche Zicken öfter, wenn es wenige Sats empfängt. Evtl.
> wird zu dieser Zeit eine Richtung abgeschirmt?

Wie ich schon erwähnte, der Effekt ist unabhängig von der Anzahl an 
empangenen Sateliten.

Jack Smith schrieb
> Vermutlich geht die Doppler-Messung der eigenen Geschwindigkeit in die
> Positionsbestimmung ein.  Sobald du stehst liefert der Doppler natürlich
> keine sinnvollen Werte mehr und das Ergebnis verschlechtert sich.

Das wäre durchaus denkbar, aber wie soll man wissen was in den Modulen 
passiert??? Der Hersteller wird das wohl kaum verraten.

Letztendich ist das auch der Grund weshalb ich noch keine 
Stillstandserkennung (also nicht aufzeichnen wenn ich mich nicht bewege) 
implementiert habe. Im Stillstand habe ich Geschwindigkeiten von 0km/h 
bis zu 6km/h, ständig wandernde Positionen und logischerweise auch 
ständig wechselnde Werte der Bewegungsrichtung. Da wird eine 
Stillstandserkennung nahezu unmöglich. Deshalb habe ich bislang nur 
implementiert, das nur 1 Punkt je Minute aufgezeichnet wird bei 
Geschwindigkeiten unter 7km/h.
Nun könnte man natürlich aufwändig 10 bis 20 Werte puffern, Mittelwerte 
bilden oder prüfen ob in einem bestimmten Zeitraum ein gewisser Umkreis 
um die letzte Position verlassen wurde, das ganze aber nur bei 
Geschwindigkeiten unter 6km/h... ganz befriedigend finde ich das alles 
nicht.
Ich denke ich will da zu viel perfektion. Beide Logger funktionieren 
tadellos und die kleinen Punktewolken an einer Ampel kann ich wohl 
verschmerzen. Zumal die in der Linie der gefahrenen Strecke eh 
untergehen

von Andreas R. (andrewr)


Angehängte Dateien:

Lesenswert?

So, ich hatte mich vor einigen Wochen noch mal dran gemacht und die 
Software überarbeitet und nun ist eine Stillstandserkennung 
implementiert.
Das heisst: Die entstehenden Punktewolken bei Fahrtpausen gibt es nicht 
mehr.
Anbei die neuen Hex-Dateien. Beide getestet und funktionieren 
fehlerfrei.

Die Datei GPS-Logger groß ist für den Logger mit dem Navilock Modul.
Die Datei GPS-Logger klein ist für den Logger mit dem PA6H Modul.

von Lukas L. (Gast)


Lesenswert?

Andreas R. schrieb:
> Das heisst: Die entstehenden Punktewolken bei Fahrtpausen gibt es nicht
> mehr.

Wie hast es gelöst?

von Andreas R. (andrewr)


Lesenswert?

Lukas L. schrieb
> Wie hast es gelöst?

Eigentlich recht einfach. Bei Geschwindigkeiten unter 8 km/h bilde ich 
über 10 Sekunden die Durchschnittsgeschwindigkeit (fortlaufend, also 
immer den Durchschnittswert der letzten 10 Sekunden). Das Problem ist, 
das auch im Stillstand Ausreißer von bis zu 6 km/h dabei sind. Über den 
Durchschittswert von 10 Sekunden gehen diese Ausreißer unter. Bei einem 
Durchschnittswert unter 2 km/h wird nicht mehr aufgezeichnet. 
Hinreichend getestet und funktioniert absolut fehlerfrei.

von F. F. (foldi)


Lesenswert?

Andreas R. schrieb:
> Empfehlenswert ist meine Vorgehensweise sicher nicht.
> Aber so bin ich eben... ;-) (Und bislang bin ich so gut klargekommen)

Macht jeder mal so und man meint, man hat dieses Projekt (oder Programm 
... was auch immer) so verinnerlicht, dass man es nie, wirklich niiie 
mehr vergisst.

Es läuft alles sehr gut, denn man war ja ordentlich beim Erstellen und 
macht dann womöglich Jahre nichts und dann(!), dann kommt ein Fehler 
oder eine Erweiterung soll dran. Jetzt geht es los. Was beim Programm 
mit Kommentaren und bei Platinen mit Schaltplan nur ganz kurz gedauert 
hätte, dauert dann Stunden bis Tage.

Ich habe draus gelernt. Mittlerweile lege ich mir immer Mappen von jedem 
Projekt an.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.