Проект "ТРЫНДЕЛКА"

MIDI-гитара своими руками

Главная
Протокол MIDI
Принцип действия
Звукосниматель
Лады и струны
Питание
Аналоговая часть
Контроллер PIC16x74
COM-порт
MIDI-порт
Управление и индикация
Алгоритм детектирования нот

Фотоальбом
MIDI-файлы

Об авторе

Аналоговая часть

Аналоговая часть схемы имеет 6 каналов, каждый из которых занимается детектированием амплитуды колебаний соответствующей струны. В качестве усилителя используется операционник К1401УД2А (4 канала в одном корпусе), включенный как обычный усилитель (по паспорту усиление порядка 50 000 раз). Двухполупериодный выпрямитель построен на базе К140ДА1 (2 канала в одном корпусе). Сигнал с выхода схемы подается на вход встроенного АЦП микроконтроллера.

analog.gif (8355 bytes)

а) Однополярное питание

analog2.gif (3672 bytes)

б) Биполярное питание

analog3.gif (6358 bytes)

в) Усоувершенствованная схема детектирования сигнала

Изначально схема была с однополярным питанием (а), при этом зря пропадали два канала операционника. После перехода к биполярному питанию, организованному с помощью одного из свободных каналов, схема упростилась (б).

Использованная схема сглаживания выходного сигнала  выпрямителя (а, б) обладала существенным недостатком, затрудняющим декодирование нот: конденсатор медленно разряжался. В результате при "запуске" струны на АЦП (период оцифровки около 8 мс) приходил довольно четкий фронт, а при ее заглушении - медленный спад с крутизной 1-2 единицы точности преобразования на период. Учитывая, что подобные колебания на входе АЦП (несколько делений на период) возникают и в процессе нормального звучания струны, для детектирования конца ноты приходилось анализировать достаточно длинный кусок осциллограммы (5-7 отсчетов) на предмет монотонного спада. Ввиду того, что исполнитель при всем при этом может еще и манипульровать с порожками (играть одной левой рукой), алгоритм анализа сильно усложнялся. Взять резисторы в цепи разряда сильно меньшего номинала нельзя, так как это приведет к росту потребления в совокупной нагрузке выпрямителя, а питание схемы - аккумуляторное.

В результате долгих раздумий мне пришла идея - постоянную цепь разряда ликвидировать и управлять емкостью на выходе выпрямителя (она становится уже не сглаживающей, а накопительной) по принципу "налил-вылил", как японская садовая игрушка-фонтанчик. Схема показана на рисунке (в). При накоплении выпрямленного значения емкость не имеет цепи разряда и фактически заряжается до максимума выпрямленного сигнала за период сканирования. Перед выполнением АЦ-преобразования накопленный заряд сливается на внутренний конденсатор-защелку АЦП, номинал которой в 100 раз меньше номинала накопительного конденсатора. После преобразования вывод микроконтроллера, используемый как вход АЦП, перекоммутируется и становится цифровым выходом, на который выдается нулевое напряжение. Это приводит к разряду накопительной емкости. Через какое-то время вывод микросхемы снова переводится в третье состояние и в следующем цикле опроса звукоснимателей используется как вход АЦП данного канала.

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

<<< Назад   |   Вперед >>>