Генератор качающейся частоты на AD9850

Доводилось ли вам когда-либо настраивать фильтры? А лазать по каскадам, выискивая, в котором происходит завал частоты? А делать всё это, не имея при этом измерителя АЧХ? Мне вот доводилось и не раз, штука, скажу я вам, крайне неприятная!..

На выручку, конечно, приходят конструкции генераторов из старых журналов радио, но как показала практика, у них целый ряд недостатков, с которыми мирится попросту невозможно, а именно: очень маленький диапазон перестройки, очень узкая полоса качания, нестабильность частоты на ВЧ, слишком высокий нижний предел частоты (ЗЧ не покачаешь), точность установки частоты и диапазона качания желает лучшего, габариты и энергопотребление… ну и те..де…

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

  1. Простота в сборке и минимум компонентов.
  2. Использование того, что было под рукой.
  3. Небольшие габариты (так как на столе для приборов место не бесконечно).
  4. Простота управления (отсутствие лишних кнопок и бредовых функций).
  5. Интуитивно понятный интерфейс.
  6. Диапазон генератора от 20 Гц до 40 МГц.
  7. Полоса качания от 255 Гц до 39 МГц.
  8. Минимальный шаг перестройки 1 Гц.

Пошуршав по сусекам с радиодеталями, были выбраны следующие компоненты:

  1. Микроконтроллер PIC16F73
  2. Дисплей символьный, 1 строка, 16 символов.
  3. Китайский модуль DDS на базе AD9850 и опорника на 125 МГц (стоит ~10$ на AliExpress).
  4. Энкодер 24 шага на один оборот.
  5. Регистр защёлка для ЦАП 74HC573.

Определившись с компонентами и выкурив даташит на DDS, а так же набросав схемку,

приступил к программированию прошивки.

Скажу сразу, тут я выкладываю прошивки версии от  1.3, так как всё, что было до этого, получалось не совсем удобным и не везде функциональным.

Собственно, что же должен представлять из себя прибор? В первую очередь он должен быть обычным генератором с возможностью качания, то есть режим качания неплохо бы отделить от всего остального, но при этом (вспоминаем задачу номер 4) не иметь дополнительных переключателей режима. Что и было сделано. При включении генератор работает как обычный генератор, энкодером изменяется частота,

после кратковременного нажатия на кнопку «select» можно поменять шаг перестройки

(как бы ничего лишнего).

При удержании кнопки «select» в течение 2х секунд, активируется дополнительное меню, позволяющее настроить параметры качания частоты.

После чего по нажатию «select» уже будут доступны:

полоса качания (в плюс от той, что указана как F),

скорость качания частоты с вариантами 1000ms, 500ms, 200ms, 100ms,

а так же пункт включения качания частоты.

Все настройки можно изменять онлайн, то есть прямо в процессе качания можно покрутить любой параметр.

Если режим качания более не требуется, то его можно отключить,

после чего качание прекратится, а при очередном нажатии «select» на экране появится надпись,

и устройство вернётся в режим обычного генератора.

Естественно, для наблюдения самой АЧХ нам понадобится ВЧ детектор, схем которых в интернете пруд пруди, например вот:

Ну и, конечно же, осциллограф. Сразу встаёт вопрос «а как синхронизировать осциллограф с генератором?», давайте разберём:

На самом деле существует всего два варианта.

Первый — переключать осциллограф в ждущий режим и запускать развёртку по импульсу от генератора.

Второй способ — это когда мы с генератора подаём «пилу» на вход «Х» осциллографа.

Недолго думая, решил я реализовать оба этих способа, так как осциллограф у меня не в единственном экземпляре имеется, а на каком, как будет красивее и удобнее смотреться, гадать совершенно не хотелось.  Да и при повторении конструкции люди сами выберут как им лучше.

По итогу получился такой вот прибор:

На самом деле, написать эту статью меня сподвигла общественность, потому как в процессе бета-тестинга, который мне помогли выполнить несколько коллег по хобби, появились модификации печатных плат и несколько вариантов прошивок  (прошивки отличаются только подключаемым дисплеем (1 или 2 строчечным) и разводкой энкодера (чтобы при кручении ручки по часовой стрелке, частота шла в плюс).

От себя я хочу выразить огромную благодарность этим людям, без их участия конструкция не получилась бы настолько интересной и универсальной. Ну, и конечно, фотографии прилагаются.

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

Файлы прошивок, печатных плат и схема прилагаются.