Nové využitie meteorologickej sondy Vaisala RS-41


    Pretože sa mi podarilo odloviť pár kusov meteorologických sônd typu Vaisala RS-41, tak som hľadal spôsob, ako ich využiť. Samozrejme kmitočet na ktorom pracujú, je chránený a pridelený meteorológom, bolo treba hľadať spôsob, ako ich preladiť na radioamatérsky, alebo na ISM kmitočet. V sonde sa používa radiočip Si4032, preto preladiť kmitočet je len otázkou programovania. Program v procesore je chránený, takže niet inej možnosti, ako vymazať celý flash a napísať kompletný nový program. Pri surfovaní na nete som našiel program od poľského amatéra SQ5RWU. Jednu sondu som naprogramoval a začal som ju skúšať. Na prvý pohľad fungovalo všetko tak ako malo, ale vadilo mi, že kvôli každej malej zmeny v nastavení bolo treba celý program upraviť, preložiť a znova naprogramovať sondu. Aj ponúkané funkcie boli dosť skromné, preto som sa pustil do úpravy pôvodného programu. Výsledkom je dosť rozsiahly program, ktorý skoro vyplní celý flash. Výhodou je ale fakt, že stačí  len raz naprogramovať sondu, a potom už je možné jednotlivé parametre aj dodatočne meniť cez sériový port, ktorý je dostupný na konektore sondy. Pred prvým naprogramovaním sondy, musíme flash príkazom "Full chip erase" úplne vyčistiť. V opačnom prípade náš program z nedostatku pamäte nebude mať miesto na uloženie parametrov!




Popis:

    Sondu zapneme stlačením tlačidla v pravom
hornom rohu. Keď batérie majú dostatočné napätie (sonda funguje aj s dvomi NiMH akumlátormi), začne zelená ledka blikať. Keď je dostatočný výhľad na GPS satelity, tak po zafixovaní polohy led prestane blikať a svieti trvalo. Červená ledka svieti, keď sonda vysiela. Pôvodné čidlá teploty a vlhkosti nie sú používané, preto ich treba odpojiť. Keď parameter BUTTON je v stave ON, tak sondu je možné vypnúť zatlačením a podržaním tlačidla. Tlačidlo treba držať, kým zelená ledka nezačne rýchle blikať. Po uvolnení tlačidla sa sonda vypne. Keď BUTTON je v stave OFF, sondu je možné vypnúť len odpojením batérie. Ak po zapnutí sondy červený LED 5-krát blikne, znamená to, že napätie batérie je menšie ako 3V, a bude nutné pred štartom batérie vymeniť.
    Sonda môže vysielať RTTY text podľa specifikácie UKHAS, APRS pakety ako aj CW identifikáciu. APRS pakety bude vysielať, len keď GPS prijímač počuje dostatočný počet satelitov, a údaje o polohe sú platné (nikdy nebude vysielať APRS pakety v izbe počas testovania). Jednotlive módy je možné zapnúť, alebo vypnúť. Na nastavenie jednotlivých parametrov treba posielať povel s parametrom cez sériový port. K spojeniu sondy s počítačom treba použiť COM-TTL, alebo USB-TTL prevodník (pozor sonda má na konektore UART s logickou úrovňou 3,3V!).
Na počítači používame hociaký terminálový program. Treba nastaviť rýchlosť 9600 baudov, 8 bitov, 1 stop bit a žiadnu paritu (9600 8-N-1). Komunikácia je interaktívna, na každý príkaz dostaneme odpoveď OK, ak procesor príkaz akceptoval a vykonal, alebo dostaneme chybové hlásenie, ktoré nám napíše, čo sme urobili nesprávne. Keď počítač máme pripojený a správne nastavený, po zapnutí sondy dostaneme uvítací text:

STM32 CW, RTTY & APRS tracker v. 2.5 by OM3BC...
cmd>


Ak potrebujeme pomoc, tak nám pomôže príkaz HELP alebo ?. Po tomto príkaze uvidíme text:

cmd>help

Allowed commands (not case sensitive):

