Satelita GreenCube (IO-117) i FT991

Satelita GreenCube ma na celu pokazanie autonomicznego laboratorium biologicznego do uprawy roślin na pokładzie platformy CubeSat. Projekt satelitarny jest prowadzony przez zespół badawczy S5Lab na Uniwersytecie Sapienza w Rzymie: https://www.s5lab.space/index.php/greencube-home/ . Sonda została wystrzelona 13 lipca 2022 r. i została umieszczona orbicie okołoziemskiej o „średniej wysokości” (MEO) około 6000 km. GreenCube zawiera nasiona microgreens (brassicacae) w najdalszym jak dotąd eksperymencie uprawy roślin w warunkach mikrograwitacji. Naczynie ciśnieniowe jest w stanie samodzielnie monitorować skład i ciśnienie powietrza, wilgotność, recyrkulację powietrza, warunki oświetleniowe, a także optycznie monitorować wzrost roślin za pomocą kamer VIS i IR. Zespół S5Lab umożliwia sterowanie satelitą i komunikację w dwóch pasmach (UHF i pasmo S) między 5800 a 10000 km zasięgu, ponad 5 razy większym niż „zwykłe” odległości stosowane w misjach LEO CubeSat. Dodatkowy ładunek został opracowany przez Institute of Space Systems na Uniwersytecie w Stuttgarcie – silnik PPT (Pulsed Plasma Thruster), który będzie używany jako system kontroli położenia.

Podsystem telekomunikacyjny GreenCube ma funkcję transpondera cyfrowego dostępną dla społeczności radioamatorskiej. Może działać w trybie czasu rzeczywistego oraz w trybie „store & forward” i wymaga on amatorskiej stacji radiowej z:
– komputerem z systemem Windows
– anteną kierunkową (zalecane co najmniej 10 dBi)
– połączeniem audio między transceiverem a komputerem.

Częstotliwość pracy jest taka sama jak w kanale telemetrycznym (435,310 MHz), a funkcja digipeatera jest uruchomiana przynajmniej raz w tygodniu w weekendy (od piątku o 00:01 UTC do niedzieli o 23:59 UTC), z możliwością przedłużenia. Oprogramowanie potrzebne do komunikacji z satelitą wraz z przewodnikiem technicznym dotyczącym konfiguracji i funkcji GUI (GreenCube_Digipeater.zip) można pobrać tutaj: https://www.s5lab.space/index.php/digipeater/ . Plik zawiera instrukcję obsługi, graficzny interfejs użytkownika (GUI), oprogramowanie Terminal Node Controller (TNC) oraz skrypt GNURadio do odbierania i przesyłania pakietów danych. W sieci można znaleźć także alternatywne oprogramowanie.

Satelita GreenCube posiada także nazwę IO-117, nadaną przez AMSAT: https://www.amsat.org/greencube-designated-italy-oscar-117-io-117/ . Unikalna cecha, jaką jest duża wysokość orbity skutkuje znacznie dłuższym niż w przypadku satelitów LEO czasem widzialności IO-117 (rzędu godziny), co umożliwia łączności na dystansach między stacjami nawet 12500 km.

Poniższe linki zawierają użyteczne porady i informacje o sposobach wykorzystania transpondera cyfrowego IO-117:
https://www.amsat.se/2022/11/20/greencube-operation-tips-from-k8dp-and-3b8du/
https://fg8oj.com/news/greencube-digipeater
https://orbit.ing-now.com/satellite/53106/2022-080b/greencube/
https://mobile.twitter.com/st2nh/with_replies
https://twitter.com/tomek_sp5lot
https://www.satblog.info/greencube-digipeater/

Przygotowanie mojego sytemu do pracy nie okazało się trudne. W pierwszej kolejności dostosowałem program SatPc32 – ściągnąłem najnowszy plik keplerowski (Update Keps) oraz dodałem linię dostosowaną do FT991 jak niżej w pliku Doppler.SQF (który można znaleźć w menu: ? – Auxiliary Files):

IO-117,435308.7,435308.7,DATA-USB,DATA-USB,NOR,0,0

W SatPc32 w oknie Satellites – Available pojawił się IO-117, który po podwójnym kliknięciu został umieszczony w kolumnie „Selected”, co umożliwiało śledzenie tego satelity przez system antenowy oraz korekcję Dopplera TRXa.

SatPc32
Do wyznaczania parametrów śledzenia wykorzystałem (jak zwykle) aplikację https://sat.sp3yor.net/ko02 .Koledzy z klubu SP3YOR  stanęli na wysokości zadania i nie zapomnieli o satelicie GreenCube/IO-117. Po wybraniu IO-117 w SatPc32 (albo po ustawieniu w FT991 częstotliwości na 431,100 MHz +/- Doppler) okazało się, że sygnały z digipitera są słyszalne praktycznie natychmiast po pojawieniu się satelity nad horyzontem, nawet bez precyzyjnego ustawienia anteny obrotowej.

Po rozpakowaniu pliku GreenCube_Digipeater.zip zapoznałem się instrukcją GreenCube Digipeater Manual v1.1.pdf, do której podszedłem w sposób twórczy. Do uruchomienia niezbędny był w systemie program GNU Radio dla systemu Windows. Dużo o tej aplikacji słyszałem. GNU Radio jest darmowym środowiskiem zorientowanym na tworzenie oprogramowania do cyfrowego przetwarzania sygnałów, np. do implementacji SDR. Zawiera wiele gotowych modułów (bloków), które realizują określone algorytmy cyfrowego przetwarzania sygnałów, np. filtrację, modulację i demodulację, synchronizację, oraz wiele innych. Istnieje możliwość łączenia tych bloków i w konsekwencji przekazywania danych z jednego bloku do następnego w taki sposób, jak zwykle ma to miejsce w nadajniku i odbiorniku radiowym. GNU Radio umożliwia stworzenie aplikacji, która pobiera dane z jednego strumienia, przetwarza je i następnie umieszcza w innym strumieniu danych. Instalator GR 3.7 Installer (wskazana wersja 3.7.13.5) jest dostępny tutaj: http://www.gcndevelopment.com/gnuradio/index.htm .

Po zainstalowaniu GNU Radio utworzyłem dodatkowy folder, w którym umieściłem rozpakowane z GreenCube_Digipeater.zip pliki: GreenCube_RX_SSB_TX_SSB.grc, DigipeaterTNC.exe oraz DigipeaterGUI.exe. Następnie uruchomiłem GNURadio Companion, wyszukując jego nazwę w menu Start. Nie była wymagana znajomość obsługi programu, wystarczyło załadować skrypt RX_SSB_TX_SSB za pomocą opcji File -> Open (GreenCube_RX_SSB_TX_SSB.grc), a potem uruchomić go, naciskając przycisk “Execute” na środku paska narzędzi.

Uruchomiłem jeden raz i zamknąłem program TNC (używając DigipeaterTNC.exe), aby wygenerować domyślny plik config.ini (jest on w C:/Users/%USERNAME%/GreenCube/). Software TNC w sposób ciągły odbiera strumień bitów z GNU Radio, który powstaje po demodulacji GMSK.

Następnie uruchomiłem program GUI (DigipeaterGUI.exe), oraz otworzyłem do edycji plik konfiguracyjny „File – open conf file„. Wybrałem odpowiednie kanały wejściowe dla radia FT991:

; AudioCard_RX_DeviceName = Głośniki (6 - USB Audio CODEC)
; AudioCard_RX_SampleRate = 48000
; AudioCard_TX_DeviceName = Mikrofon (6 - USB Audio CODEC)
; AudioCard_TX_SampleRate = 48000

;; Specify whether in LSB or USB (all uppercase)
SSB_Mode = USB

oraz wprowadziłem swój znak:

;; Your callsign 
CallFrom = SP5GNI

Do sterowania PTT transceivera instrukcja zaleca wykorzystanie HamLib library . Postanbowiłem zrobić to znacznie prościej i wykorzystałem funkcję VOX FT991. W tym celu w jego MENU w pozycji 142 VOX SELECT musiałem zmienić ustawienie na DATA.

Zamknąłem wszystkie pliki i aplikacje oraz uruchomiłem ponownie w nastepującej kolejności, dając każdej aplikacji czas na uruchomienie: SatPC32 (IO-117, C+, R+) -> GNURadio -> “Execute” button -> DigipeaterTNC – DigipeaterGUI. Jeśli w głośniku transceivera da się usłyszeć ramki transmisji digiptera, to w oknie „GreenCube SSB Transceiver” na wodospadzie powinny być widoczne sygnały jak niżej:

GNU2

Za pomocą gałki TRXa można skorygować ustawienie częsotliwości. Teoretycznie w oknie interfejsu graficznego GUI powinny pojawić się zdekodowane teksty poszczególnych pakietów z digipitera. Niestety – fakt, że sygnał jest odbierany nie oznacza, że zostanie prawidłowo zdekodowany. Musi być dostatecznie „silny” – mieć odpowiednio duży stosunek sygnał/szum. W przypadku mojego systemu dekodowanie następowało, gdy satelita był dość blisko. Niestety nawet gdy odległość od satelity była poniżej 7000 km, to nie wszystkie ramki były dekodowane. Przydałaby się lepsza antena…

Pierwszą łączność udało się zrobić z ST2NH. Poniżej zrzuty z okna GUI. Wytłuszczono moje QSO:

[02/12 20:18:01.037] Received: EA3EA>SM0TGU, GreenCube, STORE=0 UR 599 JN01um QSL?
[02/12 20:18:06.832] Received: S57NML>OK2UZL, GreenCube, STORE=0 JN76OD
[02/12 20:18:11.528] Received: OK2UZL>ES4RM, GreenCube, STORE=5 599 JN79sa op.Ludek
[02/12 20:18:12.631] Received: Beacon 02/12 19:18:09.990
[02/12 20:18:20.532] Received: G0ABI>ALL, GreenCube, STORE=0 CQ IO80bu
[02/12 20:18:28.944] Received: OK2UZL>S57NML, GreenCube, STORE=5 599 JN79sa op.Ludek
[02/12 20:18:29.051] Transmitted: SP5GNI>ST2NH, GreenCube, STORE=0 UR599 KO02li
[02/12 20:18:42.712] Transmitted: SP5GNI>ST2NH, GreenCube, STORE=0 UR599 KO02li
[02/12 20:18:54.437] Received: IK7EOT>ES4RM, GreenCube, STORE=0 JN80PJ 599 QSL ?
[02/12 20:18:58.136] Received: Alt. Beacon 02/12 19:18:55.384
[02/12 20:19:02.930] Received: IW7DOL>OK2UZL, GreenCube, STORE=0 599 JN90ci QSL?
[02/12 20:19:11.635] Received: ST2NH>SP5GNI, GreenCube, STORE=0 RR 5NN TU
[02/12 20:19:22.027] Received: DL5GAC>CQ, GreenCube, STORE=0 JN47UT
[02/12 20:19:26.036] Received: IK7EOT>ES4RM, GreenCube, STORE=0 TNX QSO 73 TU
[02/12 20:19:27.127] Received: EA3EA>EA3BT, GreenCube, STORE=0 UR 599 JN01um QSL?
[02/12 20:19:35.206] Transmitted: SP5GNI>ST2NH, GreenCube, STORE=0 TNX firs QSO!
[02/12 20:19:35.338] Received: IK7EOT>ES4RM, GreenCube, STORE=0 TNX QSO 73 TU
[02/12 20:19:42.631] Received: Beacon 02/12 19:19:40.012
[02/12 20:19:45.037] Received: OK2UZL>IW7DOL, GreenCube, STORE=5 599 JN79sa op.Ludek
[02/12 20:19:46.136] Received: EA3EA>SM0TGU, GreenCube, STORE=0 UR 599 JN01um QSL?
[02/12 20:19:55.637] Received: OK2UZL>IW7DOL, GreenCube, STORE=5 599 JN79sa op.Ludek
[02/12 20:20:07.532] Transmitted: SP5GNI>ST2NH, GreenCube, STORE=0 TNX first QSO!
[02/12 20:20:17.033] Received: EA7KI>ALL, GreenCube, STORE=1 CQ CQ EA7KI IM76RR
[02/12 20:20:20.925] Received: EA3EA>ES4RM, GreenCube, STORE=0 UR 599 JN01um QSL?
[02/12 20:20:48.028] Received: IK7EOT>EA7KI, GreenCube, STORE=0 JN80PJ 599 QSL ?
[02/12 20:21:17.934] Received: EA3EA>ES4RM, GreenCube, STORE=0 UR 599 JN01um QSL?

Mirek SP5GNI

Skomentuj

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *