Odpowiedz 
 
Ocena wątku:
  • 3 Głosów - 3.67 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Transceiver DC01
SQ9RFC Offline
Jerzy
*****

Liczba postów: 1,193
Dołączył: 02-07-2010
Post: #211
RE: Transceiver DC01
Sam byłem zdziwiony co się stało - więc zrobiłem ten generatorek na pająka dla potestowania. To co pokazywał oscyloskop było przerażające :-) Nie rozumiem tego. Jeszcze nie koniec eksperymentów - bo to ciekawe :-) Wczoraj na szybko podłączyłem sygnał z karty dźwiękowej (dzień bez CW to dzień stracony) fajnie było. Zdecydowana różnica - ciepły ton sinusa, ale korespondenci nadal zgłaszają przydźwięk. Jeszcze większe zdziwienie wywołało puszczenie tam sampla klaksonu samochodowego :-) Dziś zrobiłem generatorek Wiena - wyszedł na 830 Hz, ale też nie jest czysty, wrócę do domu, skoryguję do 700Hz i puszczę przez ten filtr RC który jest przed operacyjnym, zobaczę co wyjdzie. Tam musi być idealny sinus bo słychać mnie co 700 Hz aż filtr SSB wytnie wszystko.
Generalnie jest super, jeszcze trochę dopieszczenia, zakręcamy obudowę i ... następną zabawką zaczynamy.
Jeszcze ... - słyszę ten generator 700 Hz w odbiorniku, cichutko, ale słychać, i kliki TX/RX ale to łatwe do zrobienia Smile

73 JERZY SQ9RFC
18-01-2013 20:35
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ9RFC Offline
Jerzy
*****

Liczba postów: 1,193
Dołączył: 02-07-2010
Post: #212
RE: Transceiver DC01
4011 nie nadaje się do współpracy z kondensatorami. Podczas przełączania pojawiają się stany nieustalone trwające losowy okres czasu - stąd niestabilność generatora. Tam trzeba zastosować bramki Schmitta. Miałem zapas 4093 i problem ustąpił.
Natomiast pojawił się inny - nie rozumiem dlaczego filtr dolnoprzepustowy tego generatora ustawiony jest na 150 Hz?
I nadal słyszę w odbiorniku ten generator !

73 JERZY SQ9RFC
24-01-2013 10:49
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6FRE Offline
Leszek
****

Liczba postów: 733
Dołączył: 20-09-2009
Post: #213
RE: Transceiver DC01
Generator tonu działa tylko podczas nadawania i to jeśli jest wybrany tryb CW. Generator włącza się na stałe po pierwszym naciśnięciu klucza a samo kluczowanie działa na kluczu FET, w torze m.cz. za filtrem dolnoprzepustowym tego generatora. Dlatego nie rozumiem w jaki sposób słyszysz ten generator w odbiorniku? Może masz uszkodzenie w układzie kluczowania (w automatyce?).
L.J.
24-01-2013 13:15
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ9RFC Offline
Jerzy
*****

Liczba postów: 1,193
Dołączył: 02-07-2010
Post: #214
RE: Transceiver DC01
Na moim schemacie na bazę tranzystora BC547 włączającego generator idzie przez opornik 10k sygnał: CW/SSB. Czyli generator włączony jest cały czas gdy mamy tryb CW.
Aby działało tak jak piszesz trzeba by trochę pokombinować Smile i tak zaraz zrobię ... sprawdzę przy okazji czy czy nie będzie gubić startowej kropki ...
Z tego generatora biorę na filtr sygnał z wyjścia bramki U18a bo z wejścia jest za mały aby się cokolwiek przebiło. Ten filtr dla 700Hz ma chyba 1000dB tłumienia...
I sprawdźcie koledzy na odbiornikach kontrolnych czy słychać w sygnale harmoniczne tych 700 Hz. u mnie słychać Sad

73 JERZY SQ9RFC
24-01-2013 14:21
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6FRE Offline
Leszek
****

Liczba postów: 733
Dołączył: 20-09-2009
Post: #215
RE: Transceiver DC01/DC02
Czas leci do przodu, Chińczycy wymyślili i zrobili już chyba wszystko a nawet więcej a ja postanowiłem wrócić do mojej starej konstrukcji.

Powstała nowa wersja tego urządzenia, która z poprzednią ma wspólne założenia czyli odbiornik i nadajnik z bezpośrednią przemianą.

Miałem jednak nadzieję, po zastosowaniu nowszych rozwiązań, że nowe urządzenie będzie pozbawione wad poprzednika a poza tym chciałem sprawdzić kilka pomysłów jeśli chodzi o sprzęt jak i oprogramowanie.

