Cyfrowa skala częstotliwości i sterownik do tranceivera Taurus

Cyfrowa skala częstotliwości i sterownik do tranceivera Taurus
Pobierz PDF Download icon
TRX "Taurus" jest popularnym i prostym tranceiverem QRP z pojedynczą przemianą częstotliwości i idealnie nadaje się do roli pierwszego urządzenia nadawczo - odbiorczego początkującego krótkofalowca lub do zabrania ze sobą na imprezę plenerową. W oryginalnej wersji heterodyna jest zbudowana w oparciu o typowy układ VFO sterowany napięciem z suwaka potencjometru wieloobrotowego. Autor konstrukcji, w gestii użytkownika pozostawia kwestię wyświetlania częstotliwości tranceivera, czy też użycie generatora DDS zamiast VFO. Ze względu na stabilność częstotliwości, najlepszym rozwiązaniem jest zastosowanie generatora DDS, jednak w przypadku tak prostego urządzenia koszt takiego rozwiązania jest znaczący. Często jest wystarczające pozostawienie oryginalnego układu VFO oraz wyposażenie transceivera we wskaźnik częstotliwości. Rekomendacje: skala jest niezbędnym dodatkiem do transceivera poprawiającym jego funkcjonalność.

Na łamach EP kilkakrotnie opisywano odpowiednie skale/mierniki częstotliwości do TRX-ów, jednak nie spełniały one moich oczekiwań. Taurus z racji swojej wielkości idealnie pełni funkcję urządzenia przenośnego, zatem dobrze by było, aby sterownik oprócz pomiaru częstotliwości miał też funkcjonalność pomiaru napięcia akumulatora. W ten sposób powstał sterownik/skala częstotliwości TRXCTL o rozszerzonej funkcjonalności, która może być używana również z innymi urządzeniami, np. z transceiverem Antek.

Opis układu

Rysunek 1. Schemat ideowy skali do TRX "Taurus"

Schemat ideowy skali pokazano na rysunku 1. Jej sercem jest bardzo popularny i nieco już przestarzały mikrokontroler ATmega8 mający 8 kB pamięci Flash, 1 kB pamięci RAM oraz przetwornik A/C o rozdzielczości 10 bitów. W tym zastosowaniu wymagana moc obliczeniowa rdzenia jest niewielka, więc doskonale spełnia on swoją rolę.

Do taktowania mikrokontrolera zastosowano zewnętrzny rezonator kwarcowy o częstotliwości 11,0592 MHz (X1). Dodatkowy kondensator C1 służy do dostrojenia rezonatora do częstotliwości nominalnej i powinien być dobrany w zależności od zastosowanego egzemplarza kwarcu. W prototypie wartość pojemności C1 wynosiła 48 pF. Konieczność zastosowania zewnętrznego rezonatora kwarcowego wynika z funkcjonalności pomiaru częstotliwości.

Układ zasilania mikrokontrolera zrealizowano w sposób typowy z użyciem stabilizatora liniowego LM80M05 lub LP2950 (IC3). Do komunikacji z użytkownikiem służy 4-cyfrowy 7-segmentowy wyświetlacz LED (DISP1) o wysokości 14vmm i wspólnej anodzie cyfr, sterowany z multipleksowaniem. Załączanie zasilania anod wyświetlaczy odbywa się za pomocą tranzystorów T2...T5 typu BC807 z uwagi na ograniczony prąd maksymalny pojedynczego portu GPIO mikrokontrolera.

Sterowanie poszczególnych segmentów wyświetlacza odbywa się z wykorzystaniem portów mikrokontrolera poprzez rezystory R6...R13 ograniczające prąd poszczególnych segmentów. Do portów PD2 (INT0) i PD3 (INT1) dołączono dwa przyciski służące do obsługi urządzenia. Linie wybrano celowo z uwagi na możliwość wybudzania mikrokontrolera z trybu uśpienia poprzez wciśnięcie przycisku, co jest wykorzystywane przy realizacji funkcjonalności wyłącznika programowego.