BUTTON on/off - use button to turn off
LEDS on/off - use LEDs
POWER n - rf power n = 0 to 7 (7 is max.)
HOLDOFF n - n = time between two rtty messages in seconds
SERCOM n - speed of serial communication port (n = 300 to 115200)
LWWL on/off - send long (10 char.) wwlocator messages
RTTY on/off - send rtty message
RTTYFRQ n.n - n.n = rtty and cwid frequency in MHz
RTTYCALL string - rtty callsign (up to 15 characters)
BAUD n - n = rtty baudrate (max. 300)
DBITS n - n = rtty databits (7 or 8)
SBITS n - n = rtty stop bits (1 or 2)
SHIFT n - n = 1,2,3,4 or 270,540,810,1080 Hz
TEMP (or TEMPERATURE) on/off - send temperature in rtty messages
ALT (or ALTITUDE) on/off - send altitude in rtty messages
SPEED on/off - send speed in rtty messages
COURSE on/off - send course in rtty messages
UBAT on/off - send battery voltage in rtty messages
RTTY_WWL
n - n = characters of wwlocator (only even numbers) in rtty messages
RTTY_TIME on/off - send time in rtty messages
SAT (or SATELLITES) on/off - send heard satellites in rtty messages
APRS on/off - send aprs messages
APRSFRQ n.n - n.n = aprs frequency in MHz
APRSCALL string - aprs callsign (up to 6 characters)
SSID n - aprs ssid n = 1 to 15
APRS_ALT on/off - send altitude in aprs ttext
SYMBOL string - symbol from aprs symbol table (2 characters)
RELAY string - aprs relays (WIDE1-1,WIDE2-1)
APRS_EVERY n - time between aprs messages is n x holdoff
TAIL_EVERY n - time between tail text is n x aprs time, 0 = no tail text
TTEXT string - tail text (up to 100 characters)
APRS_UBAT on/off - send battery voltage in aprs ttext
APRS_TEMP on/off - send radio chip temperature in aprs ttext
CWID on/off - send cwid messages
CWIDMESS string - cw message (up to 25 characters)
CWID_ALT on/off - send altitude via cw
CWID_UBAT on/off - send battery voltage via cw
CWID_WWL
n - n = characters of wwlocator (only even numbers) in cw messages
CWID_EVERY n - time between cw messages is n x holdoff
CW_SPEED n n = cw speed in wpm
DISP - show parameters
DEF - set default values
SAVE - save parameters to flash
cmd>

Význam jednotlivých príkazov:

BUTTON -
tlačidlo na doske môžeme využívať na vypínanie sondy. Ak ale sondu chceme vypustiť balónom, tak túto funkciu môžeme vypnúť. Budeme mať istotu, že sonda sa nevypne náhodne počas letu.
LEDS - energiu môžeme ušetriť, keď počas letu sondy ledky nebudú svietiť, veď ajtak by ich nikto nevidel. Po zapnutí sondy ledky vždy fungujú, ale keď sme nastavili OFF, tak približne po 10 minutách sa automaticky vypnú.
POWER - slúži na nastavenie výstupného výkonu vysielača. 0 = najmenší, 7 = najväčší výkon (cca 40 mW).
APRSFRQ - kmitočet na vysielanie APRS paketov (štandardne sa používa 432,500 MHz)
RTTYFRQ - kmitočet na vysielanie RTTY textu. Tento kmitočet platí aj pre vysielanie CW identifikácie.
APRSCALL - volací znak pre APRS pakety. Môže byť len značka, ale môže byť spolu aj s SSID (NOCALL-n).
RTTYCALL - volaci znak pre RTTY.
CWIDMESS - text ktorý je vysielaný ako cw identifikácia. Keď na začiatok textu napíšeme znak >, vysielanie sa začne signálom "pozor": -.-.- usnadní to dekódovanie pre programy, ako sú Dl-FlDigi alebo MixWin.
RTTY - zapínanie, alebo vypínanie vysielania RTTY textu.
RTTY_TME - zapínanie, alebo vypínanie vysielania času v RTTY textu.
RTTY_WWL - vysielanie lokátora v RTTY textu. n je počet znakov. Keď n = 0 tak wwl sa nevysiela.
HOLDOFF - časový interval medzi vysielaniami RTTY textu v sekundách.
BAUD - rýchlosť RTTY vysielania v baudoch (max. 300).
DBITS - počet dátových bitov. Povolená hodnota 7 alebo 8.
SBITS - počet stop bitov. Povolená hodnota 1 alebo 2.
SHIFT - frekvenčný posuv medzi 0 a 1. Povolené hodnoty pre jednotlivé posuvy sú: 1-270, 2-540, 3-810, 4-1080 Hz
TEMP - povoliť alebo zakázať vysielanie teploty v RTTY texte. (Teplota je teplotou radiového čipu a nie okolia.)
ALT - povoliť alebo zakázať vysielanie výšky. Keď sa sonda používa ako tracker v aute, je zbytočné vysielať výšku.
SPEED - povoliť alebo zakázať vysielanie rýchlosti.
COURSE - povoliť alebo zakázať vysielanie smeru pohybu.
UBAT - povoliť alebo zakázať vysielanie napätia batérie.
USYS - povoliť alebo zakázať vysielanie napätia po meniči - napájanie systému. Je to konštantný údaj, slúži na testovanie.
SAT - povoliť alebo zakázať vysielanie počtu počutých satelitov.
APRS - zapínanie, alebo vypínanie vysielania APRS paketov.
SYMBOL - dva znaky ktoré určia, akou ikonkou sa má sonda objaviť na stránke www.aprs.fi. (tabuľka)
SSID - identifikačné číslo za volacím znakom.
RELAY - aprs relays (WIDE1-1,WIDE2-1)
TXD
- čas medzi prepnutím na vysielanie a vysielania prvého bajtu. Možná hodnota od 10 do 500
MICE - paket kódovať podľa predpisu MIC-E, alebo vysielať nekódovaný text.
APRS_EVERY - APRS pakety je zbytočné vysielať veľmi často. Tento parameter určí interval medzi vysialaniami paketov.
TAIL_EVERY - interval medzi vysielaniami  informačného textu.
TTEXT - informačný text, ktorý sa pripojí za paketom obsahujúcim polohu sondy.
CWID_WWL - vysielanie lokátora v CWID textu. n je počet znakov. Keď n = 0 tak wwl sa nevysiela.
LWWL - zapínanie, alebo vypínanie vysielania dlhého (10 znakov) WW lokátora.
CWID - zapínanie, alebo vypínanie vysielania CW identifikácie.
CWID_EVERY - Tento parameter určí interval medzi vysialaniami cw identifikácie.
CW_SPEED - rýchlosť vysielania cw identifikácie vo WPM (slovo za minútu).
CWID_UBAT -
povoliť alebo zakázať vysielanie napätia batérie s CW.
CWID_ALT- povoliť alebo zakázať vysielanie výšky s CW.
DISP - ukáže nastavené parametre.
SERCOM - rýchlosť sériového komunikačného portu na konektore sondy.
DEF - nastavenie parametrov do prednastavených hodnôt.
SAVE - uloženie nastavených parametrov.

