Оглавление:

КВ антенный анализатор с Arduino и модулем DDS: 6 шагов (с изображениями)
КВ антенный анализатор с Arduino и модулем DDS: 6 шагов (с изображениями)

Видео: КВ антенный анализатор с Arduino и модулем DDS: 6 шагов (с изображениями)

Видео: КВ антенный анализатор с Arduino и модулем DDS: 6 шагов (с изображениями)
Видео: Антенный анализатор nanoVNA, Первый взгляд 2024, Июль
Anonim
КВ антенный анализатор с Arduino и модулем DDS
КВ антенный анализатор с Arduino и модулем DDS
КВ антенный анализатор с Arduino и модулем DDS
КВ антенный анализатор с Arduino и модулем DDS

Привет

В этой инструкции я покажу вам, как я построил недорогой антенный анализатор, который может измерять антенну и отображать ее КСВ в любом или всех диапазонах ВЧ частот. Он найдет минимальный КСВН и соответствующую частоту для каждого диапазона, но также отобразит КСВН в реальном времени для выбранной пользователем частоты, чтобы облегчить настройку антенны. Если развернуть одну полосу частот, отобразится график зависимости КСВН от частоты. Он также имеет порт USB на задней панели для вывода данных о частоте и КСВН, что позволяет создавать более точные графики на ПК. Порт USB также можно использовать для перепрошивки прошивки при необходимости.

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

1. Все интересующие меня сообщения во всем мире происходят на HF-диапазонах (3-30 МГц).

2. КВ трансиверы очень дороги и сломаются, если вы не вставите их в достаточно хорошо подобранную антенну.

3. Обычно ожидается, что вы будете собирать свою собственную ВЧ-антенну из кусочков провода, натянутого через сад (если вы не хотите потратить даже больше денег, чем вы потратили на 2).

4. Ваша антенна может плохо совпадать, но вы не узнаете, пока не попробуете.

Пурист, вероятно, сказал бы, что сначала следует проверить антенну на очень малой мощности на интересующей частоте и проверить КСВ на измерителе буровой установки, чтобы оценить качество согласования. У меня действительно нет времени возиться с подобными вещами для каждой частоты, которую я, возможно, захочу использовать. Что мне действительно нужно, так это антенный анализатор. Эти устройства могут проверять качество согласования антенны на любой частоте в КВ диапазонах. К сожалению, они также очень дороги, поэтому я задумался, могу ли я сделать свои собственные. Я наткнулся на отличную работу, проделанную K6BEZ (см. Http://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 очень низкого напряжения в сочетании с резистивным мостом, содержащим диодные детекторы. Таким образом, диоды работают в своих нелинейных областях, и моя первая версия этой системы имела тенденцию занижать значение КСВН. Например, нагрузка с сопротивлением 16 или 160 Ом должна иметь КСВН около 3 в системе с сопротивлением 50 Ом; этот измеритель показал КСВ, близкое к 2 в этой ситуации. Поэтому я выполнил калибровку программного обеспечения с использованием известных нагрузок, что, по-видимому, является эффективным решением этой проблемы. Это описано в предпоследнем шаге данного руководства, и обновленный эскиз был загружен.

Обновление - встроенное средство построения графиков добавлено к одиночным свипам, так как оно было слишком полезным, чтобы не учитывать его, особенно при настройке длины антенны на минимальный КСВН: график дает вам мгновенно видимую тенденцию.

Шаг 1. Купите свои вещи

Вам понадобятся следующие предметы. Большинство из них можно дешево приобрести на Ebay. Самым дорогим предметом была коробка - около 10 фунтов стерлингов! Возможно, можно будет заменить некоторые предметы (например, я использовал 47 рупий вместо 50 рупий). Диоды были довольно необычными (мне пришлось купить 5 в Италии), и стоило бы заменить их более доступными, если вы знаете, что делаете.

  • Ардуино Нано
  • Модуль DDS (Модуль генератора сигналов DDS AD9850 HC-SR08, синусоидальный прямоугольный сигнал 0-40 МГц)
  • 1,3-дюймовый OLED-дисплей i2c
  • Операционный усилитель MCP6002 (8 контактов)
  • 2 диода AA143
  • Керамические конденсаторы: 2 по 100 нФ, 3 по 10 нФ
  • Электролитический конденсатор 1 мкФ
  • Резисторы: 3 шт. По 50 Ом, 2 шт. По 10 кОм, 2 шт. По 100 кОм, 2 шт. По 5 кОм, 2 шт. По 648 Ом
  • Винтовые клеммы с шагом 2,54 мм: 3 двухконтактных, 2 четырехконтактных
  • Одножильный провод для подключения
  • 702 или аналогичный соединительный провод
  • Стрипборд
  • Квадратный переходник (гнездовой) для подключения Arduino и DDS - не покупайте по ошибке круглые разъемы!
  • SO-239 гнездо для монтажа на шасси
  • Поворотный энкодер (15 импульсов, 30 фиксаций) с кнопочным переключателем и ручкой
  • Дешевый модуль энкодера (опция)
  • Коробка проекта
  • Переключить переключатель
  • Прямоугольный кабель mini-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 - 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 подключаются к контактам A4 и A5 Arduino соответственно; земля и Vcc идут на Arduino GND и + 5V, очевидно)
  • Поворотный энкодер (для этого требуется земля, две сигнальные линии и линия переключателя - вам может потребоваться перевернуть линии переключателя, если энкодер работает неправильно - подключите их к земле Arduino, D2, D3 и D11 соответственно). Обратите внимание, что для работы над прототипом я установил кодировщик 15/30 на плату модуля кодировщика KH-XXX, так как контакты на голых кодировщиках очень хлипкие. Для финальной работы я припаял провода прямо к энкодеру.
  • Аккумулятор 9В
  • Гнездо SO-239 - припаяйте центральный контакт к сигнальной линии антенны и используйте кольцевую клемму M3 и винт для заземления антенны.

Запишите следующий эскиз на Arduino. Также убедитесь, что вы включили очень хорошую библиотеку драйверов OLED от Оли Крауса, иначе компиляция выйдет из строя и сгорит:

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

Шаг 4. Положите все в красивую коробку (необязательно)

Положите все в красивую коробку (необязательно)
Положите все в красивую коробку (необязательно)
Положите все в красивую коробку (необязательно)
Положите все в красивую коробку (необязательно)
Положи все в красивую коробку (необязательно)
Положи все в красивую коробку (необязательно)
Положите все в красивую коробку (необязательно)
Положите все в красивую коробку (необязательно)

Я серьезно подумал о том, чтобы оставить анализатор как пустую плату, так как его можно было использовать лишь изредка. Поразмыслив, я подумал, что если я много работаю с одной антенной, она может в конечном итоге выйти из строя. Итак, все было в коробке. Нет смысла вдаваться в подробности того, как это было сделано, поскольку ваш бокс, вероятно, будет другим, но стоит упомянуть некоторые ключевые особенности:

1. Используйте самоклеящиеся стойки для печатных плат для монтажа монтажной платы. Они действительно облегчают жизнь.

2. С помощью короткого кабеля USB-адаптера выведите USB-порт Arduino на заднюю часть корпуса. Затем можно легко получить доступ к последовательному порту, чтобы получить данные о зависимости частоты от КСВ, а также перепрограммировать Arduino, не снимая крышку.

3. Я разработал заказную деталь, напечатанную на 3D-принтере, для поддержки OLED-дисплея, так как ничего не нашел в Интернете. В нем есть углубление, чтобы можно было вставить кусок акрила толщиной 2 мм для защиты хрупкого экрана. Его можно установить с помощью двустороннего скотча или саморезов (с выступами с обеих сторон). После того, как дисплей будет установлен, вы можете использовать горячий провод (например, скрепку или паяльную лампу), чтобы расплавить контакты PLA на задней части печатной платы, чтобы закрепить все. Вот файл STL для всех, кому интересно:

Шаг 5: Калибровка

Калибровка
Калибровка

Первоначально я не проводил калибровку, но обнаружил, что измеритель КСВН постоянно показывает низкие значения. Это означало, что хотя антенна выглядела в порядке, автонастройка моей установки не могла ей соответствовать. Эта проблема возникает из-за того, что модуль DDS выдает сигнал очень низкой амплитуды (около 0,5 Vpp при 3,5 МГц, спадающий при увеличении частоты). Следовательно, детекторные диоды в мосте КСВН работают в своей нелинейной области.

Для этого есть два возможных решения. Первый - подключить к выходу DDS широкополосный усилитель. Потенциально подходящие устройства можно дешево купить в Китае, и они повысят выходную мощность примерно до 2 В pp. Я заказал одно из них, но еще не попробовал. Мне кажется, что даже эта амплитуда будет немного маргинальной, и некоторая нелинейность останется. Второй метод заключается в подаче известных нагрузок на выход существующего измерителя и записи отображаемого КСВН в каждой полосе частот. Это позволяет вам построить кривые коррекции для фактического и заявленного КСВ, которые затем могут быть помещены в эскиз Arduino для применения коррекции на лету.

Я применил второй метод, потому что это было легко сделать. Достаточно приобрести следующие резисторы: 50, 100, 150 и 200 Ом. На этом 50-омном приборе они по определению будут соответствовать КСВ 1, 2, 3 и 4. В скетче есть переключатель use_calibration. Установите значение LOW и загрузите эскиз (при этом на экране-заставке будет отображаться предупреждение). Затем проведите измерения в центре каждой полосы частот для каждого резистора. Используйте электронную таблицу для построения графика ожидаемого и отображаемого КСВН. Затем вы можете выполнить аппроксимацию логарифмической кривой для каждой полосы частот, которая дает множитель и точку пересечения в форме TrueVSWR = m.ln (MeasuredVSWR) + c. Эти значения должны быть загружены в массив swr_results в последних двух столбцах (см. Предыдущий оператор комментария в скетче). Это странное место для их размещения, но я очень спешил, и, поскольку этот массив хранит плавающие элементы, в то время это казалось разумным выбором. Затем верните переключатель use_calibration в положение HIGH, перепрограммируйте Arduino и готово.

Обратите внимание, что при выполнении измерений точечной частоты калибровка применяется для первоначального выбора диапазона. Это не будет обновляться, если вы сильно измените частоту.

Теперь счетчик показывает, как ожидалось, для фиксированных нагрузок и, кажется, имеет смысл при измерении моих антенн! Я подозреваю, что могу не потрудиться попробовать этот широкополосный усилитель, когда он появится …

Шаг 6: Использование анализатора

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

Присоедините антенну к проводу PL-259 и включите прибор. Он отобразит экран-заставку, а затем автоматически выполнит развертку всех основных ВЧ-диапазонов. На дисплее отображается тестируемая частота, текущее значение КСВН, минимальное значение КСВН и частота, на которой это произошло. Чтобы уменьшить шум измерения, выполняется пять измерений КСВН в каждой частотной точке; среднее значение этих пяти показаний затем пропускается через девятиточечный фильтр скользящего среднего по частоте перед отображением окончательного значения.

Если вы хотите остановить развертку по всем диапазонам, просто нажмите ручку кодировщика. Развертка остановится, и отобразится сводка всех собранных данных о полосах (с нулями для тех полос, которые еще не проверены). Второе нажатие вызовет главное меню. Выбор осуществляется путем вращения энкодера и последующего нажатия его в нужном месте. В главном меню есть три варианта:

Развертка всех диапазонов перезапустит развертку всех основных ВЧ-диапазонов. По окончании отобразится итоговый экран, описанный выше. Запишите это или сделайте снимок, если хотите сохранить.

Развертка одного диапазона позволит вам выбрать один диапазон с помощью кодировщика, а затем развернуть его. При выборе отображаются длина волны и частотный диапазон. Когда развертка закончится, второе нажатие на энкодер отобразит простой график зависимости КСВН от частоты только что развернутой полосы с числовым указанием минимального КСВН и частоты, с которой он произошел. Это очень удобно, если вы хотите знать, нужно ли укоротить или удлинить дипольные плечи, поскольку он показывает тенденцию изменения КСВН с частотой; это теряется с простым числовым отчетом.

Единая частота позволяет вам выбрать одну фиксированную частоту, а затем постоянно обновлять результаты измерения КСВН в реальном времени для настройки антенны в реальном времени. Сначала выберите соответствующую полосу частот; Затем дисплей покажет центральную частоту выбранной полосы и текущее значение КСВН. На этом этапе применяется соответствующая калибровка диапазона. Одна из цифр частоты будет подчеркнута. Его можно перемещать влево и вправо с помощью кодировщика. Нажатие на энкодер делает линию более жирной; затем вращение энкодера будет уменьшать или увеличивать цифру (0–9 без переноса или переноса). Снова нажмите энкодер, чтобы зафиксировать цифру, затем переходите к следующей. Вы можете получить доступ практически к любой частоте по всему ВЧ-спектру, используя это средство - выбор диапазона в начале просто помогает вам приблизиться к тому месту, где вы, вероятно, хотите быть. Однако есть предостережение: калибровка для выбранного диапазона загружается в начале. Если вы отойдете слишком далеко от выбранного диапазона, изменив цифры, калибровка станет менее достоверной, поэтому старайтесь оставаться в выбранном диапазоне. Когда вы закончите с этим режимом, переместите подчеркивание полностью вправо, пока он не окажется под «выходом», затем нажмите энкодер, чтобы вернуться в главное меню.

Если вы подключите свой ПК к USB-разъему на задней панели анализатора (то есть в Arduino), вы можете использовать последовательный монитор Arduino для сбора значений частоты в зависимости от КСВН во время любой операции развертки (в настоящее время он установлен на 9600, но вы можете изменить это значение). легко, отредактировав мой эскиз). Затем значения можно поместить в электронную таблицу, чтобы вы могли построить больше постоянных графиков и т. Д.

На снимке экрана показано суммарное значение КСВ для моей вертикальной антенны на удочку длиной 7,6 м с UNUN 9: 1. Моя установка может поддерживать максимальный КСВ 3: 1 с внутренним блоком автонастройки. Как видите, я смогу настроить его на все диапазоны, кроме 80 м и 17 м. Так что теперь я могу расслабиться, зная, что у меня есть проходимая многодиапазонная антенна, и я не собираюсь ломать что-нибудь дорогостоящее при передаче на большинстве диапазонов.

Удачи, и я надеюсь, что вы найдете это полезным.

Рекомендуемые: