Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Устройства на микроконтроллерах

Выбранная схема!!!


3237
Электронные ударные ezDrums.

Автор - Влад Каменев
Опубликовано 13.08.2010.
Участник Конкурса "Поздравь Кота по-человечески 2010"

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

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

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

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

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

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

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

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

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

Системные требования:
Windows XP*/Seven х86/64, 1.0Ghz CPU или выше, звуковая карта совместимая с DirectX.
*для Windows XP необходимо загрузить и установить .NET Framework 3.5 

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

На этом, пожалуй, и все. К сожалению, я не могу привести фотографий, так как девайс уже отдан.

Файлы:
Печатная плата в формате Proteus.
Прошивка МК.
Софт и дрова для ПК.

Вопросы, как обычно, складываем тут.





Источник: http://radiokot.ru/circuit/digital/game/12/
Категория: Устройства на микроконтроллерах | Добавил: brys99 (18.11.2011)
Просмотров: 6655 | Теги: Электронные ударные ezDrums. | Рейтинг: 0.0/0


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2024