В статье представлена макетная версия панорамного индикатора уровня сигнала диапазона 45 МГц - 860 МГц, максимально упрощённой конструкции, собранный из стандартных модулей от "старого" телевизора (тюнер, СМРК) и Arduino Uno с LCD дисплеем разрешением 320х480 (с параллельным интерфейсом). "Индикатор" является следствием опытов, проведённых в предыдущей статье.
Принципиальная схема панорамного индикатора уровня сигнала диапазона 45 МГц - 860 МГц приведена на Рисунке 1.
В основе индикатора лежит телевизионный тюнер с цифровым управлением и синтезатором PLL (в данном случае марки TAEW G005 от "донора" - телевизора LG, выход ПЧ (38.9 МГц) несимметричный). В качестве усилителя ПЧ, фильтра и "детектора" уровня выступает модуль от 3УСЦТ СМРК2 на основе К174УР5 (используется сигнал цепи АРУ).
В связи с использованием сигнала АРУ как информационного возникает закономерная проблема метрологического характера (неравномерность зависимости напряжения АРУ от уровня сигнала ПЧ и "неравномерный" коэффициент передачи тюнера как от частоты, диапазона, и напряжения АРУ). Для измерения уровня сигнала в численных значениях необходимо производить калибровку во всём диапазоне входных напряжений и частот, к чему Ваш покорный слуга не готов и считает излишним в данном недоразумении, названным индикатором. Можно несколько упростить задачу при желании придать "измерительные" свойства индикатору - необходимо отключить сигнал АРУ от цепи управления тюнером и формировать "скачкообразное" управление коэффициентом передачи тюнера с помощью микроконтроллера в зависимости от входного сигнала.
Тюнер питается напряжением +5В, формируемым интегральным стабилизатором U3, фильтр L3,C13 взят с "донора". Напряжение для питания варикапов (+33В) формирует преобразователь на транзисторе Q1 (статья с подробным описанием). Arduino Uno и СМРК питается напряжением +12В.
Подключение LCD дисплея стандартное для параллельного интерфейса, и, надеюсь задача подключения решена уважаемым читателем.
С выхода IF тюнера сигнал промежуточной частоты поступает на вход СМРК на усилитель ПЧ, ПАВ фильтр, дифференциальный усилитель, на вход микросхемы К174УР5. Несколько повысить чувствительность индикатора можно заменив штатный ПАВ фильтр ФП3П9-451 7 на фильтр с импортного "донора" (выигрыш около 5 дБ). С контакта 14 СМРК напряжение АРУ (макс. 8.5В), обратно пропорциональное уровню сигнала, через делитель R15 поступает на цепи АРУ тюнера (макс. 4.7В) и вход АЦП A0 Arduino Uno.
"Модуль" кнопок и дисплея собирался для несколько другого проекта, в связи с этим избыточное количество кнопок управления для макета индикатора. Без ущерба можно уменьшить до 3 кнопок, соответственно переписав алгоритм управления кнопками в скетче. В данный момент используется 5 кнопок. Метод подключения кнопок - "аналоговый". Хорошая статья о схемах подключения кнопок к АЦП микроконтроллера.
Конструкция макета разработана в пакете проектирования "Компас", детали конструкции распечатаны на 3D принтере из пластика ABS (Рисунок 2 и 3).
Конструкция представляет из себя "сандвич": модуль кнопок и дисплея, arduino uno, тюнер, модуль СМРК (Рисунок 4). Монтаж выполнен проводом МГТФ, сигнальные цепи выполнены экранированным проводом.
При использовании макетной платы с стандартным шагом 2.54 мм для установки разъёмов под Arduini Uno и LCD дисплей придётся рассверлить посадочные места и "по колхозить" паяльником и плоскогубцами, обходя "ключ" для правильной установки шилдов (Рисунок 5).
Скетч для индикатора написан в среде программирования ArduinoIDE версии 1.8.16. Для работы с LCD дисплеем используется библиотека MCUFRIEND_kbv, слегка модифицированная для нужд макета. Управление тюнером производится по интерфейсу I2C. Для подключения по шине I2C необходимо "освободить" порты Arduino Uno A4 и A5, так же нужны еще два аналоговых порта - например А0 и А1, для ввода измерений и кнопок. Порт A5 и так свободен, а вот на порт А4 приходит сигнал дисплея LCD_RST. "Перекинуть" на другой порт при использовании библиотеки MCUFRIEND_kbv не составляет особого труда - в файле utility/mcufriend_shield.h необходимо просто переназначить порты .
//################################### UNO ##############################
#elif defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328PB__) //regular UNO shield on UNO
//!!!!!!!!!!!!!!!!!!!user edit!!!!!!!!!!!!!!!!
#define RD_PORT PORTB // !!!!!!! user edit
#define RD_PIN 3 // !!!!!!! user edit
//#define RD_PORT PORTC
//#define RD_PIN 0
//!!!!!!!!!!!!!!!!!!!!user edit!!!!!!!!!!!!!!!!!
Примерно так выглядит переназначение порта A0/PC0 на PB3 для сигнала LCD_RD.
На экране индикатора в верхней "строке" отображается частота курсора, уровень в "монгольских тугриках" или "температура по палате", как кому нравится, и номер частотного канала. В нижней строке - нижняя частота диапазона, режим "zoom", верхняя частота диапазона. Режим "zoom" позволяет посмотреть наличие слабого сигнала (разрешение АЦП atmega328p - 1024 бит, возможность отобразить на экране количество пикселей по вертикали - 320, следовательно придётся почти в четыре раза "загрубить" показания, режим "zoom" позволяет до некоторого значения показать сигнал "как есть" с АЦП). Во время установок, настраиваемые "поля" подсвечены (Рисунок 6,7,8).
"Легенда" управления кнопками: стрелки "влево" и "вправо" - перемещение курсора, кнопа "в центре" --> "влево" и "вправо" изменение нижней частоты диапазона, "вверх" и "вниз" - изменение верхней частоты диапазона --> кнопка "в центре" --> кнопками "влево" и "вправо" включается или выключается режим "zoom". Выход из режима настройки производится нажатием кнопки "в центре".
Программное обеспечение подразумевает использование дисплея разрешением 320х480. Максимально число отображаемых "отсчётов" индикации - 240 (горизонтальные 480/2). Для использования дисплея с другим разрешением придётся подкорректировать скетч.
Время "обновления" экрана при установленном диапазоне 45 МГц - 865 МГц при полосе 8 МГц (102 отсчёта) - 5.4 секунды при задержке 30 миллисекунд для установки частоты тюнера.
Программное обеспечение "сырое", в связи с этим программное обеспечение публикуется "как есть", претензии не принимаются, улучшения и исправление ошибок приветствуются.
Настройка индикатора заключается в установке необходимого уровня напряжения АРУ делителем R15, напряжение не должно превышать 4.7В (требование для тюнера). Начальное напряжение АРУ на выходе СМРК при отсутствии сигнала 8 (+-0.5) В, и стандартно для телевизионного приёмника АРУ настроен (R18 СМРК) на реакцию на входной сигнал в СК-М-24 напряжением от 1 мВ. Коэффициент передачи тюнера от "донора" несколько больше, чем у СК-М-24, в связи с этим потребуется некоторая корректировка с помощью R18 блока СМРК. Только не стоит слишком завышать уровень АРУ - будет реагировать на весь "мусор" на входе тюнера. Так же для исключения эффекта "шлейфа" нужно исключить из схемы АРУ электролитический конденсатор C15 (22 мкф, СМРК).
На Рисунках 9 - 12 фотографии наблюдений различных источников сигнала.
При напряжении питания 12 вольт ток потребления около 360 мА (не мало).
Краткие выводы: при крайне простой конструкции (практически простое соединение готовых модулей) в целом получился занятный приборчик (не более), который прошедшим летом положительно поучаствовал в настройке нескольких телевизионных антенн. Нельзя данный прибор назвать измерительным. Несмотря на все недостатки (метрология, ток потребления и т.п.) приборчик имеет "творческий потенциал": если к индикатору добавить модулятор (например от тюнера DRE5000), управляемый по I2C, появляется возможность смотреть АЧХ в ДМВ диапазоне, а при некоторой переделке модулятора - и от 45 МГц. При некоторой доработке (смеситель и генератор) получается ЧМ приёмник (с использованием модуля УПЧЗ).
Будет ли версия "в корпусе и нормальной метрологией", большой вопрос. В данный момент кажется более интересным использовать тюнер от dvb-t2 приставки (например MxL605 (608)),тем более, что одна "дружественная" мастерская поделилась "мертвыми" платами приставок, некоторые при ближайшем рассмотрении были "оживлены" (по крайней мере тюнер рабочий).
Скетч можно взять здесь (архив 7zip).
Спасибо за уделённое время на чтение. С уважением.