Nadawanie SSB przez satelitę QO-100 dla oszczędnych

Od roku 2019, kiedy to pojawił się na orbicie geostacjonarnej satelita amatorski QO-100 pojawiło się wiele rozwiązań technicznych umożliwiających wykorzystanie go do łączności SSB, ale rozwiązanie Kacpra SP8ESA bije wszystkie na głowę nie tylko oryginalnością, ale także minimalnym  kosztem budowy nadajnika.

Dlaczego? Sam pomysł wykorzystania modułu LoRa jest po prostu niesamowity.

Dla przypomnienia – LoRa (Long Range https://pl.wikipedia.org/wiki/LoRaWAN ) to technologia radiowa stworzoną do przesyłania cyfrowych danych na duże odległości przy minimalnym zużyciu energii. Pracuje głównie w nielicencjonowanych pasmach ISM (433 MHz i  868 MHz), jest także wykorzystywana w krótkofalarstwie np. do przesyłania ramek APRS. Pojawiła się także odmiana LoRa na pasmo 2,4 GHz i przeznaczone na ten zakres produkty, i  tu się zaczyna nasza historia.

Łatwo dostępny specjalizowany moduł transceivera LoRa1280F27-TCXO https://www.nicerf.com/lora-module/2-4ghz-rf-module-lora1280f27-tcxo.html  charakteryzuje się niewielkimi rozmiarami (16×32 mm), niską ceną, mocą wyjściowa RF do 500mW (+27dBm) oraz wbudowanym termo-kompensowanym generatorem 0,5ppm. Kacper wybrał  moduł Raspberry Pi Pico 2 jako mikrokontroler do przetwarzania i sterowania. Moduł ten jest też niewielki (21x51mm), choć procesor na jego pokładzie jest całkiem „porządny” (dwurdzeniowy ARM Cortesx-M33). Pozostało „tylko” opracować odpowiedni software – i tu wielkie brawa dla Kacpra że to potrafił zrobić!

Podstawowe własności systemu LoRa/Rasberry:
– audio z mikrofonu  komputerowego  przez  USB lub z modułu mikrofonu elektretowego.
– cyfrowe przetwarzanie sygnału w czasie rzeczywistym (filtr pasmowy, equalizer, kompresor, modulacja SSB)
– praca w pełnym zakresie 2300-2450 MHz
– precyzyjna kalibracja częstotliwości
– możliwość samodzielnej pracy bez komputera po podłączeniu wyświetlacza OLED, enkodera obrotowego i przycisków
– komputerowy interfejs użytkownika GUI (napisany w języku Python)…

Oryginalny wpis Kacpra SP8ESA jest na Githubie: https://github.com/SP8ESA/SX1280_QO100_SSB_TX

Schematy, zdjęcia oraz bardzo cenne uwagi można znaleźć na stronie Andrzeja SP8NTP: SP8NTP – 29> FANTASTYCZNY WYNALAZEK NASZEGO MŁODEGO KOLEGI z CHEŁMA KACPRA SP8ESA

Projekt jest tak ciekawy, że musiałem go sprawdzić. Moje doświadczenia mogą się przydać  przede wszystkim takim jak ja, którzy z trudem nadążają za postępem techniki HI, a chcieli by uruchomić taki nadajnik według SP8ESA.

Na początek na znanym zagranicznym portalu zakupiłem moduły LoRa (sprzedawane są z reguły w parach, koniecznie trzeba wybrać wersję LoRa1280F27-TCXO (czyli 0,5ppm, bo istnieje wersja ze zwykłym generatorem 10 ppm). Następnie już w kraju zamówiłem  Raspberry PI Pico 2 . Postanowiłem uruchomić zestaw w najprostszej konfiguracji, czyli z mikrofonem podłączonym do komputera. Schemat połączeń jest naprawdę prosty:
aby go obejrzeć kliknij i otwórz:  Rys. 1. Podstawowy schemat nadajnika (SP8ESA, SP8NTP)

Nadajnik można wykonać nawet w postaci „pająka”, jak prototyp kolegi SP8ESA poniżej (moduł SX1280 umieszczony jest od spodu płytki Rasberry Pi Pico 2).

Rys. 2. Prototyp nadajnika SP8ESA

Można wykorzystać płytkę uniwersalną, ja zastosowałem płytkę PCB opracowaną przez SP8NTP (w sieci można znaleźć  kilka gotowych projektów PCB). Moduł Raspberry z wlutowanymi standardowymi gold-pinami  umieszczony jest w listwach 2×20. Moduł LoRa z jednej strony ma wlutowane piny 1,27mm, a z drugiej 2mm (piny i listwy są rzadko spotykane, ale  do kupienia w sieci). Jako wyjście RF wlutowałem złącze krawędziowe SMA. Lepszym rozwiązaniem może być  dolutowanie bezpośrednio na płytce modułu LoRa kabla RG405 z oprawionym gniazdem SMA (wtedy usuwamy odpowiedni pin ze złącza modułu).

Rys. 3. Zmontowana płytka z modułami

Procedura ładowania i uruchomienia software

Z kilku dostępnych wersji wybrałem oprogramowanie wersja 1.5.1 dostępne na stronie Adama SP9ACQ, który wniósł swój wkład w rozwój tego projektu: Release Version 1.5.1 · AdamSwiercz/SX1280_QO100_SSB_TX_variant

Należy kliknąć po kolei na pliki gui.kopia.3.py , SX1280SDR.uf2 oraz sx1280_profile.json, co spowoduje ich automatyczne ściągnięcie do folderu Pobrane. Aby wgrać firmware do Raspberry należy wcisnąć przycisk BOOTSEL i podłączyć moduł do gniada USB (można potem zwolnić przycisk). W folderze  „Ten komputer” trzeba znaleźć RPI-RP2 drive i skopiować do niego  SX1280SDR.uf2 – to wszystko!

W następnej kolejności należy uruchomić program interfejsu użytkownika GUI dla W10/W11   gui.kopia.3.py, napisany w języku Python. Jeśli Python nie jest zainstalowany w komputerze, należy ściągnąć jego wersję dla Windows, np. ze strony: Python Releases for Windows | Python.org (Latest Python install manager, klinąć plik i dokończyć instalację). Następnie trzeba dodać obsługę RS232 (portu szeregowego) w Pythonie –  otwórz wiersz polecenia (Win+R – cmd) i wpisz:

python -m pip install pyserial

Odczekaj na komunikat o pomyślnej instalacji.

Po ponownym dołączeniu Raspberry do komputera można sprawdzić w menadżerze urządzeń, czy jest on widziany jako „Urządzenie szeregowe USB” i pod jakim numerem.

Kliknięcie gui.kopia.3.py  (u mnie na pulpicie) powinno uruchomić się okno GUI. W zależności od wersji  Windows, uruchamianie GUI może wymagać użycia pliku wsadowego, np. GUI.bat jak niżej (przejście do folderu, w którym znajduje się plik, potem uruchomienie skryptu Python):

cd /d „C:\users\nazwa\desktop”
python „gui.kopia.3.py”

W tym samym folderze (u mnie na pulpicie) należy umieścić tekstowy plik konfiguracyjny sx1280_profile.json.

Przykładowy wygląd GUI dla wersji 1.5.1 pokazano niżej, można wykorzystać takie ustawienia na początek.

Rys. 4. Okno GUI

Najważniejsze informacje o GUI

– aby podłączyć odpowiedni port szeregowy trzeba wcisnąć „Connect
– warto zaznaczyć „Scroll Tune”, wtedy częstotliwość nadawania zmienia się kręcąc kółkiem myszy
TX Power – zakres regulacji -18 do 13 dBm – te wartości nie mają nic wspólnego z rzeczywista mocą wyjściową modułu LoRa
– nie włączać „Enable VOX
– w zakładce „TX Control”  jest przycisk „Start CW” – bardzo użyteczny do testowania i pomiarów mocy (nieużyteczny do kalibracji częstotliwości – nośna niedokładnie odpowiada ustawionej częstotliwości!)
– w zakładce „Console” wciśnięcie „Load Profile” powoduje wczytanie zawartości pliku sx1280_profile.json oraz odpowiednie uaktualnienie nastaw w zakładce „RF & DSP”. Powinno się to robić po każdym uruchomieniu układu, nawet po przerwaniu komunikacji (np. po „Disconnect”)
– Wciśnięcie „Save Profile” powoduje nadpisanie starego i stworzenie nowego pliku sx1280_profile.json z aktualnymi nastawami parametrów
– aby zmiany parametrów zostały uwzględnione, najlepiej dokonywać ich w pozycji nieaktywnego wyjścia RF, czyli „TX OFF” i „Stop” CW. Po zmianie parametrów można ponownie aktywować wyjście RF.

Zestawiłem układ testowy z miernikiem mocy opartym o AD8318 podłączonym poprzez tłumik 30dB jak na fotografii niżej.

Rys. 5. Układ testowy SP5GNI

Pierwsze podłączenie i uruchomienie wykazały:
–  prąd pobierany z wyjścia USB w stanie spoczynku to ok. 110mA
–  prąd pobierany dla „TX Power” -6dBm to ok. 140mA, moc na wyjściu 12dBm (ok. 16 mW)
–  prąd pobierany dla „TX Power” 0dBm to ok. 200mA, moc na wyjściu 18dBm (ok. 63 mW)
–  prąd pobierany dla „TX Power” 6dBm to ok. 290mA, moc na wyjściu 23dBm (ok. 200 mW)
–  prąd pobierany dla „TX Power” 10dBm to ok. 360mA, moc na wyjściu 25dBm (ok. 300 mW)
–  prąd pobierany dla „TX Power” 13dBm to ok. 400mA, moc na wyjściu 26dBm (ok. 400 mW)

(W przypadku drugiego egzemplarza modułu SX1280 udało się uzyskać maksymalną moc tylko 24dBm, czyli ok. 200 mW).

Uruchomienie nadawania SSB z mikrofonem dołączonym do komputera

Aby przekierować sygnał z mikrofonu do modułu Raspberry należy dostosować ustawienia Windows 10/11:
– podłączyć Raspberry do komputera
– prawo-klik na głośnik na pasku zadań
Otwórz ustawienia dźwięku
Panel sterowania dźwiękiem lub Więcej ustawień dźwięku
Nagrywanie
Mikrofon – Właściwości
Nasłuchiwanie – wybrać Głośniki (SX1280 …)
– zaznaczyć „Nasłuchuj tego urządzenia
OK
Poziomy – moje doświadczenia wskazują, że finalny sygnał SSB jest najlepszy dla ustawień wzmocnienia mikrofonu i wydajności w okolicy wartości maksymalnych.
OK, OK…

Uwaga 1 – system Windows potrafi zmienić domyślne urządzenie wyjściowe na Głośniki (SX1280 …). Jeśli to nastąpi i „nic nie słychać”, to trzeba ręcznie przywrócić poprzednie urządzenie domyślne systemu.
Uwaga 2 – system Windows potrafi w zakładce „Nasłuchiwanie” zmienić urządzenie wyjściowe „Głośniki (SX1280 …) na domyślne ustawienie Windows. Jeśli wystąpi „brak sygnału SSB”, to trzeba ponownie wykonać wyżej opisane operacje.

Do odsłuchu sygnału SB bezpośrednio na 2,4 GHz wykorzystałem najpierw swój odbiornik SDR Adalm Pluto. Później podłączyłem wyjście modułu LoRa do mojego systemu do QO-100, czyli po prostu zamiast Adalm Pluto (13m kabla, wzmacniacz 30dB, antena Helix). Wysterowanie „TX Power” -3dBm wystarczyło, aby mój sygnał odbierany przez WebSDR był na poziomie S9. Korzystając z odsłuchu własnego sygnału skorygowałem ustawienia „Bandpass Filter” i „Equalizer”, a następnie skalibrowałem częstotliwość nadawania „PPM”.

Jedna z przyczyn mojego zainteresowania nadajnikiem SSB z modułem LoRa było wykorzystanie go do pracy z lokalizacji terenowej zamiast FT991 i konwertera DXpatrol, jak to zostało opisane Tutaj . Takie rozwiązanie eliminuje potrzebę wykorzystania transceivera oraz kabla RF, jeśli umieści się płytkę przy antenie i wykorzysta się kabel  USB do sterowania, a nawet do zasilania. Problem związany ograniczoną dopuszczalna długością kabla USB można rozwiązać stosując niedrogi przedłużacz „USB RJ45 Extension adapter”, który wykorzystuje 2 adaptery i typowy kabel sieciowy RJ-45 o długości nawet 50m (adaptery to układy aktywne z układem CSJ1073A w środku). Poglądowy rysunek takiego połączenia można zaleźć na stronie na stronie Andrzeja SP8NTP . Sprawdziłem jak by to zadziałało dla kabla 20m w układzie testowym jak niżej.

Rys. 5. Płytka nadajnika połączona z PC kablem 20m

Ponieważ zasilanie modułu LoRa jest przesyłane tym samym kablem, można się było spodziewać spadku napięcia zasilania spowodowanego rezystancją kabla. Pomiary wykazały że:
–  napięcie zasilania USB na wejściu Raspberry w stanie spoczynku  to 4,38 V
–  napięcie na wejściu Raspberry dla „TX Power0dBm to 4,04V, moc na wyjściu 17dBm (ok. 50 mW)
–  napięcie na wejściu Raspberry dla „TX Power” 6dBm to 3,60V, moc na wyjściu 22dBm (ok. 150 mW)
–  napięcie na wejściu dla „TX Power13dBm to 3,20V !, moc na wyjściu 24dBm (ok. 250 mW)

Szczególnie dla ostatniego przypadku –  takie warunki pracy dla Raspberry Pi Pico 2 są poza dopuszczalnymi limitami. Trzeba uczciwie dodać, że zdarzały się przerwy w komunikacji.

W ramach testu podłączyłem układ na zewnątrz, bez żadnego wzmacniacza za pomocą przedłużacza 20m USB do swojej anteny Helix z czaszą 1,2m. Mój sygnał SSB na WebSDR był słyszalny na poziomie S6. Mało komfortowo, ale QSO dałoby się zrobić!

W rozwiązaniu docelowym należałoby zasilanie dla modułu LoRa przesyłać oddzielnym kablem. Najlepiej wykorzystać standardowe napięcie 13,8V, z którego można by zasilić przetwornicę obniżająca do 5V dla modułu LoRa, oraz zasilać jakiś wzmacniacz o mocy wyjściowej 2-5 W. Taka konfiguracja do pracy terenowej, szczególnie przy wykorzystaniu WebSDRa wydaje się prosta oraz niezwykle wygodna w instalacji i użytkowaniu.

Na przytoczonych stronach Kacpra SP8ESA i Andrzeja SP8NTP jest mnóstwo informacji o różnych opcjach projektu, warto też śledzić jego rozwój i zmiany. Jedną z opcji jest samodzielny nadajnik (bez pomocy komputera). Nawet moja płyta umożliwia budowę takiego układu z wykorzystaniem wyświetlacza OLED, enkodera obrotowego oraz modułu mikrofonu elektretowego (np. z MAX9814). Dodanie jednego tranzystora umożliwia pracę CW. Dla polepszenia stabilności termicznej częstotliwości pracy można rozlutować obudowę modułu LoRa i przenieść generator TCXO na zewnątrz, z dala od źródła ciepła, jakim jest wzmacniacz mocy. Można też zbudować super-stabilne źródło częstotliwości wzorcowej, jak to pokazano tutaj: SP8NTP (projekt nr 30).

Rys. 6. Nadajnik SP8NTP

Pojawiają się też kolejne wersje oprogramowania, usuwające niedostatki i wprowadzące nowe funkcjonalności. Przykładowo – na dzień 4 sierpnia 2026 najnowsza wersja  Release v2.2.0 — smoother UX, anti-click TX ramps · SP8ESA/SX1280_QO100_SSB_TX umożliwia nadawanie z modulacją FM (oczywiście nie dopuszczalne przez QO-100!).

Jestem przekonany że to nie ostatnie słowo Kacpra SP8ESA, a także innych współkonstruktorów tego unikatowego rozwiązania. W końcu moduł SX1280 to transceiver – może da się uruchomić go także do odbioru z satelity QO-100?

Mirek SP5GNI

Skomentuj

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