INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Problem GPS Modul - Ausgabe der Anzahl von Sateliten
09.01.2015, 19:24 (Dieser Beitrag wurde zuletzt bearbeitet: 09.01.2015 19:57 von ArduPI.)
Beitrag #1
Problem GPS Modul - Ausgabe der Anzahl von Sateliten
Hallo,

habe mit vor ein paar Wochen das UBLOX Neo-6M GPS Modul geholt und habe es seither nicht geschaft die richtige Anzahl der genutzen Sateliten auszugeben. Es wird immer Angegeben, dass Signal von 255 Sateliten zu empfangen, was ja wohl kaum stimmen dürfte.

Dies geschieht beispielsweise mit folgenden Sketch:
Code:
#include <SoftwareSerial.h>
#include <TinyGPS.h>

TinyGPS gps;
SoftwareSerial serialgps(2,3);
int year;
byte month, day, hour, minute, second, hundredths;
unsigned long chars;
unsigned short sentences, failed_checksum;

void setup()
{

Serial.begin(115200);
serialgps.begin(4800);
Serial.println("");
Serial.println("GPS Shield QuickStart Example Sketch v12");
Serial.println(" ...waiting for lock... ");
Serial.println("");
}

void loop()
{
while(serialgps.available())
{
int c = serialgps.read();
if(gps.encode(c))
{
float latitude, longitude;
gps.f_get_position(&latitude, &longitude);
Serial.print("Lat/Long: ");
Serial.print(latitude,5);
Serial.print(", ");
Serial.println(longitude,5);
gps.crack_datetime(&year,&month,&day,&hour,&minute,&second,&hundredths);
Serial.print("Date: "); Serial.print(month, DEC); Serial.print("/");
Serial.print(day, DEC); Serial.print("/"); Serial.print(year);
Serial.print(" Time: "); Serial.print(hour, DEC); Serial.print(":");
Serial.print(minute, DEC); Serial.print(":"); Serial.print(second, DEC);
Serial.print("."); Serial.println(hundredths, DEC);
Serial.print("Altitude (meters): "); Serial.println(gps.f_altitude());
Serial.print("Course (degrees): "); Serial.println(gps.f_course());
Serial.print("Speed(kmph): "); Serial.println(gps.f_speed_kmph());
Serial.print("Satellites: "); Serial.println(gps.satellites());
Serial.println();
gps.stats(&chars, &sentences, &failed_checksum);
}
}
}

Habt ihr eine Ahnung, woran dies liegen könnte? Ist das ein Problem vom Programm oder sogar ein Hardware defekt. Die Position stimmt jedoch!

Desweiteren habe ich das Problem mit Long/Lat, diese in Variablen samt des Kommas zu speichern und diese auf einem Display auszugeben.

Danke und Lg ArduPI
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.01.2015, 21:41
Beitrag #2
RE: Problem GPS Modul - Ausgabe der Anzahl von Sateliten
Weiß denn diesbezüglich niemand was?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.01.2015, 22:33
Beitrag #3
RE: Problem GPS Modul - Ausgabe der Anzahl von Sateliten
Hallo ArduPI ,

ich nehme an, dass der Sketch ein unverändertes Beispiel aus der TinyGPS-Library ist.
So besehen sollte es eigentlich keine Programmfehler geben.
Vielleicht kann aber TinyGPS nicht mit dem UBLOX Neo-6M GPS Modul umgehen. (teilweise geändertes Protokoll?)

Ein anderer Ansatzpunkt ist die SoftwareSerial.
Man liest öfter mal dass die nicht so "das gelbe vom Ei" ist und empfiehlt statt dessen die AltSoftSerial Library zu verwenden.
Vielleicht ist das einen Versuch wert. Aber bei dieser Library ist der RX und TX Pin fest vorgegeben und nicht frei wählbar. Das steht aber auch in dem Link zur Lib.

Gruß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.01.2015, 20:29
Beitrag #4
RE: Problem GPS Modul - Ausgabe der Anzahl von Sateliten
Hallo ArduPi,

