Синтезатор частоты на arduino

Синтезатор частоты на arduino

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. Не буду томить — смотрите ссылочку.

Удачи и творческих успехов.
73!

Зайдя в очередной раз на сайт местного радиомагазина, обнаружил в продаже интересный девайс. Модуль DDS (direct digital synthesis) — синтезатор частоты на микросхеме AD9850. Такой:

Заявленные характеристики:

  • частота генерации от 0,029 Гц до 62,5 МГц;
  • количество разрядов ЦАП – 10;
  • выходной ток ЦАП – до 10,24 мА при напряжении ограничения 1,5 В;
  • встроенный компаратор для получения двух оппозитных ТТЛ выходов;
  • возможность цифрового управления частотой как по параллельному, так и по последовательному интерфейсу;
  • напряжение питания – 5 В;
  • потребляемый ток до 96 мА.

И вот, приобретя данный девайс, я решил тряхнуть стариной и исключительно для удовольствия и из любви к искусству изготовить блок управления любительским КВ приемником прямого преобразования на диапазоны 40 и 80 метров.

Читайте также:  Крысоловка своими руками из пластиковых бутылок схема

Для управления модулем синтезатора будем использовать ARDUINO UNO R3 (в моем случае – китайский совместимый клон). Информацию о частоте и других параметрах будем отображать на алфавитно-цифровом ЖК дисплее 16*2, регулировать частоту будем энкодером, переключение диапазонов – логический уровень «0» или «1» на одном из входов ARDUINO.

Выходной синусоидальный сигнал снимается с выхода OUT2 платы синтезатора. Амплитуда 0,5 В, постоянная составляющая – 0,512 В, выходное сопротивление – 100 Ом.

Выдаваемые частоты по диапазонам:

  • 80 м – 1745,00 – 1900,00 кГц (принимаемый диапазон 3490 – 3800 кГц);
  • 40 м. – 3500,00 – 3610,00 кГц (принимаемый диапазон 7000 – 7220 кГц).

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

Для регулирования частоты используется энкодер BR1 на 24 положения, 5 выводной, с кнопкой. Кнопка энкодера управляет режимом «Грубо/Точно». После включения устройства по умолчанию включен режим «Грубо». При этом шаг изменения частоты принимаемого сигнала – 1 кГц. При однократном нажатии на кнопку (вал) энкодера режим переключается в «Точно». Шаг изменения частоты принимаемого сигнала при этом уменьшается до 10 Гц. При этом на ЖК дисплее справа от значения частоты отображается буква «Т». Повторное нажатие кнопки энкодера возвращает режим «Грубо».

На нижнюю строку ЖК индикатора выводится полоса прогресса, отображающая текущую частоту относительно полного диапазона.

Переключение диапазонов осуществляется подачей логического «0» (диапазон 80 м) или «1» (диапазон 40 м) на вход «BAND». Вход активный, т.е. при обрыве линии, на нем присутствует логическая единица, благодаря подключенному внутреннему подтягивающему резистору контролера ARDUINO. Таким образом, для переключения диапазонов достаточно механической коммутации данного входа на массу.

На вход ААС подается напряжение АРУ приемника для вывода на дисплей показаний S-метра. В моем случае напряжение АРУ 6-10 В соответствует величине принимаемого сигнала S9- S1 соответственно. Значение S выводится на ЖК дисплей.

Кроссовая плата устройства односторонняя, разведена в программе SprintLayout, изготовлена методом ЛУТ. Вид со стороны элементов:

Поработав паяльником, получили набор:

При разработке использовались материалы статьи: http://nr8o.dhlpilotcentral.com/?p=83

Схема простенького приемника для применения с данным синтезатором мной уже разработана, промоделирована. На времени сборка и наладка. Это будет следующая статья.

Дело было вечером делать было нечего)
Итак, встречайте — генератор с частотомером на борту.