W kolejnych postach postaram się opisać co nowego pojawiło się w tym temacie a nawet zacząłem już cząstkową publikację na temat prostego klucza elektronicznego.

Na razie mam już działający prototyp:

İmage
To widok płyty czołowej z kolorowym wyświetlaczem (nowe rozwiązanie). U góry widoczne jest połączenie do programowania procesora ESP32 znajdującego się na pierwszej z płytek.Większość oprogramowania została napisana w python-ie, jedynie oprogramowanie dla klucza elektronicznego to Bascom.

İmage
Układ, poza stopniem mocy, zamontowany został na trzech płytkach związanych ze sobą mechanicznie za pomocą tulejek dystansowych a elektrycznie połączonych za pomocą kilku płytek stykowych widocznych na pierwszym planie na dole oraz po bokach dla górnej pary płytek. W ten sposób udało się ograniczyć połączenia do niezbędnego minimum choć uważam, że i tak można byłoby coś tu poprawić.

İmage İmage
Tu widać połączone dwie pierwsze płytki oraz wspomniane łączniki.

İmage
Trzecia płytka to oktawowy filtr dolnoprzepustowy używany zarówno w odbiorniku jak i na wyjściu nadajnika. W prawej części u góry znajduje się moduł pomiaru mocy i SWR.

İmage İmage
Druga płytka to zasadnicza część odbiornika i nadajnika.Widać dodatkowe moduły: u góry filtr polifazowy oraz filtr pasmowy m.cz. odbiornika a na dole od lewej to dzielnik częstotliwości oraz analogiczny filtr pasmowy i filtr polifazowy nadajnika.

İmage İmage
Pierwsza z płytek to procesor sterujący z generatorem SI5351 i kolorowym wyświetlaczem ST7735 (128x160). Na płytce jest kilka klawiszy z funkcjami:
RIT, Memory, SW/SSB, USB/LSB, F0/F1, F0=F1. Sterownie zapewnia enkoder z przełącznikiem osiowym. Dwa potencjometry pozwalają na regulację siły odbioru i prędkości kluczowania.
Zastosowany generator to SI5351, dla którego napisałem prosty sterownik i który opiszę dokładniej w dalszej części. Ponieważ generator ma trzy wyjścia to sterownik pozwala na korzystanie z trzech wyjść jednocześnie i zamierzam ten moduł zastosować także w urządzeniu z podwójną przemianą.
Pokazany, kolorowy i tani wyświetlacz posłużył mi do kilku eksperymentów w projektowaniu interface i wydaje mi się, że uzyskałem tu pewne ciekawe efekty, które również opiszę.

İmage
Na schemacie płytki podstawowej pokazane zostały wszystkie opisane wcześniej elementy.

Zastosowane elementy są dość tanie i łatwo dostępne. Kody w python-ie są typu "open source" i z natury dostępne za pomocą edytora tekstu bez wyrafinowanych środowisk programistycznych choć ułatwiałem sobie pracę za pomocą systemu Thonny (oczywiście open source). Procesor ESP32 z zegarem 160MHz oraz sporą pamięcią na program i dane kompensuje wadę python-a w postaci znacznie wolniejszego wykonania programu.
Dlatego stać mnie było również na wykonanie dedykowanych płytek drukowanych (Chiny) choć nie obyło się bez poprawek druku widocznych na zdjęciach płytek jako zwory, i dodatkowe połączenia. Wszystkie zmiany nanoszę systematycznie na projekt więc kolejna wersja płytek będzie pozbawiona przynajmniej zauważonych błędów.
l.j.
(Ten post był ostatnio modyfikowany: 23-04-2025 13:43 przez SP6FRE.)
23-04-2025 13:43
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6FRE Offline
Leszek
****

Liczba postów: 733
Dołączył: 20-09-2009
Post: #216
RE: Transceiver DC01
Opisując zmiany w układzie zacznę oczywiście od źródła sygnału sterującego. W oryginale była to synteza na bazie układów AD98..
W międzyczasie pojawił się układ SI5351 nie dość, że tani to jeszcze z dużym zakresem częstotliwości, dość łatwy w programowaniu i o dużej funkcjonalności.
Problemem poprzedniego rozwiązania była kiepska praca dla częstotliwości powyżej 20MHz bo układy AD nie pozwalały na osiągnięcie odpowiedniej częstotliwości a dodatkowo przełączanie nie działało z dostateczna precyzją.

Dla moich potrzeb napisałem (na podstawie dokumentacji i wzorując się na rozwiązaniach w C) swój prosty sterownik SI5351.
Pełny opis z kodem źródłowym znajduje się na GitHub-ie

