Das GNNS-Modul RYS352A

Hier werden einzelne Projekte mit MicroPython vorgestellt
Antworten
Heinrichs
Beiträge: 178
Registriert: Do 21. Okt 2010, 18:31

Das GNNS-Modul RYS352A

Beitrag von Heinrichs » Mo 6. Mai 2024, 16:06

Das RYS352A-Modul wurde mir vom Hersteller REYAX zu Testzwecken zur Verfügung gestellt. Es besteht im Wesentlichen aus einer Antenne und einem Empfänger-Baustein, welcher sich unter einem Abschirmblech versteckt (Abb. 1). Hinzu kommen
  • auf der Antennenseite zwei LEDs (TxD und PPS); mehr dazu s. u.
  • auf der Seite des Empfänger-Bausteins ein kleiner Akku, welcher den eingebauten Timer (RTC) versorgt, wenn das Modul nicht mit einer elektrischen Quelle verbunden ist, sowie ein Steckverbinder (Typ Molex 53261-0671)
  • Kontakte (1 - 6: Stromversorgung, UART-Kommunikation, Zeit-Puls und Reset; 7 - 12: GND)
Das Modul hat eine quadratische Grundfläche mit einer Breite von 32 mm (s. Abb. 1) und wiegt knapp 14 g.

Platine_klein.jpg
Abb. 1
Platine_klein.jpg (46.65 KiB) 180 mal betrachtet

Der Baustein kann mit folgenden Satellitensystemen (einzeln oder auch kombiniert) arbeiten:
  • das amerikanische GPS (Global Positioning System)
  • das russische GLONASS (Globalnaja nawigazionnaja sputnikowaja sistema)
  • das europäische Galileo
  • das chinesische BDS (Beidou System)
  • das japanische QZSS (Quasi-Zenit-Satelliten-System)
Einige technische Daten seien hier genannt; weitere Informationen findet man in dem Datenblatt RYS352A.pdf (vgl. Anhang).

Das Modul wird typischerweise mit 3,3 V versorgt. Es besitzt eine UART-Schnittstelle, welche mit einer Baudrate von 115200 (8, N, 1) arbeitet. Mit dieser können Mikrocontroller wie z. B. der ESP32 oder Pi Pico auf einfache Weise sehr rasch die Daten mit dem Modul austauschen. Man beachte, dass die Spannung am Eingang RxD des Moduls maximal 3,6 V sein darf (wenn der Baustein mit 3,3 V versorgt wird). Das RYS352A-Modul sendet standardmäßig jede Sekunde einen Satz von Messwerten. Dank seiner 72 Empfangskanäle kann er gleichzeitig die Signale von bis zu 72 verschiedenen Satelliten empfangen und verarbeiten. Weitere Angaben, insbesondere zur Genauigkeit, entnehmen Sie bitte dem oben angegebenen Datenblatt.

Kommen wir nun zu den beiden LEDs: Die LED mit der Beschriftung TxD leuchtet auf, wenn über die TxD-Leitung Daten gesendet werden. Die LED mit der Beschriftung PPS zeigt mit einem kurzen Blinken das Puls-Per-Second-Signal an. Dieses wird vom RYS352A-Modul aus den vom Satelliten empfangenen Signalen generiert. Es besteht aus einem Puls (mit steilen Flanken); diese Pulse erfolgen in einem zeitlichen Abstand von (ziemlich) genau 1 Sekunde haben. Die Abweichung vom exakten Wert beträgt nur etwa 100 ns. Dieses PPS-Signal kann auch am Pin 1 des Moduls abgegriffen werden.


Erste Messungen

