Синтезатор частоты на AD9850
Николай Большаков, RA3TOX
Arduino - удобная платформа быстрой разработки электронных устройств для новичков и профессионалов. Её применение дает широкие возможности радиолюбителям для реализации своих задумок. Несколько лет назад, создав несколько конструкций, я фактически "заболел" этим девайсом и воплотил несколько своих давних задумок в жизнь. Огромное количество разнообразных модулей и готовых программных библиотек открывает огромные перспективы именно для радиолюбителей. В Интернете много рассуждений о том, как применить Arduino. У многих хватает фантазии только на то, чтобы поморгать светодиодами и, в лучшем случае, собрать термометр или часы. Я тоже прошел через это и со временем поделюсь своими разработками.
Но сечас речь пойдет о синтезаторе частоты. Уверен, что вопрос о его применении перед радиолюбителем не стоит. Много лет назад я затратил огромное количество дискретных элементом и ещё больше нервов, чтобы создать "монстра", работающего в небольшом диапазоне частот. Сейчас для этого понадобилось всего несколько модулей, небольшие познания в программировании и пару часов работы.
За основу был взят DDS модуль компании Analog Devices - AD9850. За 10 долларов его без проблем можно приобрести на Aliexpress. Это самый дорогой компонент в конструкции. Кроме этого нам необходим сам Arduino, буквенно-цифровой индикатор и валкодер.
Я не стал изобретать велосипед и, поискав в Интернете, взял за основу отлаженную схему от AD7C (Rich Visokey). Оригинал его статьи можно посмотреть здесь: www.ad7c.com.
После пары часов работ с паяльником получилось вот такое компактное устройство.
Устройство собрано в виде "сэндвича". Конструкция получается компактная и технологичная.
На макетной плате размером 50х70 мм распаяны разъемы для установки модулей. На этой кросс-плате устанавливаются LCD-дисплей, модуль Arduino Pro Mini и модуль синтезатора. Также там установлены валкодер, кнопка расстройки частоты и USB разъем для подключения питания. Такая конструкция позволяет легко менять модули и использовать их, при необходимости, в других конструкциях.
Вид с обратной сторны конструкции с установленными на плате модулями синтезатора и Ардуинкой.
В ваианте, который приводит автор (Rich Visokey - AD7C) частота генератора изменяется от 1 до 30 МГц. В программе можно выставить другой диапазон. Я выставил диапазон от 100 КГц до 40 МГц. (смотрите ниже).
Привожу разводку кросс-платы, если кому интересно. Монтаж выполнен проводом с фторопластовой изоляцией (МГТФ).
Программа для Ардуино, схемы и библиотеки доступны для скачивания здесь: here.
В архиве имеются две версия программы.
AD9850_LCD_ROTARY_WMENUS.ino - это основной вариант. Он используется для генрации выходного сигнала от 1 МГц до 30 МГц. Вы можете установить начальную частоту при включении прибора, изменяя эту строку: int_fast32_t гх = 7150000. На экране отбражается выходная частота.
Если у вас есть эталонный частотомер можно подкорретировать точно значение задающего генератора в строке "int32_t freq = frequency * 4294967295/125000000;".У вас будет очень точная настройка. При использовании этого варианта вам не нужны переключатель и резистор, подключеннные к PIN-A5 на Arduino.
Версия программы - AD9850_LCD_ROTARY_WMENUS_IF.ino - это вариант с вычетом промежуточной частотой. Он может быть использован для создания выходного сигнала от 1 МГц до 30 МГц, а также вычитает промежуточную частоту (ПЧ) из сигнала. Вы выставляете начальную частоту так же, как описано выше. При использовании этого варианта вам необходим переключатель и резистор на землю от PIN-A5 на Arduino. Промежуточная частота задается этой строкой программы: int_fast32_t iffreq = 4192000;.
Когда на PIN-A5 низкий уровень(земля) выходной сигнал и показания на дисплее равны. Когда на A5 уровень высокий надо учитывать, что показания на дисплее не совпадают с выходным сигналом (минус частота ПЧ).
Скетчи содержат подробные комментарии, поэтому в программу можно вносить необходимые Вам корректировки.
Версия программы Rev 2.0 (от 6 ноября 2013г.) умеет храненить в памяти (EEPROM) последнюю заданную частоту. Частота должна быть зафиксирована в течении 3-х секунд (настраивается в коде), прежде чем она запишется в память, чтобы не перегрузить EEPROM.
Послесловие.
В дальнейшем я расскажу об использовании более дешевой микросхемы DDS - Si5351. Кроме этого планирую поделиться опытом применения другого синтезатора компании Analog Devices - AD9851. В свое время, мне совершенно бесплатно прислали две микросхемы (AD9850 и AD9851) из компании Analog Devices. Есть у них такой приятный сервис для предоставления "пробничков", что собственно и сработало. Такое практикуют некоторые компании, просто надо поискать эту услугу на их сайтах. Ключево слово здесь - sample. Не буду томить - смотрите ссылочку.
Январь 2017 г.
Удачи и творческих успехов.
73!
Публикация в других источниках разрешена со ссылкой на автора и сайт "Радиофанат" - http://rfanat.ru