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
Od
januára 2024 je do RS41 inštalovaný nový typ procesora. Má väčšiu flash
pamäť a spotrebuje menej energie. Hoci sú staré a nové procesory spätne
kompatibilné, bohužiaľ nepoužívajú vo všetkých prípadoch rovnaké piny.
Z tohto dôvodu nie je možné starý program použiť na novom hardvéri.
Keďže som sa aj tak musel popasovať s firmvérom, nastal čas na malé
doladenie. V poslednej dobe je RTTY režim zatlačený do úzadia a viac sa
využíva HORUS. Je to do istej miery pochopiteľné, aj keď veľmi
neoceňujem, že o ID treba žiadať centrálne a niekto iný rozhoduje, s
akým ID môže sonda letieť. Keďže HORUS používa moduláciu 4FSK, prenos
paketu trvá oveľa kratšie ako pri RTTY. Z tohto dôvodu bol tento režim
zahrnutý do nového firmvéru.
Aj tu platia informácie a rady napísané o hardvéri.
Tento firmvér si už poradí s externými senzormi,
takže ak senzor nie je poškodený, môžeme ho použiť (aj keď to zvyšuje
spotrebu).
Parametre sériového portu sú stále 9600N1.
Po zapnutí sa sonda prihlási s nasledujúcou správou: RS41 based payload for STM32F100 (RS41 based payload for STM32L412).
Aké príkazy a v akej forme sa dajú používať to si môžeme vyžiadať príkazom HELP, H alebo ? .
Aktuálne parametre je možné zobraziť pomocou príkazu DISP.
Ako prvý krok prepíšeme N0CALL na náš vlastný volací znak (APRS a RTTY).
Potom môžeme upraviť ostatné parametre. Po naprogramovaní nie je povolený žiadny z režimov. Povolíme tie, ktoré chceme použiť.
Ak sa program po načítaní nespustí, skontrolujte, či sú v programátore nastavené správne konfiguračné bity.


STM32L412
STM32F100
firmvér pre sondy pred rokom 2024 (STM32F100 vrátane V).
firmvér pre sondy od roku 2024 a novšie (STM32L412 od W).