Pomiar napięcia zasilającego odbywa się za pomocą rezystancyjnego dzielnika napięcia R2/R3, który jest dołączony do wejścia ADC0 przetwornika A/C. Pomiar napięcia AGC (Automatic Gain Control) odbywa się za pomocą podwajacza napięcia wykonanego na podwójnej diodzie BAT54S (D1). Podwojone napięcie jest doprowadzone do wejścia ADC1 przetwornika A/C. W TRX "Taurus" napięcie AGC występujące na diodach podwajacza 1N4148 ma polaryzację ujemną i dlatego jest konieczne zastosowanie podwajacza dostarczającego napięcie dodatnie.

Pomiar częstotliwości z wykorzystaniem układu czasowo-licznikowego mikrokontrolera jest ograniczony do impulsów prostokątnych o maksymalnej częstotliwości 5,5 MHz i wypełnieniu 50%, natomiast sygnał z generatora VFO jest sygnałem sinusoidalnym o amplitudzie kilkuset mV i kilkukrotnie większej częstotliwości, co powoduje konieczność zastosowania dodatkowego układu formującego impulsy.

Sygnał z VFO trafia do wzmacniacza w układzie CE na tranzystorze T1, a następnie jest kierowany do bramki negacji z wejściem Schmitta IC4 (74LVC1G14GW). W wyniku tego na wyjściu otrzymujemy sygnał prostokątny, który jest doprowadzony do wejścia dzielnika zrealizowanego na dwóch przerzutnikach typu "D" układu 74HC74D. Na wyjściu dzielnika otrzymujemy sygnał o 4-krotnie mniejszej częstotliwości, który jest dołączony do wejścia układu czasowo-licznikowego T1 (PD5).

Linia PD6 za pośrednictwem rezystora R20 jest wyprowadzona na złącze zewnętrzne i służy do sterowania zewnętrznym tranzystorem MOSFET, odpowiedzialnym za zasilanie pozostałych komponentów tranceivera. Złącze CONN1 stanowi interfejs ISP w standardzie STK200 służący do programowania mikrokontrolera, natomiast na złącze CONN2 wyprowadzono wszystkie linie zewnętrzne urządzenia.

Oprogramowanie

Rysunek 2. Algorytm działania programu

Oprogramowanie napisano w języku C z wykorzystaniem kompilatora avr-gcc w wersji 4.9.1. Jest ono udostępniane jest na otwarto-źródłowej licencji GPL.

Algorytm działania programu sterownika jest stosunkowo prosty (rysunek 2). Po rozpoczęciu wykonania programu inicjalizowane są wszystkie układy peryferyjne mikrokontrolera, a następnie jest sprawdzana przyczyna rozpoczęcia działania programu. Jeśli jest nią wyłączenie zasilania, program natychmiast przechodzi do uśpienia mikrokontrolera.

Jeśli powodem rozpoczęcia działania było przerwanie zewnętrzne, to oznacza wciśnięcie przycisku ON włączającego urządzenie, a więc rozpoczęcie normalnej pracy. Wtedy jest aktywowany pin ONOFF, sterujący tranzystorem kluczującym zasilanie, a następnie program przechodzi do wykonania pętli głównej, gdzie jest sprawdzany stan klawiszy i na tej podstawie jest wybierany odpowiedni tryb pomiarowy (klawisz SET) lub wyłączenie mikrokontrolera (klawisz OFF).

W zależności od wybranego trybu, następuje pomiar aktualnie wybranej wielkości oraz wyświetlenie wyniku. Odświeżanie wyniku pomiaru jest realizowane jedynie przy zmianie mierzonej wartości, jednak nie częściej niż 5 razy na sekundę. Z uwagi na to, że dostępne 4 cyfry to za mało do prezentacji częstotliwości, dla trybu pomiaru tej wielkości wynik jest pokazywany naprzemiennie.

Przez okres 1 sekundy jest wyświetlana wartość w MHz, a na wyświetlaczu pojawia się symbol np. 3F, a przez okres 5 sekund jest pokazywana część ułamkowa z dokładnością do 100 Hz. Równocześnie z wykonywaniem pomiaru na potrzeby wyświetlania jest monitorowany stan napięcia zasilającego. Jeśli napięcie osiągnie wartość niższą od ustawionego progu przez okres 60 s, wówczas następuje wyłączenie pozostałej części układu za pomocą wyprowadzenia ONOFF oraz przejście kontrolera w stan uśpienia. Poziom napięcia minimalnego jest ustalany w specjalnym trybie konfiguracyjnym i może być również całkowicie wyłączony.

Obsługa trybu multipleksowania wyświetlacza (plik display.c) jest realizowana za pomocą przerwania od przepełnienia licznika układu czasowo-licznikowego T0 z częstotliwością odświeżania pojedynczych cyfr wynoszącą 100 Hz. W procedurze zaimplementowano również tryb mrugania wyświetlacza z częstotliwością 0,5 Hz wykorzystywany w trybie konfiguracji. Równocześnie przerwanie to odpowiada za główny licznik czasu dla aplikacji (systick) oraz obsługę klawiatury.

Pomiar częstotliwości (plik fmeas.c) zrealizowano z wykorzystaniem układów czasowo-licznikowych T1 oraz T0. 16-bitowy układ T1 służy do zliczania impulsów pojawiających się na wejściu T1 mikrokontrolera. Ponieważ 16-bitowa długość licznika jest niewystarczająca, w przerwaniu od przepełnienia licznika zrealizowano dodatkowe programowe zwiększenie jego rozdzielczości do 24 bitów. Układ czasowo-licznikowy T0 odpowiada za bramkowanie licznika T1, które ustalono na 0,2 sekundy. Jest to wartość stanowiąca kompromis pomiędzy czasem odświeżania a rozdzielczością pomiaru. Mechanizm pomiaru częstotliwości jest realizowany typowo.

Pomiar napięcia zasilania oraz AGC (plik voltmeter.c) zrealizowano za pomocą zintegrowanego przetwornika A/C pracującego z wewnętrznym źródłem napięcia referencyjnego. Ponieważ istnieje konieczność ciągłego monitorowania stanu napięcia, jest on wykonywany cyklicznie z częstotliwością 10 Hz. Wynik pomiaru jest uśredniany z 8 sąsiednich próbek, co zapewnia utrzymanie odpowiedniej stabilności wyniku pomiaru.

Wykaz elementów

Rezystory: (SMD 0805)
R4: 0 Ω
R6...R13, R20: 100 Ω
R14: 510 Ω
R3: 1 kΩ/1%
R5: 1 kΩ
R2: 6,8 kΩ/1%
R16...R19: 10 kΩ
R15: 33 kΩ

Kondensatory: (SMD 0805)
C2, C3: 22 pF
C15: 1 nF
C4...C10, C13, C14, C16, C17: 100 nF
C11, C12: 1 µF
C7: 47 µF/16 V (SMD "C")
C1: opis w tekście patrz tekst

Półprzewodniki:
D1: BAT54S (SOT23)
DISP1: LED4-AF02841
IC1: ATmega8A-16 (TQFP32)
IC2: 74HC74D (SO8)
IC3: 78M05 lub LP2950 (DPAK)
IC4: 74LVC1G14GW (SOT353-1)
T1: BC847 (SOT23)
T2...T5: BC807 (SOT23)

Inne:
CONN1: ISP (IDC 2×5)
CONN2: TRXINP (IDC6)
L1: 10 mH (SMD 1210)
SW1, SW2: przycisk
X1: kwarc 11,0592 MHz (HC49SM)

Montaż i uruchomienie

Rysunek 3. Schemat montażowy skali do TRX "Taurus"

Schemat montażowy urządzenia pokazano na rysunku 3. Całość zmontowano na płytce dwustronnej w technologii SMD z metalizacją otworów. Wymiary płytki dobrano tak, aby sterownik można było umieścić na panelu czołowym urządzenia. Wszystkie elementy SMD znajdują się po jednej stronie płytki, natomiast po drugiej stronie zamontowano jedynie wyświetlacz oraz przyciski służące do obsługi urządzenia.

Wszystkie elementy dyskretne mają obudowy 0805. Montaż przeprowadzamy typowo rozpoczynając od elementów biernych, a kończąc na półprzewodnikowych. Z uwagi na niewielkie wymiary obudowy niewielką trudność może sprawić montaż bramki IC4. Układ IC3 należy wyposażyć w mały radiator, który możemy wygiąć z kawałka cienkiej blaszki miedzianej.

