Каталог статей
Сайт создан в системе uCoz
Приветствую Вас, Пробегающий мимо · RSS 29.03.2024, 08:08
Главная » Статьи » Разработки » Аудио

Проект электронных ударных - ezDrums
Электронные ударные ezDrums.


 

  Электронные ударные могут быть полезны всем тем кто играет, или хочет играть на ударных
дома или в другом любом месте где уровень звука производимый от полноценной акустической установки является неприемлемым. Вот поэтому я и решил поделится своей разработкой, которую недавно собрал под заказ одному начинающему ударнику :).


Немного теории:

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

  Пиковый детектор позволяет с высокой точностью оценивать максимальное (амплитудное) значение напряжения или тока. Если форма напряжения известна — меандр или синусоида, то в этом случае используют обычный вольтметр переменного тока, умножая полученный результат на постоянный коэффициент (соответственно, 2 и √2). Однако если форма напряжения сложна, например, сигнал от пьезоизлучателя в момент удара, то без пикового детектора не обойтись, так как сила удара влияет непосредственно на амплитудное значение уровня сигнала поступаемого с датчика. Простейшая схема пикового детектора:



Емкость конденсатора С выбирается такой, чтобы время заряда было значительно меньше периода наибольшей частоты входного сигнала.

  Однако для правильной работы ударной установки просто пикового детектора недостаточно, так как сигнал "одного удара" может представлять из себя последовательность импульсов, а не один импульс как в "идеале". Также длинна импульсов может изменяется в широких пределах. Для того чтобы правильно оценить количество ударов по педу, за определенное время, и распознать одиночный удар, необходим аппаратный или софтовый триггер с определенным временем восстановления, то есть в момент срабатывания триггера мы разрешаем воспроизведение соответствующего звука и запрещаем повторное воспроизведение на время восстановления триггера:


 

  Однако применяя пиковый детектор и триггер я все равно не смог получить четкого воспроизведения ударов в соответствии с ударами по педу, получалось так - если время восстановления триггера невелико, то иногда все же проскакивали ложные повторные удары, а если увеличить время восстановления, то при быстрых ритмах наоборот некоторые удары не воспроизводились. Причина такой работы в следующем, при одиночных ударах сигнал с пьезоэлемента длится достаточно долгое время под действием резонанса педа, при быстрых же ритмах мы "обрываем резонанс" последующими ударами по педу и сигнал одного удара получается коротким. Также длительность импульса варьируется, из-за "медлительности" АЦП.

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


  Красные перевернутые импульсы это сигнал после пикового детктора, а черная линия - срабатывание триггера. Как видно из графика время восстановления триггера варьируется в зависимости от длины импульса поступаещего после пикового детектора.

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


Реализация, схема, печатная плата:

  Пьезодатчики для снятия сигнала я применил серии ЗП-2, при использовании других датчиков возможно потребуется подкорректировать коэффициент усиления пикового детектора, сам пиковый детектор собран на ОУ типа LM324/LMX324/LT1014, но можно применить и другие счетверенные ОУ с возможностью однополярного питания. В качестве МК - C8051F320 производства Silabs.

Собственно схема, клик для увеличения(600кб):




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

  Печатная плата изготавливается на одно/двухстороннем текстолите. При применении двустороннего текстолита второй слой полностью оставляется и соединяется с землей устройства для минимизации паразитных наводок на схему.
Все элементы на печатной плате которые не имеют обозначений - перемычки, кроме сериальных сопротивлений номиналом 1-2кОм подключенных к порту Р0, их можно не распаивать. Размеры печатной платы - 43х63мм.






Софт
:

   Программа довольно проста в обращении и позволяет регулировать громкость и выбирать WAV файл для каждого канала.
Также в качестве дополнительных возможностей - независимое регулирование чувствительности и коэффициента сжатия громкости воспроизведения, в зависимости от силы удара. Вывод звука осуществляется средствами DirectSound.
В планах реализовать MIDI, ASIO.





Системные требования:

Windows XP*/Seven, 1.0Ghz CPU или выше, звуковая карта совместимая с DirectX.


*для Windows XP необходимо загрузить и установить .NET Framework 3.5


Сборка, настройка:

  После распайки всех элементов, проверяем правильность монтажа и отсутствие замыканий/обрывов печатных проводников, далее подключаем к ПК и проверяем наличие напряжения +3.3В на 6 выводе МК и +5В на 4 выводе обоих ОУ, также необходимо проконтролировать напряжение на выходе пиковых детекторов, оно должно быть около нуля. Если все в норме, то можно приступать к прошивке МК, прошить данный МК можно вот таким простым программатором - ссылка. После прошивки устанавливаем драйвера,
устройство должно корректно определиться ПК.
Если все в норме, запускаем программу, назначаем каждому каналу свой WAV файл и при желании переименовываем каналы как необходимо. Далее открываем настройки клацнув по кнопке Settings и устанавливаем порог для каждого канала таким образом, чтобы не было ложных срабатываний от наводок и помех. Сжатие устанавливается индивидуально в зависимости от реализации ударной установки и места размещения датчиков, у меня получилось оптимально на слух сжатие - 1.2.

 
На этом пожалуй все, если у Вас остались вопросы, то можете задать их на форуме.




Схема, печатная плата формата Proteus
Драйвера, Софт, Прошивка.




Категория: Аудио | Добавил: LeftRadio (11.08.2010) | Автор: Left Radio E
Просмотров: 3688 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]