RSS

Анализатор АЧХ на Arduino Mega + AD9850 (макетный вариант)

17 Фев
Анализатор АЧХ на Arduino Mega + AD9850 (макетный вариант)

17.02.2019

Эта конструкция является экспериментальной (макетной) пробой посмотреть в действии возможность построения анализатора амплитудно-частотных характеристик на стандартной китайской плате на базе синтезатора частоты AD9850 и управления ею с помощью Arduino Mega с выводом характеристики на стандартный экран TFT3.2 480х320.

Модуль синтезатора:

AD

Схемотехника устройства следующая:

analyser

Для просмотра в полном размере кликни на изображении.

Arduino Mega в связке с дисплеем TFT 3.2 480×320 служат для управления синтезатором и индикации. Качающаяся частота генерируется платой синтезатора (на схеме обозначен как синтезатор на AD9851). Я экспериментировал с платой на AD9850, но плата на AD9851 полностью совместима по ногам, а программа управления требует изменения только 2-х строк (в программе есть подробные комментарии). На выходе синтезатора стоит аттенюатор с которого сигнал отправляется на измерение.

Далее после измерения сигнал идёт на вход измерительной цепи. На входе стоит переключатель входного сопротивления (высокое / 50 ом). Далее логарифмический усилитель AD8307. Если произвести правильную настройку уровней сигнала, то используя AD8307 можно получить правильную шкалу в децибелах. Я этого не делал (возможно пока), поэтому моя конструкция является «анализатором» АЧХ, а не «измерителем». Впрочем этого оказалось достаточно для контроля полосовых фильтров и настройки контуров.

Макетная плата устройства :

001

О назначении кнопок:

1 — FAST — при нажатии на кнопку валкодер служит для быстрого изменения начальной частоты сканирования.

2 — SLOW — при нажатии на кнопку валкодер служит для точного изменения начальной частоты сканирования.

3 — DELTA — при нажатии на кнопку валкодер служит для изменения ширины полосы сканирования (от 50 кгц до 50 мгц)

4 — кнопка служит для переключения программных поправочных коэффициентов для одинакового отображения в режимах высокоомного входа / входа 50 Ом. (переключение по отпусканию кнопки)

Без нажатий на кнопки валкодер служит для перемещения метки по характеристике АЧХ (частота метки выводится внизу экрана, так же как величина ширины полосы сканирования и режим входа)

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

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

Теперь о результатах:

При соединении входа и выхода напрямую и установке полосы сканирования 50 мГц получилась следующая картинка:

line

Что и ожидалось, так как снижение уровня сигнала на выходе синтезатора AD9850 на частотах выше 25 мГц — известный факт. Возможно надо будет попробовать цепочку с корректирующим конденсатором, для выравнивания характеристики. Впрочем, для настройки контуров и полосовых фильтров и этого будет на первых порах достаточно. Тем более, что при сужении полосы сканирования до единиц мегагерц (а тем более сотен килогерц) неравномерность практически незаметна.

Примеры первых измерений:

003_21_4

Полосовой фильтр 21.4 мГц, полоса 18 кГц режим высокоомного входа

002_45MHZ

Полосовые фильтры 45 мГц, 2 последовательно, высокоомный вход, установлены на плате преобразователя частоты.

004_5MHZ

Полосовой фильтр DBP1007B, 5 мГц, высокоомный вход

006_6_5

Керамический фильтр 6.6 мГц (телевизионный от звука)

После этого были ещё тесты с диапазонными входными фильтрами для радиоприёмника в режиме входного сопротивления 50 ом (фотографии я не делал). Они так же подтвердили право на жизнь этой конструкции. Определённая доработка схемотехники и программы нужна, но пользоваться этим анализатором АЧХ без проблем можно и в этом виде.

 
15 комментариев

Опубликовал на 17.02.2019 в Электроника

 

Метки: ,