Po zmontowaniu urządzenia możemy dołączyć zasilacz o napięciu z zakresu 8...15 V do linii VPP/GND na złączu J1, a następnie sprawdzić obecność napięcia +5 V na wyjściu stabilizatora IC3. Możemy również sprawdzić działanie układu formowania sygnału służącego do pomiaru częstotliwości.

W tym celu do wejścia FIN należy dołączyć dowolny generator o częstotliwości do 30 MHz i amplitudzie kilkuset mV. Na nóżce 8 układu IC2 powinniśmy obserwować przebieg prostokątny o amplitudzie 5 Vpp i częstotliwości 4-krotnie mniejszej niż sygnał z generatora. Prawidłowo zmontowany układ powinien działać od razu po włączeniu zasilania i powyższe kroki należy traktować jedynie jako opcjonalne.

Po zmontowaniu płytki należy zaprogramować mikrokontroler. W tym celu do złącza CONN1 w standardzie STK200 należy dołączyć dowolny programator dla mikrokontrolerów AVR i zaprogramować plikiem vufmeter.hex. Po zaprogramowaniu pamięci Flash należy ustawić fusebity mikrokontrolera, aby pracował on z zewnętrznym rezonatorem kwarcowym 11,0592 MHz.

Przy korzystaniu z programu avrdude można to wykonać za pomocą polecenia avrdude -p atmega8 -c usbasp -U lfuse:w:0x3f:m -U hfuse:w:0xd9:m. Po zaprogramowaniu mikrokontrolera układ jest gotowy do pracy. Poprawność działania możemy sprawdzić wciskając przycisk ON, co powinno spowodować uruchomienie skali i wyświetlanie aktualnie zmierzonej częstotliwości.

Pozostało nam jeszcze odpowiednie skalibrowanie generatora zegarowego, który jest sygnałem wzorcowym dla pomiaru częstotliwości. Do kalibrowania możemy wykorzystać generator wzorcowy lub częstościomierz o odpowiedniej klasie dokładności. Zamiast kondensatora C1 należy wlutować trymer o pojemności do 100 pF.

Podczas kalibrowania z generatorem wzorcowym należy kręcić trymerem aż do momentu uzyskania na wyświetlaczu częstotliwości równej nastawionej na generatorze. Po uzyskaniu stabilnej częstotliwości należy zmierzyć pojemność kondensatora C1, a następnie w jego miejsce wlutować kondensator stały o najbliższej pojemności z szeregu. Możemy również połączyć dwa kondensatory równolegle. Po dokonaniu kalibracji generatora kwarcowego montaż urządzenia możemy uznać za zakończony.

Przykład połączenia skali z TRX "Taurus"

Rysunek 4. Dołączenie skali do transceivera

Pierwotnym przeznaczeniem urządzenia jest funkcja skali częstotliwości, miernika siły sygnału oraz nadzór nad akumulatorem w transceiverze "Taurus". Urządzenie może jednak pełnić podobną funkcję w dowolnym TRX-ie np. popularnym "Antku". Może również znaleźć zastosowanie jako miernik częstotliwości lub woltomierz.

Połączenie z "Taurusem" odbywa się za pomocą złącza CONN2. Linie VPP oraz GND stanowią zasilanie urządzenia i należy je dołączyć bezpośrednio do zacisków głównego zasilania. Linia ONOFF służy do sterowania załączaniem analogowej części tranceivera. Układ wykonawczy sterujący załączaniem TRX można zrealizować na tranzystorach MOSFET lub za pomocą tranzystora i przekaźnika. Przykład układu wykonawczego na tranzystorach MOSFET służącego do sterowania zasilaniem przedstawiono na rysunku 4.

Linię FIN będącą wejściem częstościomierza należy dołączyć do wejścia READOUT płytki odbiornika. Linię AGC będącą wejściem sygnału pomiarowego automatycznej regulacji wzmocnienia należy dołączyć do kolektora tranzystora 2N3904.

Eksploatacja urządzenia

Lewy przycisk nazwany MODE służy do wyboru trybu pomiaru, natomiast prawy przycisk o nazwie ON/OFF służy włączania/wyłączania transceivera. Po wyłączeniu napięcia zasilania program wyświetla jedynie komunikat powitalny i przechodzi do trybu uśpienia. Włączenia TRX-a dokonujemy poprzez krótkie wciśnięcie przycisku ON/OFF, natomiast wyłączenie następuje po jego dłuższym przytrzymaniu.

Po włączeniu skala znajduje się w trybie podstawowym, w którym jest wyświetlana częstotliwość aktualna. Kolejne wciśnięcia MODE powodują cykliczne przechodzenie pomiędzy trybami pomiaru częstotliwości, napięcia AGC i napięcia akumulatora. Tryb pomiaru napięcia jest sygnalizowany za pomocą symbolu "U", natomiast pomiaru AGC jest sygnalizowany za pomocą symbolu "o".

Z uwagi na to, że w "Taurusie" poziom napięcia AGC nie jest określony i zależy od zastosowanego egzemplarza tranzystora J310, zrezygnowano ze skalowania pomiaru według skali "S", a wynik jest reprezentowany na niemianowanej skali w zakresie 0...255. Pomiar napięcia jest prezentowany z dokładnością do 0,1 V. Pomiar częstotliwości - z uwagi na ograniczoną wielkość wyświetlacza - jest prezentowany naprzemiennie. W cyklu 1 s/5 s jest prezentowana część całkowita częstotliwości wyrażona w MHz z symbolem "f", a następnie część ułamkowa z dokładnością do 100 Hz.

Przed właściwą eksploatacją skali z transceiverem należy skonfigurować urządzenie w celu ustawienia częstotliwości pośredniej F, która będzie odjęta/dodana od właściwej częstotliwości VFO. Należy również ustawić minimalne, dopuszczalne napięcie akumulatora, przy którym nastąpi wyłączenie tranceivera. Wszystkie nastawy konfiguracyjne zapisywane są w nieulotnej pamięci EEPROM.

Aby wejść w tryb konfiguracyjny należy wyłączyć skalę, a następnie włączyć ponownie za pomocą przycisku ON/OFF jednocześnie trzymając przycisk MODE do momentu, aż na wyświetlaczu zostanie wyświetlony komunikat CFG. Po puszczeniu przycisku na wyświetlaczu powinien pojawić się migający symbol "0?" oznaczający wartość częstotliwości pośredniej w MHz. Za pomocą przycisku ON/OFF, który w trybie konfiguracji pełni rolę modyfikatora wartości, możemy ustawić pożądaną wartość w zakresie -99...+99.

Krótkie wciśnięcie ON/OFF powoduje zmianę wartości o 1, natomiast długie zwiększa wartość o 10. Wciskając klawisz MODE przechodzimy poprzez nastawianie wartości, kHz w zakresie 0...999, co sygnalizuje symbol "0|-", następnie przechodzimy do nastawy Hz, co sygnalizuje symbol "0H". Po kolejnym wciśnięciu przycisku MODE przechodzimy do nastaw napięcia granicznego akumulatora, co jest symbolizowane za pomocą symbolu "U".

Po ustawieniu wszystkich wartości należy przytrzymać długo klawisz MODE aż do momentu, gdy na wyświetlaczu zostanie pokazany symbol "O-", co oznacza, że konfiguracja została zapisana prawidłowo. Po zapisaniu konfiguracji sterownik przechodzi do trybu głównego na wyświetlaczu powinna być wyświetlana rzeczywiście odbierana częstotliwość.

Po obniżeniu napięcia zasilającego poniżej nastawionego progu sterownik odetnie zasilanie głównej części tranceivera i przejdzie w stan uśpienia. Z uwagi na zastosowanie zwykłego stabilizatora napięcia w trybie uśpienia układ pobiera około 3 mA prądu, jednak przy zasilaniu z akumulatora żelowego o pojemności kilkunastu Ah nie stanowi to większego problemu.

Lucjan Bryndza (SQ5FGB), EP

Artykuł ukazał się w
Październik 2014
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik czerwiec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje czerwiec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna czerwiec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich czerwiec 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów