Балансный дискретный регулятор громкости

Обсуждаем все, что так или иначе связано с воспроизведением нашей любимой музыки!
(Оконечные усилители, Предварительные усилители, Фонокорректоры, Проигрыватели виниловых дисков, ЦАП, Акустика)
Аватара пользователя
poty
Профи
Профи
Сообщения: 4003
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 93 раза
Поблагодарили: 216 раз

Балансный дискретный регулятор громкости

#1

Сообщение poty » 27 май 2019, 12:05

Тема дискретных регуляторов громкости в последнее время стала достаточно популярной, не в последнюю очередь из-за доступности микропроцессоров и средств разработки для них. Даже на данном форуме присутствует несколько тем, посвящённых этим регуляторам. Казалось бы, зачем открывать ещё одну тему?
Предыстория: в конце прошлого года началась разработка модульного балансного усилителя, собираемого из независимых узлов. Мне хотелось по-максимуму использовать модульный принцип для оптимизации сборки для разных групп самодельщиков, в связи с чем увеличилось количество вариаций и разработка на некоторое время застопорилась (но не остановилась). Дополнительных вопросов требовала и проработка балансных схем, а также преобразование возможных небалансных источников и приёмников в балансный вариант для наиболее эффективного усиления модульным усилителем.
Одним из узлов данной разработки должен был быть регулятор громкости. Естественно, балансный. Как всегда были начальные идеи использовать существующие разработки лестничных аттенюаторов, тем более, они уже хорошо зарекомендовали себя, в том числе и в балансных конфигурациях. В какой-то момент взяться за разработку конкретной реализации согласился Александр (goldmen8), чему я бесконечно признателен. Оффлайн идёт обсуждение цифровой части будущего регулятора, а вот аналоговую часть необходимо было спроектировать мне. Я начал собирать информацию о балансных вариантах регуляторов громкости и понял, что использование небалансных схем в балансном варианте сопряжено с большим количеством допущений, которых хотелось бы избежать.
Постараюсь рассказать о своих мыслях подробнее.
Разработка модульного усилителя стартовала значительно раньше, такой усилитель планировался для Романа несколько лет назад. Тогда для ускорения разработки мы постарались максимально использовать исходные наработки Алена Райта и готовые узлы (например, "аттенюатор Никитина" - Г-образный лестничный аттенюатор, который я "усовершенствовал" здесь). Это была первая идея для балансного регулятора громкости - использовать небалансный регулятор, при этом не соединяя "земляную" шину с землёй усилителя (вся цепь в таком случае "повисала в воздухе"). Плюсами такой конструкции являются:
- минимальное количество реле и, соответственно, их контактов;
- простота и отработанность конструкции;
- наличие имеющихся готовых узлов, которые при необходимости отладки можно использовать как есть.
Однако не обходится и без явных минусов. Балансная конструкция для сохранения своей помехоустойчивости должна иметь одинаковый импеданс по hot и cold линиям относительно референсного уровня ("земли"). Истинно балансная передача к земле (электрически) не привязана (как пример - подключение проводного микрофона к усилителю в профессиональных системах), в таких случаях удаление синфазного шума производится на одном сопротивлении на входе усилителя. К сожалению, реальный мир гораздо прозаичнее: для различных нужд, включая питание, безопасность и др., мы должны иметь референсную точку. Например, для лампового усилителя невозможно "отвязать" сетку от цепи питания катода - накапливающийся на ней потенциал будет увеличивать проводимость лампы вплоть до её разрушения. Т.о., линии балансного сигнала подключаются не к одному сопротивлению, электрически несвязанному с землёй, а к двум, вторые концы которых соединены с землёй непосредственно или через некоторые цепи смещения. Если соблюсти принцип идентичности импедансов балансных линий относительно земли, то ничего страшного в таком отходе от идеала не произойдёт, базовая помехоустойчивость балансной линии сохранится в той же мере, в какой будет сохраняться идентичность импедансов. А теперь посмотрим на тот аттенюатор, что мы хотим применить: от источника сигнала по бывшей сигнальной линии небалансной конструкции до земли импеданс будет состоять из последовательных сопротивлений включенных звеньев и входного сопротивления усилителя; по бывшей линии земли никаких последовательных сопротивлений нет и импеданс состоит только из входного сопротивления усилителя. Более того, подавление шума "размазано" по конструкции (сопротивления, стоящие между балансными линиями, имеются в каждом включенном звене). Т.о., свойства "балансной линии передачи" нарушаются. Я не уверен, что на тех расстояниях, что сигналу предстоит пройти внутри блока, это серьёзно ухудшит помехоустойчивость, но я предпочитаю делать устройства без оговорок.

