AD9833 – Programmable Waveform Generator

Views: 3091


Play Vakabular - Horus

Простой генератор звуковых частот на AD9833. Для тестирования БПФ в светомузыке мне нужен был генератор звуковых частот. Я  использовал советский Г3-112, но он себя давно изжил.  Все думал купить чёто такое и в конце концом сделал самостоятельно на AD9833. Мне понравились возможности AD9833 и я решил поделиться проектом. Он позволяет синтезировать частоты от 0,1 герца до 2,5 МГц, что для моих работ более чем достаточно.

Есть возможность выбора дискретности изменения шага частоты от 0,1 герца, до 999 герц. Также есть возможность ввода значений частоты в килогерцах, что ускоряет оперативность задания новой частоты. Регулируется уровень сигнала на выходе, а также возможность получение меандра (два вида). Все заданные параметры запоминаются в EEPROM микроконтроллера, что удобно для последующего использования, при отключении питания. Встроена подсказка, помощь в работе, на трех языках, английский, украинский, и русский.

Управление Синтезатором часты, осуществляется через энкодер, что достаточно удобно. Меню работы представляет следующие возможности:

Выбор формы выходного сигнала возможность выбрать из 4 вариантов: синусоида, треугольник, меандр и меандр с частотой деленной на 2.

Задание дискретности набора частоты. Проблема заключается в том, что предусмотрено задание, точности частоты с шагом 0,1 Гц. Но это может стать неудобным если например надо задавать, например для тестирования частоты 10-20-30… Гц, это будет неудобно при шаге в 0,1 Гц. Для этого и предназначено это меню. Выставив например шаг 10,0 Гц можно легко одним щелчком энкодера устанавливать требуемую частоту.

Для быстрой настройки частоты выше 1кГц предназначено следующее меню. Здесь набор частоты идет с дискретностью 1кГц.

Плавное задание частоты, с заданной дискретностью в следующем разделе. Результирующее значение частоты показывается вверху дисплея.

Амплитуду синусоиды и треугольного сигнала можно изменять от 0 до 100%, это приблизительно до 3 вольт. Амплитуду меандра менять нельзя, она всегда будет 100%.

Для подсказок оператору о выполнении необходимых действий служит меню помощи. Здесь можно выбрать подсказки из трех языков, Английский, Украинский, Русский, есть также возможно отключить подсказки.

Теперь перейдем к принципиальной схеме функционального генератора. Схему в формате pdf, можно скачать внизу страницы.

Собирал схем из того, что было под рукой, AD9833 -приобрел в виде модуля в интернет магазине FLATTON, рекомендую. Микроконтроллер PIC18F26K40, OLED дисплей RET012864E. Энкодер можно любой с нормальным кодирование, (если будут код Грея) то надо будут немного подправить программу. Кнопка энкодера, используется для переключения функция – параметр. Для регулировки уровня сигнала использовал MCP41010 (10 кОм). Для усиления 1:4 операционник MCP601T, у него полоса до 2,8 МГц, что вполне подойдет для диапазона звуковых частот. Сигнал синуса и треугольника формируется на выходе синтезатора с уровнем 0,6 вольта и для удобство было применен такой механизм регулировки амплитуды, цифровой потенциометр + усилитель.

Меандр берется напрямую с выхода DDC, так как его амплитуда равна напряжению питания, он в усилении не нуждается и для уменьшения искажений было принято его не пускать через усилитель. Коммутатор был выбран (потому, что был в наличии) HEF4066B.

На этом все особенности генератора и заканчиваются.

Собрал генератор на макетной плате, но работа AD9833  мне понтравилась, поэтому планирую в ближайшем будущем сделать для него печатную плату и корпус.

Прошивка для микроконтроллера можно скачать внизу страницы.


Демо видео работы генератора сигналов.


Файлы для загрузки:

Значок

AD9833 - Programmable Waveform Generator схема 368.87 KB 218 downloads

Простой генератор звуковых частот на AD9833. ...
Значок

AD9833 - Programmable Waveform Generator - прошивка 16.43 KB 187 downloads

