Измеритель АЧХ на arduino MEGA2560
-
- Сообщения: 39
- Зарегистрирован: 15 окт 2019, 09:04
- Откуда: Ессентуки
- Позывной: UB6HMV
- Город: Ессентуки
- Благодарил (а): 40 раз
- Поблагодарили: 11 раз
Измеритель АЧХ на arduino MEGA2560
Сообщение Александр UB6HMV » 24 окт 2019, 11:26
Находясь в отпуске, возникла потребность в измерении АЧХ ДПФ самодельного КВ трансивера.
Попробовал сделать это с помощью DVB донгла и генератора шума - ничего хорошего не получилось, т.к. частотный диапазон ДПФ от 1 до 30 мгц, а УСБ свисток работать на этих частотах не захотел (конвертера у меня нету). Осциллографа у меня тоже нет.
В итоге, не много почесав за ухом, собрал такой вот девайс:
Все компоненты были в наличии, нацепляв на беспаечной макетке провода, собрал прототип. И за один вечер получил первый график АЧХ кварцевого фильтра от ФМ приемника на 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. На схеме перепутано.
Уффф, вроде все рассказал. Надеюсь понятно изложил информацию.
С уважением,
Александр
- Вложения
-
- Si5351Arduino-master.zip
- (48.06 КБ) 509 скачиваний
-
- openGLCD.zip
- (703.01 КБ) 510 скачиваний
-
- AFC_metr_V1_35_testAMP.zip
- (4.78 КБ) 479 скачиваний
Александр UB6HMV
-
- Сообщения: 245
- Зарегистрирован: 15 окт 2019, 19:52
- Откуда: Казахстан
- Позывной: -- -- --
- Город: Жезказган
- Благодарил (а): 51 раз
- Поблагодарили: 47 раз
Измеритель АЧХ на arduino MEGA2560
Сообщение tygra » 24 окт 2019, 17:23
tygra
-
- Сообщения: 39
- Зарегистрирован: 15 окт 2019, 09:04
- Откуда: Ессентуки
- Позывной: UB6HMV
- Город: Ессентуки
- Благодарил (а): 40 раз
- Поблагодарили: 11 раз
Измеритель АЧХ на arduino MEGA2560
Сообщение Александр UB6HMV » 24 окт 2019, 18:00
На данном этапе развития проекта с этой схемотехникой при 10-битной АЦП - режим калибровки ИМХО бесполезен.
Александр UB6HMV
- R2AJI
- Сообщения: 755
- Зарегистрирован: 12 окт 2019, 22:48
- Город: Россошь
- Благодарил (а): 197 раз
- Поблагодарили: 241 раз
Измеритель АЧХ на arduino MEGA2560
Сообщение R2AJI » 25 окт 2019, 10:27
Но в данном случае, это почти тупиковая ветвь развития, дисплей надо побыстрее и с бОльшим разрешением. И скорее всего надо будет перейти на STM.
Хотя как знать, видел проекты на ардуино с очень быстрой графикой, но тут, как говорится, искусство программирования

В противном случае, все равно отправлю на форум.
YouTube канал HAM Radio Channel
R2AJI
-
- Сообщения: 245
- Зарегистрирован: 15 окт 2019, 19:52
- Откуда: Казахстан
- Позывной: -- -- --
- Город: Жезказган
- Благодарил (а): 51 раз
- Поблагодарили: 47 раз
Измеритель АЧХ на arduino MEGA2560
Сообщение tygra » 25 окт 2019, 10:46
tygra
-
- Сообщения: 39
- Зарегистрирован: 15 окт 2019, 09:04
- Откуда: Ессентуки
- Позывной: UB6HMV
- Город: Ессентуки
- Благодарил (а): 40 раз
- Поблагодарили: 11 раз
Измеритель АЧХ на arduino MEGA2560
Сообщение Александр UB6HMV » 25 окт 2019, 11:31
При разработке конструкции ставилась цель - простота, доступность, бюджетность, автономность. В целом, на мой взгляд, данный показОметр этим критериям отвечает. Была попытка поставить цветной ТФТ дисплей 480х320 с последовательным интерфейсом. Но с ним алгоритм отрабатывал на столько меееедленннноооо, что я сразу отказался от этой затеи. Хотя картинка получалась на много приятнее и количество отсчетов увеличивалось в несколько раз. С искусством программирования у меня как раз огромная проблема, по этому пока так.R2AJI писал(а): ↑25 окт 2019, 10:27Данный автономный прибор давно просится в разработку, обычно подобные приборы реализованы как приставки к компьютеру.
Но в данном случае, это почти тупиковая ветвь развития, дисплей надо побыстрее и с бОльшим разрешением. И скорее всего надо будет перейти на STM.
Хотя как знать, видел проекты на ардуино с очень быстрой графикой, но тут, как говорится, искусство программирования![]()
Александр UB6HMV
- R2AJI
- Сообщения: 755
- Зарегистрирован: 12 окт 2019, 22:48
- Город: Россошь
- Благодарил (а): 197 раз
- Поблагодарили: 241 раз
Измеритель АЧХ на arduino MEGA2560
Сообщение R2AJI » 25 окт 2019, 12:19

В противном случае, все равно отправлю на форум.
YouTube канал HAM Radio Channel
R2AJI
- R2AJI
- Сообщения: 755
- Зарегистрирован: 12 окт 2019, 22:48
- Город: Россошь
- Благодарил (а): 197 раз
- Поблагодарили: 241 раз
Измеритель АЧХ на arduino MEGA2560
Сообщение R2AJI » 25 окт 2019, 12:26

В противном случае, все равно отправлю на форум.
YouTube канал HAM Radio Channel
R2AJI
- 2Qay
- Сообщения: 59
- Зарегистрирован: 14 окт 2019, 12:58
- Откуда: Татарстан
- Позывной: ----
- Город: Казань
- Благодарил (а): 19 раз
- Поблагодарили: 11 раз
Измеритель АЧХ на arduino MEGA2560
Сообщение 2Qay » 13 ноя 2019, 04:57
Просто начитавшись и насмотревшись людей с других форумов, так и не получил для себя точного ответа. В 90% случаев юзают синус с ад9850, и мол "квадратом" измерять нельзя. Сам неделю назад думал начать реализовывать подобный девайс точно так же на си5351, но на стмке, так как есть необходимость в сие "показометре"
2Qay
-
- Сообщения: 245
- Зарегистрирован: 15 окт 2019, 19:52
- Откуда: Казахстан
- Позывной: -- -- --
- Город: Жезказган
- Благодарил (а): 51 раз
- Поблагодарили: 47 раз
Измеритель АЧХ на arduino MEGA2560
Сообщение tygra » 13 ноя 2019, 07:47
tygra
Вернуться в «Измерения, приборы и софт»
- Обязательно к прочтению
- Аналоговая схемотехника
- ↳ Супергетеродинные приемники и трансиверы
- ↳ Прямое преобразование
- ↳ Прямое усиление
- ↳ Регенераторы
- ↳ Узлы, блоки, модули
- ↳ Усилители мощности
- Цифровая техника
- ↳ SDR приемники
- ↳ SDR приставки
- ↳ SDR трансиверы
- ↳ Микроконтроллеры и программирование
- Теплая лампота
- ↳ Супергетеродины
- ↳ Регенераторы
- ↳ Прямого усиления
- ↳ УНЧ
- ↳ ВЧ усилители мощности
- Источники питания
- ↳ Трансформаторные и линейные
- ↳ Импульсные и преобразователи
- ↳ Гибриды
- ↳ Аккумуляторы и батареи
- ↳ Альтернативные источники
- Антенны
- ↳ Антенны КВ
- ↳ Антенны УКВ
- ↳ Фидеры кабели
- ↳ Антенные приборы и устройства
- ↳ Тюнеры
- Фирменная аппаратура
- ↳ Yaesu
- ↳ Icom
- ↳ Kenwood
- ↳ Прочие
- Мастерская
- ↳ Измерения, приборы и софт
- ↳ Паяльное оборудование
- ↳ Слесарка
- ↳ ЧПУ и 3D принтеры
- Разное
- ↳ Другие радио темы
- ↳ Полевой день
- ↳ Помогите опознать
- ↳ Куплю Продам Магазины Продавцы
- ↳ Флудильня и оффтоп
- Работа форума