Hallo zusammen, ich habe eine prinzipielle Frage bezüglich Mikrocontroller. Vorab muss ich noch sagen, dass ich auf diesem Gebiet wirklich keine Ahnung habe, aber beabsichtige dies in Zukunft noch zu ändern. Wäre mit einem Controller, welcher Art auch immer, folgende Aufgabe zu lösen. Ein GPS-Empfänger gibt seine Daten seriell in Form eines so genannten NMEA Satzes weiter. Dieser setzt sich unter anderem aus den Koordinaten und der Geschwindigkeit zusammen. Siehe http://de.wikipedia.org/wiki/NMEA_0183 Ich würde nun gerne diesen NMEA Satz in ein von der Geschwindigkeit abhängiges Rechtecksignal umrechnen. Bei einer Geschwindigkeit von 1 km/h sollte die Frequenz ca. 35 Hz betragen) Der GPS-Empfänger hat eine Updaterate von 5Hz. Mit dieser Frequenz sollte dann auch das Rechtecksignal berechnet werden. Ist dies von Seiten der Hardware überhaupt Möglich? Vielen Dank für eure Antworten Martin
Die Antwort hängt ein bisschen von der Komplexität Deiner Formel zur Berechnung der Ausgabefrequenz ab. Ich vermute es geht um eine Art Tachoimpuls-Simulierung? Ein Mikrocontroller sollte mehr als genügend Zeit haben, um Deine Aufgabe zu erledigen: - Parsing des richtigen Strings mit der Geschwindigkeit - Umwandeln der Geschwindigkeit (ASCII) in eine Zahl - Anwenden Deiner Formel - Ausgabe der Frequenz (vermutlich mit PWM) Gruss Roman
soviel ich jetzt erkennen konnte, ist dem Datenstrom keine Geschwindigkeitsangabe. Man muss sich die Geschwindigkeit errechnen aus dem Längen und Breitengrad sowie der Ausrichtung. Danke das sit der schwierigere Teil. Für die Frquenz müsste man eigentlich nur einen Timer verwenden.
Das ist nicht ganz richtig, es kommt auf das GPS Gerät an. Viele GPS unterstützen z.B. den VTG Satz, der die Geschwindigkeit in Knoten und km/h ausgibt ! Der Wiki Link ist nicht das komplette NMEA protocol. Gruss Roman
Auszug aus Wiki Jedes NMEA-Gerät muss mindestens den Recommended Minimum Sentence C (empfohlener Mindestdatensatz C, RMC) Datensatz ausgeben können. Er folgt folgendem Aufbau: $GPRMC,162614,A,5230.5900,N,01322.3900,E,10.0,90.0,131006,1.2,E*13 $GPRMC,HHMMSS,A,BBBB.BBBB,b,LLLLL.LLLL,l,GG.G,RR.R,DDMMYY,M.M,m*PP Symbol Bedeutung HHMMSS Zeit (UTC) A Status (A für OK, V bei Warnungen) BBBB.BBBB Breitengrad b Ausrichtung (N für Nord, nördlich; S für South, südlich) LLLLL.LLLL Längengrad l Ausrichtung (E für East, östlich; W für West, westlich) GG.G Geschwindigkeit in Knoten RR.R Richtung in Grad DDMMYY Datum M.M magnetische Abweichung m Ausrichtung der Abweichung (E oder W) PP hexadezimale Darstellung der Prüfsumme GG.G sollte doch die Geschwindigkeit in Knoten wiedergeben?
Ja es geht um so was ähnliches wie einen Tachoimpuls. Bis jetzt verwende ich zu Geschwindigkeitsmessung einen Radarsensor. Dieser gibt über eine Strecke von 100m ca. 13000 Impules (in Abhängigkeit von allem) aus. Der GPS Empfänger hat noch eine zusätzliche Signalleitung, auf der alle 0,2 Sekunden in Impuls (keine Ahnung welcher) ausgegeben wird. Laut Wikipedia ist der siebte Abschnitt das Datenstrom die Geschwindigkeit in in Konten. Denkt Ihr man kann diese Aufgabe mit einem Mikrocontroller bewerkstelligen? mfg Martin
kurz gesagt, ja. Stichwort wäre PWM allerdings hab ich das Wikipedia nicht ganz verstanden: *Recommended Minimum Sentence C *Datum Reference *Global Positioning System Fix Data werden alle 3 Datensätz übertragen, oder können die Geräte jeweils nur eins dieser Protokolle?
Ich vermute mal die 0.2 Sekunden Impulse könnten mit den 5 Hz zu tun haben!? Meiner Meinung nach ist das sehr gut mit einem Mikrocontroller lösbar. Dieser braucht nichtmal sehr schnell oder gut zu sein, er braucht lediglich: - Serielle Schnittstelle (USART z.B.) - PWM Ausgabe Und sogar dafür gibt es Alternativen (Soft-PWM). Gruss Roman
@pacer: viele GPS übertragen jede Menge verschiedene Datensätze. Einige GPS kann man sogar noch dazu bringen, weitere Datensätze zu senden (indem man ein Kommando seriell zum GPS schickt).
Martin K wrote: > Ich würde nun gerne diesen NMEA Satz in ein von der Geschwindigkeit > abhängiges Rechtecksignal umrechnen. Bei einer Geschwindigkeit von 1 > km/h sollte die Frequenz ca. 35 Hz betragen) Wobei diese Randbedingungen einen Haken haben und das zuerst mit einem GPS-Empfänger ausprobiert werden sollte. 1 km/h sind 0,28 m/s bzw. 0,56 kt. Das ist zwar von der Auflösung her im NMEA Datensatz drin (GG.G, d.h. eine Nachkommastelle) aber i.A. nicht in der Genauigkeit der GPS-Position. Selbst wenn der GPS-Empfänger still steht, gibt es eine zeitliche Änderung in der Positionsanzeige, die grösser ist, als die Strecke bei einer Geschwindigkeit von 1 km/h. Am ehesten wäre das noch den Navis für Wanderer oder Radfahrer zuzutrauen. Weiss jemand, wie die arbeiten? Vielleicht mit Zusatzhardware (Beschleunigungssensoren, Schrittzähler, Kompass) zur Unterstützung des GPS-Signals oder vielleicht per Software (Glättung, Berechnung aus Wegstrecke/Zeit)?
Soweit ich weiß kann mit einem guten GPS-Empfänger mit WAAS Unterstützung eine Geschwindigkeit ab 0,3 km/h bestimmt werden. Größere Ungenauigkeiten treten dagegen bei der Positionsbestimmung auf. Diese werden durch atmosphärische Störungen hervorgerufen (Ausbreitungsgeschwindigkeit der Funkwellen ändert sich bei hohem Wasseranteil in der Luft). Da Wetteränderungen aber in der Regel träge ablaufen, hat dies keinen Einfluss auf die Geschwindigkeit. Bitte korrigiert mich wenn ich falsch liege.
WAAS musste ich erst bei Wikipedia nachschlagen. http://de.wikipedia.org/wiki/WAAS Ich befürchte, WAAS ist keine Hilfe bei deinem Problem. Mit WAAS kann eine Position auf 0.3 bis 1 m genau bestimmt werden, über Geschwindigkeit steht bei Wikipedia nichts. Die Schwankung in der Position ist ausserhalb des abgesteckten notwendigen Gebietes. Und der Empfang des WAAS Signals ist nicht einfach: "Der Empfang von WAAS-/EGNOS-Signalen ist meist nur auf Anhöhen oder offener See möglich. Mir ist auch noch nie ein basteltaugliches GPS-Modul mit WAAS untergekommen.
Gibt es denn überhaupt eine Anforderung in Bezug auf die Positionsgenauigkeit? Wenn ja, müsste man tatsächlich drüber nachdenken, ob GPS das Mittel zum Zweck ist. Wenn nicht, dann einfach machen, oder?
Mal sehen. Anforderungen an die Position gibts es keine. Es würde nur die Geschwindigkeit ausgewertet.
Martin K wrote: > Mal sehen. Anforderungen an die Position gibts es keine. Es würde nur > die Geschwindigkeit ausgewertet. in welcher art fahrzeug soll denn das ganze zum einsatz kommen bzw. bei welchen geschwindigkeiten? und welche genauigkeit ist für die umwandlung notwendig?
Okay, anders gefragt: Wie genau soll den Geschwindigkeit sein, bzw. welche Abweichungen sind zulässig? Ohne Beantwortung der Frage kann mn ja noch lange diskutieren um dann am Ende festzustellen, dass alles sinnlos war, weil das Messsystem nicht hinreichend genau ist.
Die normale Updaterate eines Garmin ist 1 Hz. Ich wuerde mal annehmen dass auch noch etas Rauschen drauf ist, dh die Werte nicht linear durch Null gehen. Irgendwann versinkt man im Rauschen. Es gibt Leute, die werten auch dieses Rauschen in 2 Dimensionen aus und Mitteln lange genug. Ob das beides fuer diese Applikation passt, muesste man erst durch einen Test herausfinden.
oha wrote: > Die normale Updaterate eines Garmin ist 1 Hz. Ich wuerde mal annehmen > dass auch noch etas Rauschen drauf ist, dh die Werte nicht linear durch > Null gehen. Da vermutest du richtig. Bei einem normalen MNEA-GPS kann man sich das Rauschen (und die Sat-Positionen) z.B. mit der Freeware VisualGPS 3D anzeigen lassen. In meinen bisherigen versuchen mit stationärem GPS gab es immer einen Drift, der nach Stunden/Tagen gelegentlich zurück zum Ursprung kam.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.