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:
  • 1 głosów - średnia: 5
  • 1
  • 2
  • 3
  • 4
  • 5
WALET – czyli jak buduję sobie transceiver SDR
#39
Na Github umieściłem brakujące pliki wyceny dla płytek hb i hc. Dla przypomnienia, pliki te zawierają orientacyjną kalkulację kosztów wykonania (raczej zawyżoną) ale również podają miejsca gdzie można zakupić mniej dostępne elementy. W rzeczywistości, koszt wykonania będzie pewnie mniejszy zakładając, że nie startuje się od zera i jakieś elementy leżą w szufladzie.

Dostałem potwierdzenie, że moje zgłoszenie Waleta do konkursu PUK w tym roku zostało przyjęte. Na razie w kategorii sprzętowej ale mam nadzieję, że również oprogramowanie również zostanie uwzględnione w kategorii software. Na razie nie mam potwierdzenia, że tak będzie, jak się domyślam, brakuje innych zgłoszeń.

Niestety, powrót z wakacji zaczął mi się problematycznie bo uszkodziłem procesor na podstawowej płytce prototypu. Prawdopodobnie, wadliwie osadziłem wyświetlacz w gnieździe myląc piny o jeden w rzędzie i to spowodowało, że procesor przestał współpracować. 
Procesor ESP32 A1S ma obudowę wyłącznie do montażu powierzchniowego a ilość wyprowadzeń jest zbyt duża aby za pomocą podstawowych narzędzi szybko go wymienić na inny. Fantazjując, tu potrzebna byłaby lutownica z dwustronnym grotem grzebieniowym dopasowanym do linii styków procesora lub inne równie egzotyczne narzędzie. Niestety, to koszt działań projektowych i prototypowych, który spada głównie na projektanta.
W praktyce muszę przemontować płytkę z nowym procesorem, zamówiłem już kilka procesorów i prawdopodobnie dziś zamówię nowe płytki drukowane. Na razie zamierzam zamówić 5 kompletów z czego jeden dla mnie i jeden dla kolegi, który nie "załapał" się na wcześniejszą serię więc pewnie zostaną mi 3 komplety do odstąpienia po cenie zakupu.
Zarówno płytki jak i procesory przylecą z CN w ciągu tygodnia jak pokazuje dotychczasowa praktyka więc pewnie uda mi się zdążyć ze złożeniem Waleta na konkurs PUK ;-)

[Obrazek: https://lx-net.pl/walet/image/preprot.jpg]
Na razie będę korzystał z mojego pre prototypu, który wygląda jak Frankenstein ze względu na ilość zmian, poprzecinanych ścieżek i dodatkowych połączeń.

Porządkowanie rozwiązania zaczynam od układu funkcji i przycisków funkcyjnych. Wcześniej wspominałem, że choć płytka h0 ma możliwość osadzenia do 7 przycisków to w mojej wersji ograniczę się do 3 przycisków oraz 3 funkcji. Te funkcje to klucz/ptt oraz klucz elektroniczny (dot/dash). Zostaną też  3 klawisze funkcyjne oznakowane wstępnie jako F1(-), F2(E) oraz F3(+) z przeznaczeniem do inkrementacji np. pasma pracy w górę lub dół (F1,F3) i/lub zatwierdzania pozycji (F2).

Wszystkie te funkcje działają na jednej linii procesora działającej jako port A/D odczytując poziom napięcia na tej linii i w zależności od wartości tego poziomu podejmując odpowiednia akcję.
[Obrazek: https://lx-net.pl/walet/image/dzielnik01.jpg]
Przedstawiam tu moją ideę takiego rozwiązania co być może przyda się komuś we własnych projektach.
Naturalnym poziomem na linii I/O4 jest napięcie 3.3V w stanie gdy oporność Rn ma wartość nieskończoną (otwarty styk) a port jest polaryzowany przez stałą oporność R9. Dla 6 funkcji należy dobrać taką wartość oporników Rn aby uzyskać pokazane na wykresie poziomy napięć dla poszczególnych klawiszy/funkcji. Napięcia te rozłożone są równomiernie dla uzyskania dobrej rozdzielczości. W tym celu cały zakres napięć od 0 do 3.3V podzielony został na umownych 6*2=12 + 1 = 13 części. Po dwie części przypadają na każdą funkcję a jedna dodatkowa część przy napięciu 3.3V służy dla lepszego rozróżnienia stanu neutralnego. Rysunek pokazuje wzór jak dobrać wartość każdej oporności. W pliku dzielnik01.xls na Github  znajduje się arkusz kalkulacyjny pozwalający na wyliczenie odpowiednich oporności. Zwracam uwagę na stałą wartość oporności R9 (tu 11k), która może mieć oczywiście inną wartość.

[Obrazek: https://lx-net.pl/walet/image/dzielnik02.jpg]  [Obrazek: https://lx-net.pl/walet/image/dzielnik03.jpg]

Zależność oporności Rn od wymaganego poziomu napięcia jest nieliniowa, szczególnie dla wyższych poziomów napięcia. Tabela zawiera wyliczenia dla R9 = 11k z doborem odpowiedniej wartości przy uwzględnieniu typoszeregu oporników.

W związku z powyższym zacząłem porządkować schemat płytki h0.
[Obrazek: https://lx-net.pl/walet/image/dzielnik05.jpg]
Zbędne przełączniki zostały opisane jako xxx z przypisanymi rezystancjami 00k a używane klawisze i funkcje mają już właściwie przypisane wartości. Funkcje Key oraz Ptt pełnią podobną funkcję więc mają przypisany ten sam poziom oporności (R17/R20).

Opisane zmiany znajdą się w nowszej wersji oprogramowania co wymagać będzie wymiany rezystancji R8,R25,R21,R17,R18,R19 i R20 :-( .

Do obsługi linii I/O4 napisałem własną funkcję badającą stan napięcia na linii choć Arduino oferuje gotową funkcję map(a,xmin,xmax,ymin,ymax) gdzie a to zmienna a xmin-xmax oraz ymin-ymax to odpowiednio zakres zmian zmiennej a oraz spodziewany zakres zmian po konwersji (mapowaniu). Własna funkcja daje lepszą elastyczność w jej użyciu a poza tym zawierając jedynie operatory porównania  będzie chyba szybsza niż map(), która zawiera 3 działania zmiennoprzecinkowe. Dokumentacja opisuje przetwornik A/D dla ESP32 jako nie do końca liniowy dla małych jak i bliskich maksymalnej wartości co dodatkowo skłoniło mnie do użycia własnej funkcji obsługującej odczyt linii I/O4.

cdn. lj

Github
Cytuj


Wiadomości w tym wątku
RE: WALET – czyli jak buduję sobie transceiver SDR - przez SP6FRE - 22-08-2026, 9:21

Skocz do:


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