В статье мы разглядим создание генератора перестраиваемой частоты на основе платы Arduino и модуля Si5351, работающего в диапазоне 10 кГц - 225 МГц. Данный генератор может сгодиться для тестирования работы разных радиоприемников, может применяться в качестве генератора тактовых сигналов, в качестве гетеродина в супергетеродинных приемниках, в синтезаторах частоты и многих других схожих приложениях.
Нужные компоненты
- Плата Arduino Nano .
- Инкрементальный энкодер с кнопкой.
- OLED дисплей 128х64.
- Adafruit SI5351 CLOCK GEN (генератор тактовых частот).
- Toggle Switch, SPDT (переключатель).
- Panasonic RCA JACK (выходной радиочастотный разъем).
- Конденсаторы 10 нФ и 100 нФ.
- Конденсатор 10 мкФ.
- Резистор 1 кОм.
- Катушка индуктивности 100 мкГн (Inductor 100 uH).
В данном плане рассматривается генератор перестраиваемой частоты (variable-frequency oscillator, VFO), пригодный для применения в "домашних" (Do It Yourself , DIY) условиях. Данный генератор может сгодиться в синтезаторах частоты, супергетеродинных радиоприемниках, SDR-приемопередатчиках и т.д. Генератор имеет шкальный индикатор (Bargraph indicator) для отображения мощности сигнала (S-Meter) и 20 заблаговременно установленных диапазонов частот.
Основные особенности плана:
- рабочий диапазон от 10 кГц до 225 МГц;
- шаг настройки: 1 Гц, 10 Гц, 1 кГц, 5 кГц, 10 кГц и 1 МГц;
- регулируемое смещение (+ либо -) промежуточной частоты (ПЧ);
- 20 заблаговременно установленных диапазонов частот (с стремительным доступом) в полосах частот АМ-вещания (BCB) и радиолюбительских диапазонах (HAM frequencies);
- режим генерации сигналов (функциональный генератор);
- для применения в качестве здешнего генератора на самодельных супергетеродинных радиоприемниках либо радиоприемниках с прямым реформированием;
- для применения в качестве генератора переменной частоты для радиолюбителей;
- для применения в качестве простого тактового генератора для калибровки либо генерации тактовых толчков;
- шкальный индикатор для отображения мощности сигнала через вход АЦП (аналого-цифрового преобразователя);
- вероятность работы с платами Arduino Uno, Nano и Pro Mini;
- использует типовой дисплей 128x64 I2C OLED SSD1306 и модуль Si5351;
- передача данных по интерфейсу I2C, нужно каждого 2 провода для подключения дисплея и модуля Si5351 к плате Arduino;
- высокая устойчивость и точность генерации частоты;
- отменная результативность, невысокая стоимость, дозволено собрать в домашних условиях.
Микросхема Si5351 это конфигурируемый через I2C генератор тактовых частот, безукоризненно подходящий для замены кварцев, кварцевых генераторов, генераторов VCXO (voltage-controlled crystal oscillator - кварцевый генератор, управляемый напряжением), синтезаторов с ФАПЧ (PLL), буферов развязки в приложениях, критичных к всеобщей стоимости. Основываясь на архитектуре PLL/VCXO + high resolution MultiSynth fractional divider, Si5351 может генерировать всякую частоту до 200 МГц на всем из выходов с нулевым отклонением от заданного значения (0 ppm error). Для удовлетворения разным требованиям приложений Si5351 выпускается в 3 версиях. Si5351A генерирует до 8 не зависящих друг от друга тактовых сигналов, применяя внутренний генератор, что дозволяет заменить несколько кварцев либо кварцевых генераторов. В Si5351B добавлен внутренний VCXO, что дает вероятность заменить как вольно (самостоятельно друг от друга), так и синхронно генерируемые тактовые частоты. Это устраняет надобность использования дорогих особых кварцев, предоставляя при этом высокую безопасность работы в широком диапазоне настраиваемых частот. Si5351C предоставляет такую же эластичность, но синхронизируется при этом с внешним опорным генератором (CLKIN).
Узнать больше подробную информацию о микросхеме Si5351 и ее подключение к плате Arduino вы можете на сайте ее разработчика. Также тезисы ее работы недурно описаны на сайте microsin.net.
Схема генератора перестраиваемой частоты на Arduino и модуле Si5351 представлена на дальнейшем рисунке.
Для работы с планом исполните следующую последовательность шагов:
- подготовьте аппаратную часть плана согласно представленной схемы;
- подайте питание на плату Arduino;
- откройте код программы в Arduino IDE, установите все нужные библиотеки;
- установите настройки плана (preferences) (описаны дальше в статье), скомпилируйте скетч и загрузите его в плату Arduino Nano, Uno либо Pro Mini;
- вращайте ручку инкрементального энкодера для увеличения либо уменьшения генерируемой частоты;
- нажимайте кнопку 1 для метаморфозы шага настройки. Допустимые шаги настройки: 1 Гц, 10 Гц, 1 кГц, 5 кГц, 10 кГц и 1 МГц;
- нажимайте кнопку 2 для выбора одного из предварительно установленных частотных диапазонов либо выберите режим генератора (generator mode);
- включайте/выключайте переключатель SW 2 для переключения между режимами RX и TX. В режиме RX переключатель SW 2 открыт, а в режиме TX он замкнут на землю (GND). В режиме TX значение IF (промежуточной частоты) не добавляется/вычитается из выхода RF (радиочастоты) - данный режим отменно подходит для применения в домашних приемопередатчиках;
- подключите выходной сигнал с измерителя мощности (S-Meter) от вашего радиоприемника (радиостанции) к разъему X2 (вход S-Meter'а). Данный вход имеет настраиваемую восприимчивость, его показатель усиления дозволено настроить в приведенном скетче. На данный вход дозволено подавать сигналы от 500mV до 5V (max);
- значимое дополнение: if it freezes in the initialization text, comment (put a //) at the line 77 statup_text ();
Вы можете изменить следующие строки в скетче:
#define IF 455 //введите вашу IF (промежуточную) частоту, ex: 455 = 455kHz, 10700 = 10.7MHz, 0 = прямое реформирование частоты приемника либо радиочастоты генератора, "+" будет добавляться, а "-" будет вычитаться сдвиг промежуточной частоты.
#define BAND_INIT 7 // введите ваш первоначальный диапазон (Band) (1-21) в начале работы плана, ex: 1 = Freq Generator, 2 = 800kHz (MW - средние волны), 7 = 7.2MHz (40m), 11 = 14.1MHz (20m).
#define XT_CAL_F 33000 // показатель калибровки модуля Si5351, дозволено настроить дабы получить верно 10MHz. Увеличение этого значения будет сокращать частоту и напротив.
#define S_GAIN 303 //настройка восприимчивости входа измерителя мощности (Signal Meter A/D input): 101 = 500mv; 202 = 1v; 303 = 1.5v; 404 = 2v; 505 = 2.5v; 1010 = 5v (max).
#define tunestep A0 //контакт, к которому подключена кнопка для настройки шага настройки.
#define band A1 //контакт, к которому подключена кнопка для выбора частотного диапазона.
#define rx_tx A2 // контакт, к которому подключена кнопка для выбора режима RX / TX, RX = switch open (переключатель открыт), TX = switch closed to GND (переключатель замкнут на землю). В режиме TX частота IF (промежуточная) не учитывается.
#define adc A3 //контакт, применяемый как вход измерителя мощности (Signal Meter A/D input).
Комментарии
Схема рабочая, рекомендую для
а у меня не получается
Спасибо, хороший генератор,
вот такая ошибка вылазиет
Товарищи, помогите работает
Добавить комментарий