Isi kandungan:

HF Antenna Analyzer With Arduino dan DDS Module: 6 Steps (with Pictures)
HF Antenna Analyzer With Arduino dan DDS Module: 6 Steps (with Pictures)

Video: HF Antenna Analyzer With Arduino dan DDS Module: 6 Steps (with Pictures)

Video: HF Antenna Analyzer With Arduino dan DDS Module: 6 Steps (with Pictures)
Video: DIY No Frills AD9850/Arduino Antenna Analyzer 2024, Julai
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 Instructable ini saya akan menunjukkan kepada anda bagaimana saya membina alat analisa antena kos rendah yang dapat mengukur antena dan memaparkan VSWRnya pada mana-mana atau semua jalur frekuensi HF. Ia akan menemui VSWR minimum dan frekuensi yang sesuai untuk setiap band tetapi juga akan menunjukkan VSWR masa nyata untuk frekuensi yang dipilih pengguna untuk memudahkan penyesuaian antena. Sekiranya menyapu jalur frekuensi tunggal, ia akan memaparkan grafik VSWR berbanding frekuensi. Ia juga mempunyai port USB di bahagian belakang untuk mengeluarkan frekuensi dan data VSWR, untuk membolehkan plot grafik lebih halus pada PC. Port USB juga dapat digunakan untuk mengembalikan firmware jika diperlukan.

Saya baru-baru ini masuk ke radio amatur (kerana saya menyukai idea komunikasi rakan sebaya dari jarak jauh tanpa infrastruktur) dan dengan cepat membuat pemerhatian berikut:

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

2. Transceiver HF sangat mahal dan akan rosak jika anda tidak mendorongnya ke antena yang cukup sesuai

3. Anda biasanya diharapkan dapat memasang antena HF anda sendiri dari sekeping wayar yang tersangkut di kebun (melainkan anda ingin mengeluarkan lebih banyak wang daripada yang anda belanjakan dalam 2).

4. Antena anda mungkin tidak sesuai tetapi anda tidak akan tahu sehingga anda mencubanya.

Sekarang orang purin mungkin mengatakan bahawa seseorang harus terlebih dahulu menguji antena dengan daya yang sangat rendah pada frekuensi minat dan memeriksa VSWR pada meter rig untuk menilai kualiti pertandingan. Saya tidak mempunyai banyak masa untuk melakukan perkara seperti itu untuk setiap frekuensi yang mungkin ingin saya gunakan. Apa yang saya mahukan ialah penganalisis antena. Peranti ini dapat menguji kualiti padanan antena pada frekuensi apa pun pada jalur HF. Sayangnya harganya juga sangat mahal, jadi saya ingin mempertimbangkan sama ada saya boleh membuat sendiri. Saya tersandung pada kerja cemerlang yang dilakukan oleh K6BEZ (lihat https://www.hamstack.com/project_antenna_analyzer.html), yang menyiasat penggunaan Arduino untuk mengawal modul synthesizer digital langsung (DDS) yang murah. Dia segera meninggalkan Arduino dengan alasan kos, lebih suka menggunakan PIC. Nah, pada tahun 2017 anda dapat membeli Arduino Nano dengan harga kira-kira £ 3,50, jadi saya fikir sudah tiba masanya untuk meninjau semula karyanya, mengambil dari tempat dia berhenti dan melihat apa yang boleh saya hasilkan (perhatikan bahawa saya bukan satu-satunya yang telah melakukan ini: terdapat beberapa contoh yang sangat baik untuk dijumpai di internet).

Kemas kini (29/7/2018) - karya ini telah dibangunkan oleh bi3qwq, dari China, yang telah membuat beberapa peningkatan yang sangat baik pada antara muka pengguna, yang telah dia kongsikan dengan baik. Dia merancang PCB yang sangat profesional (dengan ciri perintang penentukuran yang hebat) dan membuat binaan yang sangat menarik. Sebagai tambahan, dia telah menyiapkan skema, yang saya tahu akan menggembirakan banyak pihak yang telah memberikan komen sebelumnya. Sila lihat bahagian komen untuk maklumat lebih lanjut.

Kemas kini - Saya telah memasuki 60 m baru-baru ini, yang tidak diliputi oleh lakaran asal. Jadi sekarang saya telah memuat naik firmware versi 7, yang menambah jalur 160 m dan 60 m. Ini bukan alat tambah; mereka digabungkan sepenuhnya ke dalam operasi penganalisis. Nasib baik saya dapat menjumpai fon u8glib yang masih boleh dibaca tetapi membolehkan saya memaparkan sepuluh band secara serentak pada skrin kecil itu (walaupun itu bukan monospace, yang menimbulkan kesedihan). Saya telah menganggarkan nilai penentukuran untuk jalur baru, berdasarkan interpolasi / ekstrapolasi nilai penentukuran yang ada. Saya kemudian memeriksa ini dengan perintang tetap dan mereka memberikan hasil yang cukup baik.

Kemas kini - kerana beberapa orang bertanya mengenai skema, litar jambatan Arduino / DDS / VSWR asasnya sebahagian besarnya tidak berubah dari karya asal K6BEZ. Sila periksa URL di atas untuk skema asalnya yang menjadi asas saya membuat projek ini. Saya telah menambahkan pengekod, skrin OLED dan firmware yang dikembangkan sepenuhnya untuk mendapatkan pengalaman pengguna yang mudah.

Kemas kini - Sistem ini menggunakan sumber isyarat DDS voltan yang sangat rendah bersama dengan jambatan resistif yang mengandungi pengesan diod. Oleh itu, diod beroperasi di kawasan tidak linier dan versi pertama saya dari sistem ini cenderung kurang membaca VSWR. Sebagai contoh, beban impedans 16 ohm atau 160 ohm harus menunjukkan VSWR kira-kira 3 dalam sistem 50 ohm; meter ini menunjukkan VSWR lebih dekat dengan 2 dalam keadaan ini. Oleh itu, saya melakukan penentukuran perisian menggunakan beban yang diketahui yang nampaknya merupakan penyelesaian yang berkesan untuk masalah ini. Ini dijelaskan dalam langkah kedua terakhir dari arahan ini dan lakaran yang telah disemak semula telah dimuat naik.

Kemas kini - kemudahan grafik on-board ditambahkan pada sapuan tunggal kerana terlalu berguna untuk ditinggalkan, terutamanya ketika menala panjang antena untuk VSWR minimum: grafik memberi anda trend yang dapat dilihat dengan serta-merta.

Langkah 1: Beli Barang Anda

Anda memerlukan item berikut. Sebilangan besar daripadanya boleh didapati dengan murah dari Ebay. Item tunggal yang paling mahal adalah kotak, dengan harga £ 10! Mungkin boleh menggantikan beberapa item (misalnya, saya menggunakan 47 Rs dan bukannya 50 Rs). Dioda agak luar biasa (saya terpaksa membeli 5 dari Itali) dan akan bernilai menggantikan barang yang lebih mudah didapati jika anda tahu apa yang anda lakukan.

  • Arduino Nano
  • Modul DDS (Modul Generator Isyarat DDS AD9850 HC-SR08 Isyarat Gelombang Sinus Persegi 0-40MHz)
  • Paparan OLED 1.3 "i2c
  • MCP6002 op-amp (8 pin)
  • 2 diod AA143 diskaun
  • Kapasitor seramik: 2 off 100 nF, 3 off 10 nF
  • 1 kapasitor elektrolitik uF
  • Perintang: 3 off 50 R, 2 off 10 K, 2 off 100 K, 2 off 5 K, 2 off 648 R
  • Blok terminal skru pitch 2.54 mm: 3 off 2-pin, 2 off 4-pin
  • Kawat penyambung teras tunggal
  • 702 atau wayar penyambung yang serupa
  • Papan jalur
  • Jalur pengepala persegi (wanita) kerana memasukkan Arduino dan DDS ke dalam - jangan membeli barang soket bulat secara tidak sengaja!
  • Soket pemasangan casis SO-239
  • Pengekod putar (15 nadi, 30 penahan) dengan suis tekan dan tombol
  • 'Modul' pengekod putar murah (pilihan)
  • Kotak projek
  • Togol suis
  • Plumbum pelekap mini-usb ke USB B sudut kanan (50 cm)
  • PP3 dan klip / pemegang bateri
  • Tiang pemasangan / pelekat PCB pelekat diri

Anda juga memerlukan alat solder dan alat elektronik. Pencetak 3D dan gerudi tiang sangat berguna untuk kandang, walaupun jika anda mahu, anda mungkin boleh memasangkan keseluruhannya di papan pelindung dan tidak mengganggu kotak.

Sememangnya anda melakukan kerja ini dan memanfaatkan hasil yang dihasilkan dengan risiko anda sendiri.

Langkah 2: Letakkan Papan Papan

Bentangkan Papan Lebar
Bentangkan Papan Lebar
Bentangkan Papan Lebar
Bentangkan Papan Lebar

Rancang bagaimana anda akan menyusun komponen di papan tulis. Anda boleh melakukannya sendiri, merujuk kepada skema asal K6BEZ (yang tidak mempunyai pengekod atau skrin - lihat Halaman 7 dari https://www.hamstack.com/hs_projects/antenna_analyzer_docs.pdf), atau anda dapat menjimatkan banyak masa dan salin susun atur saya.

Saya membuat susun atur ini dengan cara yang mudah, dengan menggunakan kertas kuasa dua dan pensil. Setiap persimpangan mewakili lubang papan jalur. Jalur tembaga melintang. Salib melambangkan landasan yang rosak (gunakan gerudi 6 mm atau alat yang sesuai jika anda memilikinya). Garis bulatan dengan kotak di sekelilingnya mewakili tajuk. Kotak besar dengan skru menunjukkan blok penyambung. Perhatikan bahawa dalam rajah saya terdapat garis tambahan yang melintang secara melintang di tengah papan. Biarkan ini semasa anda menyatukannya (ditandakan 'hilangkan garis ini').

Sebilangan komponennya mungkin terlihat aneh. Ini kerana reka bentuknya berkembang sebaik sahaja perkakasan asas berfungsi (terutamanya ketika saya menyedari bahawa pengekod memerlukan gangguan perkakasan, misalnya).

Semasa menyolder komponen ke papan, saya menggunakan Blu-Tak untuk menahannya di tempat yang kuat semasa saya membalikkan papan untuk memateri kaki.

Saya cuba meminimumkan jumlah wayar yang saya gunakan dengan menyelaraskan modul Arduino dan DDS dan hanya menggunakan papan jalur untuk menyambungkan pin kunci. Saya tidak menyedari pada masa itu bahawa gangguan perkakasan yang diperlukan untuk membaca pengekod hanya berfungsi pada pin D2 dan D3, jadi saya terpaksa mengalihkan DDS RESET dari sambungan D3 asalnya dengan sedikit wayar:

DDS RESET - Arduino D7

DDS SDAT - Arduino D4

DDS FQ. UD - Arduino D5

DDS SCLK - Arduino D6

Arduino D2 & D3 digunakan untuk input pengekod A & B. D11 digunakan untuk input suis pengekod. D12 tidak digunakan tetapi saya fikir saya akan membuat terminal skru untuknya, untuk pengembangan masa depan.

Arduino A4 & A5 memberikan isyarat SDA & SCL (I2C) untuk skrin OLED.

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

Langkah 3: Pasang Modul, Pasang Periferal dan Flash Kodnya

Pasang Modul, Lampirkan Periferal dan Flash Kodnya
Pasang Modul, Lampirkan Periferal dan Flash Kodnya

Perlu diuji papan sebelum menghadapi masalah memasangnya ke kandang. Pasang komponen berikut menggunakan wayar fleksibel ke papan menggunakan blok terminal skru:

  • Paparan 1.3 "OLED (SDA dan SCL disambungkan ke pin Arduino A4 dan A5 masing-masing; tanah dan Vcc menuju Arduino GND dan + 5V, jelas)
  • Pengekod putar (ini memerlukan pembumian, dua garis isyarat dan garis suis - anda mungkin perlu membalikkan garis suis jika pengekod berfungsi dengan cara yang salah - sambungkannya ke arduino ground, D2, D3 & D11 masing-masing). Perhatikan bahawa untuk kerja prototaip saya memasang encoder 15/30 ke papan modul pengekod KH-XXX, kerana pin pada pengekod telanjang sangat tipis. Untuk pekerjaan terakhir, saya menyisipkan wayar terus ke pengekod.
  • Bateri 9V
  • Soket SO-239 - pasangkan pin tengah ke garis isyarat antena dan gunakan terminal cincin M3 dan skru untuk tanah antena

Lakarkan lakaran berikut ke Arduino. Pastikan juga anda memasukkan pustaka pemacu OLED yang sangat baik dari Oli Kraus, atau pujian akan rosak dan terbakar:

Sekiranya paparan OLED anda sedikit berbeza, anda mungkin memerlukan tetapan konfigurasi yang berbeza di u8glib; ini didokumentasikan dengan baik dalam kod contoh Oli.

Langkah 4: Masukkan Semua dalam Kotak Bagus (pilihan)

Letakkan Semuanya dalam Kotak Bagus (pilihan)
Letakkan Semuanya dalam Kotak Bagus (pilihan)
Letakkan Semuanya dalam Kotak Bagus (pilihan)
Letakkan Semuanya dalam Kotak Bagus (pilihan)
Letakkan Semuanya dalam Kotak Bagus (pilihan)
Letakkan Semuanya dalam Kotak Bagus (pilihan)
Letakkan Semuanya dalam Kotak Bagus (pilihan)
Letakkan Semuanya dalam Kotak Bagus (pilihan)

Saya dengan serius mempertimbangkan untuk meninggalkan penganalisis sebagai papan kosong, kerana ia mungkin sekali-sekala digunakan. Semasa merenung, saya berfikir bahawa jika saya melakukan banyak kerja pada satu antena, ia mungkin akan rosak. Jadi semuanya masuk dalam kotak. Tidak ada gunanya memperincikan bagaimana ini dilakukan, kerana kotak anda mungkin akan berbeza, tetapi beberapa ciri utama patut disebut:

1. Gunakan penyekat PCB pelekat diri untuk memasang papan jalur. Mereka menjadikan hidup sangat mudah.

2. Gunakan penyesuai USB pendek untuk membawa keluar port USB Arduino ke bahagian belakang kandang. Maka mudah untuk mengakses port bersiri untuk mendapatkan data frekuensi vs VSWR dan juga untuk mengembalikan Arduino tanpa melepaskan penutupnya.

3. Saya mengembangkan bahagian cetak 3D khusus untuk menyokong paparan OLED, kerana saya tidak dapat mencari apa-apa di web. Ini mempunyai relung untuk membolehkan seseorang memasukkan sekeping akrilik 2 mm untuk melindungi skrin rapuh. Ia boleh dipasang menggunakan pita dua sisi atau skru mengetuk sendiri (dengan tab di kedua sisi). Setelah paparan dipasang, anda boleh menggunakan wayar panas (kira klip kertas dan lampu kilat) untuk mencairkan pin PLA ke bahagian belakang papan litar untuk mengamankan semuanya. Inilah fail STL untuk sesiapa sahaja yang berminat:

Langkah 5: Penentukuran

Penentukuran
Penentukuran

Pada asalnya saya tidak melakukan penentukuran tetapi mendapati bahawa meter VSWR secara konsisten rendah. Ini bermaksud bahawa walaupun antena kelihatan baik-baik saja, autotuner rig saya tidak dapat menandinginya. Masalah ini timbul kerana modul DDS mengeluarkan isyarat amplitud yang sangat rendah (kira-kira 0.5 Vpp pada 3.5 MHz, bergulir ketika frekuensi meningkat). Oleh itu, diod pengesan di jambatan VSWR beroperasi di kawasan tidak liniernya.

Terdapat dua kemungkinan penyelesaian untuk ini. Yang pertama adalah memasang penguat jalur lebar pada output DDS. Peranti yang berpotensi sesuai boleh didapati dengan murah dari China dan mereka akan meningkatkan outputnya hingga kira-kira 2 V pp. Saya telah memesan salah satu daripadanya tetapi belum mencubanya. Perasaan saya adalah bahawa bahkan amplitud ini akan sedikit marjinal dan beberapa garis lurus akan tetap ada. Kaedah kedua adalah meletakkan beban yang diketahui pada output meter yang ada dan merekodkan VSWR yang ditunjukkan pada setiap jalur frekuensi. Ini membolehkan anda membuat keluk pembetulan untuk VSWR sebenar berbanding yang dilaporkan, yang kemudian dapat dimasukkan ke dalam sketsa Arduino untuk menerapkan pembetulan dengan cepat.

Saya menggunakan kaedah kedua kerana ia mudah dilakukan. Dapatkan perintang berikut: 50, 100, 150 dan 200 ohm. Pada instrumen 50 ohm ini, ini akan sesuai dengan definisi VSWR 1, 2, 3 dan 4. Dalam lakaran terdapat suis 'use_calibration'. Tetapkan ini ke RENDAH dan muat naik lakaran (yang akan memaparkan peringatan di layar percikan). Kemudian lakukan pengukuran di pusat setiap jalur frekuensi untuk setiap perintang. Gunakan spreadsheet untuk merancang jangkaan berbanding VSWR yang dipaparkan. Anda kemudian boleh membuat kurva logaritmik sesuai untuk setiap jalur frekuensi, yang memberikan pengganda dan pintasan bentuk TrueVSWR = m.ln (MeasuredVSWR) + c. Nilai-nilai ini harus dimuat ke dalam array swr_results dalam dua lajur terakhir (lihat pernyataan komen sebelumnya dalam lakaran). Ini adalah tempat yang ganjil untuk meletakkannya tetapi saya tergesa-gesa dan kerana kedai ini mengapung, ia kelihatan seperti pilihan yang masuk akal pada masa itu. Kemudian pasangkan suis use_calibration kembali ke HIGH, reflash Arduino dan pergi.

Perhatikan bahawa semasa melakukan pengukuran frekuensi spot, penentukuran digunakan untuk pilihan awal band. Ini tidak akan dikemas kini jika anda membuat perubahan dalam kekerapan secara kasar.

Sekarang meter membaca seperti yang diharapkan untuk beban tetap dan nampaknya masuk akal ketika mengukur antena saya! Saya mengesyaki saya mungkin tidak perlu bersusah payah mencuba amp jalur lebar itu ketika tiba…

Langkah 6: Menggunakan Penganalisis

Menggunakan Penganalisis
Menggunakan Penganalisis
Menggunakan Penganalisis
Menggunakan Penganalisis

Pasang antena melalui plumbum PL-259 dan hidupkan peranti. Ia akan memaparkan skrin percikan kemudian secara automatik melakukan sapuan semua jalur HF utama. Paparan menunjukkan frekuensi yang diuji, bacaan VSWR semasa, bacaan VSWR minimum dan frekuensi di mana ia berlaku. Untuk mengurangkan kebisingan pengukuran, lima pengukuran diambil dari VSWR pada setiap titik frekuensi; nilai min bagi lima bacaan ini kemudian dilalui melalui filter purata bergerak sembilan titik berkenaan dengan frekuensi sebelum nilai akhir dipaparkan.

Sekiranya anda mahu menghentikan sapuan semua jalur ini, tekan sahaja tombol pengekod. Sapuan akan berhenti dan ringkasan semua data band yang dikumpulkan akan dipaparkan (dengan nol untuk band yang belum disapu). Tekan kedua akan memunculkan menu utama. Pilihan dibuat dengan memutar pengekod dan kemudian menekannya pada titik yang sesuai. Terdapat tiga pilihan di menu utama:

Sapu semua band akan memulakan semula sapuan semua band HF utama. Apabila selesai, ia akan memaparkan skrin ringkasan yang dijelaskan di atas. Tuliskan ini atau ambil gambar jika anda mahu menyimpannya.

Sapu single band akan membolehkan anda memilih satu band dengan encoder kemudian menyapu. Panjang gelombang dan julat frekuensi ditunjukkan semasa membuat pilihan. Apabila sapuan selesai, tekan kedua pengekod akan memaparkan graf VSWR sederhana berbanding frekuensi band yang baru sahaja disapu, dengan petunjuk berangka minimum VSWR dan frekuensi ia berlaku. Ini sangat berguna jika anda ingin mengetahui sama ada memendekkan atau memanjangkan lengan dipol anda, kerana ia menunjukkan arah aliran VSWR dengan kekerapan; ini hilang dengan laporan berangka ringkas.

Kekerapan tunggal membolehkan anda memilih frekuensi tetap tunggal dan kemudian terus mengemas kini pengukuran VSWR langsung, untuk tujuan penalaan antena dalam masa nyata. Pertama pilih jalur frekuensi yang berkaitan; paparan kemudian akan menunjukkan frekuensi tengah band yang dipilih dan bacaan VSWR langsung. Penentukuran jalur yang berkaitan digunakan pada ketika ini. Salah satu digit frekuensi akan digarisbawahi. Ini boleh dipindahkan ke kiri dan kanan dengan pengekod. Menekan pengekod meningkatkan garis; maka memutar pengekod akan mengurangkan atau menambah digit (0-9 tanpa pembungkus atau pembawa). Tekan pengekod sekali lagi untuk membetulkan digit, kemudian teruskan ke digit berikutnya. Anda boleh mengakses hampir semua frekuensi di seluruh spektrum HF menggunakan kemudahan ini - pemilihan band pada permulaannya hanya membantu anda mendekati tempat yang mungkin anda inginkan. Terdapat satu peringatan: penentukuran untuk kumpulan yang dipilih dimuat pada permulaannya. Sekiranya anda bergerak terlalu jauh dari jalur yang dipilih dengan menukar digit, penentukuran akan menjadi kurang sah, jadi cubalah tetap berada dalam jalur yang dipilih. Apabila anda sudah selesai dengan mod ini, gerakkan garis bawah hingga ke kanan sehingga berada di bawah 'exit', kemudian tekan pengekod untuk kembali ke menu utama.

Sekiranya anda menyambungkan PC anda ke soket USB di bahagian belakang penganalisis (iaitu ke dalam Arduino), anda boleh menggunakan monitor bersiri Arduino untuk mengumpulkan frekuensi berbanding nilai VSWR semasa operasi sapu (pada masa ini ditetapkan ke 9600 tetapi anda boleh mengubahnya dengan mudah dengan menyunting lakaran saya). Nilainya kemudian boleh dimasukkan ke dalam spreadsheet sehingga anda dapat membuat grafik yang lebih kekal dll.

Tangkapan skrin menunjukkan ringkasan VSWR untuk antena menegak tiang pancing 7.6 m saya dengan UNUN 9: 1. Rig saya boleh memuat SWR maks 3: 1 dengan unit auto-tuner dalamannya. Anda dapat melihat bahawa saya akan dapat menyesuaikannya di semua band kecuali 80 m dan 17 m. Oleh itu, sekarang saya dapat mengetahui bahawa saya mempunyai antena berbilang jalur yang dapat dilalui dan saya tidak akan mematahkan sesuatu yang mahal ketika menghantar sebahagian besar jalur.

Semoga berjaya dan saya harap anda dapati ini berguna.

Disyorkan: