Daftar Isi:

HF Antenna Analyzer Dengan Arduino dan Modul DDS: 6 Langkah (dengan Gambar)
HF Antenna Analyzer Dengan Arduino dan Modul DDS: 6 Langkah (dengan Gambar)

Video: HF Antenna Analyzer Dengan Arduino dan Modul DDS: 6 Langkah (dengan Gambar)

Video: HF Antenna Analyzer Dengan Arduino dan Modul DDS: 6 Langkah (dengan Gambar)
Video: Part 1. Membuat RF Power meter digital dengan Arduino desain DuWayne KV4QB. 2024, Juli
Anonim
Penganalisis Antena HF Dengan Modul Arduino dan DDS
Penganalisis Antena HF Dengan Modul Arduino dan DDS
Penganalisis Antena HF Dengan Modul Arduino dan DDS
Penganalisis Antena HF Dengan Modul Arduino dan DDS

Hai

Dalam Instruksi ini saya akan menunjukkan kepada Anda bagaimana saya membangun penganalisis antena berbiaya rendah yang dapat mengukur antena dan menampilkan VSWR-nya pada salah satu atau semua pita frekuensi HF. Ini akan menemukan VSWR minimum dan frekuensi yang sesuai untuk setiap band tetapi juga akan menampilkan VSWR realtime untuk frekuensi yang dipilih pengguna untuk memfasilitasi penyesuaian antena. Jika menyapu satu pita frekuensi, maka akan ditampilkan grafik VSWR versus frekuensi. Ini juga memiliki port USB di bagian belakang untuk frekuensi keluaran dan data VSWR, untuk memungkinkan plot grafik yang lebih halus pada PC. Port USB juga dapat digunakan untuk reflash firmware jika diperlukan.

Saya baru-baru ini masuk ke radio amatir (karena saya menyukai gagasan komunikasi peer-to-peer jarak jauh tanpa infrastruktur) dan dengan cepat melakukan pengamatan berikut:

1. Semua komunikasi di seluruh dunia yang menarik minat saya terjadi pada pita HF (3-30 MHz)

2. Transceiver HF sangat mahal dan akan rusak jika Anda tidak mengarahkannya ke antena yang cukup cocok

3. Anda biasanya diharapkan untuk memasang antena HF Anda sendiri dari potongan kawat yang digantung di taman (kecuali jika Anda ingin menghabiskan lebih banyak uang daripada yang Anda habiskan untuk 2).

4. Antena Anda mungkin tidak cocok, tetapi Anda tidak akan tahu sampai Anda mencobanya.

Sekarang seorang puritan mungkin akan mengatakan bahwa pertama-tama seseorang harus menguji antena pada daya yang sangat rendah pada frekuensi yang diinginkan dan memeriksa VSWR pada meteran rig untuk menilai kualitas kecocokan. Saya tidak punya waktu untuk mempermasalahkan hal semacam itu untuk setiap frekuensi yang mungkin ingin saya gunakan. Yang benar-benar saya inginkan adalah penganalisis antena. Perangkat ini dapat menguji kualitas kecocokan antena pada frekuensi apa pun melalui pita HF. Sayangnya harganya juga sangat mahal, jadi saya mulai mempertimbangkan apakah saya bisa membuatnya sendiri. Saya menemukan pekerjaan luar biasa yang dilakukan oleh K6BEZ (lihat https://www.hamstack.com/project_antenna_analyzer.html), yang menyelidiki penggunaan Arduino untuk mengontrol modul synthesizer digital langsung (DDS) yang murah. Dia segera meninggalkan Arduino dengan alasan biaya, lebih memilih untuk menggunakan PIC. Nah, pada tahun 2017 Anda dapat membeli Arduino Nano seharga sekitar £3,50, jadi saya pikir sudah waktunya untuk meninjau kembali karyanya, melanjutkan di mana dia tinggalkan dan melihat apa yang bisa saya hasilkan (perhatikan bahwa saya bukan satu-satunya yang telah melakukan ini: ada beberapa contoh yang sangat bagus dapat ditemukan di internet).

Pembaruan (29/7/2018) - karya ini telah banyak dikembangkan oleh bi3qwq, dari China, yang telah membuat beberapa peningkatan yang sangat bagus pada antarmuka pengguna, yang telah ia bagikan dengan baik. Dia merancang PCB yang sangat profesional (dengan fitur resistor kalibrasi yang hebat) dan membuat tampilan yang sangat bagus. Di atas semua itu dia telah menyiapkan skema, yang saya tahu akan menyenangkan banyak dari mereka yang telah berkomentar sebelumnya. Silakan lihat bagian komentar untuk informasi lebih lanjut.

Pembaruan - Saya baru-baru ini masuk ke 60 m, yang tidak dicakup oleh sketsa aslinya. Jadi sekarang saya telah mengunggah firmware versi 7, yang menambahkan pita 160 m dan 60 m. Ini bukan add-on; mereka sepenuhnya terintegrasi ke dalam pengoperasian penganalisis. Beruntung saya dapat menemukan font u8glib yang masih terbaca tetapi memungkinkan saya untuk menampilkan sepuluh band secara bersamaan di layar kecil itu (walaupun itu bukan monospace, yang menyebabkan beberapa kesedihan). Saya telah memperkirakan nilai kalibrasi untuk pita baru, berdasarkan interpolasi / ekstrapolasi nilai kalibrasi yang ada. Saya kemudian memeriksa ini dengan resistor tetap dan mereka memberikan hasil yang cukup bagus.

Pembaruan - karena beberapa orang bertanya tentang skema, rangkaian jembatan Arduino / DDS / VSWR yang mendasar sebagian besar tidak berubah dari karya asli K6BEZ. Silakan periksa URL di atas untuk skema aslinya yang menjadi dasar proyek ini. Saya telah menambahkan encoder, layar OLED, dan firmware yang dikembangkan sepenuhnya untuk memberikan pengalaman pengguna yang mudah.

Pembaruan - Sistem ini menggunakan sumber sinyal DDS tegangan sangat rendah bersama dengan jembatan resistif yang berisi detektor dioda. Jadi dioda beroperasi di daerah non-linearnya dan versi pertama saya dari sistem ini cenderung kurang membaca VSWR. Sebagai contoh, beban impedansi 16 ohm atau 160 ohm harus menunjukkan VSWR sekitar 3 dalam sistem 50 ohm; meter ini menunjukkan VSWR lebih dekat ke 2 dalam situasi ini. Karena itu saya melakukan kalibrasi perangkat lunak menggunakan beban yang diketahui yang tampaknya merupakan perbaikan efektif untuk masalah ini. Ini dijelaskan dalam langkah kedua dari instruksi ini dan sketsa yang direvisi telah diunggah.

Pembaruan - fasilitas grafik on-board ditambahkan ke sapuan tunggal karena terlalu berguna untuk ditinggalkan, terutama ketika menyetel panjang antena untuk VSWR minimum: grafik memberi Anda tren yang langsung terlihat.

Langkah 1: Beli Barang Anda

Anda akan membutuhkan barang-barang berikut. Kebanyakan dari mereka dapat diperoleh dengan harga murah dari Ebay. Barang tunggal yang paling mahal adalah kotaknya, hampir £10! Dimungkinkan untuk mengganti beberapa item (saya menggunakan 47 Rs, bukan 50 Rs, misalnya). Dioda agak tidak biasa (saya harus membeli 5 dari Italia) dan akan layak diganti dengan barang yang lebih tersedia jika Anda tahu apa yang Anda lakukan.

  • Arduino Nano
  • Modul DDS (DDS AD9850 Signal Generator Module HC-SR08 Signal Sine Square Wave 0-40MHz)
  • Layar OLED i2c 1,3"
  • Op-amp MCP6002 (8 pin)
  • 2 dari AA143 dioda
  • Kapasitor keramik: 2 mati 100 nF, 3 mati 10 nF
  • 1 uF kapasitor elektrolitik
  • Resistor: 3 mati 50 R, 2 mati 10 K, 2 mati 100 K, 2 mati 5 K, 2 mati 648 R
  • Blok terminal sekrup pitch 2,54 mm: 3 off 2-pin, 2 off 4-pin
  • Kawat pengait inti tunggal
  • 702 atau kawat pengait serupa
  • papan strip
  • Strip header persegi (perempuan) untuk mencolokkan Arduino dan DDS ke - jangan membeli barang soket bundar secara tidak sengaja!
  • Soket pemasangan sasis SO-239
  • Rotary encoder (15 pulsa, 30 detent) dengan sakelar dan kenop
  • 'Modul' rotary encoder murah (opsional)
  • Kotak proyek
  • Sakelar sakelar
  • Mini-usb sudut kanan ke kabel pemasangan sekat USB B (50 cm)
  • PP3 dan klip / dudukan baterai
  • Posting / kebuntuan pemasangan PCB berperekat

Anda juga membutuhkan besi solder dan peralatan elektronik. Printer 3D dan bor pilar sangat membantu untuk enklosur, meskipun jika Anda mau, Anda mungkin bisa merakit semuanya di papan strip dan tidak perlu repot dengan kotak.

Secara alami Anda melakukan pekerjaan ini dan memanfaatkan hasil yang dihasilkan dengan risiko Anda sendiri.

Langkah 2: Letakkan Stripboard

Lay Out the Stripboard
Lay Out the Stripboard
Lay Out the Stripboard
Lay Out the Stripboard

Rencanakan bagaimana Anda akan mengatur komponen pada stripboard. Anda dapat melakukannya sendiri, mengacu pada skema asli K6BEZ (yang tidak memiliki encoder atau layar - lihat Halaman 7 dari https://www.hamstack.com/hs_projects/antenna_analyzer_docs.pdf), atau Anda dapat menghemat banyak waktu dan salin tata letak saya.

Saya melakukan tata letak ini dengan cara sederhana, menggunakan kertas persegi dan pensil. Setiap persimpangan mewakili lubang stripboard. Trek tembaga berjalan secara horizontal. Sebuah salib mewakili trek yang rusak (gunakan bor 6 mm atau alat yang tepat jika Anda memilikinya). Garis lingkaran dengan kotak di sekelilingnya mewakili tajuk. Kotak besar dengan sekrup menunjukkan blok konektor. Perhatikan bahwa dalam diagram saya ada garis tambahan yang membentang secara horizontal melalui bagian tengah papan. Tinggalkan ini saat Anda menyatukannya (ini ditandai 'hilangkan baris ini').

Beberapa komponen mungkin tampak ditata dengan aneh. Ini karena desainnya berevolusi setelah saya membuat perangkat keras dasar berfungsi (terutama ketika saya menyadari bahwa pembuat enkode membutuhkan interupsi perangkat keras, misalnya).

Saat menyolder komponen ke papan, saya menggunakan Blu-Tak untuk menahannya dengan kuat di tempatnya sementara saya membalik papan untuk menyolder kaki.

Saya mencoba meminimalkan jumlah kabel yang saya gunakan dengan menyelaraskan Arduino dan modul DDS dan hanya menggunakan stripboard untuk menghubungkan pin kunci. Saya tidak menyadari pada saat itu bahwa interupsi perangkat keras yang diperlukan untuk membaca encoder hanya berfungsi pada pin D2 dan D3, jadi saya harus memindahkan DDS RESET dari koneksi D3 aslinya dengan sedikit kabel:

RESET DDS - Arduino D7

DDS SDAT - Arduino D4

DDS FQ. UD - Arduino D5

DDS SCLK - Arduino D6

Arduino D2 & D3 digunakan untuk input encoder A & B. D11 digunakan untuk input switch encoder. D12 tidak digunakan tetapi saya pikir saya akan membuat terminal sekrup untuk itu, untuk ekspansi di masa mendatang.

Arduino A4 & A5 menyediakan sinyal SDA & SCL (I2C) untuk layar OLED.

Arduino A0 & A1 mengambil input dari jembatan VSWR (melalui OPAMP).

Langkah 3: Instal Modul, Pasang Periferal dan Flash Kode

Instal Modul, Pasang Periferal dan Flash Kode
Instal Modul, Pasang Periferal dan Flash Kode

Sebaiknya uji papan sebelum bersusah payah memasangnya ke dalam selungkup. Pasang komponen berikut menggunakan kabel fleksibel ke papan menggunakan blok terminal sekrup:

  • Layar OLED 1,3" (SDA dan SCL masing-masing terhubung ke pin Arduino A4 dan A5; ground dan Vcc menuju Arduino GND dan +5V, tentu saja)
  • Rotary encoder (ini membutuhkan ground, dua jalur sinyal, dan jalur sakelar - Anda mungkin perlu membalik jalur sakelar jika encoder bekerja dengan cara yang salah - sambungkan ini ke ground Arduino, D2, D3 & D11 masing-masing). Perhatikan bahwa untuk pekerjaan pembuatan prototipe saya, saya memasang encoder 15/30 ke papan modul encoder KH-XXX, karena pin pada encoder telanjang sangat tipis. Untuk pekerjaan terakhir saya menyolder kabel langsung ke encoder.
  • Baterai 9V
  • Soket SO-239 - solder pin tengah ke jalur sinyal antena dan gunakan terminal cincin M3 dan sekrup untuk ground antena

Flash sketsa berikut ke Arduino. Pastikan juga Anda telah menyertakan perpustakaan driver OLED yang sangat bagus dari Oli Kraus, atau kompilasi akan macet dan terbakar:

Jika tampilan OLED Anda sedikit berbeda, Anda mungkin memerlukan pengaturan konfigurasi yang berbeda di u8glib; ini didokumentasikan dengan baik dalam kode contoh Oli.

Langkah 4: Masukkan Semuanya ke dalam Kotak yang Bagus (opsional)

Masukkan Semuanya ke dalam Kotak yang Bagus (opsional)
Masukkan Semuanya ke dalam Kotak yang Bagus (opsional)
Masukkan Semuanya ke dalam Kotak yang Bagus (opsional)
Masukkan Semuanya ke dalam Kotak yang Bagus (opsional)
Masukkan Semuanya ke dalam Kotak yang Bagus (opsional)
Masukkan Semuanya ke dalam Kotak yang Bagus (opsional)
Masukkan Semuanya ke dalam Kotak yang Bagus (opsional)
Masukkan Semuanya ke dalam Kotak yang Bagus (opsional)

Saya benar-benar mempertimbangkan untuk meninggalkan penganalisis sebagai papan kosong, karena hanya akan digunakan sesekali. Namun, saat direnungkan, saya berpikir bahwa jika saya melakukan banyak pekerjaan pada satu antena, antena itu mungkin akan rusak. Jadi semuanya masuk ke dalam kotak. Tidak ada gunanya membahas detail tentang bagaimana ini dilakukan, karena kotak Anda kemungkinan akan berbeda, tetapi beberapa fitur utama perlu disebutkan:

1. Gunakan standoff PCB berperekat untuk memasang stripboard. Mereka membuat hidup sangat mudah.

2. Gunakan kabel adaptor USB pendek untuk mengeluarkan port USB Arduino ke bagian belakang enklosur. Maka mudah untuk mengakses port serial untuk mendapatkan data frekuensi vs. VSWR dan juga untuk mem-flash Arduino tanpa melepas tutupnya.

3. Saya mengembangkan bagian cetak 3D khusus untuk mendukung tampilan OLED, karena saya tidak dapat menemukan apa pun di web. Ini memiliki ceruk untuk memungkinkan seseorang memasukkan potongan akrilik 2 mm untuk melindungi layar yang rapuh. Itu dapat dipasang menggunakan selotip dua sisi atau sekrup self-tapping (dengan tab di kedua sisi). Setelah layar dipasang, Anda dapat menggunakan kabel panas (pikirkan penjepit kertas dan lampu tiup) untuk melelehkan pin PLA ke bagian belakang papan sirkuit untuk mengamankan semuanya. Inilah file STL untuk siapa saja yang tertarik:

Langkah 5: Kalibrasi

Kalibrasi
Kalibrasi

Awalnya saya tidak melakukan kalibrasi apa pun tetapi menemukan bahwa pengukur VSWR secara konsisten membaca rendah. Ini berarti bahwa meskipun antena tampak baik-baik saja, autotuner rig saya tidak dapat mencocokkannya. Masalah ini muncul karena modul DDS memberikan sinyal amplitudo yang sangat rendah (sekitar 0,5 Vpp pada 3,5 MHz, bergulir seiring dengan peningkatan frekuensi). Oleh karena itu, dioda detektor di jembatan VSWR beroperasi di wilayah non-liniernya.

Ada dua kemungkinan perbaikan untuk ini. Yang pertama adalah menyesuaikan amplifier broadband ke output DDS. Perangkat yang berpotensi cocok tersedia dengan harga murah dari China dan mereka akan meningkatkan output menjadi sekitar 2 V pp. Saya telah memesan salah satunya tetapi belum mencobanya. Perasaan saya adalah bahwa bahkan amplitudo ini akan sedikit marjinal dan beberapa non-linearitas akan tetap ada. Metode kedua adalah dengan menempatkan beban yang diketahui pada keluaran meter yang ada dan merekam VSWR yang ditampilkan pada setiap pita frekuensi. Ini memungkinkan Anda untuk membuat kurva koreksi untuk VSWR aktual versus yang dilaporkan, yang kemudian dapat dimasukkan ke dalam sketsa Arduino untuk menerapkan koreksi dengan cepat.

Saya mengadopsi metode kedua karena mudah dilakukan. Ambil saja resistor berikut: 50, 100, 150 dan 200 ohm. Pada instrumen 50 ohm ini akan sesuai dengan VSWR 1, 2, 3 dan 4 menurut definisi. Di sketsa ada sakelar 'use_calibration'. Setel ini ke RENDAH dan unggah sketsa (yang akan menampilkan peringatan di layar splash). Kemudian lakukan pengukuran di pusat setiap pita frekuensi untuk setiap resistor. Gunakan spreadsheet untuk memplot VSWR yang diharapkan versus yang ditampilkan. Anda kemudian dapat melakukan kurva logaritmik yang sesuai untuk setiap pita frekuensi, yang memberikan pengali dan intersep dalam bentuk TrueVSWR=m.ln(MeasuredVSWR)+c. Nilai-nilai ini harus dimuat ke dalam array swr_results di dua kolom terakhir (lihat pernyataan komentar sebelumnya dalam sketsa). Ini adalah tempat yang aneh untuk meletakkannya tetapi saya sedang terburu-buru dan karena toko array ini mengapung, sepertinya pilihan yang masuk akal pada saat itu. Kemudian letakkan sakelar use_calibration kembali ke TINGGI, reflash Arduino dan pergilah.

Perhatikan bahwa saat melakukan pengukuran frekuensi spot, kalibrasi diterapkan untuk pilihan pita awal. Ini tidak akan diperbarui jika Anda membuat perubahan besar pada frekuensi.

Sekarang meteran membaca seperti yang diharapkan untuk beban tetap dan tampaknya masuk akal saat mengukur antena saya! Saya kira saya mungkin tidak repot-repot mencoba amp broadband itu ketika tiba …

Langkah 6: Menggunakan Penganalisis

Menggunakan Penganalisis
Menggunakan Penganalisis
Menggunakan Penganalisis
Menggunakan Penganalisis

Pasang antena melalui kabel PL-259 dan nyalakan perangkat. Ini akan menampilkan layar splash kemudian secara otomatis melakukan sapuan semua band HF utama. Layar menunjukkan frekuensi yang diuji, pembacaan VSWR saat ini, pembacaan VSWR minimum dan frekuensi terjadinya. Untuk mengurangi kebisingan pengukuran, dilakukan lima pengukuran VSWR di setiap titik frekuensi; nilai rata-rata dari lima pembacaan ini kemudian dilewatkan melalui filter rata-rata bergerak sembilan titik sehubungan dengan frekuensi sebelum nilai akhir ditampilkan.

Jika Anda ingin menghentikan sapuan semua pita ini, cukup tekan kenop encoder. Sapuan akan berhenti dan ringkasan dari semua data pita yang dikumpulkan akan ditampilkan (dengan nol untuk pita yang belum disapu). Tekan kedua akan memunculkan menu utama. Pilihan dibuat dengan memutar encoder dan kemudian menekannya pada titik yang sesuai. Ada tiga pilihan di menu utama:

Sapu semua pita akan memulai kembali sapuan semua pita HF utama. Ketika selesai, itu akan menampilkan layar ringkasan yang dijelaskan di atas. Tulis ini atau ambil foto jika Anda ingin menyimpannya.

Sapu pita tunggal akan memungkinkan Anda untuk memilih satu pita dengan encoder lalu menyapunya. Panjang gelombang dan rentang frekuensi ditampilkan saat membuat pilihan. Ketika penyapuan selesai, penekanan kedua enkoder akan menampilkan grafik VSWR versus frekuensi sederhana dari pita yang baru saja disapu, dengan indikasi numerik VSWR minimum dan frekuensi yang terjadi. Ini sangat berguna jika Anda ingin mengetahui apakah akan memperpendek atau memperpanjang lengan dipol Anda, karena ini menunjukkan tren VSWR dengan frekuensi; ini hilang dengan laporan numerik sederhana.

Frekuensi tunggal memungkinkan Anda untuk memilih satu frekuensi tetap dan kemudian terus memperbarui pengukuran VSWR langsung, untuk tujuan penyetelan antena secara real time. Pertama pilih pita frekuensi yang relevan; tampilan kemudian akan menunjukkan frekuensi tengah dari band yang dipilih dan pembacaan VSWR langsung. Kalibrasi pita yang relevan diterapkan pada titik ini. Salah satu digit frekuensi akan digarisbawahi. Ini dapat dipindahkan ke kiri dan kanan dengan encoder. Menekan encoder memperkuat saluran; kemudian memutar encoder akan mengurangi atau menambah angka (0-9 tanpa wrap atau carry). Tekan encoder lagi untuk memperbaiki digit, lalu lanjutkan ke yang berikutnya. Anda dapat mengakses hampir semua frekuensi di seluruh spektrum HF menggunakan fasilitas ini - pemilihan pita di awal hanya membantu Anda mendekati tempat yang mungkin Anda inginkan. Namun ada peringatan: kalibrasi untuk band yang dipilih dimuat di awal. Jika Anda bergerak terlalu jauh dari pita yang dipilih dengan mengubah angka, kalibrasi akan menjadi kurang valid, jadi cobalah untuk tetap berada di dalam pita yang dipilih. Setelah selesai dengan mode ini, pindahkan garis bawah ke kanan sampai di bawah 'exit', lalu tekan encoder untuk kembali ke menu utama.

Jika Anda menghubungkan PC Anda ke soket USB di bagian belakang penganalisis (yaitu ke Arduino), Anda dapat menggunakan monitor serial Arduino untuk mengumpulkan nilai frekuensi versus VSWR selama operasi penyapuan (saat ini disetel ke 9600 tetapi Anda dapat mengubahnya dengan mudah dengan mengedit sketsa saya). Nilai-nilai tersebut kemudian dapat dimasukkan ke dalam spreadsheet sehingga Anda dapat memplot grafik yang lebih permanen, dll.

Tangkapan layar menunjukkan ringkasan VSWR untuk antena vertikal tiang pancing 7,6 m saya dengan UNUN 9:1. Rig saya dapat menampung SWR maks 3:1 dengan unit auto-tuner internalnya. Anda dapat melihat bahwa saya akan dapat menyetelnya di semua band kecuali 80 m dan 17 m. Jadi sekarang saya dapat bersantai dengan pengetahuan bahwa saya memiliki antena multi-band yang lumayan dan saya tidak akan merusak apa pun yang mahal saat mentransmisikan pada sebagian besar band.

Selamat mencoba dan saya harap Anda menemukan ini berguna.

Direkomendasikan: