Witam wszystkich przeglądających ten wątek.
Przedstawiam tutaj projekt nowego transceivera nazwanego Joker, który tworzę obecnie przy ścisłej współpracy z Piotrem SP9LVZ.
Pomimo tego, że wachlarz dopracowanych urządzeń fabrycznych jest bardzo szeroki, to jednak mamy często chęć wykorzystania możliwości,
danego nam przywileju, pracy na sprzęcie zaprojektowanym i wykonanym przez siebie samego. Tak właśnie było w moim przypadku.
Mój staż w krótkofalarstwie nie jest długi, a co za tym idzie, mam ograniczoną wiedzę oraz doświadczenie w tym temacie.
Staram się jednak nadrabiać to podstawowymi umiejętnościami z zakresu elektroniki i programowania.
Wykorzystując dodatkowo dobry zwyczaj dzielenia się wypracowaną przez lata praktyką przez kolegów z dużym doświadczeniem,
zdecydowałem się poprosić o pomoc Piotra SP9LVZ i to była bardzo dobra decyzja z mojej strony.
Piotr ma już na swoim koncie nie jeden wykonany samodzielnie transceiver, więc mógł wesprzeć mnie sporą dawką teorii i praktyki.
Podróż z Piotrem przez szlak budowy transceivera to była dla mnie bardzo pouczająca wycieczka.
Nauka przez zabawę i przyjemne z pożytecznym, to w ogromnym skrócie proces jaki towarzyszył mi przy zrozumieniu aspektów radiotechniki.
Kilka słów historii jak to się zaczęło.
Przed kontaktem z Piotrem SP9LVZ próbowałem w marcu tego roku (2025) samemu zbudować najpierw odbiornik na układzie NE612.
Mój kolega klubowy Piotr SP9TPZ przekazał mi początkowe wiadomości o budowie odbiornika, trochę wzorów, wykresów, teoretycznie wydawało to się łatwe.
Wtedy nie zdawałem sobie jeszcze sprawy z czekających na mnie wyzwań. Zamówiłem układ NE612, wzmacniacz operacyjny i mój pierwszy generator,
który miał pracować jako lokalny oscylator, a w przyszłości przydać się do innych rzeczy. Tyle z podstaw radiotechniki wiedziałem, żeby układ zaczął działać.
Generator FY6900 to był dobry zakup, posiada dwa wyjścia, które można ze sobą synchronizować, potrafi generować przebiegi przesunięte w fazie,
o czym wtedy nawet nie wiedziałem, jest lekki, zgrabny i prosty w obsłudze. Dzisiaj wiem, że mój egzemplarz ma przesunięcie 125Hz,
ale wiedząc o tym nie stanowi to dla mnie problemu ponieważ mogę to ręcznie skorygować. Do prostych zastosowań jest w sam raz.
Funkcjonalność tego generatora na pewno wykracza daleko poza moje potrzeby.
Pierwsze uruchamianie NE612 na płytce prototypowej było jednocześnie uciechą i rozczarowaniem. Cieszyłem się, że to w ogóle działa i coś słychać,
ale z drugiej strony mocno odbiegało to od moich oczekiwań. Było dużo szumu, niezależnie od ustawionej częstotliwości zawsze słyszałem broadcast,
dopiero gdzieś w tym chaosie słabo odbierałem stacje amatorskie. Zdałem sobie sprawę, że nie zbuduję odbiornika o zadowalającej jakości bez pomocy kogoś doświadczonego.
Od tego momentu zaczął się kontakt z Piotrem SP9LVZ. Po pierwszych rozmowach w kwietniu bieżącego roku (2025) Piotr wiedział, że nie potrzebuję schematów odbiorników,
które są dostępne wszędzie, tylko szczegółów jego działania na najniższym poziomie, począwszy od świadomego określenia wartości elementów RLC.
Na szczęście sposób w jaki Piotr tłumaczył mi kolejne zagadnienia, był idealnie dopasowany do tego jak byłem w stanie to rozumieć, moja wiedza zaczęła rosnąć wykładniczo.
Na którymś etapie poznania, będąc jeszcze przy układach NE612 sterowanych już sygnałami przesuniętymi w fazie przez generator, miałem przyjemność odsłuchu binauralnego,
bardzo fajne doświadczenie słuchowe. Nie potrafiłem niestety projektować płytek PCB i wszystkie testy robiłem początkowo na płytkach uniwersalnych,
ale z czasem stawało się to coraz bardziej męczące. Jednocześnie za namową Piotra porzuciłem sposób strojenia generatorem FY6900 i zacząłem używać SI5351,
zaś do jego sterowania wybrałem kompaktowy moduł ESP32-S3 TTGO ze zintegrowanym ekranem. Wraz z układem SI5351 dołączyłem enkoder do zmiany częstotliwości.
Skoro układ odbiornika zaczynał wykorzystywać mikrokontroler, pojawiła się możliwość przepuszczania sygnałów audio przez przetworniki ADC/DAC.
Pierwsze takie próby zrobione były na układzie zintegrowanego kodeka ES8388 i płytce dostępnej na stronie PCB Artists.
Było to pierwsze starcie z nieznanym mi wtedy protokołem I2S i nauką sposobu jego przetwarzania od wejścia ADC do wyjścia DAC.
Wszystko co do tej pory Piotr zdołał mi przekazać i wytłumaczyć, starałem się przenieść do świata cyfrowego.
Zostawiając w końcu za sobą NE612, postanowiłem wypróbować mieszacze oparte na kluczach. Tym razem idąc na łatwiznę z płytką PCB,
zamówiłem zestaw ZetaSDR od Radiohobby. Taki zestaw wydawał mi się wtedy atrakcyjny właśnie przez prawie gotową płytkę.
Zmodyfikowałem układ na ZetaSDR, żeby pasował do moich założeń i od tego momentu na poważnie rozpocząłem naukę przetwarzania sygnałów,
głównie pod kątem odbioru stacji krótkofalarskich. Było to interesujące, ale też wymagające, kolejno opanowywałem elementy takiej obróbki,
od cyfrowych filtrów po widmo wodospadu oraz przejść pomiędzy domeną czasu i domeną częstotliwości, wykorzystując do granic moc obliczeniową,
ale zachowując przy tym wysoką jakość dźwięku nie odbiegającą od drogich markowych radiostacji.
Kod powstawał od tzw. czystej karty, nie kopiując rozwiązań z innych opracowań, co czyni projekt Jokera wyjątkowym w podejściu
do realizacji i sposobie przetwarzania dźwięku. Wybierając taką metodę spędziłem wiele godzin, setki prób, a czasem zniechęceń
zanim uzyskałem zadowalający efekt końcowy, ale moim zdaniem było warto choćby dla zaspokojenia własnej ciekawości.
Piotr zgodził się testować u siebie kolejne rozwiązania programowe, ma w swoim QTH przyzwoite warunki antenowe,
pozbawione zakłóceń blokowiska jakich ja doświadczam, więc może trafniej określić spełnienie oczekiwanych parametrów odbiornika.
Na pewnym etapie Piotr stwierdził, że nie jest już w stanie odróżnić słuchowo dźwięku z przetworników ADC/DAC od swoich odbiorników analogowych.
Wydarzyło się też po drodze coś ciekawego. Piotr mocno zakotwiczony w rozwiązaniach analogowych zaczął doceniać możliwości programowe,
a nawet analizować i rozumieć przebieg linii w kodzie, tutaj zaczęło się wzajemne uzupełnianie, wymiana wiedzy i dobra współpraca.
Kolejnym krokiem w moim rozwoju było ekspresowe zapoznanie się z jakimś programem do tworzenia płytek PCB,
wybrałem KiCad ponieważ podobał mi się interfejs i jego intuicyjność. Zaprojektowałem pierwszą w życiu płytkę PCB,
żeby pozbyć się już plastikowej płytki prototypowej i wszystkich jej wad w postaci niepewnych styków itd.
Założenie było takie, że całość cyfrowa miała mieścić się na jednej płytce, nie obejmując jeszcze niczego z zakresu RF.
Wracając do projektu Jokera, nazwa powstała przypadkiem gdy zamówiłem tą pierwszą testową płytkę PCB w kolorze fioletowym
zamiast powszechnie stosowanych zielonej czy niebieskiej. Kolor takiej soldermaski skojarzył mi się z kolorem marynarki dla postaci z filmu Joker,
więc taka nazwa już została jako określenie projektu. Joker to przede wszystkim moduł cyfrowy opierający się na tanich i łatwo dostępnych elementach,
posiadający wszystko co potrzebne do obróbki sygnału i zarządzania modułami podrzędnymi, od których tak na prawdę będzie zależała jakość całości,
ale jednocześnie zachowujący przyzwoity poziom porównywalny z urządzeniami wyższej klasy.
Joker będzie miał bazowy zestaw modułów do wykonania, ale równie możliwym będzie użycie zupełnie innych płytek własnego pomysłu.
Szczegóły modułów zostaną przekazane w kolejnych wpisach. Praca na modułach, które w przyszłości będzie można wymieniać i eksperymentować z nimi,
tworzą jakby projekt typu Niekończąca się opowieść, o ile będą czas i chęci na próbowanie zupełnie innych, nowych podejść do płytek modułowych.
Projektowaniem modułów zajmuje się Piotr, ma jednak większe doświadczenie w tej sprawie. Będą to płytka główna pod moduł cyfrowy, zamiast obecnej testowej,
płytka przedwzmacniacza z tłumikiem antenowym, płytka filtrów pasmowych BPF, płytka filtrów dolnoprzepustowych LPF i płytka wzmacniacza QRP nadajnika.
Z pomocą i doradztwem dołączył do nas Rafał SQ4AVS, który przygotowuje płytkę główną części radiowej tj. demodulator, modulator i wzmacniacze sygnałów audio.
W tej chwili Piotr testuje Jokera na demodulatorach - mieszaczach diodowych ADE-1, ja z kolei używam na razie rozwiązania opartego na kluczach FST.
Oboje używamy też innych filtrów pasmowych. W obu przypadkach mamy odbiór podobny do naszych FTDX10 lub w sporadycznych przypadkach lepszy,
mają na to wpływ subiektywne wrażenia odsłuchu przy wybranych filtrach lub odmiennego głośnika. Moją rolą jest przygotowanie interfejsu i funkcji w programie,
które Piotr proponuje jako koncepcja funkcji transceivera i później wspólnie krok po kroku je testujemy, zmieniamy, sprawdzamy itd.
Skompilowany kod będzie zawsze dostępny publicznie i aktualizowany jeśli zajdzie taka potrzeba, nowe pomysły, zmiany czy poprawki będą na bieżąco wprowadzane.
Na dzień dzisiejszy przy połowie sierpnia (2025) program w pełni funkcjonuje, działa obróbka cyfrowa odbiornika i nadajnika, obsługiwane są emisje SSB i CW.
Dla telegrafistów przygotowany został interfejs wspierający pacę ze stacjami okolicznościowymi, DX-ami i pracę w zawodach przy użyciu bloku pamięci tekstów
oraz raportu automatycznie zmieniającego numerację. Nadawanie telegrafią możliwe jest za pomocą klucza sztorcowego, zewnętrznego klucza automatycznego
albo przy pomocy manipulatora dwudźwigniowego. W tym ostatnim program pozwala wybrać prędkość nadawania oraz ton i głośność dla odsłuchu.
Dodatkowo nadawanie w telegrafii wizualizowane jest na ekranie wodospadu. Została także uruchomiona podstawowa obsługa CAT dla programu logującego.
Ciągle trwają prace nad kolejnymi rzeczami, które dotychczas nie zostały jeszcze napisane.
Joker posiada menu serwisowe, w którym jest możliwość m.in. wyboru obsługiwanych pasm 80-10m, w tym WARC.
Oznacza to, że moduły LPF i BPF mogą mieć dowolnie wybraną ilość zakresów. Jeśli ktoś chce pracować tylko na dolnych pasmach, to menu podręczne
będzie przełączało tylko te pasma i tylko one będą wspierane w modułach zewnętrznych, bez przełączania nieistniejących faktycznie sekcji.
Przykładowo możliwym jest wykonanie na podstawie Jokera transceivera jedno czy dwu pasmowego w wersji mini na własnych BPF i LPF.
Takie podejście do projektu pozwoli każdemu na budowę urządzenia dostosowanego do indywidualnych potrzeb, bez narzuconego z góry jednego rozwiązania.
Z tego też powodu nie będzie zaproponowana żadna konkretna obudowa. Jednego zadowoli wykonanie dużego urządzenia na biurko, innego mniejsza wersja na wyjazdy,
a jeszcze kogoś miniaturka do plecaka, ktoś woli pokrętło na środku, ktoś z prawej strony itd. Płytka modułu cyfrowego z wyświetlaczem nie będzie posiadała miejsca
na wlutowanie przycisków i enkodera, a jedynie wyprowadzenia, do których będzie należało je podłączyć. To z kolei otworzy wyobraźnię konstruktorów do zastosowania
przycisków w dowolnym miejscu obudowy, przycisków dowolnego rozmiaru, kształtu czy podświetlenia. Pomimo tego, że zasadniczym elementem będzie cześć cyfrowa,
to będzie oczywiście opublikowany kompletny zestaw wszystkich płytek PCB do wersji wielopasmowej SSB i CW.
Przedstawiam teraz widok ekranu z wodospadem ustawionym na 12kHz poniżej i 12kHz powyżej częstotliwości pracy, gdzie białe znaczniki sugerują 3kHz.
Możliwy jest również widok wodospadu rozciągniętego do 6kHz poniżej i powyżej, gdzie białe znaczniki będą sugerowały 1kHz, pomocne przy pracy w CW.
Pole AGC wskazuje pracę automatyki próbującej utrzymać pożądany poziom sygnału audio dla zapewnienia komfortu odsłuchu.
Ten wskaźnik nie ma powiązania z poziomem S-metr, działa niezależnie. Początkowo pole AGC wykorzystane było jedynie do testów,
ale ostatecznie wspólnie z Piotrem zdecydowaliśmy się pozostawić je na ekranie.
Zamiast wypisywać listę dostępnych w tej chwili funkcji, przygotowałem kolorowe grafiki przestawiające możliwości wyboru funkcji i parametrów,
ale w sposób łatwiej przyswajalny. Do szczegółowego ich omówienia i sposobu sterowania wrócimy innym razem.
Jeśli znajdą się chętni na budowę i uruchomienie Jokera, podaję w pierwszej kolejności komponenty potrzebne dla płytki cyfrowej.
Zakupy robimy na portalu Aliexpress.
- ESP32 S3 T-Display TTGO
- PCM1808
- UDA1334A
- SI5351
Przy okazji powyższych zakupów można również wyposażyć się w mikrofon
- MAX9814
Zanim ktoś podejmie decyzję o poświęceniu środków i czasu na projekt Jokera, przygotowałem ciekawą propozycję przetestowania jakości przetwarzania sygnału.
Potrzebne będą wyłącznie ESP32-S3, ADC, DAC, 7 rezystorów 100om i jeden 0om. Zabawa będzie polegała na podaniu do wejść przetwornika ADC Lin Rin
sygnałów z gniazdka Jack komputera lub laptopa przy ulubionej muzyce. Dźwięk zostanie zamieniony do postaci cyfrowej, w kodzie programu nastąpi zmiana domeny czasu
na domenę częstotliwości, z powrotem z domeny częstotliwości do domeny czasu, żeby ostatecznie taki sygnał wysłać do przetwornika DAC na jego gniazdko słuchawkowe.
Nie jest potrzebny wzmacniacz audio, a zasilanie wystarczy z kabla USB, który zasila ESP32-S3. Jakość odsłuchu powinna pomóc zdecydować o przystąpieniu do projektu Joker.
Na płytce testowej po prawej stronie znajdują się wyprowadzone wejścia LIN RIN oraz ADC5V do którego należy podać 5V, jednak nie trzeba podawać zasilania z zewnątrz.
Na wyprowadzeniach znajduje się także +5V od ESP32-S3, wystarczy więc połączyć ze sobą wyprowadzenia +5V z ADC5V widoczne po prawej stronie testowej płytki.
Poniżej zamieszczam schemat płytki testowej jakiej teraz używam, widok PCB, pliki Gerber, cały projekt KiCad do zabaw i modyfikacji oraz plik BIN do wgrania na ESP32-S3.
Elementy enkodera i SI5351 nie są potrzebne, służyły wcześniej do wygodnego testowania powstającego programu. Otwory w płytce podtrzymywały
wymienione elementy przy pomocy wydrukowanego na drukarce 3D prostego wspornika skręconego śrubą M3, wtedy to było jedno z prostszych rozwiązań.
Plik BIN wgrywamy przy pomocy programu ESP-Flash dostępnego pod tym linkiem https://github.com/Jason2866/ESP_Flasher/releases/
Obsługa programu jest bardzo intuicyjna, wybieramy port COM, wskazujemy plik BIN i naciskamy przycisk Flash ESP.
Po pomyślnym załadowaniu programu, na wyświetlaczu zobaczymy ekran powitalny Jokera, a na wyjściu słuchawkowym DAC będzie słychać muzykę podaną na wejścia ADC.
UWAGA : W celu zachowania czytelności wątku i możliwości wygodnej aktualizacji wpisów,
bardzo proszę wszystkich o ewentualne dyskusje w przygotowanym do tego miejscu.
Wpisy tutaj będą tworzyły osoby zaangażowane w projekt, przedstawiając bieżące postępy z prac.
Link do dyskusji >>> tutaj <<<
(Ten post był ostatnio modyfikowany: Wczoraj 16:43 przez SP9DK.)