«Paradox MX» – терменвокс со встроенным индикатором высоты тона

(исходный вариант статьи «Радио», 2020, №№ 01, 02, с.30. Обратите внимание на другие позиционные обозначения элементов!
Печатная плата приведена в исходном варианте, с «лишними» контактными площадками и проводниками.
Редакция журнала также «домыслила» некоторые вещи, которых я не говорил,
поэтому делаю соответствующие примечания.
)

И.Мамонтов

В данной конструкции повторены принципы, заложенные в терменвокс «Paradox» (см. «Радио» №№ 6 и 7 за 2018 год). Использование микроконтроллера с аналоговыми функциями позволило не только снабдить инструмент светодиодным индикатором высоты тона, но и упростить звукоформирующую часть. Индикация введена и в канал громкости, что дополнительно облегчает настройку. Питание инструмента осуществляется от однополярного источника с напряжением +5В.


Основным мотивом, побудившим создать эту конструкцию, было недоумение, вызванное знакомством с устройством терменвокса «Skywave H1» [1], созданного английским инженером Фрэдом Манделлем (Fred Mundell) и демонстрировавшегося в Royal Festival Hall в 2010 г. В составе инструмента использовалась микросхема CY8C27143 – «программируемая система на кристалле» (или коротко «PSoC» [2]), основное назначение которой заключалось в выработке команды выключения звука при переходе руки в область отрицательных биений. Зная о широких возможностях этой микросхемы (содержащей помимо процессорного ядра матрицу цифровых и аналоговых блоков), было странным видеть, что ее аналоговая часть не использована совсем, а такие простые функции, как стробирование логического сигнала и деление его частоты на два, реализованы не средствами цифровых блоков, а с помощью дополнительной микросхемы мелкой логики (сдвоенного D-триггера). Тайну этого технического решения Фрэд так и унес с собой, хотя с непригодностью аналоговых блоков для создания высококачественного аудио я был с ним полностью согласен. В описываемой конструкции на микросхему PSoC, помимо обнаружения отрицательных биений, возложены звукоформирующие функции, а для повышения качества сигнала приняты специальные меры. Возможно, к этому пришел бы и сам Фрэд, всегда наполненный новыми идеями, памяти которого и посвящается данная статья.

Индекс «MX» в названии «Paradox» означает термин «MiXed signal array», что подчеркивает наличие специфической микросхемы со смешанной (аналоговой и цифровой) обработкой сигналов. Общая концепция инструмента повторяет идеи, заложенные в «Paradox» [3] – использование повышенных рабочих частот и делителей, кратность частот каналов высоты тона и громкости, манипуляция громкостью с помощью телевизионной микросхемы усилителя мощности. При «смешанной обработке» цифровые блоки микросхемы используются в качестве источников тактовых частот, аналоговые – для построения смесителя и формантных фильтров. Процессорное ядро и часть цифровых блоков занимаются вспомогательными функциями – измерением частоты, индикацией и управлением. Таким образом, весь звуковой тракт является аналоговым и реализует классический принцип гетеродинирования.

Основная проблема, с которой может столкнуться разработчик устройств на базе PSoC – большая шумность аналоговой части. Этому способствуют наличие не только процессорного ядра, но и многочисленные связи между блоками, создающие перекрестные наводки. Самый большой источник наводок – блоки с переключаемыми конденсаторами «SCB» («Switched Capacitor Block» по терминологии Cypress Semiconductor Corporation). Они работают на высокой тактовой частоте и имеют на выходе пульсирующий сигнал [4]. Тактирование подразумевает дискретизацию сигнала во времени, что приводит к интерференции полезного сигнала с тактовым и появлению неблагозвучных спектральных компонент. Ниже перечислены меры, которые были приняты против этого.

1. Интерференция как полезное свойство. Как говорил персонаж одного известного фильма – «кто нам мешает, тот нам поможет». В терменвоксе при гетеродинировании изначально происходит взаимодействие двух сигналов – от опорного и перестраиваемого генераторов. Если на тактовый вход блока с переключаемыми конденсаторами подать сигнал от одного, а на сигнальный – от другого, то получим биения, т.е. сигнал разностной частоты (работает принцип стробоскопического сэмплирования). И если последующую обработку (например – формантную фильтрацию), осуществлять блоками SCB на такой же тактовой частоте, то это будет происходить совершенно прозрачно – новым интерференционным частотам будет взяться просто неоткуда.

2. Уменьшение шума «аналоговой земли». Это внутренняя шина микросхемы, которую обычно конфигурируют на напряжение, равное половине напряжения питания, и которое является опорным для всей аналоговой части. Для ответственных случаев Cypress рекомендует включать режим «AGND bypass mode», связывающий шину с линией P2.4, и подключать к ней конденсатор большой емкости [5]. Как оказалось на практике, этот метод не дает столь ощутимый эффект.

3. Недопущение слабых сигналов. В терменвоксе слабый сигнал должен получаться при приближении руки к антенне громкости, вплоть до его полного пропадания. На раннем этапе проектирования манипуляцию громкостью планировалось осуществлять также с помощью микросхемы PSoC – чтобы обойтись в конструкции только одной микросхемой (мощностные характеристики ее аналоговых выходов позволяют не ставить отдельный усилитель для головных телефонов). Но этот вариант давал ощутимый шум в паузе. Поэтому решено было использовать уже опробованный способ управления громкостью на основе специализированной микросхемы (как это сделано в «Paradox» при помощи телевизионного управляемого усилителя, получив при этом бонус в виде повышенной выходной мощности), а всю обработку внутри PSoC вести при максимально возможной амплитуде.

4. Отказ от внутреннего тактового генератора и переход на внешнее тактирование. Дело в том, что у микросхем PSoC (как и у многих других), для получения высокой внутренней тактовой частоты используется относительно низкочастотный генератор, стабилизированный кварцем, и система умножения на базе высокочастотного генератора с петлей ФАПЧ (фазовой автоподстройки частоты, или «PLL» в английской терминологии). Из желания снизить энергопотребление (а может, по каким другим причинам) инженеры Cypress сделали низкочастотный генератор имеющим малый размах выходного напряжения, в результате чего он получился чувствительным к различного рода наводкам. Это приводит к флюктуациям в работе системы ФАПЧ и низкому качеству тактирования (последовательность тактовых импульсов получается неоднородной). Фирма даже выпустила специальный документ [6], раскрывающий все особенности конфигурирования этих узлов и специальные меры по улучшению их работы. Но выполнение всех требований не дало желаемого результата – разностный (звуковой) сигнал получался «шершавым», особенно при приближении его частоты к области нулевых биений. К счастью, в микросхеме предусмотрен режим прямого тактирования от внешнего генератора 24 МГц.

Внутренняя конфигурация микросхемы, ответственная за звукоформирование, показана на Рис.1. Сигнал, который обычно называется «сигналом опорного генератора» (или «генератора фиксированной частоты») получается из тактовой частоты 24 МГц ее делением на 8, 16, 32 или 64. В блоках SCB, из которых построены смеситель и формантные фильтры, происходит дополнительное деление на 4 (особенность работы их тактовой системы). Сигнал от перестраиваемого генератора тоже подвергается делению и через внешний фильтр, отсекающий высшие гармоники, поступает на смеситель, где превращается в звуковой. Формантные фильтры придают звуку определенную окраску, после чего сигнал выпускается наружу для формирования амплитудной огибающей.

Параллельно этому сигнал со смесителя через внешний регулятор уровня подается на другой выход микросхемы, к которому подключается телефонный капсюль. Это так называемый выход «предпрослушки», помогающий музыканту после длительной паузы взять нужную ноту – до того момента, как она будет «подана» слушателю. Многие исполнители отдают предпочтение именно этому способу, а не визуальному индикатору высоты тона. Этот выход может использоваться также для «тихих» тренировок (с использованием головных телефонов), для чего движок переменного резистора, отвечающий за соотношение уровней сигналов, устанавливается в нижнее по схеме положение. В реальности схема регулирования сделана несколько по-иному, а данное представление нужно для ясности понимания.


Рисунок 1

К особенностям реализации данного терменвокса надо отнести еще то, что для переключения диапазона звучания (от «баса» до «сопрано») используются не отводы от ступеней деления, как это сделано в «Paradox», а смена коэффициентов у счетчиков-делителей (коэффициенты и соответствующие им частоты показаны на Рис.1). Это делает невозможным получение комбинаций звучания, но зато фильтр, необходимый для отсечения высших гармоник, сделан с переключаемой частотой среза. Переключение осуществляется с помощью конденсаторов, коммутируемых микросхемой PSoC, чьи выходы сконфигурированы как «нижние ключи». Напомню, что отсечение высших (начиная с определенного номера) гармоник необходимо для подавления негармоничных призвуков, образующихся при формировании сигнала разностной частоты. Так как при переключениях уровень сигнала на выходе фильтра меняется, то для его восстановления потребовался усилитель с изменяемым коэффициентом усиления (значения коэффициентов подобраны опытным путем). Состояния ключей, коэффициенты усиления, частоты формантных фильтров и прочие параметры, определяющие звучание, задаются с помощью групп параметров («пресетов»), которые можно выбирать кнопками управления. В данной реализации параметры в группе задаются на этапе проектирования, а возможность их редактирования в процессе эксплуатации не предусмотрена.

Электрическая схема инструмента показана на Рис.2. Генератор G1 вырабатывает для микроконтроллера U1 тактовую частоту. На этом микроконтроллере построены делители частоты, смеситель, узлы формантной фильтрации, а также реализованы управление и индикация. На вход P1.7 микроконтроллера поступает сигнал от перестраиваемого генератора, выполненного на транзисторе Q1. Его схемотехника аналогична описанному в [3], за исключением индивидуального стабилизатора напряжения питания, построенного на аналоге стабилитрона – элементах U2, R9…R11 и C5. Параллельное соединение резисторов R9 и R10 потребовалось для более точного задания напряжения стабилизации. Еще одно отличие заключается в том, что оперативная регулировка частоты осуществляется не конденсатором переменной емкости, а изменением индуктивности катушки L1.


Рисунок 2

Поделенный сигнал перестраиваемого генератора, имеющий прямоугольную форму, с линии P0.6 микросхемы поступает на фильтр с переключаемой частотой среза L3C11C12C13, а затем возвращается обратно в микросхему для гетеродинирования (линия P0.1). Если частота среза фильтра выбрана равной частоте сигнала, то прямоугольный сигнал превращается в синусоидальный, если выше – на фронтах появляется «звон», амплитуда которого может превысить диапазон входных напряжений микросхемы. Чтобы этого не случилось, поставлен делитель R13R14. Индуктивность L2 вместе с входной емкостью микросхемы и емкостью монтажа образует дополнительный фильтр. Резистор R12 задает на аналоговом входе P0.1 уровень, равный половине напряжения питания, так как без этого он будет «плавающий». Это напряжение берется с вывода P2.4, а для уменьшения уровня шума на этой линии (которая является внутренней «аналоговой землей» у микросхемы) к ней подключены конденсаторы большой емкости C7 и C8. Во время отладки с использованием цифрового индикатора (подключаемого к порту P2 микросхемы), линия P2.4 отключалась от конденсаторов C7 и C8, а параллельно им устанавливались резисторы сопротивлением 10 кОм.

Сформированный звуковой сигнал с выхода P0.2 микросхемы поступает на регулятор уровня R20 и далее через фильтр низкой частоты и делитель R21C19R22C20R23 – на управляемый усилитель U3. В отличие от «Paradox» в качестве управляемого усилителя использована микросхема TDA7056A, которая отличается от AN5265 существенно меньшим напряжением управления (1,4 В вместо 12 В) и мостовым выходным каскадом, позволяющим получать большую выходную мощность (это актуально при напряжении питания +5В). Напряжение управления подается на вывод 5 этой микросхемы от специального формирователя, выполненного на транзисторе Q2. На особенностях его работы остановлюсь подробнее.

Как и в «Paradox» (да и во многих других терменвоксах) сигнал управления громкостью формируется на основе возбуждения колебательного контура, в состав которого входит емкость антенны. Поднося руку к антенне, мы расстраиваем контур относительно частоты возбуждения, что приводит к уменьшению амплитуды переменного напряжения на его элементах. Специальный узел детектирует это напряжение и подает его на управляющий элемент. В терменвоксе «Paradox» детектировалось не переменное напряжение, а импульсы тока потребления буферного каскада, производящего «накачку» колебательного контура.

В нашем случае буферный каскад не нужен – нагрузочной способности микросхемы PSoC хватает, чтобы напрямую раскачать резонансную цепь (состоящую из индуктивности L4 и емкости антенны WA2). Поэтому для измерения тока накачки был введен достаточно низкоомный резистор R17 и использовано падение напряжения на нем. Транзистор Q2 и диод D5 осуществляют преобразование (детектирование) этого напряжения в напряжение управления. Коэффициент преобразования определяется отношением сопротивлений резисторов R16 и R19. Резистор R18 нужен для ограничения напряжения управления, подаваемого на микросхему U3, до уровня примерно 1,7 В, что повышает скорость реакции в области максимальных напряжений управления (уровень, при котором усиление микросхемы максимально, составляет всего 1,4 В). Сопротивление резистора R19 не должно превышать 5 кОм, иначе ток смещения, подаваемый внутри микросхемы на вход управления (сделано это для того, чтобы вход можно было оставлять неподключенным), приведет к ее открытию. Режим выключенного звука «Mute» реализован программно закорочением цепи управления на общий провод (для этого используется выход P1.2 микросхемы U1). Управление режимом «Mute» можно поменять на механическое, подключив вместо линии P1.2 тумблер.

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

Оставшиеся свободными ресурсы микросхемы позволили добавить узел измерения сигнала громкости – для этого напряжение на конденсаторе C15 заводится на линию P0.0. Аналого-цифровой преобразователь реализован программно с помощью блока, сконфигурированного как компаратор с программируемым порогом срабатывания. Для сравнения используются три порога, соответствующих напряжениям 0,6, 1 и 1,4 В на ножке 5 управляемого усилителя U3. Так как режим «Mute» влияет на работу делителя R18R19, этот факт учитывается при выборе порогов.

Сигнал с вывода 8 микросхемы U3 через делитель R24R25 (понижающий амплитуду до 1 В) подается на линейный выход инструмента. К выводам 6 и 8 может подключаться динамическая головка с сопротивлением 4 Ом, но в этом случае микросхеме нужен теплоотвод с площадью поверхности не менее 20 кв.см. К разъему XS2 может подключаться внешний громкоговоритель, а разъем XS3 служит для подачи питания.

Регулятор уровня «предпрослушки» сделан на переменном резисторе R28 и элементах R26 и R27. Все вместе они образуют смеситель аудио сигналов. В исходном состоянии (нижнее по схеме положение движка переменного резистора) сигнал «предпрослушки» с линии P0.5 микросхемы через резистор R27 замыкается на общий провод, и на вход телефонного усилителя (линия P0.3) поступает только выходной сигнал инструмента. По мере изменения положения движка уровень сигнала «предпрослушки» растет, а выходного сигнала инструмента – немного уменьшается. Такая регулировка сделана в экспериментальных целях для оценки ее достоинств и недостатков.

Для индикации используются три шкалы, светодиоды которых HL1…HL24 образуют матрицу. Индикация – динамическая, а для сокращения количества линий управления использовано по два встречно включенных светодиода. Такая схема обладает некоторыми ограничениями по индикации и требует более сложного алгоритма управления с привлечением трех состояний выходов – логического «0», логической «1» и состояния «выключено».

Высота тона отображается с помощью шкалы наименования ноты (светодиоды «C»…«B») и шкалы октавы (светодиоды «1»…«7»). Для обозначения использована стандартная нотации MIDI. Октаве «0» соответствуют погашенные светодиоды «1»…«7». Уход в область отрицательных биений сигнализирует светодиод «N». Уход в область очень высоких частот сигнализирует мигание светодиода «7». Для измерения частоты использован «гибридный» метод, описанный в [7]. Его достоинством является малое время измерения, что дает быстрый отклик индикатора. При времени измерения 0,1 с и включении самого низкочастотного диапазона инструмента разрешение метода составляет 0,04 Гц во всем диапазоне звуковых частот, включая инфразвуковые биения. Так как индикация с точностью до цента не предусмотрена, такое разрешение избыточно. Самым комфортным мне показался вариант индикации, при котором «промаху» соответствуют два смежных светящихся светодиода, а свечение одного вызывается попаданием в зону ± 25 центов (четверть полутона).

Шкале громкости соответствуют светодиоды, обозначенные на схеме как «M», «-2» , «-1» и «0». Первый сигнализирует о включении режима «Mute», три других отображают ступени громкости от минимальной до максимальной.

Управление инструментом осуществляется кнопками B1…B4, опрос которых совмещен с динамической индикацией. Кнопки B2 и B3 производят смену тембра инструмента, а совместно с кнопкой B1 – смену диапазона звучания. Кнопка B4 включает и выключает режим «Mute». Общая линия кнопок подтянута к уровню земли с помощью внутреннего резистора микроконтроллера, имеющего относительно низкое сопротивление (около 5,6 кОм), что приводит к паразитной засветке некоторых светодиодов в момент нажатия кнопок. Если это раздражает, можно поставить внешний высокоомный подтягивающий резистор (сопротивлением около 100 кОм), а в программу внести изменения, отключающие внутренний резистор.

Связь платы управления с микроконтроллером осуществляется через контактный ряд J1, часть контактов которого осталась не задействована, так как на стадии отладки программы к нему подключался цифровой индикатор.

Контактный ряд J2 служит для программирования микроконтроллера в схеме. При программировании надо следить за отсутствием конфликтов напряжений – отключать внешний источник питания, если напряжение +5 В подается от программатора (при отключенном громкоговорителе ток потребления устройства составляет около 120 мА, поэтому программатор должен быть рассчитан на этот ток). Если используется внешний источник, то в программаторе должна быть предусмотрена возможность отключения линии «+5В» (на плате терменвокса можно просто перерезать соответствующий проводник). В качестве программатора подойдет устройство, описанное в [8].

Конструкция и элементы

Конструктивно схема выполнена на трех печатных платах, топология которых показана на Рис. 3, 4 и 5. Необходимость в разделении вызвана стремлением разместить разные функциональные части в оптимальных для этого местах: перестраиваемый генератор и его катушку – рядом с антенной высоты тона, индикатор высоты тона – посередине корпуса, шкалу громкости и кнопку «Mute» – рядом с антенной громкости. Соединение плат друг с другом выполнено посредством плоского кабеля (шлейфа). Если предложенная функциональность не нужна, платы индикации и управления можно исключить, тем самым значительно упростив конструкцию. На работе микропрограммы это никак не скажется, но линию P1.2 микроконтроллера придется оторвать от цепи управления громкостью и заменить переключателем. Выбор тембра и диапазона звучания станет невозможным.


Рисунок 3


Рисунок 4


Рисунок 5

Платы рассчитаны на установку преимущественно компонентов для поверхностного монтажа (резисторы и конденсаторы – типоразмера 1206). Некоторые компоненты (Q1, Q2, U2) допускают установку в двух вариантах, а диоды D6 и D7 можно заменить сборкой BAV99 для поверхностного монтажа. Выбор транзисторов не критичен – подойдут любые кремниевые транзисторы общего применения с возможно меньшими емкостями p-n переходов и коэффициентом передачи по току не менее 100. Светодиоды – с проволочными выводами любого цвета свечения, но содержащие только один кристалл. Очень желательно, чтобы они имели широкий угол обзора. Светодиоды «M» и «N», индицирующие режим «Mute» и отрицательные биения, желательно поставить красного цвета свечения. В полярности установки светодиодов (на рисунке их аноды условно обозначены символом «+») можно легко ошибиться, так что будьте предельно внимательны! Кварцевый генератор G1 большой точности не нужен, главное – чтобы он имел 5-вольтовое питание и выходной сигнал с TTL уровнями. Также обратите внимание на тип корпуса, т.к. может потребоваться корректировка печатной платы.

Компоновка элементов в общем корпусе показана на Рис. 6. В качестве несущей части использовано деревянное основание (дно), в котором с помощью приклейки деревянных шайб созданы локальные «наплывы», по центру которых просверлены крепежные отверстия и нарезана резьба.


Рисунок 6

Катушку L4 располагают рядом с антенной громкости. Для оперативных регулировок (называемых «Volume» и «Pitch» – в дань сложившейся традиции) в катушки введены ферритовые подстроечные сердечники с приводом от ручек, находящихся на передней панели. Схема привода и чертежи каркасов катушек показаны на Рис. 7. Каркасы выточены из бруска оргстекла 12х12 мм и крепятся винтами М2 с нижней стороны. В задней части катушек (по рисунку – справа) имеется резьба М5, в которую вворачивается трубка, выполненная из диэлектрического материала, и в которую вставлен (вклеен) кусок ферритового стержня. В качестве трубки использован полиэтиленовый стержень от гелевых авторучек подходящего диаметра, на его конце надо нарезать резьбу протяженностью не менее 20 мм, а сама трубка должна иметь такую длину, чтобы металлическая ось подходила к обмотке не ближе, чем на 1…2 см. Ось желательно соединить с «общим» проводом схемы с помощью скользящего контакта – тогда поднесение руки к ручке будет меньше мешать процессу настройки. Если удастся раздобыть достаточно длинную и прочную пластиковую трубку, то металлическая ось станет не нужна. Может также возникнуть вопрос – почему сердечник вворачивается в заднюю часть катушек? Сделано это также из-за сложившейся традиции – выкручивание ручек (т.е. их вращение против часовой стрелки) должно приводить к отдалению «точек» нулевых биений и максимальной громкости от соответствующих антенн. Но это возможно только тогда, когда индуктивность катушек увеличивается, т.е. сердечник приближается к центру. Если бы сердечник вдвигался с передней стороны, то пришлось использовать довольно редкую «левую» резьбу.


Рисунок 7

Катушку L1 мотают медным проводом в эмалевой изоляции диаметром 0,08 мм, равномерно и последовательно распределяя 352 витка по секциям. Ее индуктивность без сердечника (измеренная на низкой частоте) должна получиться около 0,53 мГн. Катушка L4 – 960 витков того же провода, индуктивность – около 3 мГн. Более толстый провод не поместится в секциях катушки L4, а тонкий – труднее мотать из-за большей вероятности обрыва. Секционирование необходимо для получения приемлемой величины такого паразитного параметра, как частота собственного резонанса (которую надо увеличивать).
Примечание. В версии журнала «Радио» в этом месте упоминается так называемая «собственная емкость» катушки – понятие, употребление которого я сознательно стараюсь избегать. Данное понятие родилось и устойчиво поддерживается на протяжении последнего полвека, делая вид, что адекватно описывает поведение резонансных цепей. До сих пор полной ясности здесь нет, многие вопросы еще ждут решения, но несомненно лишь одно: межвитковая емкость – это миф. О текущем положении дел я рассказываю в отдельной статье (ссылка) .
У моих катушек получились такие значения – 4,9 МГц для индуктивности L1 и 1,8 МГц для индуктивности L4 (при отсутствии сердечника).

Марку сердечника сказать не могу, так как он был взят с платы от неизвестного радиоприемника. Одно могу сказать точно – сердечник, заведенный в катушку, должен увеличивать ее индуктивность на 10…20 %. Для перестраиваемого генератора такой диапазон неприлично избыточен, т.к. процесс оперативной регулировки требует долей процента. Большой диапазон нужен только для того, чтобы при получившихся параметрах антенн и катушек попасть в «зону гетеродинирования». Если попадание обеспечивается при глубоко ввернутом сердечнике, то желательно увеличить количество витков – сердечник будет располагаться на отдалении, что обеспечит лучшую термостабильность. Не забывайте, что второй генератор – кварцевый, а значит здесь нет такого явления, как «коррелированный температурный дрейф».

Между платой индикации и антенной громкости нужно установить небольшой экран, соединенный с «общим проводом» схемы. Дело в том, что плата расположена в непосредственной близости от антенны, а динамическая индикация изменяет конфигурацию окружающих антенну проводников. Вносимая ими емкость также будет меняться, что неблагоприятно скажется на звуке. Экран располагайте подальше от антенны, но так, чтобы он перекрывал не только сторону платы, но и длинные выводы светодиодов. Экранирование узла индикации может понадобиться и более масштабное, включая плоский кабель, но в моем случае это оказалось излишним.
Примечание. В версии журнала «Радио» здесь почему-то говорится об электрических наводках со стороны узла индикации. Возможно, наводки и есть, но их роль невелика по сравнению с модуляцией емкости. Гораздо сильнее наводки проникают через цепи питания и общего провода, что связано с импульсной природой тока потребления при динамической индикации. В связи с этим весьма желательно применить светодиоды с высокой эффективностью излучения, а с помощью увеличения сопротивлений R1...R4 – уменьшить импульсный ток.

Прочие требования к конструкции – такие же, как и в [3]. В верхней стенке (крышке) сверлятся отверстия под крепеж, светодиоды и толкатели кнопок. Если регуляторы R20 и R28 устанавливать в вертикальном положении, то в крышке придется сделать дополнительные отверстия, а разборка инструмента усложнится. В качестве материалов отделки я не рекомендовал бы использовать лаки и краски, содержащие углерод (сажу) или мелкодисперсные металлические частицы (например – алюминиевую пудру), так как они увеличивают проводимость поверхности на высокой частоте, что приведет, например, к сильному влиянию снятия и установки крышки на настройку.

Фотографии инструмента с установленной верхней крышкой и без нее представлены на Рис. 8 и 9.


Рисунок 8


Рисунок 9

Настройка

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

Первый шаг – это программирование микроконтроллера, которое можно осуществить как отдельно, так и в составе схемы (установка всех компонентов на плату при этом не обязательна). Об особенностях подачи напряжения питания было сказано ранее. О том, что микросхема «рабочая», сигнализирует успешное завершение процесса программирования. Для полной уверенности можно прочитать и сравнить содержимое ее памяти с исходным файлом. Исходные файлы «paradox.hex» и «paradox.rom» (см. сопроводительный архив) содержат один и тот же исполняемый код, но отличаются только форматом представления данных и тем, что первый файл содержит дополнительную информацию по защите блоков памяти (здесь эта функция не используется).

Второй шаг – проверка старта микросхемы в устройстве. На плате должен быть обязательно установлен кварцевый генератор G1. При подаче питания (без программатора), либо при передергивании линии «Reset» с высокого уровня на низкий (программатор, как правило, позволяет это делать), на ножке 1 микросхемы должен появиться прямоугольный сигнал частотой 750 кГц. При подключенных платах управления и индикации должен загореться светодиод «Mute», а на шкале ноты и октавы – кратковременно появиться иллюминация в виде «бегущей точки». Если микросхема не стартует, необходимо убедиться в наличии низкого логического уровня на ножке 19, тактовых импульсов на ножке 17 и напряжении питании не ниже 4,64 В (внутри микросхемы имеется супервизор).

Далее убеждаются в работоспособности перестраиваемого генератора и способности микроконтроллера воспринимать его сигнал. При наличии сигнала достаточной амплитуды должен загореться, по крайней мере, один из светодиодов шкалы ноты или октавы. Отсутствие свечения означает, что либо нет генерации, либо сигнал не пересекает уровень половины напряжения питания (проверяется осциллографом). При работающем генераторе на ножке 27 микросхемы должны присутствовать прямоугольные импульсы с частотой в 16 раз ниже (чем частота перестраиваемого генератора, а не кварцевого, как напечатано в журнале! – примеч.) .

Частота генератора при отключенной антенне окажется сильно завышенной, о чем сигнализирует светодиод «N» (уход в область «отрицательных биений»). В этом режиме шкала ноты берет на себя функцию грубой шкалы отклонения частоты генератора от номинала (чем ниже светодиод – тем сильнее отклонение). Введение ферритового сердечника внутрь катушки L1 будет вызывать перемещение «светящейся точки» вверх по шкале, а затем приведет к погасанию светодиода «N» и переходу индикатора в штатный режим работы (что соответствует попаданию в рабочую область). В последнем случае индикатор становится чувствителен к приближению руки. С отключенной антенной до этой области можно и не «дотянуться».

Подключение антенны высоты тона (или эквивалентного ей конденсатора емкостью около 5…7 пФ) приведет к тому, что рабочая область будет достигаться при меньшем заходе сердечника внутрь катушки. Если до рабочей области все равно не удается «дотянуться», это означает, что с индуктивностью мы «промахнулись», и витки надо доматывать. Но не торопитесь это делать раньше времени – ситуацию может спасти небольшое увеличение геометрических размеров антенны.

Если рабочая область достигнута без сердечника, то это также означает «промах», но теперь – в другую сторону (витки у катушки надо отматывать, либо уменьшать размеры антенны). Об очень крупном промахе сигнализирует зашкал индикатора – мигание светодиода «7». В этом режиме, как и при уходе в область отрицательных биений, нотная шкала становится грубой шкалой отклонения частоты (чем выше светодиод – тем сильнее отклонение).

На следующем этапе можно доустановить оставшиеся компоненты и убедиться в корректности рабочих режимов: уровни напряжения (или «средней линии» при наличии сигнала), равные половине напряжения питания, должны быть на выводах 6 и 8 микросхемы U3, выводах 2, 3, 4, 22, 25 и 26 микросхемы U1. Напряжение на коллекторе транзистора Q1 должно быть около 4,5 В, а не равняться напряжению питания, что говорит о нормальной работе стабилизатора U2.

Заключительная стадия – это настройка контура громкости в резонанс с сигналом возбуждения (750 кГц). Вдвигая ферритовый сердечник внутрь катушки L4, находят положение, при котором загорается светодиод «0». Это говорит об увеличении напряжения на конденсаторе C15 до уровня примерно 2,8 В (при выключенном режиме «Mute») или 1,6 В (при включенном). В процессе поиска будут загораться светодиоды «-2» и «-1», сигнализирующие о достижении более низких напряжений. Поднесение руки к антенне должно выводить контур из резонанса – напряжение на конденсаторе C15 снизится до значения 0,4 В и менее. Это говорит о правильной работе схемы.

Оптимальное положение сердечника при резонансе – на входе в катушку (обеспечивается лучшая термостабильность). Слишком глубокое положение говорит о недостаточной индуктивности катушки и необходимости домотки витков. Как и в случае с каналом высоты тона, это может быть компенсировано увеличением размеров антенны.

Может случиться и так, что вдвигание сердечника только уменьшает напряжение на конденсаторе C15. Это указывает на противоположный случай – излишнюю индуктивность катушки. Самая непонятная ситуация – когда напряжение на конденсаторе C15 изначально мало (находится вблизи нижней «отметки» 0,3…0,4 В), а вдвигание сердечника никак не сказывается на напряжении, несмотря на использование точного мультиметра. Так происходит из-за того, что схема детектора имеет порог срабатывания. С высокой долей вероятности можно предположить, что катушка имеет завышенную индуктивность, а точно установить этот факт помогает замена антенны конденсатором с заведомо меньшей эквивалентной емкостью (2…5 пФ), вплоть до его полного отсутствия. Для справки: напряжение 0,3…0,4 В – это падение напряжения на резисторе R19, вызываемое действием внутреннего тока утечки микросхемы U3.

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

Особенности функционирования

При включении инструмента по умолчанию выставляется режим «Mute», самый низкочастотный диапазон звучания («бас») и тембр с условным номером «0». Индикатор высоты тона после короткого «теста» начинает работать в штатном режиме. Из режима молчания инструмент выводят, нажимая кнопку «Mute», но делать это надо предварительно поднеся к антенне громкости руку (или касаясь ее) – чтобы избежать резкого появления звука.

Тембр меняется кнопками «+» и «-». При нажатии начинает мигать один из светодиодов шкалы ноты «C»…«B», показывая условный номер нового тембра (от «0» до «11»). По истечении короткого интервала времени индикатор возвращается к своему штатному режиму работы.

Диапазон звучания меняется теми же кнопками, но им должно предшествовать нажатие на кнопку «S». При этом один из светодиодов шкалы октавы («1»…«4») также начинает мигать, показывая текущий диапазон (условно называемый «бас», «тенор», «альт» или «сопрано»). После некоторого бездействия со стороны пользователя индикатор возвращается в первоначальный режим работы.

Ниже приводится таблица, описывающая алгоритм работы индикатора:

Состояние светодиодов октав Состояние светодиодов нот Частота звукового сигнала (на любом регистре! – примеч.)
«7» мигает режим зашкаливания,
«C» ... «B» индицируют частоты биений
4,19 кГц и 6,55…72 кГц с шагом 6,55 кГц (*)
> 4186,0 Гц
«7»
«6»
«5»
«4»
«3»
«2»
«1»
выключены
«C»...«B» индицируют ноту 2093 … 4186 Гц
1046,5…2093 Гц
523,3…1046,5 Гц
261,6…523,3 Гц
130,8…261,6 Гц
65,4…130,8 Гц
32,7…65,4 Гц
16,4…32,7 Гц
«N» мигает область инфразвуковых частот,
светодиоды выключены
0…16,4 Гц
«N» горит постоянно область отрицательных биений
(частота генератора выше опорной частоты),
«C» ... «B» индицируют частоты биений
-79 кГц … -6,55 кГц с шагом 6,55 кГц (**)
звук отключен
выключены выключены генератор не работает
Примечания: (*) Индикация начинается с нижнего светодиода «С» и заканчивается на верхнем светодиоде «B» («зашкал в области зашкаливания»). Для диапазона «бас» индикация заканчивается на светодиоде «G», т.к. у алгоритма измерения частоты имеются ограничения.
(**) Индикация начинается с верхнего светодиода «B» и заканчивается на нижнем светодиоде «C» («зашкал в области отрицательных биений»)

Регулятор «Preview» устанавливают в крайнее левое положение, если требуется работа телефонов в качестве «звукового контроля», либо сдвигают вправо для включения режима «предпрослушки».

Далее коротко коснусь формирования тембров. Возможности микросхемы PSoC в этом плане не такие широкие, как хотелось бы. Ниже перечислены «кирпичики», из которых удалось «складывать» тембр:

1. Изменяемая ширина импульса прямоугольного сигнала, возбуждающего высокочастотный фильтр – определяет спектральный состав звука, начиная с отсутствия четных гармоник и заканчивая отсутствием только определенных. Наибольшее количество вариаций (восемь) имеется только на диапазоне «бас» (коэффициент заполнения может меняться от 1/16 до 1/2).

2. Изменяемая частота среза высокочастотного фильтра – также определяет спектральный состав звука, но влияет на ширину спектра (количество высших гармоник). Имеются три градации – 90, 300 и 600 кГц, которые в полном составе можно использовать только на диапазоне «бас» (так как частота фильтруемого сигнала в этом случае составляет около 90 кГц). Выбирая минимальную частоту среза, мы получаем почти синусоидальный сигнал на входе и выходе смесителя. При более высоких частотах спектр обогащается, что создает благоприятные условия для формантной фильтрации.

3. Низкочастотная амплитудная модуляция реализована программно с помощью изменения коэффициента передачи одного из звеньев аналогового тракта. Я остановился на 6 вариантах, отличающихся размахом и формой колебания. Полное отсутствие модуляции и модуляция глубиной около 30 % представляют собой два крайних случая, все промежуточные ступени – это последовательный рост глубины модуляции и приближение формы огибающей от хаотической к синусоидальной (частотой около 11 Гц). Форма модулирующих колебаний задается таблицами.

4. Формантная фильтрация. Внутри PSoC удалось реализовать три формантных фильтра с заданными частотами резонансов и добротностями. Два из них – это фильтры НЧ, имеющие «горб» на частоте среза, а третий – истинно полосовой. Такой выбор связан с ограниченными возможностями PSoC в части внутренних межсоединений. Эти же ограничения привели к тому, что два фильтра стоят впараллель, а третий включен последовательно с ними (одновременно выполняя функции смесителя). Ограничения коснулись и выбора характеристик фильтров – усиление, добротность и резонансная частота взаимосвязаны между собой, а шаг их изменения довольно крупный.

При формировании тембров каждый «голос» задается набором констант, определяющих степень участия «кирпичиков» и частотные характеристики формантных фильтров (последние задаются специфическими параметрами, по четыре на каждый фильтр). Все наборы сведены в специальную таблицу – она используется подпрограммой переключения тембров. Об этой таблице будет рассказано далее. Такой набор «кирпичиков», скорее всего, не является единственным, и его, возможно, удастся расширить в будущем. Например, остались невостребованы возможности PSoC в части получения случайных (шумовых) сигналов.

О файлах проекта

Проект полностью открытый, папка с файлами для любителей «поковыряться» находится в сопроводительном архиве. Использовалась среда разработки PSoC Designer довольно старой версии 4.3, возможностей которой мне вполне хватает. Программирование велось на ассемблере, поскольку требовалось вмешательство в тела Модулей Пользователя (User Modules) и полный контроль над кодом (для повышения его эффективности). В дополнение к этому у меня имелись полезные наработки.

Файл «main.asm» содержит процедуры начальной инициализации и реализацию главного меню (отработку нажатий на кнопки). Файл «timer16_1int.asm» (сгенерировался автоматически при вставке в проект Модуля Пользователя «Timer16_1», а в последующем – мною модифицирован) содержит все критичные по времени выполнения процедуры, включая динамическую индикацию и реализацию амплитудной модуляции (обратите внимание на блок данных с меткой «table0» – это набор таблиц для описания огибающих модуляции). В файле «main_proc.asm» определено большинство рабочих переменных и находятся процедуры обработки данных. Здесь же располагается процедура опроса кнопок «getkey», которая в состоянии ожидания (это основное состояние программы) исполняет фоновую задачу с именем «getkey_background». Назначение этой задачи – непрерывно измерять высоту тона и преобразовывать результаты измерений в данные для индикации.

В файле «main_synth.asm» находятся процедуры изменения конфигурации микросхемы, ответственные за смену диапазона звучания и тембра. Самая «верхняя» по уровню процедура – это «setConfiguration». Перед ее вызовом надо установить две переменные – номер диапазона и номер тембра («pitchRange» и «pitchVoice»). Для своей работы процедура использует специальную таблицу («voiceTable»), о которой упоминалось ранее. Скорее всего это единственное место, которое вас заинтересует, поэтому формат таблицы опишу подробно.

Таблица состоит из двенадцати (по числу тембров) строк. На Рис. 10. показаны две первые строчки (с предваряющим их комментарием). Каждая строка – это 16 однобайтовых чисел, 12 из которых разбиты на три группы по четыре значения. Эти значения являются величинами конденсаторов «C1», «C2», «C3» и «C4», задающими усиление, добротность и резонансную частоту каждого фильтра (наименования конденсаторов взяты из фирменного описания Модулей Пользователя). Расчет конденсаторов может быть выполнен с помощью встроенного «мастера» (вызывается правой кнопкой в окне редактора межсоединений при наведении курсора на фильтр), либо с помощью таблиц Excel, которые можно найти в папке инсталляции PSoC Designer (в подпапке «Filter Design»).


Рисунок 10

Байты со 2-го по 4-й это:

– условное значение ширины импульса сигнала, подаваемого на высокочастотный фильтр (обозначен как «скважность»),

– номер фильтра для ограничения спектра (обозначен как «фильтр»),

– условный индекс для амплитудной модуляции (обозначен как «модуляция»).

В скобках указан диапазон допустимых значений. «Скважности» «8» соответствует прямоугольный сигнал в виде меандра, дающий исключительно нечетные гармоники, «скважности» «1» – импульсы с минимальной длительностью (зависит от выбора диапазона звучания), дающие широкий спектр. Про частоту среза фильтра и степень модуляции говорилось ранее.

Первый байт в строке – это идентификатор «ID», указывающий, что все последующие байты в записи надо трактовать именно таким способом, как описано выше. В данном проекте он не используется (равен нулю) и зарезервирован для будущего развития. К слову сказать, в проекте остались участки кода, «перекочевавшие» из других проектов и использовавшиеся для отладки программы. Не удивляйтесь, если встретите их в тексте.

Итоги

Использование микроконтроллера улучшило эксплуатационные качества – в инструмент введена светодиодная индикация, помогающая не только «находить первую ноту», но и тренировать слух. В то же время инструмент сохранил классический (гетеродинный) принцип звукообразования и не превратился в очередной «цифровой синтезатор, управляемый жестами». Со светодиодной индикацией стали возможны незаметная (беззвучная) подстройка инструмента перед выступлением или в его процессе, а также – первоначальная наладка без использования измерительных приборов.

Идеи, заложенные в «Paradox», получили свое дальнейшее развитие. Использование высоких рабочих частот позволило при умеренном количестве витков у катушек отказаться от сердечника – главного фактора температурной нестабильности (небольшое количество ферромагнитного материала все же используется в элементах настройки). Так как второй генератор – кварцевый, то было интересно оценить работу инструмента без «коррелированного температурного дрейфа» (предмета гордости терменвоксов с двумя однотипными генераторами). Встроенный индикатор высоты тона позволяет легко это сделать. Опасения не подтвердились – уход звуковой частоты на диапазоне «бас» после первых 5 минут «прогрева» составил менее 9 Гц (а за 25 минут – около 22 Гц), что легко исправляется начальной подстройкой. В дальнейшем уход частоты минимален, а необходимость в повторных процедурах может быть вызвана только резким изменением климатических условий, окружающей обстановки или позиции исполнителя.

Настройка с помощью изменяемой индуктивности также зарекомендовала себя с хорошей стороны, так как во-первых, это упрощает схему (не требуются отдельные цепи, как, например, в терменвоксах типа «Etherwave»), а во-вторых, здесь удачно сочетается широкий диапазон перестройки, необходимый при первоначальной настройке, с ее «тонкостью» для повседневной эксплуатации.

У инструмента практически полностью отсутствуют такие явления, как «затягивание частоты» и «синхронизация» генераторов, что позволяет не только получать «сочный бас», но и брать нижние ноты вплоть до области инфразвука. Если задержать дыхание, то можно «поймать» биения с частотой в доли герца, хотя в этом и нет практического смысла.

Если все сказанное показалось вам чересчур радужным, спешу немного разочаровать.

1. Линейные светодиодные шкалы несколько неудобны для восприятия информации, особенно при переходе от последней ноты к первой следующей октавы. Ситуацию может спасти расположение светодиодов по кольцу или в виде «звезды», которую использует Эрик Воллен (Eric Wallin) в своем цифровом терменвоксе «D-Lev» [9]. Но в этом случае пропадает ощущение «интуитивной понятности» работы индикатора – движение «светящейся точки» происходит в том же направлении, что и движение руки (в сторону антенны).

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

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

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

5. Формантная фильтрация работает только в ограниченном диапазоне звучания (в области низких тонов, когда в зону фильтрации попадает много гармоник). При приближении основного тона к формантной области эффект пропадает.

На все это можно ответить следующим образом. Качество звука само по себе важно, но еще сильнее на звук оказывают влияние манера исполнения, тонкости артикуляции, правильное вибрато – все то, что составляет мастерство исполнителя. Именно они создают впечатление от игры на инструменте. На эту тему хорошо высказался Питер Прингл (Peter Pringle), родоначальник «канадской» школы игры на терменвоксе, слова которого хочу привести напоследок:

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

(«Music is the art of moving people emotionally with sound. Not everyone is moved in the same way by the same thing, but the sound itself is just a tool. Everything else comes from YOU. Your theremin is to music what a paint brush is to an empty canvas.»[10])

Литература:

[1] Skywave H1. – URL: http://www.thereminworld.com/files/Pages/28/files/SkywaveHi.pdf (06.11.2019).
[2] PSoC Programmable System-on-Chip. Technical Reference Manual. – URL: https://www.cypress.com/file/123666/download (06.11.2019).
[3] И.Мамонтов. Терменвокс «Paradox». – Радио, 2018, №6, c.26-29, №7, c.44-47 (см. также Терменвокс «Paradox»).
[4] AN2041. Understanding PSoC 1 Switched Capacitor Analog Blocks. – URL: https://www.cypress.com/file/42191/download (06.11.2019).
[5] AN2219. Selecting Analog Ground and Reference. – URL: https://www.cypress.com/file/125266/download (06.11.2019).
[6] AN2027. 32.768-kHz External Crystal Oscillator. – URL: https://www.cypress.com/file/130221/download (06.11.2019).
[7] AN2283. Measuring Frequency. – URL: https://www.cypress.com/file/67281/download (06.11.2019).
[8] И.Мамонтов. Трехканальный термометр на терморезисторах и микросхеме PSoC. – Радио, 2009, №8, с.25-27 (см. также Простейший программатор микросхем PSoC).
[9] Let's Design and Build a (mostly) Digital Theremin! – URL: http://www.thereminworld.com/forums/T/28554?post=210599#210599 (06.11.2019).
[10] Best sounding Theremin question – URL: http://www.thereminworld.com/Forums/T/28567?Page=3 (06.11.2019).

Дополнительные материалы:

PCB.zip (56 кБ) – файл топологии печатных плат в формате SprintLayout 6.0
Paradox-mx.zip (170 кБ) – архив, содержащий файл прошивки (в двух форматах) и папку с исходниками проекта (для среды разработки PSoC Designer v4.3)


Образцы звучания

Записи с линейного выхода – в начале каждой фонограммы сигнал идет без обработки, во второй половине добавлено немного реверберации.

demo00.mp3 – тембр «0». Базовый звук. Сигнал имеет почти синусоидальную форму.
demo01.mp3 – тембр «1». Сигнал с нечетными гармониками.
demo02.mp3 – тембр «2». Сигнал с нечетными гармониками и широким спектром (более яркий).
demo03.mp3 – тембр «3». Четные и нечетные гармоники, 5-ая и соседние частично подавлены.
demo04.mp3 – тембр «4». Повторяет «3», но у сигнала широкий спектр (более яркий) и слабая амплитудная модуляция.
demo05.mp3 – тембр «5». Повторяет «4» с более сильной модуляцией.

demo06.mp3 – тембр «6», голосовой. Форманты 500, 2700 и 4600 Гц («скрипичные»).
demo07.mp3 – тембр «7», голосовой. Форманты 500, 850 и 2700 Гц (звук, похожий на «O»).
demo08.mp3 – тембр «8», голосовой. Форманты 700, 1200 и 3000 Гц (звук, похожий на «A»).
demo09.mp3 – тембр «9», голосовой. Повторяет «8», но добавлена амплитудная модуляция.
demo10.mp3 – тембр «10», голосовой. Форманты 1200, 2400 и 4900 Гц.
demo11.mp3 – тембр «11», голосовой. Повторяет «10», но добавлена амплитудная модуляция.

Специальные случаи

demo03a.mp3 – звучание в низкочастотной и инфразвуковой областях на примере тембра «3» (без реверберации).
demo07a.mp3 – изменение звучания голосового тембра при взятии очень высоких нот (на примере тембра «7»).
demo07b.mp3 – изменение звучания голосового тембра при переходе на диапазоны «тенор», «альт» и «сопрано» (на примере тембра «7»).


Галерея


Общий вид


Печатные платы


Печатные платы со стороны SMD компонентов




Ручки управления и выход на телефоны


Сторона, обращенная к зрителям, и узел крепления стойки




Скользящий контакт оси «Pitch» и крепление переменных резисторов


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

http://antiradio.narod.ru/theremin/paradox-mx/
Дата создания документа: 25.02.2020. Последнее обновление: 24.02.2022.