Für die ersten Experimente mit dem RYS352A-Modul können wir ohne eine Mikrocontroller-Programmierung auskommen: Wir benötigen lediglich:
  • einen USB-UART-Wandler (z. B. FTDI - FT232RL). Wichtig ist hierbei, dass dieser Wandler mit 3,3 V arbeitet, s. u.)
  • ein Programm, welches die vom Modul gesendeten Daten empfängt und anzeigt (z. B. VisualGPSView, erhältlich über www.visualgps.net/#visualgpsview-content)
  • Verbindungskabel (ggf. Steckerleiste auf die RYS352A-Platine löten)

Wichtiger Hinweis

Wenn Ihr USB-UART-Wandler mit 5 V und nicht mit 3,3 V arbeitet, wird das RYS352A-Modul beschädigt. Kontrollieren Sie deswegen unbedingt die Spannung des Wandlers. Manche Wandler können mit beiden Spannungen arbeiten. Beim FTDI - FT232RL lässt sich die Spannung mit Hilfe eines Jumpers (in der Abb. 2 mit einem gelben Pfeil gekennzeichnet) einstellen. In dieser Zeichnung ist der Wandler auf 5 V eingestellt; der Jumper muss für unsere Zwecke herausgezogen und etwas weiter unten eingesetzt werden.

FTDI232_mit_Markierungen.jpg
Abb. 2
FTDI232_mit_Markierungen.jpg (99.09 KiB) 178 mal betrachtet

Wir schließen nun den das RYS352A-Modul nach dem folgenden Schema an den USB-UART-Wandler an:

RYS352A-ModulUSB-UART-Wandler
Pin 2: GNDGND
Pin 3: TxDRxD
Pin 4: RxDTxD
Pin 5: VCCVCC

Für unsere Versuche empfiehlt es sich, den RYS352A in der Nähe eines Fensters zu platzieren. Wir starten das Programm VisualGPSView und geben über das Tools-Menü die Nummer der COM-Schnittstelle und die Baudrate (115200) ein.

Sobald unser RYS352A mit Strom versorgt wird, fängt er mit der Satellitensuche an. In der Anzeige “Front Panel Status” können wir sehen, welche Satelliten nach und nach gefunden werden. Sind genügend Satelliten vorhanden, so werden einige der vom Modul ermittelten Werte (z. B. die Koordinaten) angezeigt. Insbesondere fängt dann auch die PPS-LED an zu blinken.

VisualGPSView_Start.jpg
Abb. 3
VisualGPSView_Start.jpg (218.45 KiB) 176 mal betrachtet

VisualGPSView zeigt nur GPS- und GLONASS-Satelliten an; unser RYS352A-Modul kann aber für jede Kombination von Satellitensystemen konfiguriert werden. Darauf werden wir in einem weiteren Beitrag zu sprechen kommen.


Das NMEA-Protokoll

Nur schauen wir uns an, welche Daten unser RYS352A-Modul liefert. Dazu klicken wir auf die Lasche NMEA-Monitor. Nun sehen wir zwei Felder. Im linken Feld werden die vom Programm gesendeten Daten angezeigt; darum werden wir uns hier nicht kümmern. Wichtiger ist das rechte Feld (Receive); hier werden die Daten angezeigt, die das Programm vom RYS352A-Modul empfängt. Deutlich erkennt man, dass jede Sekunde eine Aktualisierung erfolgt. Hierbei werden eine ganze Reihe von Datensätzen übertragen. Das folgende Listing zeigt einige dieser Datensätze.

Code: Alles auswählen

$GAGSV,3,3,10,12,17,033,,36,16,139,,7*7E
$GBGSV,4,1,14,46,89,053,17,27,48,139,21,28,42,066,14,36,37,291,35,1*70
$GBGSV,4,2,14,56,31,051,,37,31,110,,22,18,293,31,30,15,185,18,1*77
$GBGSV,4,3,14,10,12,061,15,19,08,243,28,38,07,067,,21,07,341,,1*75
$GBGSV,4,4,14,08,04,079,,07,01,059,,1*7B
$GNRMC,131843.000,A,5110.6397,N,00628.3544,E,0.34,111.18,220124,,,A,V*0A
$GNVTG,111.18,T,,M,0.34,N,0.63,K,A*29
$GNZDA,131843.000,22,01,2024,,*41
Diese Daten folgen dem NMEA-0138-Protokoll, welches von der National Marine Electronics Association ursprünglich für die Navigation von Schiffen entwickelt worden ist. Hierbei gelten folgende Regeln:
  1. Jeder Datensatz besteht aus einer Zeichenkette (von ASCII-Zeichen). Diese besteht aus maximal 80 Zeichen und wird mit den Steuerzeichen CR-LF abgeschlossen.
  2. Jeder Datensatz beginnt mit einem Dollarzeichen. An dieses schließt sich direkt die Geräte-ID an, welche aus 2 Zeichen besteht (z. B. GP für GPS, GA für Galileo, GB für Beidou, GN für “multi-use”). Es folgt nun die Datensatz-ID, welche aus 3 Zeichen besteht (z. B. RMC für Recommended Minimum Navigation Information).
  3. Es folgen Parameter, die jeweils durch ein Komma getrennt sind.
  4. Das Ende dieses Datensatzes wird durch einen hexadezimalen Kontrollwert (angeführt von *-Zeichen) gebildet. Dieser Kontrollwert wird durch ein byteweises XOR des gesamten Datensatzes (ohne das $-Zeichen und natürlich ohne *xx) gebildet. Unser Modul bildet nach dem Empfang eines Datensatz selbst den Kontrollwert und vergleicht ihn mit dem übertragenen Wert.
Die Bedeutung der einzelnen Parameter findet man z. B. unter: http://www.nmea.de/nmea0183datensaetze.html#rmc. Abb. 4 stammt im Wesentlichen von dieser Webseite. Mit ihrer Hilfe wollen wir hier beispielhaft einige Parameter des RMC-Datensatzes aus dem obigen NMEA-Protokoll deuten:

Code: Alles auswählen

131843		Uhrzeit: 13:18:43 (GMT)
5110.6397,N	Breite: 51̊ 10,6397'  N(ord), Grad-Angabe immer 2-stellig
00628.3544,E	Länge: 6̊ 28,3544'  O(st), Grad-Angabe immer 3-stellig
220124		Datum: 22.01.24  (GMT)

NMEA_Datensatz.jpg
Abb. 4
NMEA_Datensatz.jpg (247.82 KiB) 171 mal betrachtet

An den Geräte-IDs kann man in dem obigen NMEA-Protokoll neben den multi-use-Datensätzen mit der Geräte-ID “GN” auch Datensätzen von dem Galileo- und dem Beidou-System ausmachen; die Datensatz-ID “GSV” weist aber darauf hin, dass es bei diesen jedoch lediglich um Informationen über diese Satelliten geht.


Für das RYS352A-Modul finden Sie in diesem Forum weitere Beiträge für das RYS352A-Modul:
.
Dateianhänge
RYS352A.pdf
Datenblatt zum RYS352A
(617.95 KiB) 16-mal heruntergeladen

Antworten