Меню

Ad9833 генератор сигналов arduino

Подключение AD9833 к Ардуино

Наш новый информационный обзор посвящен подключению AD9833 к Ардуино. Мы постараемся рассмотреть базовые особенности устройства, его преимущества и схему сборки. А начнем по традиции с ответа на вопрос: что за устройство мы сегодня обсуждаем.
Речь идет о DDS генераторе сигналов произвольной формы, который применяется для синтеза частоты и генерации тактовых сигналов. Он способен формировать как стабильный аналоговый синусоидальный сигнал, так и прямоугольный, а также сигнал меандру (треугольный). В приборе используется технология прямого цифрового синтеза – потому генератор имеет аббревиатуру DDS.

Об остальных технических параметрах расскажем более коротко:

  • напряжение питания: 2,3 – 5,5V;
  • мощность: 13 мВт (при 3 В);
  • разрешение: 28 бит;
  • диапазон рабочих температур: –40°C … +105°C;
  • частота выходного сигнала: до 12,5 МГц;
  • габариты: 17 х 12 х 1 мм;
  • вес: около 1 г.

На модуле имеется источник опорного тактового сигнала частотой 25 МГц и интегрирован 10-битный цифро-аналоговый преобразователь.

Распиновка выводов:

Плавно переходим к главному – пробуем осуществить подключение AD9833 к Arduino через интерфейс SPI. Для этой цели нам понадобится следующее «железо»:

  1. микроконтроллер Ардуино Uno
  2. DDS-генератор
  3. соединительные провода (перемычки)

Схема сборки выглядит вот так:

Напишем простой скетч:
В прошивке мы использовали библиотеку Wire (которая служит для управления интерфейсом). Чтобы упростить и ускорить процесс программирования, можно использовать другой софт – специализированную библиотеку AD9833-Library-Arduino. Ее необходимо скачать и инсталлировать в директорию libraries в среде Ардуино IDE (либо в самом приложении пройти по пути: Скетч > Подключить библиотеку > Добавить .ZIP). Готово!

Важно! Не забудьте, питание генератора осуществляется от внешнего источника питания (например, батареи).

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

Источник

rcl-radio.ru

Сайт для радиолюбителей

AD9833 — генератор сигналов (Arduino)

AD9833 — генератор сигналов с низким энергопотреблением. Позволяет генерировать сигналы с частотой до 12.5 МГц синусоидальной, треугольной и прямоугольной формы. Управление осуществляется с использованием трехпроводного интерфейса SPI.

Основные характеристики микросхемы:

  • Цифровое программирование частоты и фазы.
  • Потребляемая мощность 12.65 мВт при напряжении 3 В.
  • Диапазон выходных частот от 0 МГц до 12.5 МГц.
  • Разрешение 28 бит (0.1 Гц при частоте опорного сигнала 25 МГц).
  • Синусоидальные, треугольные и прямоугольные выходные колебания.
  • Напряжение питания от 2.3 В до 5.5 В.
  • Трехпроводной интерфейс SPI.
  • Расширенный температурный диапазон: от –40°C до +105°C.
  • Опция пониженного энергопотребления.

Используя платформу Arduino можно организовать управление модулем генератора на AD9833. При генерации синусоидальных и треугольных импульсов амплитуда изменяется в диапазоне 38мВ…0,65В. При генерации импульсов прямоугольной формы на выходе присутствует сигнал уровня TTL.

Управление генератором состоит из трех кнопок и энкодера, вся информация будет выводится на дисплей LCD1602 + I2C (I2C модуль на базе микросхем PCF8574 позволяют подключить символьный дисплей 1602 к плате Arduino всего по двум проводам SDA и SCL (А4 и А5), что дает возможность не использовать цифровые выходы Arduino при подключении дисплея.)

Читайте также:  Причины неисправности ремня генератора

Частота генератора устанавливается при помощи энкодера, при нажатии на кнопку энкодера происходит перебор разрядов (0.1,1,10,100,1000,10000,100000,1000000,10000000), в каждом разряде частоты можно установить значение от 0 до 9.

Первая кнопка (ON/OFF) позволяет включать и отключать режим генерации, вторая кнопка изменяет форму сигнала, третья стирает частоту которая была установлена при помощи энкодера.

При установке частоты генератор переходит в режим отключения генерации.

  • Осциллограф на Arduino (LCD TFT 2.4″) — На базе Arduino UNO или NANO можно сделать простой осциллограф с минимальными функциями. В осциллографе применен дисплей LCD TFT 2,4 (SPFD5408). Максимальная частота сигнала которую можно фиксировать осциллографом 20000 Гц. Длительной развертки осциллографа можно менять от 0,1 до 20 мс.
  • Интернет часы ESP8266 + LCD1602_I2C — Использование NTP-сервера является одним из лучших решений для получения точного времени, а использование ESP8266 Nodemcu позволит очень просто создать интернет часы. Текущее время и дата будут выводится на дисплей LCD1602 на базе контроллера HD44780 который работает совместно I2C модулем на.
  • Внешний ЦАП WM8805 + PCM1753 (Arduino) — ЦАП — цифро-аналоговый преобразователь — это устройство, которое преобразует информацию из цифрового вида в аналоговые сигналы, при этом максимально точно и без искажений. Собрать внешний ЦАП на компонентах предложных в статье не сложно, он содержит несколько недорогих компонентов и в настройке.
  • R2A15908SP — стерео аудиопроцессор (Arduino) — R2A15908SP — простой но высококачественный аудиопроцессор с микроконтроллерным управлением (I2C). Основные характеристики аудиопроцессора R2A15908SP: Регулировка громкости от -87 до 0 дБ (шаг 1 дБ) 5-и канальный коммутатор входов Режим MUTE Независимый для каждого входа.
  • Радио на TEA5767 + PT2257 (Arduino) — Используя готовый радио модуль на ИМС TEA5767 и электронный регулятор громкости на ИМС PT2257 на базе Arduino Nano можно сделать простое радио, но функционально FM-радио. Индикаторы уровня громкости и уровня сигнала, частота выбранного канала выводится на дисплей LCD1602 на базе контроллера.

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

Для отправки комментария вам необходимо авторизоваться.

Источник

Ad9833 генератор сигналов arduino

Много проще изменить направление энкодера сменой прошивки. В архиве DDS_23 обе прошивки. Есть изменения.
Раньше при выходе из меню настроек всегда выходили в режим SINE, теперь туда, где были ранее.

Добавлено after 33 minutes 56 seconds:
Пр просьбе leo476, а именно

Вложения:
DDS_4_BAT.zip [65.53 KiB]
Скачиваний: 704
DDS_23.zip [36.62 KiB]
Скачиваний: 568

Последний раз редактировалось grott Вт июн 05, 2018 10:52:00, всего редактировалось 1 раз.

Вернуться наверх

Первый раз сказал Мяу!

Карма: 2
Рейтинг сообщений: 4
Зарегистрирован: Чт дек 31, 2015 15:12:54
Сообщений: 38
Рейтинг сообщения: 0

JLCPCB, всего $2 за прототип печатной платы! Цвет — любой!

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/cwc

Читайте также:  Как проверить регулятор напряжения генератора ваз 2101
Встал на лапы

Карма: 1
Рейтинг сообщений: 79
Зарегистрирован: Пт апр 16, 2010 12:00:19
Сообщений: 121
Откуда: КМВ
Рейтинг сообщения: 0

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 13
Зарегистрирован: Пн окт 10, 2011 18:25:20
Сообщений: 31
Рейтинг сообщения: 0

Последний раз редактировалось s_erg Пн авг 27, 2018 19:13:03, всего редактировалось 1 раз.

Вебинар пройдет 16/09/2021 и будет посвящен особенностям работы высокопроизводительных микроконтроллеров из линеек STM32H7. На вебинаре разберем ключевые особенности линеек STM32H72/3 и проведем практическую работу с оценкой производительности с использованием ускорителей и кэш-буфера при чтении инструкций из внутренней и из зашифрованной внешней памяти. Для отображения результатов будет использоваться программная среда STM32CubeMonitor.

Встал на лапы

Карма: 1
Рейтинг сообщений: 79
Зарегистрирован: Пт апр 16, 2010 12:00:19
Сообщений: 121
Откуда: КМВ
Рейтинг сообщения: 0

Поправочка — мой генератор ЗАВЫШАЕТ частоту на эти 4 процента.Сути это не меняет.
Чтобы получить настоящие 1000Гц мне надо выставлять 960Гц, и так по всему диапазону надо ставить на 4% меньше.
Если ставлю ровно 1.0 кГц — на эталонном частотомере вижу 1.04 кГц.
У товарища сообщением выше всего 4 Гц разница — в 10 раз лучше моего.
Неужели, у меня настолько генератор на борту AD врет.

Добавлено after 1 hour 22 minutes 4 seconds:
Всегда так — стоит написать в форум о проблеме, как тут-же, сам, находишь причину проблемы и решение
Я про завышение частоты моей версией генератора.
Мой генератор управляется ARDUINO, дисплей другой (16х2) но суть от этого не меняется.
Так вот программу (или скейч на языке ардуин) я взял у иностранного товарисча как основу, и стал переделывать под себя.
Интерфейс у него неудобный, сохранения настроек нет. есть место для творчества.
Однако, базовая часть первоначальной инициализации и настроек AD9833 у всех должна быть одинаковая.
Вот я скопировал кусок кода, в котором идет инициализация AD на частоту 24МГц (в чужой схеме так сделано), а на моей плате стоит 25МГц генератор!
Отсюда и набегает жуткая погрешность.
Простая копипаста и банальная ошибка буквально в третьей строке кода, а месяц не мог понять что не так
Поставил AD9833 sigGen(10, 25000000);
вместо AD9833 sigGen(10, 24000000);
залил в контроллер — и все стало «по нулям» с точностью установки частоты!
Надо внимательнее перепроверять чужой код.

TE Connectivity представила обновленную линейку соединителей серии Power Versa-Lock – надежное и герметичное решение, рассчитанное на ток до 15 А, в компактном корпусе. Корпус и аксессуары соединительной системы Power Versa-Lock выполнены из материала, соответствующего стандарту UL94-V0.

Первый раз сказал Мяу!

Зарегистрирован: Ср ноя 27, 2013 20:56:03
Сообщений: 24
Откуда: Екатеринбург
Рейтинг сообщения: 0

Вложения:
DDS_5_2.rar [84.41 KiB]
Скачиваний: 650
Вернуться наверх

Открыл глаза
Читайте также:  6рк850 ремень генератора применяемость

Зарегистрирован: Пт фев 04, 2011 15:14:17
Сообщений: 58
Откуда: Украина, Львов
Рейтинг сообщения: 0

Уважаемый grott!
Мне очень понравился Ваш проект!
Я буду повторять Ваш проэкт, как только прийдет плата от наших «китайских товарищей».
У меня к Вам большая просьба: скорректируйте,пожалуйста, прошивку, чтобы можно было использовать стандартную ProMini(кварц 16 МГц) и готовую плату генератора.

Опытный кот

Карма: 28
Рейтинг сообщений: 145
Зарегистрирован: Пн ноя 02, 2009 18:00:05
Сообщений: 789
Откуда: Украина Николаев
Рейтинг сообщения: 1

Открыл глаза

Зарегистрирован: Пт фев 04, 2011 15:14:17
Сообщений: 58
Откуда: Украина, Львов
Рейтинг сообщения: 0

Спасибо за оперативный ответ!
У меня про-мини с маленькими(смд) кварцами, а таких на 25 у меня, к сожалению нет. Но зато есть готовые платы-заготовки заводского производства(заказывал у китайцев), где разведены выходы под дисплей 5110 (D0. D4 — RST;CE;DC;Din;CLK). Есть ли возможность переназначить выводы микроконтроллера? Буду Вам очень признателен. Это очень бы мне помогло.

Опытный кот

Карма: 28
Рейтинг сообщений: 145
Зарегистрирован: Пн ноя 02, 2009 18:00:05
Сообщений: 789
Откуда: Украина Николаев
Рейтинг сообщения: 0

Первый раз сказал Мяу!

Карма: 2
Рейтинг сообщений: 3
Зарегистрирован: Пт мар 20, 2015 18:58:08
Сообщений: 21
Рейтинг сообщения: 0

Уважаемий grott а мочему би не добавить компаратор на аналоговий виход тогда с помощью регулирования усиления амплитуди треугольника можно получать на виходе регулируемий ШИМ в большом диапазоне частот.

Добавлено after 1 hour 12 minutes 53 seconds:
У вас в описании стоит AD8052а на схеме AD8092, с AD8092 есть какое то улучшение? Просто в Украине AD8052 дороже чем AD8092 а в китае наоборот!
Почему используете 2 канала усиления AD8092 одного разве не достаточно?
Из вашей статьи прочел:
«Чтобы минимизировать шумы, фильтр Баттерворта сделан пасивным» — а какие там могут бить шуми?
Там же вроде кроме кварца на частотах више 5МГц нечему шуметь а фильтр ниже 5МГц все равно пропустит.
У вас есть осцилограмми сигнала с фильтром и без него чтоб можно било увидеть разницу?
Прибор я еще не делал потому и задаю такие вопроси.

Ви не подумайте что я к вам придираюсь, я просто минималист — не вижу смисла да и не люблю использовать запчастей больше чем нужно!
Не вижу смисла делать усилитель на пяти каскадах усиления если при том же качестве можно сделать на двух, ви меня понимаете?
Ви разрабативали схему и совершенствовали ее, и в процессе етого вишел окончательний вариант такой как ми его наблюдаем но хочется же знать почему ви поставили фильтр (какой сигнал бил без него и как улучшился с ним), для чего 2 каскада усилителя (что вас не устраивало с одним каскадом), почему не поставили компаратор на виходе и не сделали ШИМ (может там есть какие то искажения какие трудно усунуть)?
Раскажите пожалуйста думаю другим тоже будет интересно и полезно узнать!

Источник

Adblock
detector