Отправлено спустя 27 минут 39 секунд:
Очевидным выходом из данной ситуации является использование стерео варианта Г-образного регулятора, в котором земли соединены, а бывшие каналы превращены в соответствующие балансные линии (hot и cold). Включенное звено будет выглядеть следующим образом:
Г2.png
Г2.png (5.48 КБ) 557 просмотров
и в принципе решает все вышеперечисленные проблемы ценой удвоения количества реле и сопротивлений. Для усиления "балансности" можно исключить соединение с землёй "параллельных резисторов" R3, R4 в точке "А" и заменить их на один. Это сэкономит нам также один контакт реле. Мне сложно оценить влияние наводок от разных цепей управления реле на результирующую конструкцию в данном упрощении. Хочу отметить, что "упрощённый" вариант является классическим четырёхполюсником, в некоторых публикациях он называется О-ячейкой. Наихудшая точность входного сопротивления для резисторов ряда E96 может составлять до 2%, точность аттенюации - 2%. Точность аттенюации нас не очень волнует, а вот точность входного сопротивления может сослужить плохую службу, в связи с тем, что она неравномерно распределена по балансным линиям.
За это сообщение автора poty поблагодарил:
Алаев Ян
Рейтинг: 25%
 
Владислав

Аватара пользователя
poty
Профи
Профи
Сообщения: 4003
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 93 раза
Поблагодарили: 216 раз

#2

Сообщение poty » 27 май 2019, 16:45

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

Отправлено спустя 21 минуту 2 секунды:
Самым остроумным вариантом перехода к симметричному варианту, с моей точки зрения, является использование мостового включения шунтирующих резисторов (в импортной литературе можно встретить термин lattice network - клеточная топология). Выглядит она примерно так:
Мост (клетка).png
Мост (клетка).png (7.36 КБ) 554 просмотра
Мне она понравилась тем, что количество элементов и контактов остаётся неизменным, по сравнению с О-вариантом, а полезные свойства добавляются (включая "встроенное" отсутствие заземления внутри самих ячеек аттенюации). В принципе, имеется полный расчёт данной конфигурации, но его легко вывести и самостоятельно. Если будет время, я в спойлер добавлю этот вывод, а сейчас приведу формулы для расчёта.
Предполагаем, что источник имеет выходное сопротивление Ro, входное сопротивление аттенюатора = Ro, выходное сопротивление аттенюатора = Ro, входное сопротивление приёмника = Ro. Нам необходимо добиться ослабления k (я сейчас говорю об ослаблении "ячейки", не считая ослаблений за счёт передачи источник-вход аттенюатора, выход аттенюатора-приёмник).
Тогда Ro*Ro=RsRp, k=(Rs-Ro)/(Rs+Ro)=(Ro-Rp)/(Ro+Rp), при этом Rp<Ro<Rs.
Проще некуда! Обрадованный, я создал файл в Excel для расчётов и... получил те самые "практические ограничения": применяемого ряда E96 (1%) оказалось недостаточно для того, чтобы создать звено в 64дБ ослабления для данного вида аттенюатора.
Владислав

Аватара пользователя
Евгений Михеев
Заслуженный Ветеран
Заслуженный Ветеран
Сообщения: 3127
Зарегистрирован: 22 май 2015, 11:52
Откуда: Республика Коми, Ухта
Благодарил (а): 20 раз
Поблагодарили: 123 раза

#3

Сообщение Евгений Михеев » 27 май 2019, 22:24

А насколько кривой результат от 64? Кажется, 64дБ это уже области из разряда "почти не слышно", что, как по мне, позволяет вносить некие допущения. 64,5, например, имею ввиду.
Дорогу осилит идущий

Аватара пользователя
poty
Профи
Профи
Сообщения: 4003
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 93 раза
Поблагодарили: 216 раз

#4

Сообщение poty » 27 май 2019, 23:27

Дело - не в кривизне. Приведу результат расчётов. Там их гораздо больше, но я вычленил только важное.
Невозможность моста.png
Ro определён как 50кОм (ячейка А1).
Столбец А (4-10) - это заданные аттенюации ячеек. А11 - суммарная аттенюация, которая должна получиться в результате.
Столбцы C и D - вычисленные Rs и Rp. Rs(E96) и Rp(E96) - ближайшие значения ряда E96 для вычисленных значений.
Столбец H - вычисленные значения аттенюации для выбранных резисторов ряда E96. Видно, что значения Rs и Rp для аттенюации -64дБ настолько близки, что ближайшие значения ряда E96 оказываются равными, соответственно, нарушается условие
poty писал(а):
27 май 2019, 17:06
Rp<Ro<Rs
и конструкция перестаёт работать. Просто для справки, я взял два ближайших варианта по Rs(E96) и Rp(E96) (E11, F11 и E12, F12). Как видим, максимально, что мы можем получить: -44,5дБ вместо -64дБ.

Отправлено спустя 7 минут 17 секунд:
Просто для справки - точность входного сопротивления - 1,5%, отсутствие референса снижает неидентичность импедансов по балансным линиям. Так что - идея классная, но для нас пока малоприменимая. Переходить на E192 - сложно, трудно найти столь точные резисторы нужных номиналов.
Владислав

Аватара пользователя
seurf
Профессионал
Профессионал
Сообщения: 879
Зарегистрирован: 12 май 2016, 19:54
Откуда: Волгоград
Благодарил (а): 89 раз
Поблагодарили: 81 раз

#5

Сообщение seurf » 28 май 2019, 08:57

А если рвануть вверх Планку уровня регулятора громкости и применить в качестве регулятора трансформатор атеньюатор, а уже его обмотки коммутировать Рэле, управляемые микроконтроллером? Со всеми сопутствующими благами электроники ( ДУ, mute, balance, индикация ) http://shop.diyhifisupply.com/product/t ... permalloy/. http://www.sacthailand.com/
Или не попал в тему?
image.png
Александр

Аватара пользователя
poty
Профи
Профи
Сообщения: 4003
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 93 раза
Поблагодарили: 216 раз

#6

Сообщение poty » 28 май 2019, 19:48

Александр, Ваше предложение - вполне по теме и является практически идеальным балансным решением с точки зрения звука, в котором многое можно намутить, включая преобразование баланс-небаланс и сопряжение импедансов. Однако, стоимость его будет начинаться от $500, одно это уже сделает его эксклюзивным.
Кроме того, у него есть ещё несколько недостатков:
- он не обладает постоянным входным импедансом, а нам он нужен для согласования RIAA в планируемом месте применения; эту проблему можно обойти, но сложность возрастёт кратно.
- имея дискретный характер, он не решает проблему щелчков на сопряжении со следующим каскадом.
- стерео вариант должен иметь почти 60 реле для переключения, а это - размеры, БП, управление и т.п.
Владислав

Аватара пользователя
seurf
Профессионал
Профессионал
Сообщения: 879
Зарегистрирован: 12 май 2016, 19:54
Откуда: Волгоград
Благодарил (а): 89 раз
Поблагодарили: 81 раз

#7

Сообщение seurf » 28 май 2019, 20:45

poty писал(а):
28 май 2019, 19:48
Кроме того, у него есть ещё несколько недостатков:
жаль, какая красивая мысль мне рисовалась в воображении: шикарный звук, при полной автоматике. Но недостатки описанные Вами, действительно перевешивают внешнюю прелесть этого решения.
Особенно крайняя строчка в перечне недостатков: 60 Рэле это за разумом предела. АТС- городского узла связи, не меньше.
Александр

Аватара пользователя
poty
Профи
Профи
Сообщения: 4003
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 93 раза
Поблагодарили: 216 раз

#8

Сообщение poty » 31 май 2019, 14:06

Чтобы мостовое включение не казалось тупиковым вариантом, я немного адаптировал ряд ячеек:
Безымянный.png
Для общего ослабления в 99дБ получилась неплохая конструкция. Я её промоделировал в LTSpice, результат оказался очень близок к расчётному (kx - ослабление каждого звена в дБ, k0 - общее ослабление при всех включенных звеньях в дБ, Rx - входные сопротивления каждой ячейки в Омах):
k1: 20*log10(v2/v1)=-1.02432
k2: 20*log10(v3/v2)=-2.01494
k3: 20*log10(v4/v3)=-4.0092
k4: 20*log10(v5/v4)=-8.03043
k5: 20*log10(v6/v5)=-16.2134
k6: 20*log10(v7/v6)=-32.3696
k7: 20*log10(v8/v7)=-38.3878
k0: 20*log10(v8/v1)=-102.05
r1: v1/i1=50012.6
r2: v2/i2=49882.4
r3: v3/i3=49882
r4: v4/i4=49744.9
r5: v5/i5=49856
r6: v6/i6=49842.3
r7: v7/i7=49885.6

Быстро найти теорию по таким четырёхполюсникам не удалось, насколько я понимаю, возможно создать четырёхполюсник и на -64дБ, но пока меня устраивает и текущий результат.

Отправлено спустя 1 час 41 секунду:
Помимо лестничных аттенюаторов ("Г") в небалансной среде довольно известны так называемые "Т"-аттенюаторы. Они отличаются от "Г" наличием ещё одного резистора, с помощью которого можно настраивать выходное сопротивление. Существенным недостатком такого вида аттенюаторов является то, что необходимо два независимых включающих контакта для обеспечения включения ячейки аттенюации в цепь. Аналогичные конструкции есть и в балансной среде, однако, по настоящему симметричными для большого диапазона ослаблений их сделать проблематично. Умные люди придумали так называемый "мост" над Т-аттенюатором, который обеспечивает симметричность импедансов с двух сторон (входной и выходной), одновременно расширяя диапазон ослаблений.
В балансном варианте это выглядит следующим образом:
T-Bridge.png
T-Bridge.png (8.12 КБ) 490 просмотров
Владислав

Аватара пользователя
poty
Профи
Профи
Сообщения: 4003
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 93 раза
Поблагодарили: 216 раз

#9

Сообщение poty » 01 июн 2019, 00:38

Начальные условия - такие же, что и в обычном мостовом варианте. Так как Ro - номинал резистора, обозначенный на схеме, то базовое сопротивление обозначим как R. Тогда источник имеет выходное сопротивление =R, входное сопротивление аттенюатора = R, выходное сопротивление аттенюатора = R, входное сопротивление приёмника = R, Ro=0,5R. k - ослабление ячейки.
Тогда (R/2)*(R/2)=RsRp, k=R/(R+Rs)=Rp/(R+Rp). Я посчитал резисторы для варианта, аналогичного предыдущему:
T-bridged.png
Как видим - ограничения фактически сняты. Я, правда, не уверен, что смогу обеспечить сопротивление почти в 40МОм, а заодно - блокировать все токи утечки на плате.
Вторая вещь, которая мне здесь не нравится - фактическое удвоение количества реле.
Следует заметить, что при анализе этой схемы она вырождается в пятиполюсник и её расчёт становится настоящим кошмаром.
Владислав

Аватара пользователя
poty
Профи
Профи
Сообщения: 4003
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 93 раза
Поблагодарили: 216 раз

#10

Сообщение poty » 21 июл 2019, 23:01

В качестве развития данной темы предлагаю изготовить регулятор громкости балансного усилителя, основанный на "клеточной" технологии. На данный момент имеется проект модульного усилителя, для которого требуется аттенюатор на 100кОм (2х50кОм, если говорить о балансных линиях по отношению к земле). Используется ряд затуханий 1-2-4-8-16-32-39дБ. Нетипичный последний номинал затухания выбран для компенсации большой погрешности на высоких затуханиях из-за ограниченности номиналов резисторов (см. пояснения в теоретической части).
Мост.png
Версия схемы от 10.08.2019
Небольшие пояснения на схеме даны. Я предполагаю, что линии CNTR1, CNTR2 будут определять "канал" (т.о., доступно 4 канала). Если потребуется большее количество каналов, то предлагаю обеспечить их выбор с помощью других механизмов. Предлагаю по этому поводу высказываться.
По интерфейсу 1Wire подаются команды вида:
xx yy zz,
где
xx - "канал" (например, 00 - правый, 01 - левый, 02 - тыловой правый, 03 - тыловой левый...),
уу - "команда" (например, 00 - установка значения аттенюации, 01 - установка чувствительности, 02 - установка баланса...),
zz - "значение" (например, 44 - установка аттенюации 44дБ с учётом поправки и баланса).
Метод буферизации команд предлагаю разработать при программировании.
За это сообщение автора poty поблагодарил:
Алаев Ян
Рейтинг: 25%
 
Владислав

Аватара пользователя
goldmen8
Постоялец
Постоялец
Сообщения: 206
Зарегистрирован: 25 май 2018, 10:02
Откуда: г. Киров (на р. Вятка)
Благодарил (а): 101 раз
Поблагодарили: 48 раз

#11

Сообщение goldmen8 » 22 июл 2019, 17:08

Владислав, не совсем понял кто значит:
poty писал(а):
21 июл 2019, 23:01
... линии CNTR1, CNTR2 будут определять "канал"...

:think:
Мне кажется, что в этом блоке ("управления реле") МК должен: опознав свой адрес "xx" ("канал") в интерфейсе 1Wire; получить "zz" ( "значение") и просто её выполнить.
Всё остальное выполняет "головной" процессор: принимает сигналы от органов управления, вычисляет значения для каждого канала, хранить пред установочные значения, и всем управляет по интерфейсу 1Wire. ... адресов может быть не четыре а больше до 99 (наверное и ещё больше можно). :smoke:
Александр.

Аватара пользователя
poty
Профи
Профи
Сообщения: 4003
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 93 раза
Поблагодарили: 216 раз

#12

Сообщение poty » 22 июл 2019, 18:52

Да, но как научить процессор, что xx - это его адрес? Я хотел избавиться от того, чтобы заливать разные прошивки для разных конфигураций, а тем более каналов.
Если каналов у нас не больше 4-х, то можно обойтись двумя линиями для того, чтобы сказать каждому процессору на аттенюаторе, на какой номер канала по 1Wire он должен отвечать.
Пример, у нас два канала, соответственно, две платы. подключаем CNTR1 одной платы к +5В (логическая 1), CNTR1 другой платы к 0В (логический 0), CNTR2 обеих плат к 0В (логический 0). Присваиваем комбинации 00 - левый канал, 10 - правый канал (CNTR1-CNTR2). Теперь процессоры на платах "знают", к какому xx они принадлежат и могут отвечать на "свои" команды.
Если каналов больше 4-х, то назначать их таким образом становится уже накладно. Во-первых, не хватает портов. Во-вторых, соединения получаются довольно замысловатыми. В этом случае я предлагаю "возвращать" сигнал, допустим, с CNTR1 через PtoS интерфейс. В этом случае можно задействовать любое количество каналов, только добавляй регистров. Можно также производить "опрос", какие каналы есть в системе, а каких нет.

Отправлено спустя 1 минуту 59 секунд:
Что касается места хранения установочных значений - не возражаю, что их можно хранить в ЦП. Тогда нужно, с моей точки зрения, предусмотреть небольшую microSD карту с настройками, так как их получается довольно много в разветвлённых конфигурациях.

Аватара пользователя
goldmen8
Постоялец
Постоялец
Сообщения: 206
Зарегистрирован: 25 май 2018, 10:02
Откуда: г. Киров (на р. Вятка)
Благодарил (а): 101 раз
Поблагодарили: 48 раз

#13

Сообщение goldmen8 » 23 июл 2019, 17:07

Владислав, нужно ещё получить от Вас разъяснения по схеме.
Понятно что контактные группы К7С и К7В относятся к одному реле. А вот какая катушка ими управляет? :think: ... К206А?
Александр.

Аватара пользователя
poty
Профи
Профи
Сообщения: 4003
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 93 раза
Поблагодарили: 216 раз

#14

Сообщение poty » 23 июл 2019, 17:20

Это ошибка перенумерации. Поправлю.
Контакты К1 соответствуют К200, К2 - К201 и т.д.
Владислав

Аватара пользователя
goldmen8
Постоялец
Постоялец
Сообщения: 206
Зарегистрирован: 25 май 2018, 10:02
Откуда: г. Киров (на р. Вятка)
Благодарил (а): 101 раз
Поблагодарили: 48 раз

#15

Сообщение goldmen8 » 23 июл 2019, 18:01

Значит я правильно понял. К7 - К206
А выводы реле (нумерация), dd1, dd2, dd4, ... dd32 и dd40 что обозначают? :think: Я так понимаю ступени.
Александр.

Аватара пользователя
poty
Профи
Профи
Сообщения: 4003
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 93 раза
Поблагодарили: 216 раз

#16

Сообщение poty » 23 июл 2019, 19:51

Именно так. Точнее - затухания ступеней.

Отправлено спустя 6 минут 56 секунд:
Исправил несоответствие нумерации обмоток и контактов реле.

10.08.2019:
Исправил схему в соответствии с доступными источниками компонентов. Если есть что высказаться по поводу сигнальных резисторов - готов воспринять.
Под вопросом разъём J209: если есть альтернативный разъём, допускающий небольшую погрешность в размерах (расстоянии соединяемых плат) и угловой по натуре (две платы должны быть соединены под углом 90 градусов) - прошу предлагать.
За это сообщение автора poty поблагодарил:
goldmen8
Рейтинг: 25%
 
Владислав

Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение