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  мне понтравилась, поэтому планирую в ближайшем будущем сделать для него печатную плату и корпус.

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


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


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


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

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

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

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

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


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


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


  • Светодиоды со встроенным драйвером WS2812BСветодиоды со встроенным драйвером WS2812B
    Производитель http://www.world-semi.com Краткое описание продукции фирмы Каталог продукции” catcatcat_ws_19 catcatcat_ws_15 catcatcat_ws_11 catcatcat_ws_07 catcatcat_ws_03 catcatcat_ws_18 catcatcat_ws_14 catcatcat_ws_10 catcatcat_ws_06 catcatcat_ws_02 catcatcat_ws_05 catcatcat_ws_09 catcatcat_ws_13 catcatcat_ws_17 catcatcat_ws_16 catcatcat_ws_12 catcatcat_ws_08 catcatcat_ws_04 catcatcat_ws_01 This jQuery slider was …
  • Проект с использованием MCC часть 11Проект с использованием MCC часть 11
    Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость работы проекта, …
  • ESP8266 применение в проектахESP8266 применение в проектах
    ESP8266 показала себя как надежное и безотказное устройство для обмена данными с применением WIFI. Я использую ESP8266 исключительно через UART, с применением AT команд. Все требования по обмену данными, между устройствами, …
  • Самый простой диммер для светодиодного освещенияСамый простой диммер для светодиодного освещения
    Светодиоды все больше входят в нашу жизнь как источники освещения и как само собой разумеющееся, это вопрос регулировки яркости. Существует множество схемных решений, но в нашем варианте мы приведем несколько …
  • LCD драйвер – UC1601sLCD драйвер – UC1601s
    http://svetomuzyka.narod.ru/project/UC1601s.html Читайте обновление на http://catcatcat.d-lan.dp.ua/?page_id=178 В данный момент можно приобрести в ООО “Гамма” несколько типов индикаторов на драйвере UC1601s. RDX0048-GC, RDX0077-GS, RDX0154-GC и RDX0120-GC выполнены по технологии COG. Метки:UC1601s
  • PIC32MZ – прерывания (заметки)PIC32MZ – прерывания (заметки)
    Виды формирования запоминая контекста при входе в прерывания. Компилятор представляет три варианта AUTO – когда запоминания места возврата из подпрограммы возложено на программу, т.е все создается программно. Этот метод является …
  • Проект с использованием MCC часть 02Проект с использованием MCC часть 02
    Когда мы запустили конфигуратор, самое главное понять, что с этим делать и как проверить, то что мы делаем работает или нет. Для начала настроим регистры конфигурации микроконтроллера и настроем тактовый генератор. …
  • Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3
    Технология обновления следующая: Загружаем программу со страницы espressif.com. Разархивируем. Где находятся файлы, для прошивки? Заходим в каталоги Подключаем по схеме в статье WiFi ESP8266 (замыкаем BT2, перемычка). Запускаем программу, откроется два …
  • УКВ – радиоприем, часть 2УКВ – радиоприем, часть 2
    Пришло свободное время решил вторую часть проекта реализовать (правда есть мысль и третью с использование цветного OLED и функцией ch-светомузыки, но это только задумка… Для понимания функций интегрального приемника RDA5807FP читайте …
  • Просто о внешних переменныхПросто о внешних переменных
     Часто возникает задача когда необходимо предавать данные между модулями программы. Например, передать данные между файлами, или управлять работой модулей. Для этого создаем заголовочный файл и описываем наши переменные как внешние. В …



 

Tagged with →  
Share →

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

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

Translate »

Copyright © Catcatcat electronics 2013-2019. Все права защищены.
Копирование разрешается только с указанием активной ссылки на правообладателя.

e-mail: catcatcat.electronics@gmail.com