Forum: Mikrocontroller und Digitale Elektronik GPS Signal für CarPC


von Krikl Christoph (Gast)


Lesenswert?

Hi alle,

ich hätte da mal eine Frage, ich möchte für meinen CarPC, das GPS
Signal über einen µC leiten, der mir im falle eines Signalverlusts,
passiert ja leider recht häufig, das GPS Signal "aufrecht hält" in
dem er über Geschwindichkeit und Fahrtrichtung die Position selbst
errechnet.

hat da schon wehr erfahrung, und ist das überhaupt mit einem AVR oder
so lößbar ???

danke für eure hilfe

Christoph

von manu (Gast)


Lesenswert?

hmm, wie sollte der AVR denn merken, dass es sich nicht um ein "schön
gerechnetes Signal" sondern um ein echtes GPS Signal handelt?!

von Jojo S. (Gast)


Lesenswert?

funktionieren könnte das schon, du müsstest mal nach dem
Übertragungsprotokoll suche und gucken wie aufwändig sich die Daten
interpretieren lassen. Das Geschw. Signal ist ja noch einfach zu
bekommen, aber mit dem Richtungssignal wird sicher nicht so einfach.

von manu (Gast)


Lesenswert?

ach, sorry, ich hab das wohl falsch verstanden.. Du möchtest nicht
schauen ob dir der GPS Empfänger ein "echtes" oder ein "schön
Gerechnetes Singal" liefert, sonder eine Fall-Back System basteln,
dass ich Falle eines Komplettausfalles die Koordinaten weiter
bestimmt... Habe ich dass so richtig interpretiert?

Schau dich mal nach dem NEMA Protokoll um, dass ist der Standart,
in dem die meisten GPS Empfänger die Daten per RS232 lieferen...!

von Fritz G. (fritzg)


Lesenswert?

Du brauchst beim NMEA Protokoll nur das GPRMC auswerten ob es als Flag A
oder V hat, dann weisst du ob das Signal gültig ist.
Dann schickst du dass weitergerechnete Signal weiter.
Brauchst dann aber 2 UARTs.
Parameter 7 ist eh schon die Geschwindigkeit (in Knoten).


 RMC - Recommended Minimum Navigation Information
                                                            12
        1         2 3       4 5        6 7   8   9    10  11|
        |         | |       | |        | |   |   |    |   | |
 $--RMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,xxxx,x.x,a*hh<CR><LF>

 Field Number:
  1) UTC Time
  2) Status, V = Navigation receiver warning
  3) Latitude
  4) N or S
  5) Longitude
  6) E or W
  7) Speed over ground, knots
  8) Track made good, degrees true
  9) Date, ddmmyy
 10) Magnetic Variation, degrees
 11) E or W
 12) Checksum

von Krikl Christoph (Gast)


Lesenswert?

super danke, das ist ja schon mal ein anfang für mich


dank euch allen

Christoph

von Rolf Magnus (Gast)


Lesenswert?

> Brauchst dann aber 2 UARTs.

Warum? Er muß vom GPS nur empfangen, zum PC nur senden. Dazu sollte
doch ein UART reichen.

von Fritz G. (fritzg)


Lesenswert?

Stimmt auch wieder.
Bin wieder zu müde um zu denken bevor ich poste.

von manu (Gast)


Lesenswert?

Manche GPS Empfänger brauchen aber doch auch eine Start-Sequenz, oder
liege ich da falsch?

von Fritz Ganter (Gast)


Lesenswert?

Nein, mir sind zumindest keine bekannt.
Es kann nur sein, dass sie einmal auf NMEA umgestellt werden müssen
(über den PC), ist mir aber auch von keinem neueren Empfänger berichtet
worden.
Einen Garmin III muss man aber z.B. im Menü von Garmin auf NMEA Modus
umschalten.

von Krikl Christoph (Gast)


Lesenswert?

Hi Leute,

ich hab mir jetzt mal das protokol angesehen, und mal ein wenig weiter
überlegt,

das wirkt ja alles nicht so schwer, aktuelle geschwindigkeit nehme ich
vom impulgeber von der tachowelle, kompass sollte auch kein problem
sein so weit ich mich da mal umgesehen hab, rückwertsgang zur addition
von 180° auf den kompass sollte schon gar kein problem darstellen.

zwei sachen nur, wenn ich einfach die geschwindichkeit und die grad
anpasse vom signal und das flag ändere wirt das nichts nützen, sondern
ich muss mir die koordinaten neu errechnen, nur schaft das ein mega128
oder bekomme ich da zu große latenz zeiten,

und kennt jemand vielleicht einen guten algorhythmus mit dem ich das
bewerkstelligen könnte

danke an alle
Christoph

von Fritz G. (fritzg)


Lesenswert?

Schau im Source von Gpsdrive nach.
Ist nicht so schwer, sind ein paar Floatingpoint Rechnungen. Du musst
nur ausrechnen wieviel Meter ein Grad auf deinem Breitengrad
entspricht, und dann einfach umrechnen.
Schafft der AVR locker, zumal die GPS-Signale meist nur 1-2 mal pro
Sekunde ausgegeben werden.

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.