Sterownik pozwala na korektę zegara SI5351 - dla przykładu mój układ generatora pracuje, po ustabilizowaniu termicznym ok. 180Hz wyżej niz częstotliwość referencyjna 900MHz (zegar SI ma częstotliwość 25MHz).
Dokładność sterowania to mniej więcej 1Hz na częstotliwości 10MHz czyli ok. 10Hz dla 100MHz na wyjściu. Niestety, uPython dla ESP32 ma, w przeciwieństwie do python-a ograniczoną dokładność obliczeń ale jak widać dla potrzeb tego generatora jest to wystarczające.

İmage
Na rysunku widać symbolicznie układy użyte na podstawowej płytce (poza dzielnikiem sygnału F0) i widać, że do dyspozycji są trzy sygnały o częstotliwościach F0,F1 i F2. W modyfikowanej wersji DC01/02 korzystam z częstotliwości F0 przy odbiorze i nadawaniu SSB oraz z częstotliwości F1 podczas pracy CW. W tym ostatnim przypadku po prostu sygnał CW jest tworzony bezpośrednio i kluczowany wprost poprzez programowe kluczowanie portu F1 z uwzględnieniem zarówno przesunięcia w stosunku do częstotliwości odbioru oraz bieżącego ustawienia RIT-a.

Na portalu youtube obejrzeć można jak w praktyce wygląda kontrola generatora z poziomu uPython-a. Zwykle taka kontrola jest elementem większego kodu ale w tym przypadku pokazałem elementarne funkcje napisanego przeze mnie sterownika. Pokazana platforma do programowania w uPython-ie to Thonny (open source).
Przy okazji przepraszam za lekkie rozsynchronizowanie dźwięku i obrazu. Jestem w fazie eksperymentów ze sklejaniem i mieszaniem video ze soba i video z dźwiękiem. Próbuje też różnych aplikacji do tego celu ale chyba pozostanę przy Shotcut (open source).

l.j.
W uzupełnieniu danych na temat generatora SI5351 dodam, że główny program do obsługi DC01/02, napisany oczywiście w python-ie, na etapie uruchomienia odczytuje plik konfiguracyjny ustawiający podstawowe parametry układu.
Plik konfiguracyjny jest typu tekstowego a więc łatwego do korekty za pomocą prostych edytorów i zawiera (na razie) następujące dane:

mpx,4 -> współczynnik podziału heterodyny F0 (wartości 1,2 lub 4)
Fp1,9000000 -> częstotliwość na wyjściu F1
Fp2,9000000 -> częstotliwość na wyjściu F2
fcorr,0 -> korekta częstotliwości zegara SI5351
cwof,800 -> przesunięcie częstotliwości nadawania dla cw w [Hz]
delay,1.0 -> opóźnienie przy pracy cw [sek] co 0.1 sek
Encoder,1 -> zmiana kierunku pracy enkodera
mem,1800000,3500000,7000000,10500000,14000000,1806​8000,21000000,24890000,28000000 -> wstępne wartości pamięci częstotliwości p1-p9 [Hz]

İmage İmage
Dla ułatwienia tych ustawień napisałem też prosty moduł, który można uruchomić podczas startu procesora naciskając odpowiedni klawisz urządzenia. Oczywiście dane te można zmienić ale przewidziałem też ładowanie tych wartości jako domyślne z użyciem innego klawisza.

Jeśli parametr mpx ma wartość 1 to można ustawić na stałe wartości częstotliwości F1 i F2 co może się przydać w użyciu w urządzeniu z jedną lub z dwiema przemianami. Oczywiście F0 dziła zawsze jako główna heterodyna.
Dla mpx o wartości 2 lub 4 opcje dla F1 i F2 są wygaszone a taka konfiguracja jest dedykowana dla urządzenia o bezpośredniej przemianie.
Na podstawie wartości mpx główny program obsługujący trx w trybie bezpośredniej przemiany (dc) koryguje wskazania wyświetlacza i dla przykładu jeśli mpx ma wartość 4 to częstotliwości na ekranie o wartości np. 14001000Hz odpowiada heterodyna F0 o wartości 4x14000000=56000000Hz przy odbiorze oraz nadawaniu ssb natomiast przy pracy cw używane jest wyjście F1 generujące na częstotliwości 14000000+800=14000800Hz.
(Ten post był ostatnio modyfikowany: 27-04-2025 10:01 przez SP6FRE.)
25-04-2025 19:36
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6FRE Offline
Leszek
****

Liczba postów: 733
Dołączył: 20-09-2009
Post: #217
RE: Transceiver DC01
Rysunek pokazuje schematycznie jak wygląda formowanie sygnału cw oraz ssb.

İmage
Dla sygnału ssb, do mieszacza Tayloe działającym na połowie układu FST3253 doprowadzone są wcześniej sformowane układy I oraz Q oraz sygnał heterodyny F0. Heterodyna F0 ma wartość 2 lub 4 krotnie większą niż częstotliwość formowania sygnału co ostatecznie tworzy sygnał ssb przenoszony przez transformator na wyjście nadajnika. Właściwe sterowanie mieszacza zapewniają sformowane po podziale sygnały S0 i S1.
Przy pracy cw sygnał F0 jest wygaszony a generator Si5351 generuje, przez kluczowanie programowe sygnał F1 o częstotliwości pracy transceivera doprowadzony wprost do transformatora wyjściowego. W ten sposób na wyjściu nadajnika uzyskuje się sygnał ssb lub cw o poziomie ok. 0.7-1V.

Dzielniki sygnału F0 przez 2 lub przez 4 zbudowane są z tego samego zestawu bramek i przerzutników i wykonane są jako moduły o tej samej wielkości i wyprowadzeniach co pozwala na szybką zamianę - głównie w celach eksperymentalnych.

İmage
Dla rozwiązania z podziałem F0 przez 2 są mniejsze wymagania na górną, niezbędną częstotliwość sygnału F0 bo w paśmie pracy do 30MHz wystarczy sygnał F0 o częstotliwości 60MHz.

İmage
Dla podzielnika przez 4 sygnał F0 musi mieć górny zakres pracy ok. 120MHz co dla Si5351 nie jest problemem.

l.j.
28-04-2025 9:27
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9FKP Offline
Piotr
*****

Liczba postów: 1,283
Dołączył: 28-06-2009
Post: #218
RE: Transceiver DC01
Sugerowałbym jednak wstawić jakiś bufor między SI5351 a obwód wejścia/wyjścia z kształtowaniem obwiedni dla CW. Zerknij na schemat "Piligrim Pro".

Praktykujący teoretyk
28-04-2025 10:52
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6FRE Offline
Leszek
****

Liczba postów: 733
Dołączył: 20-09-2009
Post: #219
RE: Transceiver DC01
Dziękuję za tą uwagę o kluczowaniu. Miałem podobne wątpliwości ale inne problemy techniczne stały w bliższym szeregu do rozwiązania i jakoś nie starczyło zapału aby to zrobić. W pierwszej wersji DC01 taki układ formowania sygnału cw jest obecny i można kształtować zarówno czas narastania jak i opadania sygnału ale tamto rozwiązania ma wadę w postaci "oszukanego" cw bo w świat nie leci nośna a w zasadzie ton w kanale ssb.

Dla ciekawych nagrałem film gdzie można zobaczyć sygnał na ekranie oscyloskopy i usłyszeć jak brzmi w odbiorniku.

Sygnał jest faktycznie nieco twardy ale może to ułatwić jego odbiór w trudnych warunkach. Mam jeszcze szansę na poprawę tego stanu w torze nadajnika - prawdopodobnie w stopniu driver-a ale tego jeszcze nie zdecydowałem.

l.j.
Kolejnym elementem, który udało mi się poprawić jest enkoder obrotowy a w zasadzie jego obsługa. Z pozoru prosty problem sprawia dość często problemy z odpowiednim rozróżnieniem stanów enkodera oraz wskazaniami przy różnych prędkościach jego obrotu. Szczególnie widać to na przykładzie najprostszych, mechaniczno elektrycznych urządzeń gdzie problem potęgują stany nieustalone na stykach.

Szerszy opis rozwiązania mozna znaleźć w tym linku: opis procedury obsługi enkodera obrotowego za pomocą uPython-a oraz procesora ESP32.

İmage
Program do obsługi enkodera wykorzystuje przerwania pojawiające się podczas jego obrotu oraz oczywiste, przesunięcie o 90 stopni sygnalizacji pojawiającej się w obu kanałach enkodera. Zdecydowałem się, pisząc program, na świadomą rezygnację z pełnej rozdzielczości prostego enkodera (zwykle z ziarnem 20 lub 24 impulsy na obrót) na rzecz lepszej separacji stanów enkodera co radykalnie zmniejszyło ilość błędów w odczycie stanów.

Pod wskazanym adresem można znaleźć podstawowy kod programu do obsługi enkodera oraz link do youtub-a gdzie znaleźć można film objaśniający działanie procedur oraz przykład działania enkodera we współpracy z ekranem wyświetlacza .
Film, szczególnie w części związanej z prezentacją wyświetlacza jest nieco "wyblakły" ale zapewniam, że w naturze wygląda to o wiele lepiej - pozycja kroku w ciągu cyfr opisujących główną częstotliwość pracy jest znacznie wyraźniejsza niż na filmie.

l.j.
(Ten post był ostatnio modyfikowany: 30-04-2025 0:01 przez SP6FRE.)
28-04-2025 21:56
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości