О чем идёт речь?
В моей последней статье «полу-терменвокс, полу пианино, 100% игрушка», я уже быстро описал контекст музыкального инструмента «терменвокс», и заметил, насколько нужно быть талантливым, чтобы играть настоящую музыку с оригинальным терменвоксом. Производители терменвоксов, как например Moog, предлагают современные цифровые варианты, которые помогают исполнителям по следующим функциям: компенсация нелинейности управления частоты (тона) при движении; возможность использовать автоподстройку / уточнение нот («автотюн») и добавить приятные эффекты модуляции без дрожания рук. Я решил собрать экспериментальную самоделку с такими функциями.
Я выбрал эту главную архитектуру электроники:
Принцип обнаружения движения для управления тона также эксплуатирует классическую цепь на основе двух генераторов колебания и микшера. Но НЧ сигнал от микшера не использован как звуковой сигнал. Его частота измеряемая микроконтроллером, который создаёт конечный звуковой сигнал. Таким образом возможно:
- Создать компенсацию нелинейности управления тона, чтобы упростить использование
- Генерировать легкую модуляцию тона которую можно настроить по глубине
- Выполнить «автотюн»: тон ещё плавно варьирует, но подстраивается на точной ноте, когда рука останавливается.
Я долго сомневался как сделать управление громкостью. Приближение к этой второй антенне вообще не должно влиять на тон, и одновременно значительно действовать на громкость. Такой результат сложно получить. Я думаю, что в этом заключается самая большая сложность в разработке терменвокса. (99% самоделок, которые я видел по интернету, не позволяют управлять громкостью). В конце концов, я решил использовать оптическую систему: светодиод излучает световые импульсы, и фоторезистор обнаруживает эти импульсы, когда рука отражает свет. Такая система тоже может действовать плавно, но расстояние действие для управления конечно небольшое.
Электроника была реализована таким способом:
Метки «ARD x» значат, что линии подключены на плату Arduino, где указано «pin x».
В левом верхнем углу расположены оба генератора колебания (осцилляторы). Справа: микшер и фильтр/усилитель НЧ. Сигнал от фильтра НЧ преобразуется в прямоугольную форму (2N2222, сигнал «ARD5»), чтобы МК (Arduino) смог его эксплуатировать для измерения частоты.
МК генерирует другой прямоугольный сигнал для тона, который нужно преобразовать в синус. (Я не хотел, чтобы мой терменвокс звучал как скрипучая дверь или газонокосилка). Невозможно было использовать простой фильтр потому, что диапазон тонов должен составить минимум две октавы. Поэтому, слева находятся три выхода МК ARD8,9,10, из которых каждый отдельно подает сигнал в зависимости от текущего под-диапазона частоты. (Выходы, которые не подают сигнал, остаются на высоким импедансе). Таком способом, получается более менее треугольный сигнал, от которого изменения амплитуды достаточно ограничены, когда частота меняется. Следующая цепь на основе 2N7000 — простой АРУ, который совершает стабилизацию амплитуды. Последний этап: нелинейный усилитель, на основе ua741, преобразует треугольный сигнал в синусоидальный (или почти синусоидальный. У сигналов низких частот более менее «мягкая» трапецеидальная форма).
Внизу находится усилитель импульсов для управления громкостью. Этот усилитель позволяет обнаружить только отраженный импульсный свет (примерно 12 Гц) от светодиода, а не внешние источники света. После усилителя, детектор подаёт более менее напряжение смещения на затворе 2N7000, чтобы глушить звуковой сигнал. Светодиод напитанный коллектором с наметкой «AA BUFF». МК уже доступен, поэтому самый простой способ генерировать импульсы использовать его для этого.
Программа Arduino доступна там: https://disk.yandex.ru/d/kaLJBs6EQ_TGcQ
Реализация
Пустые бобины припоя были полезны, чтобы создать катушки, с параметрами как показано в схеме (внутренний диаметр = 35мм). Видны: общая плата (которая соответствует с схемы) и плата Arduino Uno. Я также добавил аудио-усилитель с краю справа , чтобы стало возможно прямо подключить динамик. Тем не менее, уровень сигнала на выходе общей платы («Audio Out» на схеме) уже позволяет подключение к любому стандартному усилителю. Я создал внутренний усилитель на основе TDA1020, просто потому, что она у меня уже была. Схема прямо из даташита и я думаю, что у вас миллион возможностей, чтобы создать (или купить за 250 рублей) любой маленький монофонический усилитель.
Один потенциометр (примерно 10К) подаёт напряжение 0 до 3в3 на входе АЦП Arduino «AN0», чтобы настроить глубину модуляции. Другой потенциометр (470 Ом + дополнительное сопротивление 220 Ом) подключен последовательно со светодиодом (пока анод светодиод подключен на +12в). Таким способом, возможно уменьшить интенсивность освещения, если устройство находится очень близко от блестящего объекта или блестящей стены. В конце концов, третий потенциометр настраивает громкость дополнительного аудио-усилителя. (Значение сопротивления зависит от вашего усилителя, если он есть).
Резонансные контуры работают на примерно 1,2МГц. Нужно точно настроить один из них, чтобы получить НЧ = 2КГц когда ничего не приближается к антенне. Так программа МК будет работать оптимально.
Наверно у вас возникают вопросы
- Какой светодиод?
- Какой фоторезистор?
Честно говоря, я их нашёл в моих ящиках, и я совсем не знаю их обозначение. Светодиод белый и сверхъяркий, и помню, что выдерживает до 1 Вт. (Но 0,2Вт уже достаточно). Фоторезистор может быть любой. Наверно нужно будет оптимизировать сопротивление резистора смещения (3К3 в схеме), если ваш фоторезистор сильно отличается от моего. Но если вы намерены собрать такой узел, эта простая проблема фоторезистора не должна стать препятствием. (Метод сборки ВЧ цепей и их настроек требуют гораздо больше навыков).
Результат
Пора слушать результат моего вдохновения… )