Представленный в этой инструкции тюнер магнитной петли не полагается на данные о положении; контроллер не имеет представления о переменном конденсаторе или о положении двигателя, при сканировании и нахождении резонансной точки он настраивает антенну с помощью программируемого источника частоты. Среди его функций вы обнаружите контроль нагрузки на конденсатор, компенсацию люфта двигателя, сохранение предустановок, а также найдёте приложения для обновления параметров контроллера и приложение, которое упрощает обновления прошивки через USB. К старту курса о разработке на C++ делимся переводом статьи о тюнере от его автора.
Привет! В эфире Дейв, радиопозывной G7IYK. Я очень рад опубликовать подробности моего последнего проекта, автоматизированного тюнера для антенны на магнитной петле. Прежде чем мы углубимся в проект, я хотел бы рассказать, что такое магнитная петлевая антенна и почему этот проект возник. Я не собираюсь углубляться в конструкцию магнитной петлевой антенны, поскольку эта статья посвящена моей автоматизированной системе настройки, и исхожу из того, что читатель уже немного знаком с конструкцией антенны и тем, как она работает.
Что же это за антенна?
Я предполагаю, что, если вы нашли эту инструкцию и проявили достаточный интерес, чтобы прочитать её, вы, вероятно, уже знаете, что такое магнитная петлевая антенна. Я ожидаю, что вы уже знаете преимущества/недостатки и трудности такой конструкции антенны.
Они называются "магнитными" потому, что улавливают магнитную составляющую электромагнитного поля, в отличие от антенн традиционных конструкций, таких как диполи, яги и вертикальные антенны, реагирующие только на электрическую составляющую.
Преимущество магнитных петлевых антенн заключается в том, что они относительно компактны и обладают довольно узкой полосой. Преимущество также заключается в том, что при передаче излучается очень мало гармоник, а при приёме в узкой полосе частот природа действует как преселектор, предотвращая перегрузку приёмника и обеспечивая шумовые характеристики узкой полосы. Преимущество антенны также в том, что она хорошо работает вблизи или на уровне земли по сравнению с традиционной антенной: последняя обычно работает плохо, если не установлена на подходящей высоте в зависимости от диапазона. Так что если вам нужна эффективная антенна для работы в мобильном режиме или в небольшом пространстве, магнитная петля — очень достойный кандидат.
А в чём подвох?
Магнитная петля резонансно настроена. Радиочастотная энергия связывается с контуром различными способами, такими как малая петля связи, трансформатор связи или индуктивный соединитель, это только несколько примеров. Главный контур физически не подключён к выбранной системе сцепления. Основной контур образует индукцию, а для настройки контура через индуктивный контур подключается переменный конденсатор. На требуемой рабочей частоте система находится в резонансе с рабочей полосой пропускания всего в несколько десятков килогерц. Если контур сделан хорошо и находится на резонансной частоте, измеренное КСВН может быть близко к 1:1. КСВН быстро увеличивается, когда петля перестаёт быть резонансной.
Зачем это нужно?
Задача — быстро и надёжно настроить петлю, цель проекта — предоставить оператору/энтузиасту электронную систему для решения проблемы настройки.
Как настроить антенну?
Как уже упоминалось, магнитная петля должна быть настроена, а устройством настройки является переменный конденсатор. Как правило, его можно настроить вручную, либо, как в моём проекте, с помощью системы привода с редукторным двигателем.
1. Обзор тюнера
Как было сказано ранее, магнитная петля состоит из индуктивной петли, соединённой с переменным конденсатором. Переменный конденсатор используется для настройки контура, чтобы достичь резонанса. Переменный конденсатор обычно приводится в действие двигателем, поэтому настройка делается через подверженную ошибкам и со временем меняющуюся электромеханическую систему.
В сети найдётся множество самодельных систем настройки магнитных петлевых антенн. Не могу утверждать, что видел все, но рассмотрел несколько. По моему опыту, имеющиеся системы, чтобы настроить антенну, обычно полагаются на положение двигателя в разомкнутом контуре. Во многих системах применяются шаговые двигатели, обычно дающие высокую точность позиционирования и повторяемости. Эти системы калибруют контур путём записи положения двигателя для различных желаемых частот. После калибровки возврат двигателя в определённое положение должен дать желаемую резонансную частоту.
Однако (по моему опыту), работая с основанными на позиционировании системами, мы сталкиваемся с проблемой. Как уже упоминалось, магнитная петля имеет узкую полосу, и даже очень небольшие изменения в физической антенне приводят к изменению резонансного положения конденсатора. Так, например, мы можем откалибровать наш контур в один день, но если его установить снаружи и подвергнуть тепловому и физическому воздействию на следующий день, то все откалиброванные данные будут смещены. Поэтому петля требует регулярной и потенциально трудоёмкой повторной калибровки. Если она должна быть мобильной, её поломка и восстановление неизбежно приведут к потере данных калибровки.
Мой тюнер
Представленный в этой инструкции тюнер магнитной петли не полагается на данные о положении; контроллер не имеет представления о переменном конденсаторе или о положении двигателя, при сканировании и нахождении резонансной точки он настраивает антенну с помощью программируемого источника частоты.
После определения точки резонанса антенны контроллер автоматически уточняет полосу поиска и отслеживает точку резонанса антенны в режиме реального времени, поэтому нам не нужно калибровать контроллер вообще: можно просто ввести желаемую частоту, и контроллер переместит антенну в нужную, резонансную рабочую точку.
Теперь можно либо вручную перемещать резонансную частоту антенны с помощью поворотного регулятора, либо ввести желаемую частоту в режиме налету, или же выбрать нужную частоту из набора предустановок. В любом случае текущая отображаемая резонансная частота — это фактическая резонансная частота антенны, исходя из измеренной в реальном времени минимальной отражённой мощности и минимального КСВН. В следующих разделах я постараюсь подробнее рассказать о тюнере.
2. Описание функций
Я постарался сделать тюнер с магнитной петлёй максимально простым и интуитивно понятным. Вот его основные функции и физические характеристики.
Функция "Найди петлю" — петля находится в любом месте в диапазоне от 80 до 12 м.
Система определения местоположения и слежения на основе частоты (данные о положении двигателя не требуются).
Ручное позиционирование в реальном времени на основе частоты с помощью поворотного регулятора с переключением скоростей ротора.
Частотное позиционирование налету.
Сохраняются четыре предустановленные частоты для каждого диапазона (они энергонезависимы).
Нижний и верхний пределы частоты для предотвращения недостаточной или избыточной нагрузки на физический конденсатор.
Автоматическая калибровка КСВН.
Для индикации отображается КСВН.
Компенсация люфта двигателя.
Информация отображается на ЖК-дисплее 20x4.
Работа в режиме RF inline — тюнер и радио автоматически переключаются на антенну.
Приложение для быстрого обновления параметров контроллера через USB с графическим интерфейсом на базе ПК.
Приложение-загрузчик для ПК, облегчающее обновление прошивки контроллера через USB.
3. Магнитная петля диапазона от 20 до 40 м
Основная петля сделана из ~5 м 7/8-дюймового кабеля Heliax, а соединительная — из мягкой медной трубки. Настроечный конденсатор самодельный и представляет собой конструкцию "бабочка". Однако я не использую конденсатор именно как бабочку, потому что подключаюсь к ротору с параллельно подключёнными статорами. Это даёт диапазон от ~18 до 160 пФ и возможность покрыть диапазон 20 и 40 м. Я обычно работаю с малой мощностью (<10 Вт) и поэтому не слишком задумываюсь о высоковольтной изоляции.
Конденсатор приводится в действие биполярным шаговым двигателем Nema 17, оснащённым планетарным редуктором 27:1. Это соответствует примерно 3 об./мин и точности 5400 шагов на оборот. При таком механическом расположении тюнер может вполне комфортно настраивать и отслеживать петлю с точностью до 5 КГц от целевой частоты, а с помощью поворотного ручного регулятора — с точностью до 1 КГц.
4. Симулятор петли
Чтобы легче было разрабатывать прошивку тюнера, я собрал симулятор магнитной петли. Для управления небольшим переменным конденсатором через червячный редуктор в нём применяется шаговый двигатель Nema 17, что даёт коэффициент редукции 20:1, близкий к коэффициенту реальной антенны. Переменный конденсатор, чтобы создавать резонансный контур, нагружен индуктором. Несмотря на то, что заряд симулятора петли не так высок, как у антенны, симулятор оказался крайне полезным в плане разработки прошивки: он может стоять на столе рядом с тюнером, и я могу наблюдать за его работой непосредственно.
5. Тюнер в действии
Прежде чем углубляться в детали конструкции, я думаю, стоит начать с реального использования тюнера с магнитной петлёй. Как уже говорилось ранее, моя DIY магнитная петля предназначена для покрытия диапазонов 40 и 20 м, то есть от ~7 до ~14,2 МГц, а значит, я не смог протестировать тюнер на диапазонах 17 и 12 м. Если кто-то хочет собрать петлевой контроллер и попробовать эти диапазоны или одолжить/подарить мне петлю, которая будет охватывать частоты выше, я буду очень счастлив попробовать и показать её.
В видеороликах этого раздела мы рассмотрим работу тюнера контуров, калибровку и взаимодействие с приложением для ПК.
На видео (ну, и с помощью некоего маппета) мы посмотрим:
обзор платы, рассмотрение ключевых компонентов на высоком уровне;
калибровку КСВН;
начальный цикл поиска, отслеживания и переход к функциям;
программное обеспечение для управления на ПК;
программные предустановки частоты;
параметры конфигурации программного обеспечения;
работу загрузчика.
6. Диаграмма блоков тюнера
Диаграмма описывает дизайн петли на высоком уровне, показываются все основные компонентные блоки и интерфейсы между ними.
7. Обзор платы
Видео охватывает аппаратное обеспечение конструкции в попытке объяснить все основные компоненты конструкции для тех, кто, возможно, не очень хорошо знаком с электроникой и затрудняется прочитать диаграмму.
8. Калибровка КСВН
9. Поиск, отслеживание и перемещение частоты
10. Приложение для тюнера
11. Предустановки частот
12. Меню конфигурации
13. Обзор прошивки
Микропрограмма состоит в основном из машины состояний меню, которая управляется из процедур обслуживания прерываний ISR. Низкоуровневый ISR обрабатывает пользовательский ввод с кнопок и роторного энкодера. Также имеется низкоуровневый тик ISR в 100 мс для всего мигающего — светодиодов, курсора ЖК-дисплея и т. д. Высокоуровневый ISR высокого уровня предназначен для обслуживания интерфейса USB 2.0. На машину состояний подвешены драйверы ЖК-дисплея, DDS, последовательного интерфейса и интерфейса IIC.
14. Мост сопротивления и архитектура обработки сигналов
С аппаратной точки зрения, на этот детектор была возложена львиная доля работы. Конструкция, которую мы видим в этой инструкции, на самом деле является второй итерацией детектора. В первой итерации использовалась другая конструкция, включающая выпрямление и ёмкостные этапы отбора и удержания образцов внутри самого моста. Однако такой подход к проектированию оказался проблематичным. Из-за реактивных элементов в конструкции первого моста я обнаружил, что подключение моста к магнитной петлевой антенне слегка изменило резонансную точку антенны примерно на 5–20 кГц, и это изменение резонансной частоты зависело от представляющей интерес целевой частоты. Поскольку я пытался настроить цикл с точностью до 5 кГц от целевой частоты, это оказалось большой проблемой. Я попытался исправить изменение в прошивке с помощью процедуры калибровки и был довольно близок к устранению проблемы, но не было момента, когда бы я был полностью доволен результатом. В моей первой конструкции детектора использовался основанный на микросхеме Analog devices AD9850 DDS генератор сигналов. Это устройство генерирует единственную синусоидальную выходную частоту и будет охватывать высокочастотные диапазоны.
Архитектура второй итерации детектора совсем другая. Признаюсь, мой дизайн частично основан на работе, подробно описанной профессором доктором Томасом Байером (DG8SAQ) в его превосходной статье "Малобюджетный векторный сетевой анализатор для AF — UHF". Этот метод (частично) применялся при разработке действительно превосходного анализатора векторных сетей NanoVNA mini. Я воспользовался точно такой же передней частью моста сопротивления в своей архитектуре контурного тюнера, но моя архитектура отличается от архитектуры NanoVNA.
Архитектура детектора сегодня
В конструкции задействованного сейчас детектора используется полностью сбалансированный мост сопротивления. Поскольку в мосту нет реактивных элементов, резонансная частота антенны с магнитной петлёй не изменяется при подключении детектора! Однако это ставит другой вопрос — как обрабатывать выходной сигнал моста, когда он находится на целевой частоте от 3,5 до 29 МГц? Микропроцессор, безусловно, не способен анализировать такие частоты напрямую.
NE612N — маломощный монолитный смеситель с двойным балансом и осциллятор
Ответ на вопрос — удивительный смеситель с двойным балансом NE612N. Это устройство, по-видимому, ориентировано на технологию беспроводной мобильной телефонной связи и имеет всё необходимое (включая LO) для восстановления сигналов в недорогих беспроводных телефонах и имеет диапазон частот до 500 МГц. Из-за огромного целевого рынка эти устройства действительно дёшевы — я купил пару в упаковках DIL всего за 6,50 фунта стерлингов.
В двух словах, у смесителя два входа и один выход — мы вводим требуемый принятый сигнал и вход опорного локального генератора. Выходной сигнал известен как промежуточная частота, или результат IF. Итак, скажем, наш желаемый сигнал, отражённый от моста сопротивления петли, равен Fbridge, а частота локального осциллятора равна LO, смеситель генерирует следующее:
Fbridge X LO = (Fbridge+LO) и (Fbridge-LO)
Теперь подумайте, что произойдёт, если мы устроим так, чтобы наша частота LO всегда была, скажем, на 100 кГц ниже целевой частоты F.
Fbridge X (Fbridge-100KHz) = (Fbridge+Fbridge-100KHz) и (Fbridge-Fbridge+100KHz)
Таким образом, первый выходной член, который мы получаем, удваивает целевую частоту плюс LO — нам это не нужно! Однако второй член является ключевым, потому что целевой частотный элемент Fbridge удалён, и мы остаёмся с фиксированным значением IF 100 кГц. Поэтому то, что мы сделали, — понизили нашу целевую частоту Fbridge до гораздо более полезной и управляемой частоты в 100 кГц.
После смешивания мы хотим скорректировать и усреднить сигнал IF с использованием ёмкостных реактивных элементов, но критически важно, что эти частотно-зависимые элементы теперь представлены только с фиксированным значением IF 100 кГц, и поэтому их отклик не меняется с частотой, потому что IF фиксирован и неизменен независимо от анализируемой целевой частоты.
Второе важное преимущество NE612N
Ещё одним конструктивным преимуществом NE612N является то, что он представляет собой смеситель с двойным балансом. Это означает, что его радиочастотный вход и выход дифференциальны. Антенный мост сопротивления работает (в отражённом тракте), генерируя сигнал по мосту, пропорциональный уровню отражённого сигнала. Таким образом, подключив вход дифференциального смесителя через мост, мы впоследствии генерируем [сигнал], IF и выходной уровень пропорционален сигналу, отражённому антенной.
А что после смесителя?
После смесителя у нас сначала есть фильтр низких частот 150 кГц. Следующий этап — идеальный полуволновой выпрямитель. Обернув операционный усилитель вокруг диода, мы можем практически полностью устранить ограничение прямого падения диода. После исправления мы отслеживаем огибающую сигнала, прежде чем, наконец, добавить выходной каскад с регулируемым коэффициентом усиления. Конечные прямые и отражённые аналоговые сигналы вводятся непосредственно в PIC для обработки.
Вычисление КСВН по прямым и отражённым путям сигнала
Рассматривая блок-схему детектора, можно отметить, что в дополнение к отражённому пути используется вторая цепочка для измерения прямого пути сигнала — это называется опорным путём. Для расчёта КСВН нам нужны как отражённый путь, так и прямые (опорные) пути.
КСВН = (прямой путь + отражённый путь) / (прямой путь минус отражённый путь)
Так, если антенна подходит идеально, отражённый сигнал пути равен нулю, поэтому:
КСВН = (прямой путь) / (отражённый путь) = 1.0
Напротив, если антенна очень плохо соответствует или даже разомкнута, отражённый сигнал = прямой сигнал и т. д.:
КСВН = (прямой путь + обратный путь) / 0 = бесконечность (или по крайней мере довольно большое число)
Проблема измерения КСВН, близкого к 1:1, заключается в том, что мы должны измерять очень малые уровни отражённого сигнала, стремящегося к нулю или просто шума. Это затрудняет устранение низких уровней КСВН и приводит к ошибкам.
15. Мост сопротивления и модель обработки сигналов в симуляторе электронных схем (SPICE)
На этом шаге я представляю модель LTspice моста сопротивления и обработки сигналов. LTspice моделирует антенну как простой LCR-резонансный контур, очень похожий на симулятор магнитной петли. Модель изменяет частоту с 3 до 11 МГц в течение 3 мс. LTspice использует модель двойного сбалансированного смесителя NE602 и последующую аналоговую обработку. LO генерируется вторым генератором сигналов с частотой от 2,9 до 10,9 МГц за тот же период (3 мс), что на 100 кГц ниже целевого радиочастотного диапазона. На графике выходного сигнала показано выходное напряжение конечного каскада усиления, которое впоследствии подаётся на вход микропроцессора от А до D.
16. Загрузчик
17. Компоненты
Активные
Микроконтроллер PIC18F2550 — 1 шт.
7805 1A регулятор напряжения — 1 шт.
Выпрямительный диод IN4001.
Диод Шоттки IN5819.
PCF8754 IIC GPIO расширитель — 1 шт.
A4988 драйвер биполярного шагового двигателя — 1 шт.
NE612N смеситель с двойным балансом — 2 шт.
Операционный усилитель MCP6002 — 2 шт.
20x4 ЖК-дисплей + IIC адаптер — 1 шт.
Модуль Si5351 DDS (25 МГц XTAL) — 1 шт.
Коннекторы
USB-разъем по вашему выбору — 1 шт.
Разъем питания по выбору — 1 шт.
Разъем двигателя по выбору 4-ходовой — 1 шт.
Разъёмы и штырьки микросхемы.
Пассивные
4.7 K резисторная матрица общего режима — 1 шт.
1,8 К резисторная решётка изолированный режим — 1 шт.
Резистор 1,8 К — 1 шт.
Резистор 10 К — 1 шт.
Светодиоды — 5 шт.
4 МГц XTAL — 1 шт.
конденсаторы 33 пФ — 2 шт.
Конденсатор 100 нФ — 3 шт.
47 мкФ 16 В конденсатор — 2 шт.
Конденсатор 220 мкФ 16 В — 1 шт.
Мост и FWD/REF детектор
100R резистор — 6 шт.
200R резистор — 1 шт.
56R резистор — 1 шт.
470R резистор — 1 шт.
27R резистор — 1 шт.
300R резистор — 4 шт.
51R резистор — 2 шт.
10K резистор — 1 шт.
1K резистор — 2 шт.
100K резистор — 4 шт.
10K резистор — 6 шт.
648R резистор — 2 шт.
10K многооборотный триммер — 2 шт.
100НФ конденсатор — 8 шт.
Конденсатор 100 пФ — 1 шт.
1 нФ конденсатор — 2 шт.
22НФ конденсатор — 2 шт.
4.7 мкГн индуктор — 1 шт.
Кнопки и переключатели
Двухбитный роторный энкодер кода Грея — 1 шт.
Маленькие кнопки переключатели — 3 шт.
18. Список функций PIC18F2550
Посмотреть
19. Документация Silicon Labs Si5351 DDS
Посмотреть
20. Заключение
Вот схема тюнера. Если вы прочитали мой инструктаж, я очень надеюсь, что вам понравилось, и благодарю вас за ваше время! Этот проект был чрезвычайно приятным, и я многому научился в процессе. Временами проект был разочаровывающим, и один или два раза я почти сдался. Однако именно благодаря препятствиям человек учится, учится из-за всех вещей, которые не совсем идут по плану и, возможно, не совсем работают с первого раза — их было много!
Если хотите чувствовать чувствовать, как управляете железом, то можете присмотреться к курсу по разработке на C++, после которого вы сможете работать младшим разработчиком на C++, а если вам хочется научиться улавливать закономерности в данных самостоятельно или полуавтоматически, при помощи моделей ML, то вы можете обратить внимание на наш флагманский курс о Data Science, в конце которого сможете выбрать специализацию и начать карьеру в науке о данных.
Узнайте, как прокачаться и в других специальностях или освоить их с нуля:
Другие профессии и курсы
ПРОФЕССИИ
КУРСЫ