15 responses to “Анализатор АЧХ на Arduino Mega + AD9850 (макетный вариант)

  1. Дмитрий Гончар

    24.03.2019 at 17:55

    Очень интересная конструкция, но не могу скачать программу. У меня этот сервис заблокирован. Большая просьба к автору, помогите заполучить программу.
    Такая же проблема и с конструкцией «Arduino DDS — синтезатор частоты на базе AD9851 под управлением Arduino.»

     
  2. Олег Б

    15.05.2020 at 11:49

    Хочу попробовать собрать Ваш проект. Мегу с экраном уже «подружил», пришли ADшки, но не могу загрузить схему в читабельном виде. Большая просьба к автору выслать схему на почту, а то боюсь промахнуться с ногами в Меге и с номиналами деталей. Кстати, собрал Ваш ГКЧ на ардуино — все работает. Жаль, что поздно обнаружил эту конструкцию.

     
  3. Олег

    19.02.2021 at 11:43

    Картинка на экране у меня получается перевернутая. Проверял на пьезофильтре на 455 кгц. Не пойму из-за чего. Может оттого что экран попался с зеркальным отображением? Может подскажете в чем может быть проблема?

     
  4. Сергей

    02.05.2021 at 19:32

    Здравствуйте, собрал данную схему, но по чему то частота резонанса не соответствует действительности? Кварц 10.8мГц показывает 45мГц, Кварц 10мГц показывает 42.750мГц, фильтр 10.7 — 44.850!?

     
  5. Аноним

    02.05.2021 at 19:59

    Сорри, забыл поправить под AD9851

     
  6. Сергей

    02.05.2021 at 20:12

    И еще, строку 70 attachInterrupt(0, encoder, RISING);
    надо заменить на attachInterrupt(digitalPinToInterrupt(2), encoder, RISING);

     
  7. Олег Б

    19.05.2021 at 14:38

    Сергей, как работает прибор? Что дает замена 70-й строки? Я забросил этот проект, т.к. нет поддержки и на вопросы разработчик не отвечает. Может сбросьте фото работы прибора и платы?

     
  8. Сергей

    07.08.2021 at 14:31

    Уважаемый Сергей! помогите с прошивкой, не могу скачать , данный сервис заблокирован. Если возможно, отправьте на почту. Конструкция больно интересная, хочется попробовать!

     
  9. Андрей

    04.12.2021 at 15:45

    Добрый день ! Отличная конструкция, очень понравилась задумка, Собрал было несколько проблем с дисплеем то не показывал, перевёрнуто было, но всё подправил показывает? поставил AD9850 проверил всё идёт управляется, осталась одна проблемка делаю заворот, фильтр цепляю и я в печали не измеряет. Всё проверил монтаж другую AD8307 поставил не изменилось ни чего не мериит, может китайцы прислали бракованные AD8307, atmega 2560 раньше использовал под проект ethernet и там не использовались аналоговые входы спалить не мог их, вот второй день чешу голову в чём проблема, если есть предложения направить в нужное русло куда обратить внимание. Спасибо большое!

     
  10. Олег

    09.12.2021 at 12:06

    Андрей, добрый день. Конструкцию эту забросил почти год назад по той же причине, что и у Вас. Грешил на AD8307. Заказывал несколько раз на Али. Сам не смог разобраться, а хозяин проекта не отозвался. После купил NANOVNA. Но проект хотелось бы доделать. Какой у вас уровень сигнала на выходе? У меня на низких частотах около 380 мв, а на высоких и того меньше. Я делал проект этого же автора ГКЧ на Ардуино, так там сигнал на выходе около 1в на нижних частотах. Мне показалось что не хватает размаха сигнала для нормального отображения на экране. У меня была небольшая загагулина на проверяемой частоте фильтра и та вверх ногами.

     
  11. Андрей

    09.12.2021 at 12:48

    Олег! Добрый день ! Сигнал на выходе AD8307 очень маленький, на входе смотрел в районе 3 вольт, смотрел анализатором прохождение от начала выхода AD9850 хорошо плавает и размах хороший, а вот с выхода AD8307 ерунда какая то, любые фильтры катушки и.т.д цеплял ровная полоса на экране как будто нет сигнала, пробовал програмно менял вход на другой думал может быть на радуинки подпален не повезло в этом направлении, сейчас времени пока нет работы много, но в голове пока раскидываю что за чем.

     
  12. Олег

    09.12.2021 at 15:36

    Андрей, нужно смотреть выход сигнала с AD9850, какой у него размах. Он поступает на исследуемый объект, а уже потом на вход AD8307, либо для самоконтроля сразу на вход на AD8307. На выходе AD9850 сигнал качающейся частоты. На осциллографе это хорошо видно. Меня смутил его низкий уровень — 380 милливольт. Или так и должно быть. А проблема может быть в чем то другом. Есть варианты схемы, когда вместо логарифмического детектора AD8307 ставится обыкновенный диодный мост.

     
  13. Андрей

    14.12.2021 at 17:16

    Добрый день Олег! сейчас не много занят мой адрес fylzilo@yahoo.com туда маяк киньте как результат будет отпишусь, а то конец года работы мрак.

     
  14. Олег

    20.01.2022 at 16:27

    Вернулся к проекту почти год спустя. С помощью приборов все перемерял, нашел свои косяки. Ну и почему то вход с детектора был у меня выведен на А1, а сигнал нашелся на входе А2. Дальше поборолся с шумами и получил картинку при замере фильтра ПЧ похожую как и на NANO VNA. Автору спасибо!

     
  15. Аноним

    21.06.2022 at 18:21

    Добрый день. Собрал и отладил данный замечательный прибор. Проверил и настроил 3 полосовых фильтра , которые давно лежали и которые как мне казалось зря затраченная работа, еще 4 кварцевых фильтра проверил и посмотрел характеристику. Ну это просто удовольствие, а сейчас о некоторых замечаниях;
    1. AD8307, два раза выписывал с али, собираю схему не работает и так несколько раз, хотел бросить эту затею, но в третий раз выписал на али радиочастотный детектор на AD8307. Схема стандартная для этой микросхемы и все заработало, до этого грешил на нерабочий вход Arduino , но подал через переменное сопротивление, постоянку от 0 до 1,5 вольт, график движется.Так что микросхема в готовой схеме работает.
    2. Добавил еще один диапазон девиации 10 КГц, очень удобно для просмотра характеристик кварцевых фильтров, это надо добавить в программу некоторые изменения,
    // НАЖАТИЕ НА КНОПКУ 3 + ЭНКОДЕР = ИЗМЕНЕНИЕ ШИРИНЫ ПОЛОСЫ СКАНИРОВАНИЯ
    if ((digitalRead(60) == LOW) && (enc != 0))
    {
    delta = delta + enc;
    if (delta > 8)delta = 1;
    if (delta < 1)delta = 8;
    switch (delta) {
    case 1:
    freq_delta = 10000;
    break;
    case 2:
    freq_delta = 50000;
    break;
    case 3:
    freq_delta = 100000;
    break;
    case 4:
    freq_delta = 500000;
    break;
    case 5:
    freq_delta = 1000000;
    break;
    case 6:
    freq_delta = 5000000;
    break;
    case 7:
    freq_delta = 10000000;
    break;
    case 8:
    freq_delta = 50000000;
    break;
    }
    3. В программе надо поправить ,
    //КНОПКИ
    pinMode(58, INPUT);
    pinMode(59, INPUT);
    pinMode(60, INPUT);
    pinMode(61, INPUT);
    в оригинале,два раза повторяется 58, соответственно надо поправить, в программе соответствующие позиции.
    4. Кнопки я заменил на микро тумблеры, со средним положением, для удобства, а то одной рукой жать кнопку , другой крутить, как то не очень удобно.
    5. Ну еще по выходу я постави аттенюатор, на будущее, если придется проверять усилители с резонансными штучками.
    Вот примерно так. Я очень доволен прибором, СПАСИБО разработчику. К сожалению я на программист, может кто то сможет решить одну задачку? В приборе, при изменении девиации, меняется частотный диапазон и приходится совершать несколько манипуляций, чтобы на высокочастотном диапазоне выставить маленькую величину девиации. Ну это так если кто может, я пробовал у меня не получилось.
    Спасибо.

     

Оставьте комментарий