To forum używa plików cookies
To forum wykorzystuje pliki cookies do przechowywania informacji o Twoim logowaniu, jeśli jesteś zarejestrowany, oraz informacji o Twojej ostatniej wizycie, jeśli nie jesteś zalogowany. Pliki cookies to niewielkie pliki tekstowe zapisywane na Twoim komputerze; cookies ustawiane przez to forum mogą być używane wyłącznie na tej stronie i nie stanowią zagrożenia dla bezpieczeństwa. Cookies na tym forum śledzą również, które tematy zostały przez Ciebie przeczytane oraz kiedy miało to miejsce. Prosimy o potwierdzenie, czy akceptujesz, czy odrzucasz zapisywanie tych plików cookies.

Niezależnie od wyboru w Twojej przeglądarce zostanie zapisany plik cookie, aby zapobiec ponownemu zadawaniu tego pytania. W każdej chwili będziesz mógł zmienić ustawienia cookies, korzystając z linku w stopce strony.

Ocena wątku:
  • 11 głosów - średnia: 3.73
  • 1
  • 2
  • 3
  • 4
  • 5
Joker SDR - Simple SDR HF transceiver project
#61
Dzisiaj sporo ciekawych informacji. Na początek podniesienie wersji programu małego ekranu do v3.2.
Otrzymujemy teraz możliwość wyboru charakterystyki (kształtu) filtra podczas odbioru w trzech krokach.
Dostępne nastawy to Soft, Normal, Sharp, gdzie Soft jest filtrem o łagodnych krawędziach dzwona,
do ucha wpada wtedy więcej bocznego tła i dźwięk wydaje się bardziej miękki, szerszy i naturalny.
Ustawienie Sharp wyostrza krawędzie filtra odcinając skutecznie boki i dźwięk staje się sterylny.
W trybie Normal otrzymujemy kształt pomiędzy dwoma wymienionymi wyżej charakterystykami.

   

Zbyszek SP9JRL przygotował dla nas stronę internetową, na której będą dostępne do pobrania
wszystkie dokumenty, schematy i oprogramowanie. Będzie to na pewno dużo wygodniejsze.
Link do strony https://joker.jrl.pl/

   

Teraz opis układu dużego ekranu. Do jego uruchomienia użyjemy płytki ESP32-S3-DevKIT-N8R2.
Poniżej przedstawię kolorowe grafiki z prezentacją zaplanowanego przeznaczenia wyprowadzeń.
Wykorzystujemy prawie wszystkie dostępne piny, wejścia SSB (PTT) oraz CW (Dot, Dash)
są niezależnie i bezpośrednie, nie używamy już drabinek rezystorów jak było przy małym ekranie.
Wyprowadzenia 19 i 20 są fizycznie powiązane ze zintegrowanym kontrolerem USB, muszą być wolne,
żebyśmy mogli używać USB do wgrywania programu i komunikacji CAT. Wyprowadzenie 0 może być
używane jeśli będzie potrzeba, ale trzeba to zrobić z rozwagą ponieważ na płytce podłączone jest
do układu bootowania i nie może być ściągane do masy podczas uruchamiania całego układu.
Nie jest nam jednak ono potrzebne i pozostawiamy wyprowadzenie 0 wolnym. Zostało jeszcze IO2,
które nie ma w tej chwili przeznaczenia, ale może być użyte jeśli w kiedyś będzie nam potrzebne.

         

Na płytce znajduje się duża dioda LED typu WS2812 z wbudowanym sterowaniem jednoprzewodowym,
która podłączona jest do IO38 lub IO48. Nie jest nam potrzebna i powinna pozostać wygaszona.
Jednak gdyby sygnały jakich używamy powodowały losowe zaświecanie tej diody, wtedy można
przerwać jej obwód poprzez usunięcie rezystora o oznaczeniu RGB.

       