Прошивка для проекта. ...

Дополнения!!!

Для разработчиков светомузыкальных систем добавлена функция выбора частоты по нотам:

Файлы для загрузки:

Значок

AD9833 - Programmable Waveform Generator V2.0 17.68 KB 9 downloads

Функция выбора частот по нотам! ...

Исправлены подсказки.

Значок

AD9833 - Programmable Waveform Generator V2.1 17.66 KB 61 downloads

Исправлены надписи в подсказке. ...

Исправлены некоторые графические погрешности

Значок

AD9833 – Programmable Waveform Generator V3.01 17.88 KB 839 downloads

Прошивка V3.01 - исправлены некоторые дефекты графических...

Подготовка печатной платы к изготовлению…


Это может быть интересно


  • NS108-5050-16bit от NewstarNS108-5050-16bit от Newstar
    Views: 728 Кто уже использует в своих проектах адресуемые светодиоды хорошо знакомы с такими как WS2812 и им подобные. Эти светодиоды для управления используют однопроводную шину. Из-за этого пропускная способность …
  • Мониторинг температурыМониторинг температуры
    Views: 1495 Настоящий проект создан как обучающий с применением библиотек ds18b20 и LCDHD44780 и компилятора Microchip MPLAB XC8 C Compiler V1.12. Если необходимо иметь информацию по состоянию температуры в помещении или в здании, с количеством до 6 точек (16), то …
  • CCP модуль для декодирования ИК-кодов пультов ДУCCP модуль для декодирования ИК-кодов пультов ДУ
    Views: 1171 Множество изготовителей для своих пультов дистанционного управления на ИК лучах используют принцип широтно-импульсной модуляции. В таких кодах бит единицы представляется импульсом большой длительности, а ноль импульсом короткой длительности. …
  • MPLAB® Harmony – или как это просто! Часть 1.MPLAB® Harmony – или как это просто! Часть 1.
    Views: 3937 Часть первая – Установка Гармонии. Музыкальная тема к статье, слушаем: В начале запуска нового проекта и выбора микроконтроллера стоит задача правильно его сконфигурировать, прежде чем перейти к реализации …
  • I2C MODULE – PIC18F25K42 Device ID Revision = A001I2C MODULE – PIC18F25K42 Device ID Revision = A001
    Views: 1209 I2C MODULE Обход ошибок в версии I2C MODULE – PIC18F25K42 Device ID Revision = A001 В Серии K42 применен совершенно новый модуль шины I2C, который позволяет поддерживать все …
  • REFERENCE CLOCK OUTPUT MODULEREFERENCE CLOCK OUTPUT MODULE
    Views: 617 REFERENCE CLOCK OUTPUT MODULE Модуль формирования опорного тактового сигнала Модуль опорного тактового сигнала обеспечивает возможность посылать сигнал синхронизации на тактовый опорный выходной контакт или контакты (CLKR) в зависимости от …
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0
    Views: 314 Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0   Here I want to share how I configure Altium Designer and how I use the DXPPreferences1.DXPPrf …
  • Самый простой диммер для светодиодного освещенияСамый простой диммер для светодиодного освещения
    Views: 3214 Светодиоды все больше входят в нашу жизнь как источники освещения и как само собой разумеющееся, это вопрос регулировки яркости. Существует множество схемных решений, но в нашем варианте мы …
  • Применение typedef, struct и unionПрименение typedef, struct и union
    Views: 8927 Полезные описания переменных Часто необходимо в памяти расположить последовательно разные виды данных, что бы потом можно было их использовать. Полезные ссылки Взято и переработано с сайта http://www.butovo.com/~zss/cpp/struct.htm http://cppstudio.com/post/9172/ …
  • Проект с использованием MCC часть 16Проект с использованием MCC часть 16
    Views: 1375 Продолжим изучение EUSART. На этом этапе отработает передачи данных с ПК и получения эха. Для этого в основной цикл программы добавим код if(EUSART_DataReady) // проверим флаг готовности данных …



 

Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Продолжайте читать

НазадДалее

Комментарии

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.