Измеритель АЧХ на arduino MEGA2560

Александр UB6HMV
Сообщения: 38
Зарегистрирован: 15 окт 2019, 09:04
Откуда: Ессентуки
Позывной: UB6HMV
Город: Ессентуки
Благодарил (а): 40 раз
Поблагодарили: 11 раз

Измеритель АЧХ на arduino MEGA2560

Сообщение Александр UB6HMV » 24 окт 2019, 11:26

Доброго дня уважаемые коллеги!
Находясь в отпуске, возникла потребность в измерении АЧХ ДПФ самодельного КВ трансивера.
Попробовал сделать это с помощью DVB донгла и генератора шума - ничего хорошего не получилось, т.к. частотный диапазон ДПФ от 1 до 30 мгц, а УСБ свисток работать на этих частотах не захотел (конвертера у меня нету). Осциллографа у меня тоже нет.
В итоге, не много почесав за ухом, собрал такой вот девайс:
phpBB [video]


Все компоненты были в наличии, нацепляв на беспаечной макетке провода, собрал прототип. И за один вечер получил первый график АЧХ кварцевого фильтра от ФМ приемника на 10,7 мгц на экране монохромного графического ЛСД дисплея с разрешением 128х64 точки на основе контроллера 12684. Не много позже нарисовал в SL6 платку в виде шильда для ардуино МЕГА2560. Пользоваться устройством стало гораздо удобнее.
Почему именно ардуино МЕГА ? Потому, что у нее есть куча портов. Один только дисплей занимает 14 пинов. Хотя, если применить другой дисплей, с меньшим количеством управляющих пинов, допускаю возможность использования более дешевой платформа ардуино на основе контроллеров atmega328. Правда, из-за меньшего количества аппаратных прерываний, придется отказаться от некоторых плюшек.
На видео продемонстрирована первая версия прошивки, сейчас я ее доработал и пользоваться стало на много комфортнее, качество отображения графиков улучшилось, маркер по экрану бегает более четко. Скорость обновление графика на экране (частота развертки) не велика - около 2 секунд. Но это издержки ардуиновской платформы, мои знания еще ооочень скромны, чтобы переходить на более серьезные языки программирования.
Пару слов про дисплей - распиновка подключения к ардуине сделана под конкретную плату. А так ее можно изменить, подкорректировав соответствующий файл конфигурации в библиотеке дисплея. В скетче править ничего не надо. И еще - перед повторением необходимо проверять цоколевку экрана, т.к. существует четыре разновидности, с совершенно разной распиновкой.

Выкладываю все необходимые материалы по данному проекту, может кому пригодится.

Про органы управления измерителя АЧХ:
энкодер - осуществляет выбор режима в стартовом меню. Нажатие кнопки энкодера осуществляется переход в следующее меню. В режиме выбора стартовой частоты (если выбран режим измерения АЧХ) вращением энкодера производится установка нужной частоты (по умолчанию 10 мгц). Кнопкой STEP выбирается шаг перестройки 1-10-100-1000 кГц. Нажав на кнопку энкодера осуществляется переход в меню выбора полосы обзора (по умолчанию 1 мгц). Изменение частоты полосы обзора осуществляется аналогично установке стартовой частоты. Таким образом, например, если стартовая частота установлена на 10 мгц, а полоса обзора 1 мгц, то на экране будет отображаться график полосой 1 мгу, начиная от 10 мгц, заканчивая 11 мгц.
После установки полосы обзора, нажав на кнопку энкодера, программа переходит непосредственно в режим измерения АЧХ. На экране отображается график, по центру рисуется маркер; в левом нижнем углу отображается частота, на которой установлен маркер, а выше этой частоты - значение шага перестройки. Например, при установке полосы обзора в 1 мгц, значение шага перестройки будет равно 7,81 кГц. Т.е. каждый пиксел на экране по оси Х отрисовывается с шагом 7,81 кгц. Шаг перестройки частоты генератора также равен этому значению. Чтобы повысить точность - необходимо уменьшить полосу обзора.
На сколько я понимаю, на практике это не должно вызвать никаких проблем, т.к. если фильтр узкополосный, то полосу обзора можно выставить равной полосе пропускания. В этом случае значение шага перестройки будет минимальным.

Так вот, перейдя в режим измерения АЧХ, вращением энкодера осуществляется перемещение маркера по экрану. Т.о. маркером можно считать полосу пропускания.
Нажав кнопку CHnG, на экране появится надпись перехода в режим CHnG, который позволяет менять стартовую частоту вращением энкодера. Этой функцией достигается эффект перемещения графика по экрану в зависимости от того, в какую сторону меняется стартовая частота. Нажав эту кнопку еще раз программа возвращает в предыдущий режим - измерение АЧХ, где опять энкодером осуществляется перемещение маркера по графику.
Назначение кнопки EXIT думаю понятно - выход из текущего режима, возврат в предыдущий режим.
Режим генератора - думаю все понятно.
В стартовом меню есть еще пункт Settings. Он пока не задействован. Пока не придумал, какие задачи он будет решать.
В общем есть над чем еще работать.
Есть еще несколько версий прошивок, где реализовано масштабирование графика для случаев, когда амплитуда сигнала маленькая и считывать показания не удобно. Но это пока все в доработке.

И еще. В схеме допустил ошибочку. Проверил распиновку дисплея и заметил что пины 22 и 24 Ардуино перепутаны местами. Вывод ЛСД CS1 должен подключаться к выводу 22, а CS2 к выводу 24. На схеме перепутано.

Уффф, вроде все рассказал. Надеюсь понятно изложил информацию.


С уважением,
Александр
Вложения
IMG_20180929_222041.jpg
схема.jpg
Si5351Arduino-master.zip
(48.06 КБ) 368 скачиваний
openGLCD.zip
(703.01 КБ) 355 скачиваний
AFC_metr_V1_35_testAMP.zip
(4.78 КБ) 333 скачивания

tygra
Сообщения: 245
Зарегистрирован: 15 окт 2019, 19:52
Откуда: Казахстан
Позывной: -- -- --
Город: Жезказган
Благодарил (а): 51 раз
Поблагодарили: 47 раз

Измеритель АЧХ на arduino MEGA2560

Сообщение tygra » 24 окт 2019, 17:23

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


Александр UB6HMV
Сообщения: 38
Зарегистрирован: 15 окт 2019, 09:04
Откуда: Ессентуки
Позывной: UB6HMV
Город: Ессентуки
Благодарил (а): 40 раз
Поблагодарили: 11 раз

Измеритель АЧХ на arduino MEGA2560

Сообщение Александр UB6HMV » 24 окт 2019, 18:00

Режима калибровки пока еще нет. Если будет какой-то интерес у радиолюбителей к этой конструкции - будет стимул для ее доработки. Потенциал для развития есть. Много чего хотелось бы туда запихать, контроллер это позволяет, памяти и свободных пинов много.
На данном этапе развития проекта с этой схемотехникой при 10-битной АЦП - режим калибровки ИМХО бесполезен.

Аватара пользователя
R2AJI
Сообщения: 746
Зарегистрирован: 12 окт 2019, 22:48
Город: Россошь
Благодарил (а): 183 раза
Поблагодарили: 240 раз

Измеритель АЧХ на arduino MEGA2560

Сообщение R2AJI » 25 окт 2019, 10:27

Данный автономный прибор давно просится в разработку, обычно подобные приборы реализованы как приставки к компьютеру.
Но в данном случае, это почти тупиковая ветвь развития, дисплей надо побыстрее и с бОльшим разрешением. И скорее всего надо будет перейти на STM.
Хотя как знать, видел проекты на ардуино с очень быстрой графикой, но тут, как говорится, искусство программирования :)
Все вопросы про радио, на форум пожалуйста, в личные сообщения, только личные вопросы.
В противном случае, все равно отправлю на форум.

