Umbau einer Vaisala RS41 Wettersonde

Wettersonden vom Typ Vaisala RS41 SGP lassen sich für den Amateurfunk wiederverwerten. Die Sonden haben erfreulicherweise einen STM32 Mikrocontroller auf dem Board. damit lässt sich allerhand anfangen. Da die Originalsoftware bisher aber nicht „geknackt“ wurde, blieb nichts anderes übrig als neue Software für die Sonde zu programmieren und damit den Speicher komplett zu überschreiben. Sie kriegt dadurch auch komplett neue Funktionen, die alte Funktionsweise bleibt NICHT erhalten.

Die Grundidee dazu hatte der polnische Funkamateur SQ5RWU. Er schrieb ein Programm welches man auf die Sonde aufspielen konnte. Nach dem umprogrammieren konnte man die Sonde dann für Amateurfunkzwecke nutzen. Die Software von SQ5RWU war allerdings etwas spärlich und umständlich, da für jede Neukonfiguration der Quellcode geändert und neu kompiliert werden musste. Der slowakische Funkamateur OM3BC hat sich dann die Mühe gemacht und die Software komplett neu geschrieben. Die neue Version passt zwar nur gerade so in den Flash-Speicher der Sonde, ermöglicht aber das bequeme Speichern von Einstellungen.

Nach dem Umprogrammieren hat die Sonde drei Betriebsarten:

  • RTTY Bake (USB Mode)
  • CW Bake (USB Mode)
  • APRS Tracker (FM Mode)

Die Sonde kann dann im 70cm Amateurfunkband (430-440 MHz) betrieben werden. Alle drei Betriebsarten können getrennt voneinander konfiguriert und aktiviert werden. Sie arbeiten parallel und unabhängig voneinander. Da die Sonde allerdings nur ca. 60 Milliwatt Sendeleistung hat, ist diese eher nicht für terrestrische Aufgaben geeignet. Für Amateurfunk-Stratosphärenballonmissionen ist sie aber sehr gut geeignet als zusätzliche Nutzlast.

Die Originalbeschreibung von OM3BC findet ihr hier: LINK

Dieser Beitrag dient dazu mehr und ausführlichere Informationen zur Prozedur bereitzustellen, und dazu auch noch in Deutsch. Alle mir bis jetzt bekannten Anleitungen sind nur in Englisch.

Aber schauen wir uns die Sonde erstmal an:

Oberseite:

Unterseite:

Am unteren Ende der Sonde seht ihr einen 10-poligen Datenanschluss. Über diesen kann man die Sonde programmieren. Leider ist hier ein unüblicher Steckverbinder verbaut worden. Es handelt sich hier um einen 10poligen Steckverbinder mit Rastermaß 2,0mm. Man bekommt mit den üblichen Jumper-Kabeln Probleme, da die Pins zu eng beieinander sind, aber dazu später.

Schritt 1: Was benötigt man für den Umbau?

  • Eine funktionierende RS41 SGP Radiosonde von Vaisala
  • Zwei Mignon Batterien (wenn ihr schnell geung wart beim Einsammeln, könnt ihr auch noch die guten Original Lithium-Batterien verwenden)
  • Ein ST-LINK V2 Programmiergerät (Achtung, es gibt zwei Varianten mit unterschiedlicher Pinbelegung!)
  • Einen USB/TTL Wandler
  • Das zu programmierende Software Binärfile von OM3BC ()
  • ST-LINK Treiber für Windows (STSW-LINK009)
  • ST-LINK Programmiersoftware „STM32 ST-LINK Unitlity“ (STSW-LINK004)
  • Unter Umständen benötigt das Programmiergerät noch ein Softwareupgrade (STSW-LINK007)

Hinweis: Die Tools lassen sich von der ST Webseite erst nach einer kostenlosen Registrierung herunterladen!

Schritt 2: Sonde vorbereiten

Die Sonde wird geöffnet indem man an den folgenden beiden Stellen die Klammern zusammendrückt. Manchmal ist es hilfreich dazu zwei Feinmechanik-Schraubendreher zu verwenden.

Schritt 3: Software installieren

Die Software läuft auf allen Windows-PC ab Windows 7. Man installiert der Reihe nach die ST-LINK Treiber (STSW-LINK009) und dann die STM32 Programmiersoftware (STSW-LINK004). Wenn man den ST-LINK V2 Adapter an den USB-Port anschließt und die Software öffnet, wird vermutlich ein Firmwareupgrade benötigt. Sollte dies angezeigt werden, installiert und startet noch die Firmware-Software (STSW-LINK007)

Schritt 4: Verbindung zur Sonde herstellen und programmieren

Schauen wir uns erstmal die Belegung des Sondensteckers an:

1 - GND
2 - Uart3 Rx
3 - Uart3 Tx
4 - PB1 (10k + cap + 10k)
5 - Vcc (Boost out) 5.0V
6 - VBAT 3.3V
7 - RST
8 - SWCLK
9 - SWDIO = SWID
10 - GND

PS: Die Bezeichnungen der Belegung habe ich der Seite vom OM3BC entnommen. Weiterführende Erklärungen dazu habe ich leider nicht.

Zum Programmieren der Sonde benötigen wir nur die folgenden Pins an der Sonde:

1 - GND
8 - SWCLK
9 - SWDIO = SWID

Pin 5 (Vcc (Boost out) 5.0V) kann zur Stromversorgung während des Flashens benutzt werden. Dann wird die Sonde über den ST-LINK Adapter mit Strom versorgt. Ich lasse diesen Pin aber immer weg und nutze die eigene Stromversorgung der Sonde über die zwei Mignonbatterien. Das macht es meiner Meinung nach einfacher.

Die Belegung des ST-LINK V2 Adapters hängt von der Bauform ab. Hier sind beispielhaft zwei Varianten mit ihrer Belegung zu sehen:

Da ich den rechten Adapter besitze, beschreibe ich dessen Anschluss. Bei anderen Modellen bitte die jeweilige Pinbelegung beachten.

Verschaltung RS41 mit dem ST-LINK Adapter

Sonde - Funktion - Pin ST-Link
V2:

1 - GND - 7
8 - SWCLK - 4
9 - SWDIO - 7

Die Pins verbindet man z.B. mit Jumperkabeln. Achtung, bei der Sonde kann es unter Umständen eng werden, da der Stecker 2,0mm Raster hat.

Man verbindet nun den verkabelten ST-LINK Adapter (z.B. mit einem USB-Verlängerungskabel) mit dem PC, wo die Software installiert wurde, und öffnet das STM32 ST-LINK Utility. Hier klickt man nun auf das dritte Symbol von links, „connect to the target“. Nun erscheint eine Warnmeldung dass der Speicher nicht gelesen werden kann.

Can not read memory!
Disable Read Out Protection and retry.

Der Speicher der Sonde ist von Haus aus für das Auslesen geschützt. Um den Schutz aufzuheben, geht man im Menü oben nun unter TARGET > OPTION BYTES und stellt die „Read Out Protection“ auf „Disabled“. Weiterhin muss man unten den Schreibschutz der Sektoren aufheben. Dazu entfernt man alle Häkchen im Abschnitt „Flash sectors protection“ oder klickt auf den Button „Unselect all“. Anschließend schließt man das Fenster mit „Apply“.

Nun lädt man über das Menü FILE > OPEN FILE die zu schreibende Datei „RTTY.HEX“. Sie wird in einem zweiten Reiter neben dem Reiter „Device Memory“ dargestellt.

Anschließend programmiert man die Datei über den Menüpunkt „TARGET > PROGRAM“ in die Sonde. Man kann die geschriebenen Daten auch noch verifizieren lassen, wenn man anstatt „PROGRAM“ den Punkt „Program & Verify“ auswählt.

Mit dem vierten Button trennt man nun die Verbindung zur Sonde und der Vorgang ist damit beendet. Die Sonde ist umprogrammiert.

Schritt 5: Neue Sondensoftware konfigurieren

Um die Sonde zu programmieren schließt man die Sonde über den USB/TTL Wandler an den PC an und verbindet sich mit einem Terminalprogramm auf die Sonde.

Für den Anschluß an den PC benötigt man die folgenden Anschlüsse an der Sonde:

1 - GND
2 - Uart3 Rx
3 - Uart3 Tx

Über den Pin 6 „3.3V“ kann man die Sonde optional über den USB/TTL Wandler mit Strom versorgen. Dann sollte man darauf achten, dass der Wandler auch eien 3,3V Ausgang hat und man diesen Pin benutzt. Manche Wandler haben auch Ausgänge für beide Spannungen, 3,3V und 5,0V. Wie auch beim ST-LINK Adapter reicht es aber aus, die Sonde über die zwei Mignonbatterien mit Strom zu versorgen.

Man verbindet nun die drei Pins auf der Sonde mit den entsprechenden Pins am USB/TTL Wandler. Anschließend startet man sein Terminalprogramm mit einer seriellen Verbindung und einer Geschwindigkeit von 9600 baud auf den COM-Port des Wandlers (siehe Windows Gerätemanager sofern COM Port nicht bekannt). Ich empfehle dazu das bekannt Programm „PUTTY„.

Man öffnet Putty, klickt unter „Connection Type“ auf „Serial“, trägt unter „Speed“ die Baudrate „9600“ ein und wählt unter „Serial Line“ den passenden COM-Port (in meinem Beispiel „COM7“.

Es öffnet sich nun ein schwarzes Terminalfenster. Wenn man die Sonde jetzt einschaltet, erscheint eine kurze Beschreibung des Programmes und ein Prompt.

Hier kann man nun alle möglichen Befehle eingeben, z.B. „help“ – das listet alle verfügbaren Befehle in Englisch auf. Diese sind in der Regel selbsterklärend.

Änderungen müssen mit dem Befehl „SAVE“ gespeichert werden und werden dann auch quittiert. Können die neuen Werte nicht gespeichert werden, hat man eventuell vergessen den Schreibschutz von den Sektoren zu nehmen vor dem flashen. Dies würde mit einer Fehlermeldung angezeigt werden. Der Schreibschutz lässt sich nur durch erneutes – richtiges – flashen entfernen.

Deutsche Übersetzung der Befehle (vielen Dank an Heinz DC5WW):

ALT – Aktiviert die Höhenübertragung .
APRS – Aktiviert die APRS-Übertragung. On/Off
APRS_EVERY- APRS-Pakete müssen nicht zu oft übertragen werden. Dieser Parameter gibt die Zeit zwischen den beiden Paketen an.
APRS_UBAT – Batteriespannung im APRS-Text senden.
APRSCALL – APRS-Rufzeichen.
APRSFRQ – APRS-Frequenz (empfohlene Frequenz ist 432.500 MHz)
BAUD- RTTY-Übertragungsgeschwindigkeit in Baud.
BUTTON – Dieser Parameter gibt an, ob der Druckknopf zum Ausschalten der Radiosonde verwendet werden kann oder nicht.
COURSE – Übertragung der Bewegungsrichtung.
CWIDMESS – Der Text der CW-Identifikation (Call).
CWID – Aktivierung der CW-Authentifizierung. On/Off
CWID_EVERY – Häufigkeit der CW-Identifikation.  1=50sec-3=100 sec.-5=150sec.-8=240sec.
CW_SPEED – Die CW-Geschwindigkeit in WPM.
DBITS – Anzahl der Datenbits. Mögliche Werte sind 7 oder 8.
DEF – Parameter auf Standardwerte setzen.
DISP – zeigt die eingestellten Parameter.
HOLDOFF – Die Zeit zwischen den beiden RTTY-Sendungen.
IGATE – Nachdem der Parameter aktiviert wurde, sendet die Radiosonde einen Text über die serielle Schnittstelle, zu der das iGate eine Verbindung herstellen kann.
LEDS- Sie können Energie sparen, wenn Sie keine LEDs verwenden. Niemand sieht sie, wenn die Radiosonde fliegt. Nach dem Einschalten funktionieren die LEDs immer, aber wenn sie auf OFF gestellt sind, werden sie nach 10 Minuten Betrieb automatisch ausgeschaltet.
LWWL – Langer WW-Locator (10 Zeichen).
MICE – Paket nicht codiert oder MIC-E-Codierung.
NMEA – Wenn der Parameter aktiviert wurde, sendet die Radiosonde die standardmäßigen
NMEA – GPGGA – und GPRMC-Text über die serielle Schnittstelle.
POWER – Ausgangsleistungseinstellung 0 = kleinste, 7 = maximale Leistung (ca. 40 mW).
RTTYFRQ – RTTY-Frequenz. Diese Frequenz gilt auch für die CW-Identifikation.
RTTYCALL – RTTY-Rufzeichen.
RTTY – RTTY Text On/Off.
SAT – Die Anzahl der empfangenen GPS-Satelliten.
SAVE – Speichert die eingestellten Parameter.
SBITS – Anzahl der Stoppbits. Mögliche Werte sind 1 oder 2.
SERCOM – Geschwindigkeit der seriellen Kommunikationsschnittstelle ( n = 300 bis 115200) .
SHIFT- Frequenzen. Mögliche Werte: 1-270, 2-540, 3-810, 4-1080 Hz
SPEED – Geschwindigkeitsübertragung aktivieren.
SPEEDCOURSE – Geschwindigkeit und Richtung in APRS-Paketen.
SSID – Die Anrufer-ID des APRS. Mögliche Werte von 0 bis 15
SYMBOL -Zwei Zeichen, die bestimmen, wie die Radiosonde auf der Website www.aprs.fi angezeigt wird. (Symbol der Symboltabelle) .
TAIL_EVERY – Häufigkeit der Übertragung des angefügten Informationstextes (Kommentarfeld).
TELEMETRY – Telemetriedatenübertragung.
TEMP – Zum Übertragen der Temperatur im RTTY-Text. (Der Wert ist die Temperatur des Funkchips, nicht die Umgebung.)
TTEXT – Der angefügte Informationstext (Kommentar.)
TXD – Das TX-Delay. Möglicher Wert zwischen 10 und 500.
UBAT – Aktiviert die Übertragung der Batteriespannung.
USYS- Aktiviert die Systemspannung. Dies ist ein konstanter Wert nur für das Testen.
WWL – WW Locator senden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.