Wyświetlacze 4,3 cala, 5 cali i 7 cali posiadają gniazdo 2x20 pin, które jest wspólne dla wszystkich typów.
Nie licząc linii zasilających, do komunikacji używamy 18 wyprowadzeń, gdzie DB0-DB15 to szyna danych.
Mały ekran 1.9 cala również używał magistrali równoległej, ale 8 bitowej. Tutaj mamy podwojenie prędkości
przesyłania danych z płytki ESP32S3 do wyświetlacza. Przyrost rozdzielczości z 320x170 na 800x480
to aż 7 razy, przybyło nam 600% więcej pikseli do zaświecenia, dlatego bardzo ważnym elementem
było zwiększenie przepustowości w przesyłaniu informacji. Obecnie reakcja na dotyk i zmiana treści
na ekranie jest szybsza niż jestem w stanie fizycznie przełączać to szybkimi ruchami palca,
dzięki temu interfejs sprawia wrażenie bardzo szybkiego i przyjemnego w użytkowaniu.
Ekran 7 cali potrzebuje do pracy 5V na wyprowadzeniu 18, pozostałe tego nie wymagają,
napięcie 5V trafia wtedy na wolne wyprowadzenie, więc mamy jednakowy układ połączeń.
Istnieją dwa podejścia do wykonania modułu z ESP32S3. Jedno polega na tym, że będzie on miał
wymiary jak inne moduły Jokera, montowany na słupkach dystansowych. Ekran na przednim panelu
będzie łączony za pomocą taśmy 2x20 pin. Drugie podejście to płytka bezpośrednio za ekranem,
wtedy połączenie jest bezpośrednie na złączu 2x20 pin bez użycia taśmy. Ja wybrałem to pierwsze,
ale nie jest to wersja ostateczna. Janusz SP5BMP i Krzysztof SP9OJX wybrali podejście drugie,
przygotowują płytki do łączenia bezpośredniego za ekranem. Z czasem na pewno przekażą wszystkim
projekty takich płytek. Wybór wielkości ekranu i podejścia do wykonania płytki jest podyktowany
głównie pomysłem i planami na obudowę, wyborem sposobu montażu, łatwymi zmianami.

   

Pora na schemat. Nie jest on skomplikowany, polega na przypisaniu wyprowadzeń ESP32S3.
Złącze J1 to włączenie nadawania dla SSB i CW. Na złączu J3 podłączony będzie enkoder.
Złącze J2 jest dopasowane do płytki Digital Panel z zachowaniem kolejności wszystkich sygnałów.
Jedynym połączeniem do Jokera będzie właśnie złącze J2, tam dostarczone jest napięcie 5V,
którym zasilany jest ESP32S3 i ekran, sygnały I2S do komunikacji z ADC i DAC oraz I2C.
Wejścia przycisków, enkoder i I2C podciągnięte są rezystorami do wysokiego stanu logiki 3.3V.

   

Schemat narysowany jest w sposób widoku z góry na wyprowadzenia płytki ESP32S3 i widoku od dołu
na złącze ekranu. Starałem się unikać krzyżowania połączeń, żeby łatwiej było zaplanować później
prowadzenie ścieżek na PCB. Na złączu wyświetlacza widać przerwę w ciągłości wyprowadzeń,
nie są one używane, a ich brak pozwolił mi wygodnie przepuścić potrzebne nitki do płytki ESP32S3.
Dokładnie w taki sposób zaplanowałem prowadzenie ścieżek na PCB, unikając wielu przeplotów.
Napięcie opisane jako VLCD ma poziom 3.3V, ale ze względu na prąd, powinno być dostarczone
z zewnętrznego źródła, nie z płytki ESP32S3, ja użyłem przetwornicy DCDC z 5V do 3.3V.

   

Teraz płytka PCB. Jak wspominałem, wybrałem podejście kolejnego modułu pasującego do wszystkich
płytek modułowych jakie mamy w Jokerze. Złącze J2 znajduje się dokładnie w tym samym miejscu
jak na module Digital Panel. Montując teraz nowy moduł nad Digital Panel będzie pionowe zejście
w celu połączenia do Jokera. Poniżej górna warstwa (czerwona) i dolna warstwa (niebieska) PCB.

       