После успешного проекта по сборке пультоскопа решил собрать генератор и частотомер. Вот что из этого вышло:
Формы сигнала: синус DDS, треугольник DDS, прямоугольник DDS, правая пила DDS, левая пила DDS.
Характеристики взял с страницы автора
"генерации таймером:
Генерация прямоугольного сигнала 0.4 Мгц,
минимальный шаг регулировки частоты в диапазоне 0…2,8кГц — 1Гц
свыше 2,8кГц минимальный шаг постепенно возрастает.
Регулировка коэффициента заполнения (скважности) 1.100%
в диапазоне 1Гц.80кГц регулировка производится с разрешением 1%
Свыше 80кГц разрешение (шаг) регулировки скважности увеличивается.
При изменении рабочей частоты в диапазоне 1Гц-80кГц выбранная скважность сохраняется,
а при изменении частоты свыше 80кГц сбрасывается на 50 %,
но в режиме регулировки скважности её можно снова изменять.

Читайте также:  Как поставить запятую наверху на клавиатуре

Тех. Характеристики генерации сигнала через DDS:
Почему-то в оригинальной статье автора алгоритма DDS о характеристиках нет ни слова.
Указана только максимальная частота -65кГц. Откуда её взял автор непонятно, я поставил ограничение на 100кГц C увеличением частоты сильно падает разрешение получаемого сигнала на высоких частотах. А конкретно, в диапазонах:
0…6,25 кГц — разрядность от 256 до 128 градаций
6,25…12,5 кГц — разрядность от 128 до 64 градаций
12,5…25кГц -разрядность от 64 до 32 градаций
25кГц…50кГц -разрядность от 32 до 16 градаций
50кГц…100кГц -разрядность от 16 до 8 градаций
Помимо этого с увеличением частоты вырастает джиттер,
особенно заметно на сигналах с резкими фронтами (прямоугольник, пила).
Но на точно установленных частотах 6,25кГц ; 12,5кГц ; 25кГц; 50кГц; 100 кГц джиттера нет, их можно использовать для точных измерений. Остальные частоты для большинства применений тоже подойдут.
Но если нужен идеальный сигнал -то только генерация таймером."
Во всех диапазонах DDS минимальный шаг регулировки частоты — 1Гц.
Характеристики частотомера, измеряемая частота 1Гц … 7,999 МГц, при превышении частоты начинает привирать.
Есть еще входы на вольтметр, он встроен в меню, но я его не использовал.

За основу взял проект с сайта Ардуино.ру. Проект повторен и проверен несколькими комрадами. Я перевел меню на Русский язык, развел печатную плату и спаял)
В проекте используется Arduino Nano, LCD Nokia 5110 и энкондер "одношаговый".
Управление: кнопка переключения режимов переключает последовательно
синус DDS, треугольник DDS, прямоугольник DDS, правая пила DDS,
левая пила DDS. частота генерации таймером, скважность генерации таймером

Кнопка на энкодере переключает шаг изменения частоты 1000-1-10-100
в режиме регулировки скважности(6) нажатие на кнопку переключает энкодер в режим (5).
При старте есть возможность выбора режима, генератор-вольтметр. После обратного отсчета автоматом включается генератор.
Подсветка включается комбинацией — удерживая кнопку энкондера нажать кнопку режима послеотпустить кнопку энкондера.
Файлы проекта будут доступны по ссылке

UPD //Проект запускается без танцев с бубнами, с первого раза.

Ссылка на основную публикацию
Серо зеленый цвет машины фото
В каталоге приведены автомобильные цвета российских и иностранных автопроизводителей. В основном, данные цвета относятся к краскам Mobihel и Duxone, автоэмали...
Сейсмопояс что это такое
Любой дом без исключения, построенный из блочных материалов, постоянно подвергается воздействиям всевозможных природных сил – его осадка, вспучивание почвы и...
Сейфовый замок на дверь
Сейфовые замки, применяемые в качестве запирающих устройств для входных металлических дверей, представляют собой сувальдные механизмы, которые при воздействии ключа выдвигают...
Сертификат бс 2 года м видео
Многие из нас слышали, что при покупке какого-либо товара можно воспользоваться программой дополнительного сервисного обслуживания. Программы, предоставляющие расширенную программу гарантийного...
Adblock detector