Синтезатор на Si5351 для техники прямого преобразования

      Гетеродин является одним из важнейших узлов приемопередающей аппаратуры. От стабильности работы гетеродина зависит насколько стабильно будет работать приемник или передатчик. Конструкции с колебательным контуром подвержены воздействию внешних факторов, что нередко приводит к дрейфу частоты, а это не приемлемо. Есть и еще один недостаток – небольшой диапазон генерируемых частот. По этим причинам и не только, классические гетеродины все чаще заменяют синтезаторами частот. 

      Вот и я, увлёкшись прямым преобразованием задумался о надежном и в то же время простом синтезаторе. Самым лучшим и недорогим вариантом для меня оказалась микросхема Si5351. Тем более ее можно найти в виде готового модуля CJMCU-5351.

     На известном китайском сайте я приобрёл кое-какие детали:

  • Arduino Nano,
  •  IPS display,
  •  модуль CJMCU-5351,
  • энкодер.

     Несколько слов о деталях. Дисплей на базе контроллера ST7789 использует для обмена данными шину SPI. Лучше, конечно использовать шину I2C, так экономнее расходуются свободные пины Ардуино. Но и у дисплея с SPI шиной тоже есть плюсы: для обновления данных не нужно перезагружать все данные выведенные на экран. Изменяется только конкретная область. Модуль CJMCU-5351 поставляется в комплекте с тремя SMA коннекторами, которые, к слову я почти не использовал. Энкодер тоже в виде готового модуля для Ардуино. Так удобнее. Что касается самого проекта, я нашёл в Сети прототип и доработал его. Схема соединения модулей представлена ниже.

Схема соединения модулей


     Схема довольно простая. Работает только один генератор CLK0. Диапазон от 1 до 100 МГц. Два оставшихся генератора отключены. Настройка частоты производится энкодером. Встроенная кнопка отвечает за изменение шага перестройки: 10 Гц, 100 Гц, 1 КГц, 10 КГц, 100 КГц и 1 МГц. Кнопка "Calibration" отвечает за включение и отключение режима калибровки синтезатора. В режиме калибровки, изменение опорной частоты производится так же при помощи энкодера.  



     Как вы могли заметить, устройству требуется два напряжения питания: 3.3В и 5В. Напряжение в 3.3 В я взял прямиком с выхода 3.3V Ардуино. Мощности встроенного стабилизатора должно хватить на питание дисплея и платы генератора. Поэтому, вам потребуется только стабильное питание в 5В для Ардуино Нано.


     С дисплеем пришлось повозиться. Дисплей на базе контроллера ST7789 занял целых 4 свободных пина Ардуино. Плюс к этому пришлось добавить в проект библиотеки SPI.h и Arduino_ST7789_Fast.h, что дополнительно добавило весу проекту.

     Как я писал выше, при обновлении данных перерисовывается только специально отведенная для этих данных область экрана. Область прямоугольной формы перезаливается определенным цветом, тем самым затирая старое значение. Реализация непростая, но оно того стоит: экран не рябит и не напрягает глаза.

     Так же в схеме я не отметил установку резисторов на 100-240 Ом в соединениях между Ардуино и дисплеем. Установить их все же необходимо. Делается это чтобы согласовать логические уровни, иначе дисплей уходил в глухую оборону и ничего не показывал. Это опасно еще и тем, что может выгореть контроллер дисплея ST7789.


Готовое устройство. 


      Немного ошибся с распиновкой Ардуино,пришлось исправить желтым проводом. Вывел так же дополнительно 4 штырька для подключения чего-либо полезного и отдельно колодку от выходов генератора. Хотя, на мой взгляд лучше подключать при помощи SMA разъема и экранированого кабеля.


Основной режим работы и режим калибровки.


      Точно пока не решил что строить на этом генераторе – просто приёмник радиолюбителя или полноценный трансивер. Проект для Ардуино и некоторые библиотеки я выложу ниже одним архивом.  Если будут недостатки или улучшения – дайте знать.


      Ниже видео с результатами моих трудов.



  1. http://rfanat.ru/s25/dds_sio5351_pro-min.html - прототип синтезатора взят отсюда.
  2. Распиновка и в общем про Ардуино Нано тут.
  3. https://www.silabs.com/documents/public/data-sheets/Si5351-B.pdf - Даташит на si5351
  4. Архив с моим проектом и некоторыми библиотеками


Возможно вас заинтересует:
...

Превращение микроконтроллера в Arduino. Bootloader.

Для Arduino придумано немало модулей «на все случаи жизни». Многие из них можно использовать и без Arduino. Правда, зачастую не самые сложные. А в случае с более сложными и интересными модулями, любителям конструирования на «чистом» микроконтроллере приходится изощряться. Задачка не простая, зато решается вполне просто – нужен загрузчик Arduino. Или любой другой совместимый. Вот именно об установке загрузчика Arduino на микроконтроллеры AVR и пойдёт речь в данной статье.

Читать больше