Moduł otrzymał nazwę Logic Panel, ponieważ Display Panel jest już zajęte przez płytkę małego ekranu.
Ciekawą rzeczą jest uniwersalne pole na tworzenie własnych układów. To jest odpowiednie miejsce
na aplikowanie układów wzmacniacza głośnikowego, układu bluetooth do przesyłania dźwięku,
przedwzmacniacza mikrofonowego, ekspanderów I2C, tranzystorów przełączających i innych rzeczy,
które przyjdą nam do głowy, wzbogacając obecną konfigurację sprzętową. Po obu stronach znajdują się
wyprowadzone zasilania 5V, 3.3V z ESP32S3, 3.3V z przetwornicy, sygnały I2C oraz wolny port IO2.

       

Uwaga, w materiałach Jokera znajduje się projekt tej płytki, ale w tej chwili jest ona jeszcze
w trakcie produkcji przez JLCPCB. Nie jest więc sprawdzona na biurku, przetestowana i potwierdzona,
że nie zawiera błędów i wszystko pracuje poprawnie. Dlatego proponuję wstrzymać się na razie,
pozwolić mi otrzymać płytki do rąk własnych, uruchomić i w kolejnym tygodniu potwierdzić poprawność.
Chociaż wydaje mi się, że wszystko powinno być w porządku, może jednak coś jeszcze nas zaskoczyć.
Dzisiejszy wpis ma na celu przybliżyć ogólną koncepcję połączeń i działania układu dużego ekranu.
Gdyby ktoś jednak był niecierpliwy i chciał testowo uruchomić duży ekran na płytce uniwersalnej
lub prototypowej, może to zrobić i wgrać przygotowaną już teraz dedykowaną wersję Joker v10.0.
Od numeru 10.0 zaczniemy rozwijać program dla dużych ekranów, mały ekran będzie miał 
zawsze numer wersji nie przekraczający 10.0. Jeśli komuś się uda, może pokazać taką próbę
zamieszczając zdjęcie w wątku dyskusyjnym.

Ostatnią informacją jest aktualizacja programu Joker Configurator do wersji 1.4, gdzie mamy
wprowadzone następujące zmiany:
- możliwość wyboru próbkowania 96kHz
- możliwość zapamiętywania sześciu przycisków pamięci dostępnych dla dużego ekranu
- możliwość wyboru prędkości nadawania znaków CW w jednostce WPM zamiast jak do tej porty w ms

   

Zapraszam do pobrania nowych wersji Joker v3.2, Joker Configurator v1.4 na stronie https://joker.jrl.pl/
Cytuj
#62
Dzisiaj kilka ciekawych informacji sprzętowych i programowych. Zaczniemy od zmiany obsługi enkodera.

   

Enkodery możemy podzielić na dwie grupy. Tanie enkodery pasywne, oparte na mechanicznych stykach,
podczas pracy domykają sygnały do masy. W spoczynku rezystory podciągające zapewniają stany wysokie.
Enkodery aktywne znacznie lepszej jakości niż wersje mechaniczne, działają w odwrotny sposób.
W stanie spoczynku utrzymują na wejściach logiczny stan niski. Podczas pracy wysyłają stan wysoki.
Podczas trwającego obrotu każdego enkodera, sekwencja przełączania sygnałów wygląda tak samo.
Dla programu nie ma znaczenia, który rodzaj enkodera jest podłączony z jednym drobnym wyjątkiem.
Ze względu na odwrotne działanie, jedna grupa enkoderów przechodząc przez sekwencję przełączeń,
znajduje się w połowie pełnego cyklu, podczas gdy druga grupa kończy lub zaczyna nowy cykl.
W efekcie po zatrzymaniu enkodera i zmianie kierunku, pierwszy krok dla jednego typu enkoderów
będzie pełnym krokiem w drugą stronę, ale dla drugiego typu enkoderów będzie pustym ruchem.
Kolejne kroki będą już zliczane poprawnie, ale da się wyczuć bezwładność przy zmianie kierunku.
Do menu serwisowego został dodany wybór typu enkodera w miejscu gdzie określamy kierunek.
Możemy teraz ustawić AB-, BA-, AB+, BA+, gdzie poza kierunkiem wybieramy typ enkodera.

   

Enkodery aktywne często dostępne są w wersjach z dużą rozdzielczością liczoną w setkach.
W celu dopasowania rozdzielczości powstało ustawienie pozwalające dzielić kroki przez 1 do 4.

   

Trzecim ustawieniem dla enkoderów jest automatyczne przyspieszenie podczas szybszego obrotu.

   

Wcześniejsza obsługa enkodera na przerwaniach programowych INT została teraz zastąpiona
licznikami sprzętowymi PCNT, które przy okazji zapewniają zerowe obciążenie dla programu.
Dodatkowo mamy za darmo wbudowane filtry cyfrowe ignorujące szpilki i szum na wejściach.
Pomysł na realizację takiego rozwiązania zaproponował Krzysztof SP9OJX, który ostatnio testował
różne rodzaje enkoderów, o różnej budowie i różnej rozdzielczości, wszystkie teraz działają dobrze.
Należy pamiętać, że aktywne enkodery muszą pracować przy napięciu 3.3V zgodnym z ESP32S3.
Nowa obsługa enkoderów została wprowadzona do obu programów, małego i dużego ekranu.
Duży ekran ma warstwę dotykową, więc interfejs został przygotowany do obsługi enkodera
pozbawionego wbudowanego przycisku. Większość aktywnych enkoderów tego nie posiadają.
Nie trzeba będzie wtedy montować zewnętrznego przycisku na obudowie, wszystkie funkcje
wymagające przełączania przyciskiem enkodera będzie można przełączać za pomocą dotyku.
Można również przestrajać VFO gestami przesuwania palcem w obu kierunkach na wodospadzie.

   

Otrzymałem i przetestowałem płytki Logic Panel opisane w poprzednim wpisie, działają poprawnie.
Uruchomione na tej płytce były już ekrany 4,3 cala, 5 cali, 7 cali. Przetwornica napięcia nie powoduje
żadnych widocznych zakłóceń. Uruchomienie sprowadza się wyłącznie do poprawnego zlutowania
wszystkich elementów i wgrania najnowszej wersji programu przygotowanego dla dużych ekranów.

   

Ze względu na to, że nowy moduł powiększa wysokość całej konstrukcji, wymieniłem używane wcześniej
słupki dystansowe 30mm długości na 25mm. Nie zauważyłem żadnych zmian w podłodze szumowej,
za to całość nie jest już tak wysoka. Pomiędzy modułami mieszczą się wszystkie złącza łączące moduły.

                     

Bardzo ważnym jest poprawne założenie taśmy łączącej wyświetlacz z płytką Logic Panel.
Poniżej zdjęcie przedstawiające ułożenie wtyczek taśmy pomiędzy płytką i wyświetlaczem.
Taśma powinna wychodzić z obrysu ekranu, z drugiej strony ma zakrywać płytkę ESP32S3.

         

Uruchomienie nowej płytki i dużego ekranu przebiegło pomyślnie. Logic Panel nie zawiera błędów,
połączenia ścieżek są poprawne, komunikacja z innymi modułami działa, wszystko jest w porządku.

               

Poniżej zdjęcie przesłane przez Krzysztofa SP9OJX z ekranem 5 cali zamontowanym już w obudowie.

   

Zapraszam od pobrania nowych wersji plików Joker v3.3 (mały ekran), Joker v10.1 (duży ekran),
oprogramowanie dla komputera Joker Configurator v1.5 z obsługą opisanych nastaw enkodera,
uzupełnioną tabelkę komend CAT oraz Joker Control 1.2 do sterowania Jokerem z poziomu PC.

https://joker.jrl.pl/
Cytuj


Skocz do:


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