Views: 3084
Простой генератор звуковых частот на 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 838 downloads
Прошивка V3.01 - исправлены некоторые дефекты графических...Подготовка печатной платы к изготовлению…
Это может быть интересно
Простой цифровой регулятор мощностиViews: 7835 Простой регулятор мощности с цифровой индикацией. Этот проект создан как обучающий, для ознакомления с основами построения сетевых регуляторов мощности. Устройства подобного типа можно использовать для управления освещением, скоростью …
Просто о внешних переменныхViews: 950 Часто возникает задача когда необходимо предавать данные между модулями программы. Например, передать данные между файлами, или управлять работой модулей. Для этого создаем заголовочный файл и описываем наши переменные как …
ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302Views: 2530 На плате ch-4000 очень легко собрать устройство регулятора температуры и влажности. Датчик DHT11 самый недорогой вариант для создания такого устройства, правда точность его не велика, но для бытовых устройств …
Дифференциальный терморегуляторViews: 4161 Дифференциальный терморегулятор ch-3020 Назначение. Ch-c3020 представляет собой дифференциальный терморегулятор. Основное назначение солнечные системы горячего водоснабжения, а также вентиляционные системы управление притоком свежего воздуха. Контроллер позволяет работать пяти режимах. …
CLUBBEST-50-LightViews: 473 CLUBBEST-50-LIGHT Зміст Короткий опис проекту. 1 Опис схемотехніки візуалізатора музики. 2 Аудіо вхід. 3 MCU. 4 Цифровий вихід. 5 Схема живлення MCU. 6 Складання пристрою. 7 Список …
Индикатор температурыViews: 2851 Проект для начинающих, на демо плате BB-2T3D-01. Простой индикатор температуры. Проект никак не задумывался, просто на витрину магазин Ворон нужна была демонстрационная модель на макетной плате, чего нибудь работающего. Остановились на индикаторе …
Часы-кухонный таймерViews: 2917 Каждая кухня должна иметь кухонный таймер, который позволяет напоминать хозяйке когда проходить определенный промежуток времени. Например, печем пирог, варим яйца… , чтобы не смотреть постоянно на часы, установим таймер и …
Проект с использованием MCC часть 12-2Views: 1224 Настало время для изучения шины I2C. Изучать будем на примере работы с индикатором RET012864E. Что изменили со старой схемы: В прошлой теме я затупил и не добавил подтягивающие резисторы …
MPLAB® Harmony – или как это просто! Часть 3.Views: 2284 Часть третья – копнём немного глубже. Вы наверное заметили, что во второй главе, вроде сначала все шло как по маслу, а потом, что бы заморгали светики, я вставил …
Самый простой индикатор уровня звукового сигналаViews: 6721 Демонстрационный проект создания индикаторов уровня с использованием WS2812B. Изучив этот проект вы сможете самостоятельно изготавливать и конструировать свои индикаторы уровня звукового сигнала. Дополнительно читайте статью Бегущие огни на …









Комментарии