YouTube канал HAM Radio Channel

tygra
Сообщения: 245
Зарегистрирован: 15 окт 2019, 19:52
Откуда: Казахстан
Позывной: -- -- --
Город: Жезказган
Благодарил (а): 51 раз
Поблагодарили: 47 раз

Измеритель АЧХ на arduino MEGA2560

Сообщение tygra » 25 окт 2019, 10:46

Если нужно на ардуине и разгрузить процессор от графики , то дисплеи Nextion , аппаратный "ускоритель" для ардуины , ей только посчитать что отрисовывать ...
Такой какой есть , ничего не могу с этим поделать ) .

Александр UB6HMV
Сообщения: 38
Зарегистрирован: 15 окт 2019, 09:04
Откуда: Ессентуки
Позывной: UB6HMV
Город: Ессентуки
Благодарил (а): 40 раз
Поблагодарили: 11 раз

Измеритель АЧХ на arduino MEGA2560

Сообщение Александр UB6HMV » 25 окт 2019, 11:31

R2AJI писал(а):
25 окт 2019, 10:27
Данный автономный прибор давно просится в разработку, обычно подобные приборы реализованы как приставки к компьютеру.
Но в данном случае, это почти тупиковая ветвь развития, дисплей надо побыстрее и с бОльшим разрешением. И скорее всего надо будет перейти на STM.
Хотя как знать, видел проекты на ардуино с очень быстрой графикой, но тут, как говорится, искусство программирования :)
При разработке конструкции ставилась цель - простота, доступность, бюджетность, автономность. В целом, на мой взгляд, данный показОметр этим критериям отвечает. Была попытка поставить цветной ТФТ дисплей 480х320 с последовательным интерфейсом. Но с ним алгоритм отрабатывал на столько меееедленннноооо, что я сразу отказался от этой затеи. Хотя картинка получалась на много приятнее и количество отсчетов увеличивалось в несколько раз. С искусством программирования у меня как раз огромная проблема, по этому пока так.

Аватара пользователя
R2AJI
Сообщения: 746
Зарегистрирован: 12 окт 2019, 22:48
Город: Россошь
Благодарил (а): 183 раза
Поблагодарили: 240 раз

Измеритель АЧХ на arduino MEGA2560

Сообщение R2AJI » 25 окт 2019, 12:19

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

YouTube канал HAM Radio Channel

Аватара пользователя
R2AJI
Сообщения: 746
Зарегистрирован: 12 окт 2019, 22:48
Город: Россошь
Благодарил (а): 183 раза
Поблагодарили: 240 раз

Измеритель АЧХ на arduino MEGA2560

Сообщение R2AJI » 25 окт 2019, 12:26

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

YouTube канал HAM Radio Channel

Аватара пользователя
2Qay
Сообщения: 59
Зарегистрирован: 14 окт 2019, 12:58
Откуда: Татарстан
Позывной: ----
Город: Казань
Благодарил (а): 19 раз
Поблагодарили: 11 раз

Измеритель АЧХ на arduino MEGA2560

Сообщение 2Qay » 13 ноя 2019, 04:57

Товарищи, неужели на самом деле меандр подходит для измерения АЧХ классическим методом (исмеряем амплитуду меняя частоту)??

Просто начитавшись и насмотревшись людей с других форумов, так и не получил для себя точного ответа. В 90% случаев юзают синус с ад9850, и мол "квадратом" измерять нельзя. Сам неделю назад думал начать реализовывать подобный девайс точно так же на си5351, но на стмке, так как есть необходимость в сие "показометре"

tygra
Сообщения: 245
Зарегистрирован: 15 окт 2019, 19:52
Откуда: Казахстан
Позывной: -- -- --
Город: Жезказган
Благодарил (а): 51 раз
Поблагодарили: 47 раз

Измеритель АЧХ на arduino MEGA2560

Сообщение tygra » 13 ноя 2019, 07:47

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

Ответить

Вернуться в «Измерения, приборы и софт»