verwende mal die TinyGPSPLUS Library - diese enthält auch viele Beispiele.
Damit funktioniert es auch mit Deinem Modul - das habe ich nämlich auch ;-)

Falls es nicht funktioniert, hast Du ein anderes Problem ;-)

Viele Grüße
itsy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.01.2015, 14:21
Beitrag #5
RE: Problem GPS Modul - Ausgabe der Anzahl von Sateliten
Solange das Modul keinen sicheren Empfang hat wird immer 255 ausgegeben. Es sollte also alles funktionieren. Gib dem Modul mal mehr Zeit am Anfang, ruhig länger als ne halbe Stunde. Du testet ja bestimmt im Haus, ich habe erst eine Anzeige gehabt als ich die antenne ans Fenster geklebt hab. Oder geh mal nach draußen.


Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.01.2015, 20:32 (Dieser Beitrag wurde zuletzt bearbeitet: 13.01.2015 20:33 von ArduPI.)
Beitrag #6
RE: Problem GPS Modul - Ausgabe der Anzahl von Sateliten
(13.01.2015 14:21)Scherheinz schrieb:  Solange das Modul keinen sicheren Empfang hat wird immer 255 ausgegeben. Es sollte also alles funktionieren. Gib dem Modul mal mehr Zeit am Anfang, ruhig länger als ne halbe Stunde. Du testet ja bestimmt im Haus, ich habe erst eine Anzeige gehabt als ich die antenne ans Fenster geklebt hab. Oder geh mal nach draußen.


Gruß

Hallo,

habe es nun auf dem Balkon probiert und es werden tatsächlich korrekte Werte ausgegeben. Zumindest innerhalb kürzester Zeit annähernd die Selben, wie auf dem Handy. Finde es jedoch faszinierend, dass das Modul zuvor im Keller zumindest einwandfreie Positionsangaben lieferte?!

Habe nun nur noch das Problem log/lat in eine Variable zu speichern und diese dann mit 6 Dezimalstellen am Display auszugeben.
Wisst ihr diesbezüglich eventuell auch noch etwas?

Danke, Lg ArduPI
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.01.2015, 12:20
Beitrag #7
RE: Problem GPS Modul - Ausgabe der Anzahl von Sateliten
Du brauchst nichts zwischen zu speichern:
Code:
float flat, flon;
gps.f_get_position(&flat, &flon);

lcd.setCursor(0, 0)
lcd.print(flat);
lcd.setCursor(0, 1)
lcd.print(flon);

Und um die Dezimalstellen musst du dich auch nicht kümmern.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Problem mit LSM 303 Snörb 0 48 Gestern 16:51
Letzter Beitrag: Snörb
  Problem mit externem Interrupt manfred474 13 536 13.08.2017 08:54
Letzter Beitrag: MicroBahner
  Problem mit Klassen GuaAck 4 213 09.08.2017 09:28
Letzter Beitrag: MicroBahner
  Anzahl der DS18B20 ermitteln AlphaRay 3 303 02.08.2017 09:13
Letzter Beitrag: Fips
  Schrittmotor Geschwindigkeit mit Wägezelle + HX711 Modul steuern Schrittmotor 6 472 31.07.2017 08:17
Letzter Beitrag: Schrittmotor
Question Problem mit TFT Sam217 8 555 20.07.2017 21:51
Letzter Beitrag: hotsystems
  Problem FastLED fliege_m 3 341 16.07.2017 16:56
Letzter Beitrag: Tommy56
  serial monitor, Ausgabe übereinander möglich?? silversurfer123 4 299 18.04.2017 19:19
Letzter Beitrag: silversurfer123
Question Problem beim Hochladen auf AtTiny45. Hilfe -.- Jonas Lindenblatt 17 1.111 16.04.2017 12:58
Letzter Beitrag: Jonas Lindenblatt
  Smart Home Webserver Basic Authentication Problem Osotastic 21 997 20.02.2017 18:00
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste