-
        

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: GPS Modul Fragen

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Beiträge
    1.607

    GPS Modul Fragen

    Anzeige

    Servus

    Ich habe ein "kleines Semeter Projekt" für das 5. Semester angeleiert. Wir sind Zwei bis Drei Leute und Ziel wäre es einen GPS Tracker aufzubauen. Ich möchte an dieser Stelle betonen das es hier nicht darum gehen soll das man uns den kram vorkaut, es geht mir nur darum das ich Tips und Tricks zu den GPS Modulen bekomme und mal alle auf einen Blick hab, über die SuFu ist das etwas schwer, damit ich die Projektspezifizierung schreiben kann (ist ja der erste Schritt).

    Ich habe mich schon ein wenig eingelesen in die Thematik und halte folgende zwei Dinge für Sinnvoll:
    - NMEA-0183 Protokoll
    Das Protokoll scheint einfach aufgebaut und einfach auszulesen. Die ankommenden Serielle Daten muss man dann nur noch in einzelne Bit-Haufen zerlegen und entsprechend auswerten
    - Navilock Module sind gut und günstig und eine Bezugsquelle wäre http://www.hanobox.de/index.php/cat/...le.html/page/2

    Lieg ich soweit richtig? Sollen wir eher ein Modul mit RS232 Schnitstelle nehmen und das ganze mit dem MAX232 an den AVR (Mega32, 128 oder 162 muss ich mich noch für entscheiden) klemmen oder eher einen mit TTL Pegel und wie werte ich den mit TTL Pegel aus? Gibt es auch welche mit URART oder I2C Schnittstelle? CAN würde ich auch noch nehmen, ist aber bekloppt ^^.

    Was für eine Rechenleistung erfordert das auswerten der GPS Daten? Ziel wäre es das Tracken Geschwindigkeitsabhängig zu machen (100km/h => oft Tracken, 0km/h gar nich mit Tracken).
    Ausgabe soll dann über 3 Versionen erfolgen (geplant, implementieren würden wir die nach und nach von einfach bis schwer): SD Karte, Flash-Speicher um die Daten später auf den Rechner per USB übertragen zu können, direkte Übertragung per USB.
    Wieviel Speicher braucht man etwa zum Tracken (so das man eben Abschätzen kann mit wieviel Speicher man wielange Tracken kann)?

    Gut, ich hoffe dann mal auf fleisige Hilfe was die Auswahl der GPS Hardware angeht (und vll den ein oder anderen Tipp zur Performance).

    Grüße

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    10.04.2009
    Beiträge
    6
    Also wenn du das GPS Modul an einen AVR schließen willst, würde ich dir zur TTL Variante raten. TTL Pegel entsprechen nämlich den Pegeln, wie sie auch der AVR einsetzt (0V / +5V bzw +3V3). Dadurch würde das Gewandel mit dem MAX232 entfallen.

    Ich habe ein sehr ähnliches Projekt gebaut, habe sogar bei der gleichen Bezugsquelle gekauft In meinem Fall das Navilock NL507-TTL.

    Schau dir mal hier den Link an (ich hoffe, µC.net ist für euch keine Konkurrenz), dort habe ich mein Projekt vorgestellt: >> Klick hier <<

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.09.2004
    Beiträge
    264
    Ein paar Anmerkungen:
    Ich würde auch ein TTL-Modul nehmen, idealerweise mit der gleichen Versorgungsspannung wie der Controller.
    Die Datenmenge kann man so nicht abschätzen. Welche Daten und wie oft soll gespeichert werden?
    In Bits brauchst du nichts zerlegen, Bytes reichen
    Die meisten GPS-Module liefern nur eine Messung pro Sekunde, einige gehen bis 5 x pro Sekunde hoch.
    Je mehr du mit den Daten anstellen willst, desto schneller sollte die serielle Übertragung sein (billige Module können u.U. nur 4800/9600 baud)
    Selbst mit meiner C-Control kann ich GPS-Daten locker loggen. Der Mega wird unterfordert
    Nimm auf jeden Fall ein GPS-Modul mit anständiger Dokumentation und nicht eine billige GPS-Maus.
    Zur Übersicht kannst du mal bei sparkfun schauen.

    Viel Spaß damit

    Stefan

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Beiträge
    1.607
    Dankeschön. Der TTL Pegel an sich ist mir klar, der quillt ja auch hinten aus dem MAX raus. Das heist ich verarbeite die GPS Daten am RX und TX Pin wie die gewandelten RS232 Daten?
    Und ja, in Bytes zerlegen, nicht in Bits .... Tschuldigung.

    Gut das klingt soweit ja schonmal brauchbar.

    Mit der Datenmenge war das so gemeint: Ein Telegramm nach dem NMEA Standard hat eine gewisse Größe in Byte, entsprechend viele kann ich auf zB 2GB speichern. Weis auch nicht wieso ich gefragt habe, klar kann man das schlecht abschätzen, erst recht wenn ich von der Geschwindigkeit abhängig mit Logge. War wohl gestern Abend etwas neben der Spur.

    Dann schau ich mir mal die uC.net-Projekt Doku und Spark Fun an und notiere erstmal das Navilock NL507TTL und einen Mega162 bzw Mega32.

    Danke bis dahin

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    10.04.2009
    Beiträge
    6
    Also bezüglich der Größe, ich zeichne immer alle NMEA Strings auf, mit der Standard Ausgaberate (ich glaube 4 pro Sekunde). Mit diesen Einstellungen hat eine Fahrt von ca. 2 Stunden und 40 Minuten bei mir eine Größe von 5,1MB.
    Und ja, bei der TTL Version musst du das Modul einfach nur an den UART Port des AVR anschließen.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    02.11.2005
    Beiträge
    1.607
    Naja 5,1MB sind ja jetz nich der Hit, das ist in der tat wenig. Hätte irgendwie mit mehr gerechnet. Allerdings wird das Speichern auf interenen Speicher (bzw externes RAM an AVR) eher blöde... Mehrere kB sind mir bekannt aber mehrere MB? Und dann noch Flash Speicher damit es bis zum Auslesen nicht flüchtig ist? Ne - da is die Speicherkarten Version besser... Oder hat da noch jemand eine Idee? Google sagt nix xD

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.09.2004
    Beiträge
    264
    Wenn du das komplette NMEA speichern willst, wird die Datenmenge relativ groß. Das ist aber doch bestimmt nicht nötig. Wenn es nur ums Tracking geht, reichen doch die Postionsangaben, die Zeit, vielleicht noch Geschwindigkeit und Kurs oder so ähnlich. NMEA überträgt wesentlich mehr und zum Teil auch doppelt.
    Der Unterschied zwischen TTL und RS232 ist nur das Spannungsniveau. TTL ist am Controller, RS232 am PC. Simple Schnittstellen kann man sogar nur mit ein paar Widerständen anpassen (bei niedriger Übertragungsrate).

    mfg

    Stefan

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.09.2004
    Beiträge
    264
    $GPGGA,065452.000,5059.0222,N,00616.9003,E,1,10,0.8,78.7,M,47.6,M,,0000*68
    $GPVTG,7.41,T,,M,0.00,N
    $GPGSA,A,3,25,22,24,31,18,07,16,21,10,29,,,1.3,0.8 ,1.0*3A4.000,5059.0222,N,00616.9003,E,1,07,1.0,78. 7,M,47.6,M,,00
    $GPRMC,065452.000,A,5059.0222,N,00616.9003,E,0.00, 7.41,140209,,,A*62
    $GPGSA,A,3,10,25,31,24,16,29,21,,,,,,1.6,1.0,1.2*3 A
    $GPVTG,7.41,T,,M,0.00,N,0.0,K,A*0F
    $GPGSV,3,1,12,16,72,268
    Das ist ein gängiger NMEA-Datensatz.
    Das schwarze sind die reinen Positionsangaben.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    10.04.2009
    Beiträge
    6
    Zitat Zitat von Suggarman
    Wenn du das komplette NMEA speichern willst, wird die Datenmenge relativ groß. Das ist aber doch bestimmt nicht nötig. Wenn es nur ums Tracking geht, reichen doch die Postionsangaben, die Zeit, vielleicht noch Geschwindigkeit und Kurs oder so ähnlich. NMEA überträgt wesentlich mehr und zum Teil auch doppelt.
    Der Unterschied zwischen TTL und RS232 ist nur das Spannungsniveau. TTL ist am Controller, RS232 am PC. Simple Schnittstellen kann man sogar nur mit ein paar Widerständen anpassen (bei niedriger Übertragungsrate).

    mfg

    Stefan
    Das stimmt, ich verwerte letztendlich eigentlich nur die GPGGA und GPVTG Nachrichten, um zum Beispiel die Route oder Geschwindigkeits/Höhendiagramme zu erstellen. Ich hab bei meinem Modul nur nie rausgefunden, wie man den Rest abstellt, hab das aber auch nie weiter verfolgt, da sowieso Speicherplatz genug da ist (eine Tour ist nie länger als 6-8 Stunden, danach wird die Speicherkarte ja wieder ausgelesen).

    Wenn du allerdings über einen längeren Zeitraum tracken willst, wäre das Abschalten der Nachrichten natürlich eine Sinnvolle Sache (oder wie schon erwähnt, die NMEA Strings direkt im Controller parsen und nur die reinen Positionsdaten etc. speichern).

    Das Navilock NL507-TTL hatte 2 Datenblätter, wo alles zum Protokoll beschrieben war (also auch die Befehle, die das Modul akzeptiert). Alternativ kann man sich einen RS232-TTL Wandler basteln und das GPS-Modul an den PC anschließen. Dann kann man die Einstellungen mittels des "u-Blox Centers" verändern.

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    21.09.2004
    Beiträge
    264
    Das stimmt, ich verwerte letztendlich eigentlich nur die GPGGA und GPVTG Nachrichten, um zum Beispiel die Route oder Geschwindigkeits/Höhendiagramme zu erstellen. Ich hab bei meinem Modul nur nie rausgefunden, wie man den Rest abstellt, hab das aber auch nie weiter verfolgt, da sowieso Speicherplatz genug da ist (eine Tour ist nie länger als 6-8 Stunden, danach wird die Speicherkarte ja wieder ausgelesen).
    Genau diese beiden werte ich auch nur aus. Dank einer vernünftigen Dokumentation habe ich meinem GPS-Modul auch beigebracht, nur diese beiden zu senden.
    Bei 4800 baud geht es garnicht, alle 6 Zeilen ausgeben zu lassen.
    Bei 9600 baud funktioniert es zwar, aber die Übertragung dauert fast die ganze Sekunde des Übertragungsintervalls. Und wann rechnet der Controller?
    Mit 38400 baud und nur den benötigten zwei Zeilen dauert die Übertragung nur einen Sekundenbruchteil.

    mfg

    Stefan

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •