Odbiornik „DANIEL” po liftingu

Montaż próbny zakończył się sukcesem 🙂
Na płytce nie ma błędów, odbiornik działa od razu po zmontowaniu. Oczywiście trzeba zestroić filtr wejściowy i ustawić częstotliwość generatora BFO. W tej, poprawionej wersji zastosowałem gniazdo minijack, które można łatwo kupić (gniazda we wcześniejszej wersji są trudno dostępne). Dodałem też kapturki na przyciski, które wyglądają znacznie lepiej niż „gołe” TACT-SWITCHe.

W Instrukcji montażu jest zamieszczona lista części, przy większości z nich podałem namiary, gdzie je można kupić.

Przygotowałem też instrukcję montażu Instrukcja
oraz poprawiłem kilka drobnych błędów na schemacie Schemat
załączam również firmware na pasmo 80m Firmware

IMG_9561IMG_9560IMG_9558IMG_9557

Reklama

Jednopasmowy odbiornik SSB „DANIEL”

Od dawna chodziło mi po głowie skonstruowanie odbiornika, który byłby mały i fajny :), czyli:
– konstrukcja na jednej płytce drukowanej wraz z syntezą i wszystkimi złączami,
– wbudowany w gotową obudowę z profilu aluminiowego,
– niewielkie zużycie prądu (ok. 70-130mA w zależności od ustawionej głośności),
– wyświetlacz częstotliwości i innych istotnych parametrów pracy,
– ARW,
– SMETR,
– VFO A/B

IMG_9498

Przeszklona obudowa pozwala zerkać na elektronikę (to ważne dla Daniela!), ale nie tylko. W urządzeniach, gdzie wyświetlacz jest umieszczony klasycznie z przodu, jest kłopot z patrzeniem na wyświetlacz. Trzeba podnosić przód na jakichś nóżkach, żeby wszystko było widoczne. Kłopot jest tym większy im mniejsze urządzenie. A ja jestem fanem miniaturyzacji, więc robię małe urządzenia :). Dlatego pomysł z nietypową formą obudowy i umieszczenia w niej wyświetlacza. Z pierwszych testów wynika, że bardzo wygodnie się z niego korzysta, gdy stoi na biurku. Nie ma problemu zarówno z odczytem wyświetlacza (OLED ma szeroki kąt odczytu) jak również ze strojeniem.

Projekt zacząłem w ubiegłym roku, prace postępowały powoli, bo w międzyczasie zajmowałem się jeszcze innymi projektami. W tej chwili zostało jeszcze dobranie kwarców do filtra, ale wygląd raczej się już nie zmieni.

Układ elektryczny jest prosty i klasyczny – 2 mieszacze NE612. Kilka rozwiązań układowych zaczerpnąłem z transceivera projektu VK2DOB. Dołożyłem ARW na dwóch tranzystorach oraz generator DDS na AD9833 sterowany z Atmega328. Do wyświetlania parametrów zastosowałem niedrogi i energooszczędny wyświetlacz OLED o rozdzielczości 128×64 piksele. Przeszklona obudowa umożliwia obserwację wnętrza tej konstrukcji.

Odbiornik nazwałem „DANIEL”, gdyż powstał dla mojego syna Daniela, który ma dopiero 8 lat, ale bardzo go interesuje krótkofalarstwo i elektronika – to chyba po tacie 😉

Kilka zdjęć:

IMG_9497

IMG_9517

IMG_9503

IMG_9504

IMG_9507

IMG_9509

RX_DANIEL_PCB_3D

Do pobrania:
schemat odbiornika Schemat
instrukcja montażu wraz z listą części Instrukcja
firmware na pasmo 80m Firmware

nanoDDS z wyświetlaczem – instrukcja konfiguracji

W wyniku prac rozwojowych wyposażyłem nanoDDS w opcjonalny, prosty i tani, czterocyfrowy wyświetlacz LED. Zastosowałem w tym celu gotowy moduł oparty na kontrolerze TM1637. Moduł ten jest sterowany przy pomocy tylko dwóch przewodów (CLK i DIO), dzięki czemu możliwe było podłączenie wyświetlacza za pośrednictwem wbudowanego w nanoDDS złącza ISP, które normalnie służy do programowania procesora Atmega328. Pomimo, że dostępne w złączu ISP porty są już wykorzystywane do komunikacji z układem AD9833 (poprzez sprzętową magistralę SPI), udało się napisać oprogramowanie w taki sposób, że AD9833 i wyświetlacz pracują jednocześnie.

podłączenie wyświetlacza

Uwaga! Pobór prądu przez układ po dołączeniu wyświetlacza wzrasta z ok. 20mA do ok. 70mA. Z tego względu zalecam, aby w takim przypadku napięcie zasilające układ nie przekraczało 9V. Unikamy w ten sposób nadmiernego nagrzewania się stabilizatora napięcia na płytce nanoDDS, a przez to całej płytki, co mogłoby niekorzystnie wpłynąć na stabilność generatora.
W przypadku używania nanoDDS bez wyświetlacza można spokojnie zasilać układ napięciem wyższym (max. 15V).

IMG_1913
Dzięki zastosowaniu wyświetlacza zostały zrealizowane dwie nowe, istotne funkcjonalności:

można wbudować nanoDDS’a do urządzeń, które nie posiadają wyświetlacza (pomimo założenia konstrukcyjnego, że nanoDDS ma być przeznaczony do urządzeń posiadających już odczyt częstotliwości, podczas prac nad prototypem otrzymywałem sygnały, że niektórzy konstruktorzy chcieliby wykorzystać generator do nowo budowanych prostych transceiverów, w których wyświetlacz nie został przewidziany)

można skonfigurować nanoDDS’a bez konieczności użycia komputera – to ukłon w stronę tych konstruktorów, którzy nie mają możliwości zaprogramowania układu.

Aby wejść do trybu ustawień należy nacisnąć przycisk enkodera a następnie włączyć zasilanie nanoDDS’a.
Wyboru wartości danego menu dokonujemy poprzez obracanie pokrętłem enkodera, wybraną wartość zatwierdzamy naciskając przycisk enkodera.

1. „band” Wybór pasma
Zostanie wyświetlony przewijający się napis „band” informujący, że pierwszym ustawieniem jest wybór pasma.
bandNastępnie pojawi się napis:
b160gdzie liczba 160 oznacza pasmo amatorskie 160m.
Wyboru pasma dokonujemy poprzez obracanie pokrętłem enkodera. Wybór zatwierdzamy naciskając przycisk enkodera.

Po wybraniu pasma w nanoDDS  zostaną ustawione następujące parametry:
– początek pasma
– koniec pasma
– częstotliwość początkowa, czyli częstotliwość do której nanoDDS wraca po dłuższym naciśnięciu przycisku enkodera. Wartości tych częstotliwości zapisane są w oprogramowaniu.
band_tables
2.”IF MOdE” – sposób otrzymywania częstotliwości pośredniej
Zostanie wyświetlony przewijający się napis „IF MOdE” oznaczający, że należy wybrać sposób otrzymywania częstotliwości wyjściowej generatora.
if_modeDo wyboru są 3 ustawienia:
F+b,
F-b,
b-F, gdzie „F” to częstotliwość pośrednia radia, a „b” to częstotliwość wyświetlana na wyświetlaczu.
f+b
f-b
b-fPrzykład:
F = 10 MHz – częstotliwość pośrednia radia
b=3,7MHz – częstotliwość wyświetlana na wyświetlaczu
„IF MOdE” ustawiamy na „F-b” w wyniku czego nanoDDS będzie wytwarzał częstotliwość 6,3MHz

Należy pamiętać, że maksymalna częstotliwość wyjściowa nie może przekraczać 10MHz. Jeżeli ustawimy np. częstotliwość wyświetlaną z pasma 80m (3,7MHz), częstotliwość pośrednią 10MHz i „VFO MOdE” na sumowanie (F+b) to oczekiwana częstotliwość 13,7MHz leży poza zakresem i nie zostanie wygenerowana.

3.”IF” – częstotliwość pośrednia
Po zatwierdzeniu wyboru przyciskiem enkodera zostanie wyświetlony przewijający się napis „IF”
ifa następnie symbol
mhzoznaczający, że ustawiamy wartość megaherców częstotliwości pośredniej. Wartość zmienia się w zakresie 0-30. Wybraną wartość zatwierdzamy przyciskiem enkodera po czym zostanie wyświetlony symbol
khzoznaczający, że ustawiamy wartość kiloherców częstotliwości pośredniej. Wartość zmienia się w zakresie 0-999. Wybraną wartość zatwierdzamy przyciskiem enkodera po czym zostanie wyświetlony symbol
hzoznaczający, że ustawiamy wartość herców częstotliwości pośredniej. Wartość zmienia się w zakresie 0-999.

Taki sposób wprowadzania liczby oznaczającej częstotliwość pośrednią wynika z ograniczenia ilości znaków wyświetlacza.
formula_IF

4.”VFO corr” – korekta częstotliwości wyjściowej
Po zatwierdzeniu wyboru przyciskiem enkodera zostanie wyświetlony napis „VFO corr” oznaczający korektę częstotliwości wyjściowej generatora.
vfo_corra następnie liczba oznaczająca wartość korekty.
-1Możemy ustawić pokrętłem enkodera dowolną wartość z zakresu -999 do 999 Hz. Wartość ta będzie dodana do częstotliwości wyjściowej.
Po zatwierdzeniu wartości przyciskiem enkodera zostanie wyświetlony napis „End” a następnie częstotliwość początkowa wybranego w pierwszym kroku pasma. nanoDDS jest gotowy do pracy!
end

 

nanoDDS

Na rynku istnieje bardzo wiele projektów generatorów opartych na chipach DDS, jednak są to zwykle skomplikowane konstrukcje.
Ja potrzebowałem czegoś innego. Potrzebowałem prosty, uniwersalny i tani generator, który będzie można użyć w amatorskich konstrukcjach transceiverów jak Antek, Bartek, Taurus, czy wiele innych.

IMG_9422
Przede wszystkim chciałem go zastosować do projektów, które powstały wcześniej, ale ze względu na niestabilne VFO stały i się kurzyły.
Dlatego opracowałem moduł nanoDDS który jest uniwersalnym generatorem VFO o następujących cechach:

– miniaturowe wymiary (cały moduł ma wymiary ok. 3x3cm) dzięki czemu zmieści się do większości urządzeń

– brak wyświetlacza, ponieważ wiele istniejących urządzeń posiada już zamontowany odczyt częstotliwości

– ultra-prosty montaż mechaniczny – wystarczy przykręcić enkoder do płyty czołowej za pomocą jednej nakrętki

– prosta obsługa za pomocą enkodera obrotowego z przyciskiem

– dioda LED sygnalizująca aktualny krok

– dwa kroki przestrajania (500Hz i 50Hz)

– szeroki zakres napięć zasilających (5-15V)

– niewielki pobór prądu (ok. 20mA)

– częstotliwość generatora do 10MHz, co jest wystarczające do większości transceiverów QRP

– kod źródłowy napisany pod Arduino, przez co można go ławo zmodyfikować

– złącze ISP do programowania

IMG_9461

nanoDDS oparty jest na generatorze Analog Devices AD9833. Jest to układ bezpośredniej syntezy częstotliwości taktowany z generatora zegarowego 24MHz, co według producenta powinno umożliwić generowanie przebiegów do ok. 12MHz. W praktyce do 10MHz sygnał jest prawidłowy. Sterowanie syntezerem AD9833 realizowane jest za pośrednictwem magistrali SPI poprzez procesor ATMEGA328P.

Komunikacja z enkoderem zrealizowana jest za pomocą przerwań, dzięki czemu reakcja na przestrajanie jest pewna, nie występuje efekt gubienia kroków, nawet przy zastosowaniu prostego enkodera mechanicznego.

Na wyjściu generatora został zastosowany filtr dolnoprzepustowy zestrojony na częstotliwość ok. 10MHz. Układ AD9833 wytwarza przebieg w sposób cyfrowy, dlatego w jego widmie znajduje się wiele niepożądanych prążków. Aby uzyskać czystą sinusoidę, w układach tego typu konieczne jest stosowanie filtrów dolnoprzepustowych, które mają za zadanie odfiltrować wszelkie harmoniczne i inne prążki powyżej częstotliwości granicznej.

IMG_9419

W układzie zastosowałem prosty filtr dolnoprzepustowy wykonany na dławikach SMD. Filtr jest zestrojony na ok. 10MHz. Jednak ze względu min. na parametry dławików SMD takie rozwiązanie może nie być wystarczające w każdym przypadku. Np. jeśli generator miałby być używany na częstotliwości 3,5MHz (np. w TRX homodynowym na pasmo 80m), to druga i trzecia harmoniczna „przedostaną się” przez wbudowany filtr. W takim przypadku warto zastosować dodatkowy filtr dolnoprzepustowy zestrojony nieco powyżej 3,5MHz. Oczywiście w wielu zastosowaniach sygnał uzyskiwany wprost z generatora będzie miał czystość widmową wystarczającą do zastosowania go jako VFO, jednak warto pamiętać o możliwości wystąpienia niepożądanych prążków w widmie sygnału.

Obsługa nanoDDS’a jest bardzo prosta. Po włączeniu zasilania generator wytwarza częstotliwość, która była ostatnio używana. Obracanie enkoderem skutkuje zmianą częstotliwości z początkowym krokiem 500Hz. Krok ten jest bardzo wygodny przy dostrajaniu się do stacji pracujących emisją SSB, gdyż większość stacji amatorskich pracuje właśnie z rastrem 1kHz lub 0,5kHz. Po naciśnięciu gałki enkodera krok przełączany jest na 50Hz, co umożliwia dokładniejsze dostrojenie. Ponowne naciśnięcie przycisku powoduje powrót do kroku 500Hz oraz zaokrąglenie generowanej częstotliwości do 500Hz, żeby przestrajanie było zgodne z rastrem. Np. jeśli używając kroku 50Hz ustawimy częstotliwość 3.705.150 po przełączeniu kroku na 500Hz częstotliwość zostanie zaokrąglona do wartości 3.705.000. Dalsze przestrajanie odbywa się z krokiem 500Hz.

Dłuższe przytrzymanie naciśniętej gałki enkodera powoduje powrót do częstotliwości początkowej.

Parametry pracy generatora ustawiamy programowo w kodzie programu napisanego pod Arduino. Możemy zdefiniować: częstotliwość początku i końca pasma, częstotliwość początkową, krok początkowy oraz uwzględnić częstotliwość pośredniej częstotliwości odbiornika i ewentualną korektę częstotliwości

Po skompilowaniu kodu programu należy go wgrać do generatora za pomocą programatora ISP, który jest zapewne w posiadaniu wielu konstruktorów. Alternatywnie można użyć płytki Arduino jako programatora.

Montaż w transceiverze jest uproszczony do minimum i polega na przykręceniu enkodera do płyty czołowej, podłączeniu zasilania (5-15V) oraz sygnału wyjściowego z generatora.

W wyniku prac rozwojowych dodałem możliwość podłączenia wyświetlacza LED do układu. Więcej na ten temat w wątku nanoDDS z wyświetlaczem

Oprogramowanie wewnętrzne nanoDDS można pobrać tutaj nanodds_v19_display.zip

nanoDDS z wyświetlaczem

Okazuje się, że złącze ISP, które normalnie służy do podłączenia programatora, można również użyć do podłączenia wyświetlacza. Użyłem gotowego modułu wyświetlacza LED na sterowniku TM1637. Teraz nanoDDS można użyć również do modernizacji TRXów, które nie posiadają cyfrowego odczytu częstotliwości. Co prawda są tylko 4 cyfry, ale za to wyświetlacz jest bardzo mały (24x42mm).

Wkrótce zamieszczę więcej informacji o nanoDDS wraz z oprogramowaniem.

IMG_1913

Robot podążający za linią (Line follower)

Robot powstał na konkretne zamówienie, ale okazało się, że jest świetną zabawką dla mojego syna :). Jego pomysły na wykorzystanie robota do zabawy wyprzedzają przewidywania konstrukcyjne 🙂 Jeden z pomysłów to odwrócenie robota „do góry nogami” i sterowanie nim poprzez świecenie latarką w czujniki.

Konstrukcja całkowicie analogowa, żadnych procesorów ;). Dwa czujniki odbiciowe, silniki, akumulator, układ ładowania. Układ jest prosty, przejrzysty i niezawodny; ale takie było założenie. Inne założenie było takie, że robot ma się poruszać powoli, dlatego możliwe było wykonanie go w bardzo prosty sposób. Chociaż kusi mnie, żeby wykonać kolejną wersję z użyciem jakiegoś procesora – ile by było łatwiej 🙂

IMG_1794

IMG_1822

IMG_1824

IMG_1821

IMG_1797

IMG_1796

Antena EFHW w terenie

Dzisiaj krótka wyprawa do lasu, antena EFHW rozwieszona skośnie na drzewie. Nie było czasu na łączności, zrobiłem kilka nasłuchów. Słyszałem min. Davida M0DAD, który podobnie jak ja lubi pracę portable na KF. Nadawał na 14,210MHz SSB ze stacji przenośnej. Na stronie qrz.com można znaleźć więcej informacji o sprzęcie na jakim pracuje.

IMG_1763.jpg

IMG_1764.jpg

IMG_1771.jpg