Typické parametre:

cmd>disp

Current parameters:

BUTTON ON
LEDS OFF
POWER approx. 100 mW
UART 9600 8-N-1
HOLDOFF 10 s
LONG WWL: OFF
RTTY ON
RTTY and CWID FREQUENCY: 434.500 MHz
RTTY CALLSIGN: OM3BC/AM
RTTY BAUDRATE: 100 Bd
RTTY SHIFT: 540 Hz
RTTY DATA BITS: 7
RTTY STOP BITS: 2
RTTY TEMPERATURE: OFF
RTTY ALTITUDE: ON
RTTY SPEED: OFF
RTTY COURSE: OFF
RTTY BATTERY VOLTAGE: ON
RTTY SATELLITES: ON
RTTY WWL: OFF
RTTY TIME: ON
APRS ON
APRS FREQUENCY: 432.500 MHz
APRS CALLSIGN: OM3BC-11
APRS RELAY: WIDE1-1
APRS SYMBOL: /O
APRS EVERY: 1
APRS ALT: ON
APRS TAIL TEXT EVERY: 1
APRS TAIL TEXT:  Modified RS-41 balloon tracker
APRS UBAT: ON
APRS TEMP: ON
CWID ON
CWID MESSAGE: TEST DE OM3BC/AM
CWID speed: 60 WPM
CWID EVERY: 5
CWID WWL: 6 characters
CWID UBAT: OFF
CWID ALT: OFF
cmd>

Záver:

Pôvodnú prameň je možné nájsť tu
.
Hex súbor ktorý je treba vložiť do sondy.
Na programovanie som používal programátor ST-LINK V2, ktorý som kúpil na aliexpress.
Zapojenie:

Konektor RS-41:


|-----------|
|2 4 6 8 10|
|1 3 5 7 9 |
|---   ----|

1 - GND
2 - Uart3 Rx
3 - Uart3 Tx
4 - PB1 * (10k + cap + 10k)
5 - Vcc (Boost out)
6 - VBAT
7 - RST
8 - SCL
9 - SDI
10- GND

Programátor:

 RS41 ----- ST-LINK
===================
Pin 1 ----- GND
Pin 5 ----- 5.0V
Pin 8 ----- SWCLK
Pin 9 ----- SWDIO

USB - TTL prevodník:

RS41 ------ USB-TTL
===================
Pin 1 ----- GND
Pin 2 ----- TxD
Pin 3 ----- RxD