HAM Синтезатор на Si5351

Автор: | 13.04.2020

Очередная моя разрабатываемая поделка – синтезатор на базе программируемого генератора  Si5351. Нового я тут конечно ни чего не придумал, некоторые схемные решения я позаимствовал из других разработок, так как мне эти решения понравились. Да и хотелось попробовать, что то самостоятельно сделать на MK AVR, можно сказать – это мой первый проект на AVR!

Планирую использовать этот синтезатор в носимом КВ трансивере для полей, первоначальное тех. задание поставил себе следующее:

  • минимальные габариты
  • одно преобразование по классике, на нижних диапазонах частота приема/передачи равна разности частот генератора плавного диапазона (VFO) и опорного генератора (BFO), на верхних диапазонах соответственно складываем частоты  VFO и BFO.
  • промежуточная частота – 8863 кГц, как раз под изготовленный мной кварцевый SSB QER фильтр
  • минимум необходимого функционала
  • управление синтезатором при помощи механического энкодера с кнопкой
  • и естественно цена необходимых компонентов

Вот, что у меня уже получилось реализовать, схема

Синтезатор питается от источника питания +12v через разъем J1. После преобразователя напряжения U1 78L05 в корпусе ТО220 получаем +5v для питания МК Atmega168-20PU в DIP корпусе и питание подсветки двух строчного дисплея LCD 1602. Сразу оговорюсь, данное включение подсветки сильно кушает ток и U1 греется, не катастрофически, укладываемся в максимально потребляемый ток на выходе U1 не более 100 мА но все же, надо будет пересмотреть это решение! +5v также поступает на следующий преобразователь напряжения U3 LM1117-3.3 на выходе которого получаем +3,3v для питания генератора Si5351. Преобразователь уровней с +5v до +3,3v необходимый для корректной работы шины I2C по которой управляется генератор Si5351, собран на транзисторах Q1/2 и резисторах R2/3/7/8.

Теоретический можно обойтись и без преобразователя уровней если использовать МК с буквой V, такие МК с пониженным питанием от +1,7v таким образом можно питать МК от +3,3v и удешевить схему синтезатора. Обязательно попробую.

Через разъем J3 производится внутрисхемное программирование МК. Кварцевый резонатор ZQ1 для тактирования МК на 16 мГц, можно и на 25 мГц поставить, проверенно работает. Номиналы нагрузочных конденсаторов C5/6 для кварцевого резонатора выбраны в соответствии с даташитом на МК. LCD дисплей управляется по 4-битной шине, для экономии портов МК данные на LCD в том числе поступают и по портам МК – MOSI и MISO, особых неудобств это не предоставляет, кроме единственного – во время “прошивки” МК наблюдаем набор бегающих символов на дисплее!

Механический энкодер подключен к портам INT0/1 МК через подтягивающие резисторы R6/9. Кнопка энкодера подключена к порту ADC0 аналого-цифрового преобразователя (АЦП) МК через делитель на резисторе R4 номиналом 75 кОм. Такое подключение кнопки позволяет на этом же порту ADC0 в дальнейшем расширить количество дополнительных кнопок, подключенных через соответствующие резистивные делители. Принцип следующий – при нажатии какой либо кнопки через свой резистивный делитель, мы программно замеряем напряжение поступающее на вход АЦП и знаем какую кнопку нажали.

Для тактирования генератора Si5351 в корпусе 10-MSOP применил дешевый кварцевый резонатор на 25 мГц, внутри Si5351, программно подключены внутренние нагрузочные конденсаторы на 8 пФ. Более подробно про подключение кварцевого резонатора и рекомендуемые типы можно посмотреть в AN551.

Выход CLK0 Si5351 через C14 нагружен на 50 ом через параллельно включенные резисторы R10/11. Выходной уровень ~370 mV.

Плату под синтезатор я еще не разводил, собрана пока на макетке, но уже прикинул в DipTrace

Теперь немного об управлении генератором Si5351.

Для управления Si5351 я использовал известную библиотеку SI5351-master от NT7S. Но мне не понравилась реализация функции калибровки сишки, так как любая микросхема имеет свою погрешность. При использовании варианта калибровки из библиотеки, которая производится на частоте 10 мГц, все равно получается погрешность до +/- 100 и боле Гц при перестройке генератора более чем на +/- 2 мГц. Поэтому я реализовал свою диапазонную калибровку, т.е. на каждом диапазоне единожды производится калибровка и записывается в энергонезависимую память EEPROM МК.

Стоит заметить, что библиотека Si5351-master для хранения своей калибровочной константы использует первые 4 байта в EEPROM МК, и позволяет управлять до 8 выходами сишки в зависимости от используемого корпуса Si5351. В моем варианте используется корпус с тремя выходами, а мне для чистоты спектра сигнала на выходе, нужен всего один – CLK0, поэтому я чуть “подрезал” библиотеку для экономии места под программный код в памяти МК которой и так мало!

Полученный функционал:

  • выход 50 ом с уровнем Vpp = ~370 mV
  • непрерывная перестройка вращением энкодера от 1 до 30 мГц
  • переход по диапазонам при кратковременном нажатии на кнопку энкодера по кругу, встаем на частоту границы CW и SSB участков на каждом диапазоне
  • нажатие на кнопку энкодера с задержкой до 2 секунд, выбор шага перестройки – 1, 10, 100, 1000, 10000 Гц, значение меняем вращением энкодера

  • нажатие на кнопку энкодера с задержкой до 5 секунд, установка используемой часты опорного генератора (BFO) по уровню -6 dB нижнего ската АЧХ используемого ПЧ фильтра основной селекции, для корректного расчета отображаемой частоты на LCD дисплее

  • далее при кратковременном нажатии на кнопку энкодера переходим в режим калибровки выходной частоты генератора (VFO). Откалибровать можно по частотомеру или непосредственно в схеме трансивера при подаче сигнала на нижних частотах -1 кГц, на верхних + 1 кГц.

  • Так же в режимах Set freq BFO и Calibration VFO можно вызвать выбор шага перестройки нажатием на кнопку энкодера с задержкой до 2 секунд.

Вот как это все дело у меня работает

Используемые материалы при разработке:

Продолжение следует…

73!

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *