Съдържание:

HF Антен Анализатор с Arduino и DDS модул: 6 стъпки (със снимки)
HF Антен Анализатор с Arduino и DDS модул: 6 стъпки (със снимки)

Видео: HF Антен Анализатор с Arduino и DDS модул: 6 стъпки (със снимки)

Видео: HF Антен Анализатор с Arduino и DDS модул: 6 стъпки (със снимки)
Видео: arduino antenna analyzer 2024, Юли
Anonim
HF Антен Анализатор с Arduino и DDS модул
HF Антен Анализатор с Arduino и DDS модул
HF Антен Анализатор с Arduino и DDS модул
HF Антен Анализатор с Arduino и DDS модул

Здравейте

В тази инструкция ще ви покажа как създадох евтин антенен анализатор, който може да измерва антена и да показва нейната VSWR в някой или всички ВЧ честотни ленти. Той ще намери минималната VSWR и съответната честота за всяка лента, но също така ще покаже VSWR в реално време за избрана от потребителя честота, за да улесни настройката на антената. Ако измествате една честотна лента, тя ще покаже графика на VSWR спрямо честотата. Той също така има USB порт на гърба за извеждане на честота и VSWR данни, за да позволи по-усъвършенствано нанасяне на графики на компютър. USB портът може да се използва и за презареждане на фърмуера, ако е необходимо.

Наскоро започнах да се занимавам с радиолюбители (защото ми хареса идеята за комуникация между връстници на огромни разстояния без инфраструктура) и бързо направих следните наблюдения:

1. Всички световни комуникации, които ме интересуват, се осъществяват в ВЧ обхватите (3-30 MHz)

2. ВЧ трансивърите са много скъпи и ще се счупят, ако не ги забиете в сравнително добре съчетана антена

3. Обикновено се очаква да монтирате собствена ВЧ антена от парчета тел, нанизани в градината (освен ако не искате да похарчите дори повече пари, отколкото сте похарчили за 2).

4. Антената ви може да е лоша, но няма да разберете, докато не я опитате.

Сега един пурист вероятно би казал, че първо трябва да се тества антената на много ниска мощност при честотата, която представлява интерес и да се провери VSWR на глюкомера на платформата, за да се оцени качеството на съвпадението. Всъщност нямам време да се занимавам с такива неща за всяка честота, която бих искал да използвам. Това, което наистина исках, беше антенен анализатор. Тези устройства могат да тестват качеството на съвпадението на антената при всяка честота в ВЧ обхватите. За съжаление те също са много скъпи, затова се замислих дали мога да си направя сам. Натъкнах се на отличната работа, извършена от K6BEZ (вижте https://www.hamstack.com/project_antenna_analyzer.html), който изследва използването на Arduino за управление на евтин модул за директен цифров синтезатор (DDS). Скоро той изостави Arduino на съображения за цена, предпочитайки да използва PIC. Е, през 2017 г. можете да си купите Arduino Nano за около 3,50 паунда, затова си помислих, че е време да преразгледам работата му, да продължа откъдето е спрял и да видя какво мога да измисля (имайте предвид, че не съм единственият който е направил това: има някои много хубави примери, които могат да бъдат намерени в интернет).

Актуализация (29/7/2018) - тази работа е надградена значително от bi3qwq от Китай, който е направил някои наистина хубави подобрения в потребителския интерфейс, които той любезно сподели. Той е проектирал много професионална платка (с отлична функция за калибриращ резистор) и е направил наистина добре изглеждаща конструкция. На всичкото отгоре той е подготвил схема, която знам, че ще зарадва много от тези, които са коментирали преди това. Моля, вижте раздела за коментари за повече информация.

Актуализация - Наскоро навлизам в 60 м, които оригиналната скица не покрива. Така че сега качих фърмуер версия 7, която добавя диапазоните 160 м и 60 м. Това не са добавки; те са напълно интегрирани в работата на анализатора. За щастие, намерих шрифт u8glib, който все още беше четлив, но ми позволи да показвам десет ленти едновременно на този малък екран (въпреки че не беше едно пространство, което предизвика известна скръб). Изчислих стойностите за калибриране за новите ленти, въз основа на интерполация / екстраполация на съществуващите стойности на калибриране. След това ги проверих с фиксирани резистори и те дават доста добри резултати.

Актуализация - тъй като няколко души попитаха за схеми, основната мостова верига Arduino / DDS / VSWR е до голяма степен непроменена от оригиналната работа на K6BEZ. Моля, проверете горния URL адрес за оригиналната му схема, на която базирах този проект. Добавих енкодер, OLED екран и напълно разработен фърмуер, за да осигуря безпроблемно потребителско изживяване.

Актуализация - Тази система използва източник на DDS сигнал с много ниско напрежение във връзка с резистивен мост, съдържащ диодни детектори. По този начин диодите работят в своите нелинейни региони и първата ми версия на тази система имаше тенденция да не чете VSWR. Като пример, 16 омово или 160 омово импедансно натоварване трябва да показва VSWR от около 3 в 50 омова система; този измервателен уред показва VSWR по -близо до 2 в тази ситуация. Затова извърших софтуерно калибриране, използвайки известни натоварвания, което изглежда е ефективно решение за този проблем. Това е описано в предпоследната стъпка на тази инструкция и е качена преработена скица.

Актуализация - вграденото съоръжение за графично добавяне към единични заснемания, тъй като беше твърде полезно да се пропусне, особено когато настройвате дължините на антените за минимална VSWR: графика ви дава незабавно видима тенденция.

Стъпка 1: Купете си нещата

Ще ви трябват следните елементи. Повечето от тях могат да бъдат закупени евтино от Ebay. Най -скъпият единичен артикул беше кутията, близо до £ 10! Може да е възможно да се заменят някои артикули (използвах 47 Rs вместо 50 Rs например). Диодите бяха доста необичайни (трябваше да купя 5 от Италия) и би струвало да се заменят с по -лесно достъпни артикули, ако знаете какво правите.

  • Arduino Nano
  • DDS модул (DDS AD9850 Модул за генератор на сигнали HC-SR08 Синусоидална квадратна вълна на сигнала 0-40MHz)
  • 1.3 "i2c OLED дисплей
  • Операционен усилвател MCP6002 (8 пинов)
  • 2 изключен диод AA143
  • Керамични кондензатори: 2 изключени 100 nF, 3 изключени 10 nF
  • 1 uF електролитен кондензатор
  • Резистори: 3 изключени 50 R, 2 изключени 10 K, 2 изключени 100 K, 2 изключени 5 K, 2 изключени 648 R
  • Винтови клемни блокове с наклон 2,54 мм: 3 изключени 2-пинови, 2 изключени 4-пинови
  • Едножилен свързващ проводник
  • 702 или подобен тел за свързване
  • Лента
  • Квадратна лента за глава (женска) за включване на Arduino и DDS в - не купувайте погрешно кръглите гнезда!
  • SO-239 гнездо за монтиране на шаси
  • Ротационен енкодер (15 импулса, 30 задържания) с бутон за натискане и копче
  • Евтин „модул“на въртящ се енкодер (по избор)
  • Проектна кутия
  • Превключвател за превключване
  • Правоъгълен мини-usb към USB B кабел за монтаж на преграда (50 см)
  • PP3 и скоба / държач за батерията
  • Самозалепващи монтажни стълбове / стойки за печатни платки

Ще ви трябват и поялник и електронни инструменти. 3D принтер и свредло за колони са полезни за заграждението, въпреки че, ако искате, вероятно бихте могли да сглобите всичко на лентата и да не се занимавате с кутия.

Естествено, вие поемате тази работа и използвате резултатите, генерирани на ваш собствен риск.

Стъпка 2: Поставете лентата

Поставете таблата
Поставете таблата
Поставете таблата
Поставете таблата

Планирайте как ще подредите компонентите на лентата. Можете да го направите сами, като се позовавате на оригиналната схема на K6BEZ (която няма кодер или екран - вижте страница 7 на https://www.hamstack.com/hs_projects/antenna_analyzer_docs.pdf), или можете да спестите много време и копирай оформлението ми.

Правя тези оформления по простия начин, като използвам квадратна хартия и молив. Всяко кръстовище представлява дупка за лента. Медните коловози вървят хоризонтално. Кръст представлява счупена писта (използвайте 6 мм свредло или подходящ инструмент, ако имате такъв). Линии от кръгове с кутия около тях представляват заглавки. Големи кутии с винтове означават съединителните блокове. Обърнете внимание, че в моята диаграма има допълнителна линия, която минава хоризонтално през средата на дъската. Оставете това, когато го сглобявате (отбелязано е „пропуснете този ред“).

Някои компоненти може да изглеждат подредени странно. Това е така, защото дизайнът еволюира, след като основният хардуер работи (особено когато разбрах, че енкодерът се нуждае от хардуерни прекъсвания, например).

Когато запоявам компоненти върху дъската, използвам Blu-Tak, за да ги държа здраво на място, докато обръщам дъската, за да запоя краката.

Опитах се да сведем до минимум количеството кабел, който използвах, като подравних Arduino и DDS модула и просто използвах лентата за свързване на ключови щифтове. Тогава не осъзнавах, че хардуерните прекъсвания, необходими за четене на енкодера, работят само върху щифтове D2 и D3, така че трябваше да преместя DDS RESET от първоначалната му връзка D3 с малко кабел:

DDS RESET - Arduino D7

DDS SDAT - Arduino D4

DDS FQ. UD - Arduino D5

DDS SCLK - Arduino D6

Arduino D2 и D3 се използват за входовете на енкодера A & B. D11 се използва за входа на превключвателя на енкодера. D12 не се използва, но все пак реших да направя винтова клема за него, за бъдещо разширяване.

Arduino A4 и A5 осигуряват SDA & SCL (I2C) сигнали за OLED екрана.

Arduino A0 и A1 приемат входовете от VSWR моста (чрез OPAMP).

Стъпка 3: Инсталирайте модулите, прикрепете периферните устройства и мигайте кода

Инсталирайте модулите, прикрепете периферните устройства и мигайте кода
Инсталирайте модулите, прикрепете периферните устройства и мигайте кода

Струва си да тествате платката, преди да си направите труда да я монтирате в заграждение. Прикрепете следните компоненти с помощта на гъвкав проводник към дъската с помощта на винтовите клеми:

  • 1.3 "OLED дисплей (SDA и SCL са свързани съответно към Arduino щифт A4 и A5; земята и Vcc отиват към Arduino GND и +5V, очевидно)
  • Ротационен енкодер (това изисква заземяване, две сигнални линии и линия за превключване - може да се наложи да обърнете линиите на превключвателя, ако енкодерът работи по грешен начин - свържете ги съответно към земята Arduino, D2, D3 и D11). Обърнете внимание, че за работата си по прототипирането монтирах 15/30 енкодера върху платка на модул на енкодер KH-XXX, тъй като щифтовете на голите енкодери са много крехки. За финалната работа запоявах проводници направо върху енкодера.
  • 9V батерия
  • Гнездо SO -239 - запоявайте централния щифт към сигналната линия на антената и използвайте пръстен M3 и винт за заземяване на антената

Прехвърлете следната скица върху Arduino. Също така се уверете, че сте включили много добрата OLED библиотека с драйвери от Oli Kraus, или компилацията ще се срине и ще изгори:

Ако вашият OLED дисплей е малко по -различен, може да се нуждаете от различна конфигурационна настройка в u8glib; това е добре документирано в примерния код на Оли.

Стъпка 4: Сложете всичко в хубава кутия (по избор)

Сложете всичко в хубава кутия (по избор)
Сложете всичко в хубава кутия (по избор)
Сложете всичко в хубава кутия (по избор)
Сложете всичко в хубава кутия (по избор)
Сложете всичко в хубава кутия (по избор)
Сложете всичко в хубава кутия (по избор)
Сложете всичко в хубава кутия (по избор)
Сложете всичко в хубава кутия (по избор)

Сериозно обмислях да оставя анализатора като гола дъска, тъй като е вероятно да се използва само от време на време. При размисъл си помислих, че ако върша много работа върху една антена, тя може да се повреди. Така всичко отиде в кутия. Няма смисъл да навлизате в подробности за това как е направено, тъй като кутията ви вероятно ще бъде различна, но някои ключови характеристики заслужават да бъдат споменати:

1. Използвайте самозалепващи платки за монтаж на лентата. Те правят живота наистина лесен.

2. Използвайте къс кабел за USB адаптер, за да извадите USB порта Arduino в задната част на кутията. След това е лесно да получите достъп до серийния порт, за да получите данни за честота спрямо VSWR, а също и да презаредите Arduino, без да сваляте капака.

3. Разработих персонализирана 3D отпечатана част за поддържане на OLED дисплея, тъй като не можах да намеря нищо в мрежата. Той има вдлъбнатина, която позволява да се постави 2 мм парче акрил за защита на крехкия екран. Може да се монтира с помощта на двустранна лента или самонарезни винтове (с щифтове от двете страни). След като дисплеят е монтиран, можете да използвате горещ проводник (помислете за кламер и надуваема лампа), за да разтопите PLA щифтовете на гърба на платката, за да обезопасите всичко. Ето STL файла за всеки, който се интересува:

Стъпка 5: Калибриране

Калибриране
Калибриране

Първоначално не направих никакво калибриране, но открих, че VSWR метърът постоянно отчита ниско ниво. Това означаваше, че въпреки че една антена изглеждаше наред, автотунерът на моята платформа не успя да съвпадне с нея. Този проблем възниква, защото DDS модулът издава сигнал с много ниска амплитуда (около 0,5 Vpp при 3,5 MHz, изтичащ с увеличаване на честотата). Следователно диодите на детектора във VSWR моста работят в своята нелинейна област.

Има две възможни поправки за това. Първият е да се монтира широколентов усилвател към изхода на DDS. Потенциално подходящи устройства се предлагат евтино от Китай и те ще увеличат изхода до около 2 V pp. Поръчах едно от тях, но все още не съм го пробвал. Чувството ми е, че дори тази амплитуда ще бъде малко маргинална и ще остане някаква нелинейност. Вторият метод е да се поставят известни натоварвания върху изхода на съществуващия измервателен уред и да се запише показаната VSWR във всяка честотна лента. Това ви позволява да конструирате криви на корекция за действителни спрямо докладвани VSWR, които след това могат да бъдат поставени в скицата на Arduino, за да се приложи корекция в движение.

Приех втория метод, тъй като беше лесно да се направи. Просто вземете следните резистори: 50, 100, 150 и 200 ома. На този 50 омов инструмент те ще съответстват на VSWR от 1, 2, 3 и 4 по дефиниция. В скицата има превключвател „use_calibration“. Задайте това на LOW и качете скицата (която ще покаже предупреждение на началния екран). След това извършете измервания в центъра на всяка честотна лента за всеки резистор. Използвайте електронна таблица, за да начертаете очакваната спрямо показаната VSWR. След това можете да направите логаритмична крива, подходяща за всяка честотна лента, която дава множител и прихващане от формата TrueVSWR = m.ln (MeasuredVSWR)+c. Тези стойности трябва да бъдат заредени в масива swr_results в последните две колони (вижте предходната декларация за коментар в скицата). Това е странно място да ги сложа, но аз бързах и тъй като този масив се съхранява, това изглеждаше като разумен избор по онова време. След това поставете превключвателя use_calibration обратно на HIGH, препрограмирайте Arduino и тръгнете.

Обърнете внимание, че когато правите измервания на точкова честота, калибрирането се прилага за първоначалния избор на обхват. Това няма да се актуализира, ако направите груби промени в честотата.

Сега глюкомерът чете според очакванията за фиксираните товари и изглежда има смисъл при измерване на антените ми! Подозирам, че може да не се притеснявам да изпробвам този широколентов усилвател, когато пристигне …

Стъпка 6: Използване на анализатора

Използване на анализатора
Използване на анализатора
Използване на анализатора
Използване на анализатора

Прикрепете антена чрез кабел PL-259 и включете устройството. Той ще покаже начален екран, след което автоматично ще извърши разчитане на всички основни HF ленти. Дисплеят показва тестваната честота, текущото отчитане на VSWR, минималното отчитане на VSWR и честотата, на която е възникнала. За да се намали шума при измерване, се правят пет измервания на VSWR във всяка честотна точка; средната стойност на тези пет показания след това се прекарва през филтър с плъзгаща средна стойност от девет точки по отношение на честотата, преди да се покаже крайната стойност.

Ако искате да спрете размахването на всички ленти, просто натиснете кодиращото устройство. Премахването ще спре и ще се покаже обобщение на всички събрани данни за обхвата (с нули за тези ленти, които все още не са изместени). Второ натискане ще изведе главното меню. Изборът се прави чрез завъртане на енкодера и след това натискане в съответната точка. В главното меню има три възможности за избор:

Премахването на всички ленти ще рестартира размахването на всички основни ВЧ ленти. Когато приключи, той ще покаже обобщения екран, описан по -горе. Запишете това или направете снимка, ако искате да я запазите.

Sweep single band ще ви позволи да изберете единична лента с енкодера и след това да я преместите. По време на избора се показват както дължината на вълната, така и честотният диапазон. Когато завъртането приключи, второ натискане на енкодера ще покаже обикновена графика на VSWR спрямо честотата на току -що изместената лента, с цифрова индикация за минимална VSWR и честотата, която е възникнала. Това е много удобно, ако искате да знаете дали да съкратите или удължите диполните си ръце, тъй като показва тенденцията на VSWR с честота; това се губи с простия цифров отчет.

Единична честота ви позволява да изберете единична фиксирана честота и след това непрекъснато актуализира измерване на VSWR на живо, за целите на настройка на антената в реално време. Първо изберете съответната честотна лента; след това дисплеят ще покаже централната честота на избраната лента и живо отчитане на VSWR. На този етап се прилага съответното калибриране на лентата. Една от цифрите на честотата ще бъде подчертана. Това може да се мести наляво и надясно с енкодера. Натискането на енкодера укрепва линията; след това завъртането на енкодера ще намали или увеличи цифрата (0-9 без опаковане или пренасяне). Натиснете енкодера отново, за да фиксирате цифрата, след което преминете към следващата. Можете да получите достъп до почти всяка честота в целия ВЧ спектър, като използвате това средство - изборът на лента в началото само помага да се доближите до мястото, което вероятно искате да бъдете. Има обаче едно предупреждение: калибрирането за избраната лента се зарежда в началото. Ако се отдалечите твърде далеч от избраната лента, като промените цифрите, калибрирането ще стане по -малко валидно, затова се опитайте да останете в рамките на избраната лента. Когато приключите с този режим, преместете долната черта докрай надясно, докато не е под „изход“, след което натиснете енкодера, за да се върнете в главното меню.

Ако свържете компютъра си към USB гнездото на гърба на анализатора (т.е. в Arduino), можете да използвате серийния монитор на Arduino, за да събирате стойности на честота спрямо VSWR по време на всяка операция за почистване (в момента е зададена на 9600, но можете да промените това лесно, като редактирате моя скица). След това стойностите могат да бъдат поставени в електронна таблица, за да можете да начертаете по -постоянни графики и т.н.

Екранната снимка показва обобщението на VSWR за моята 7,6 м вертикална антена за въдица с 9: 1 UNUN. Моята платформа може да побере макс. SWR 3: 1 с вътрешния си блок за автоматично настройване. Можете да видите, че ще мога да го настроя във всички ленти с изключение на 80 м и 17 м. Така че сега мога да се отпусна, знаейки, че имам проходима многолентова антена и няма да счупя нищо скъпо, когато предам по-голямата част от лентите.

Успех и се надявам да намерите това полезно.

Препоръчано: