[Wiki] GPS-Module mittels eines UART testen

Dies ist ein Unterkapitel von [Wiki] GPS-Troubleshooting / Fehlersuche

Wir in der Hamburger Gruppe haben viele GPS-Module und Antennen gehabt, von denen wir nicht wussten, ob sie funktionieren.
Solche Module in einen OBS einzusetzen ist oft enttäuschend, weil nichts läuft.
Nun wäre es gut, wenn die Module nach „gut“ und „schlecht“ sortiert werden könnten.

Materialliste:

  • PC oder Laptop mit WIN10 oder höher;
  • Auf dem PC einen Programmordner mit der Software U-CENTER for Windows (nicht U-CENTER 2!);
  • Einen USB-UART-Baustein ( FT232RL) *);
  • USB-Leitung bis zum Fensterbrett
  • kleines Breadboard
  • 4x Steckleitungen

Alternativ zum Breadboard gehen auch 4x Buchse-Buchse-Dupont-Leitungen, zum direkten Stecken.

*) Achtung, dieser UART braucht keinen MicroUSB oder USB-C, sondern ein MINI-USB-Kabel. Wer das dumm findet: Es funktionieren auch andere USB-UART genauso gut.

Zusammenschalten:
Das GPS-Modul wird gemäß der folgenden Skizze an den UART geschaltet:


(Anschluss des GPS Moduls direkt an einen UART)

Für die Nicht-Elektronik-Personen: Die Farben der Verbindungsleitungen sind egal, helfen aber, es richtig zu machen.
Elektrisch gesehen ist es wichtig, die Pins (Anschlüsse) mit den korrekten Bezeichnungen gemäß der Skizze zu verbinden.
Hier ein Aufbauvorschlag:

Foto: @Jan.D
(übrigens: Die Antenne muss mit dem Metallgehäuse nach unten liegen, für optimalen Empfang!)

Foto: @Jan.D

(Hinweis: Die Leitungsfarben entsprechen der obigen Skizze!)

Weitere Vorbereitung zum Testen:
Wenn alles angeschlossen und nochmals überprüft ist, muss der Jumper (Steckbrücke) auf dem FT232RL auf 5V gesteckt werden (so wie im Foto des Links, siehe oben).
Das USB-Kabel zwischen FT232RL und PC (Laptop) einstecken.
Irgendwas sollte nun rot leuchten. Gut gemacht!

U-Center

Öffne in WIN10 den U-Center-Programmordner und starte das Programm u-center.exe (eine Installation ist nicht erforderlich).

Im Menü: Receiver → Port → COM probierst Du aus, welche der vorgeschlagenen COM-Angebote mit dem UART spricht.
Sobald unten in der Mitte des Fensters dieses Symbol…
Bild_COM4
… grün blinkt, hat U-Center Kontakt zum GPS-Modul. Hier ist es über COM4 verbunden.
Wenn das nicht gehen will: Setze im Menü Receiver die Funktion AUTOBAUDING (autom. Schnittstellengeschwindigkeit) und warte einige Dutzend Sekunden, während U-Center versucht, herauszufinden, wie es geht.

Typisch sind übrigens 9600Bd (default-Zustand) und 115200 Bd (wenn schon mal im OBS in Betrieb gewesen).
Das UART-Modul blinkt nun ca. 1x pro Sekunde.

grafik
(Diesen Teil habe ich entfernt, weil offenbar Unsinn. Ich muss nochmal gucken… :rofl:)

Sobald mehr als drei „grüne Satelliten“ im U-Center angezeigt werden, leuchtet zusätzlich noch die „3D“-LED auf dem GPS-Modul rot auf.

Foto: @Jan.D

Hier im Bild leuchtet das Modul rot, es hat einen „GPS-3D-fix“, also volle Funktion bei vier sichtbaren Satelliten.

(Ansicht mit SkyView in der Software U-Center)

Nun kann man vorhandene Antennen und Module außerhalb des OBS testen.
Wir sind dabei so vorgegangen, dass wir zuerst ein korrekt arbeitendes Modul mit Antenne ermittelt haben. Dies blieb einfach unter Strom und wir haben zunächst die fraglichen Antennen nach und nach angeschlossen und mit OK / nOK gekennzeichnet.

Zum Test der Module benötigt man Geduld, und eine OK-geprüfte Antenne. Die Module brauchen sowohl eine Boot-Zeit als auch eine Satelliten-Finde-Zeit.

In manchen Fällen genügt das Testen hinter der Fensterscheibe, ich habe aber auch schon Fenster gesehen, hinter denen mein funktionierender OBS keinen FIX bekam. Sobald ich den aber aus dem offenen Fenster hinaus gehalten habe, kam der Fix. Hinter solchen Fenstern dürfte die hier vorgeschlagene Testmethode scheitern.
Solltest Du also Zweifel haben, ob das alles korrekt arbeitet, warte einen trockenen Tag ab und verlege das Modultesten nach draußen (Balkon o.ä.),

GPS innerhalb eines OBS testen

Nun will nicht jede/r das GPS-Modul wieder ausbauen, um es zu prüfen, das ist umständlich und vielleicht geht etwas dabei kaputt.
Es gibt eine Variante des obigen Tests, die innerhalb des Gehäuses des OBS ausgeführt werden kann!

Materialliste:

  • wie oben angegeben
  • abweichend: drei Leitungen (schwarz, gelb, grün), rot ist nicht erforderlich
  • 6-Kant-Schlüssel 2,5mm

Schalte dem OBS aus. Öffne den Deckel des OBS (fünf Schrauben lösen).
Entferne vorsichtig den Controller ESP32 und lege ihn beiseite. Das geht prima mit etwas „Hakenähnlichem“, wie z.B. einer Häkelnadel, die man in die Löcher steckt und dann vorsichtig hochruckelt (immer wechselweise / gegenüber!):

Foto: @Jan.D

Merke Dir, wie herum der ESP32 eingesteckt war!
Nimm die drei Leitungen zur Hand und stecke sie in die Leiste des ESP:

Foto: @Jan.D

Hier darf nun (+) VCC nicht mit dem OBS verbunden werden, deshalb gibt es nur noch drei Leitungen!


(oben neben dem Elko ist Pin 16!)

Die Versorgung des GPS erfolgt aus dem OBS selbst.
Den OBS einschalten. Das Display bleibt dunkel, denn es gibt keinen Controller, der es steuert.
Weitere Tests wie im Teil „U-Center“ oben erklärt.

Beim Zuammenbau den ESP32-Controller richtig herum wieder einsetzen und darauf achen, dass alle Pins richtig sitzen (nicht versetzt stecken, nichts umknicken).

Viel Erfolg!

-/- Ende des Wiki -/-

13 „Gefällt mir“

Hallo zusammen,

im Wiki-Artikel oben steht „muss der Jumper (Steckbrücke) auf dem FT232RL auf 5V gesteckt werden“.

Im Datenblatt des GPS-Moduls steht für die „NEO-6Q, 6M, 6P, 6V, 6T“ max. 3,6 Volt. Muss also zwingend ein USB/Seriell-Wandler mit 3,3 V genutzt werden und 5 V können das Modul „grillen“?

Schönen Gruß

@maehw hast du das Datenblatt für die neo6m Platine oder für das neo6m Modul angeschaut? Auf der neo6m Platine, die wir normalerweise verwenden, ist noch mal ein eigener 3.3v Regler drauf. So wie ich das sehe, ist das Modul nur das Metallkästchen auf der Platine.

Danke, du hast Recht. Ich hab für das Modul geschaut. Die Leiterplatte gibt es von verschiedenen Herstellern, oder? Scheinbar häufig mit Spannungsregler und EEPROM. Heißt Versorgungsspannung 3-5 V, aber Logikpegel trotzdem max. 3,3V – oder?

Datenblattmäßig (und unter der Annahme dass kein logiklevelkonverter oder so auf dem gps board versteckt ist) magst du recht haben. Soweit ich weiß hat aber noch keiner sein GPS gegrillt. Berrybase z.B. vermarktet die Dinger auch entspannt mit „3-5V“. Würde mich stark wundern wenn die dann über die Klinge springen wenn man auch auf der IO 3-5V macht.

Zur Info: ich habe mich an einer lötfreien Modultest-Lösung für GPS-Module versucht und ein kleines „Testjig“ gebaut. Damit können GPS-Module (wie oben beschrieben mit dem u-blox u-center) ohne Löten auf Funktionalität getestet werden:

2 „Gefällt mir“

Schöne Idee - wir haben das immer fliegend auf Holzbrettern aufgebaut, hahaha.
Frage: An den Fähnchen im linken Hintergrund sehe ich, dass Du den USB-Konverter nicht mit eingebaut hast.
Gibt es einen Grund dafür? Das wäre doch praktisch, den Konverter mit in der Maschine zu haben. Nur USB ran und läuft.
Oder?

Zwei Gründe:

  • Es gibt verschiedenste USB/Seriell-Wandler (Chipsätze und Bauformen). Also verschiedene Pinouts und Abmessungen. Ich wollte die Flexibilität nicht schon da wegnehmen.
  • Ich hab keine großen 3D-Modellierungs-Fähigkeiten und wollte das Modell recht einfach halten. Ideal ist es eh noch nicht, weil die überlegte Fixierung der Leiterplatte bei mir abbricht.
1 „Gefällt mir“

Hallo miteinander, ich bin langsam echt am verzweifeln.
Nachdem ich sowohl kalte Lötstellen als auch Kurzschlüsse an mehreren Modulen behoben habe, war es mir endlich möglich, im U-Center mit den GPS-Modulen zu kommunizieren, die am OBS die Lines „Start GPS ??“ und „Wait for GPS“ hervorgerufen hatten.

Die Baudrate für den Receiver muss bei diesen auf 9600 gesetzt werden, um eine Kommunikation zu ermöglichen. Das Zeichen blinkt grün wie oben erwähnt und man kann Infos über den Empfang von Satelitendaten einlesen.
Voller Zuversicht habe ich die Module wieder eingelötet und ihr Verhalten im OBS ist immer noch unverändert. Ich hab grad eins genauer in Untersuchung. Das kann man auch im OBS mit dem u-center verbinden und es funktioniert. Sobald man allerdings den ESP32 wieder einsetzt, kommen beim Hochfahren die gleichen Lines wie zuvor.

Kann das was mit der Baudrate zu tun haben?

Ich kann diese leider im u-center nicht ändern. Bei Versuchen, die Nachricht zu versenden, bekomme auch die Rückmeldung, dass eine Nachricht versandt wurde, allerdings bleibt die Kommunikation bei 9600 erhalten.

Wenn das Modul nicht in den schnelleren Modus geht, hast du sehr wahrscheinlich eins erwischt, das einen schlechten (mutmaßlich gefälschten) Ublox-Chip drauf hat - dass die Baudrate auf 9600 baud bleibt ist dafür ein bekanntes Symptom. Bisher ist es meines Wissens noch niemandem gelungen, ein Modul mit diesem Fehlerbild erfolgreich im vom OpenBikeSensor verwendeten Ublox Binary Modus auf 115200 baud in Betrieb zu nehmen. In einer Untersuchung an die ich mich erinnern kann war aber glaube ich das Endergebnis auch: „Im NMEA Modus driftet das Modul dermaßen weit, dass es für den OpenBikeSensor ohnehin nicht taugt“. Das kann bei dir natürlich anders sein - Der einfachste Fix wird aber die Verwendung eines echten UBLOX moduls sein (Neo 6 bis Neo8 gibts auf der Platinenbauform die in den OBS Classic passt).

Danke für die Info! Klar dass es nicht funktioniert, wenn man nicht bekommt was man bestellt hat…
Ich habe jetzt von einem europäischen Händler bestellt und hoffe, ein echtes Modul zu erhalten. Das ist wirklich sehr ärgerlich mit AliExpress…