audiohobby.ru audiohobby.ru

Регулятор громкости с селектором входов и выходом дистанционного включения

Описываемое устройство позволяет плавно регулировать громкость и выбирать один из трёх аудиовходов, как вручную с помощью энкодеров, так и дистанционно с помощью инфракрасного (ИК) пульта, работающего по одному из следующих протоколов: NEC, Philips (RC5, RC6), JVC, Samsung, Sony. Предусмотрен режим обучения (программирования) устройства клавишам конкретного пульта .

Информация о коде громкости (0..100) и номере выбранного входа (CH1..CH3) отображается на трёхразрядных семисегментных индикаторах с яркими и достаточно крупными (1,5 см) знаками, позволяющих комфортно наблюдать за установленными значениями с расстояния нескольких метров.

В устройстве используется моторизованный сдвоенный переменный резистор ALPS, который позволяет регулировать громкость как вручную, так и дистанционно, и не вносит в звуковой тракт нелинейные искажения. В рассматриваемой конструкции вал моторизованного потенциометра на переднюю панель не выводится, и ручное управление громкостью осуществляется с помощью энкодера. Вариант такого построения регулятора был «подсмотрен» в одном китайском прототипе, однако проверка реализации этой идеи на практике показала, что со временем наступает рассогласование между кодом громкости и положением вала, поэтому необходима периодическая калибровка. Также она необходима после полного обесточивания устройства, так как положение вала резистора в этом случае неизвестно. Избавиться от этих проблем можно, применив датчик положения в виде дополнительного переменного резистора с линейной функциональной зависимостью, ось которого встречно соединёна с валом моторизованного резистора. Это даст возможность контролировать положение последнего в процессе регулировки громкости. В описываемой конструкции удалось достичь точности установки положения вала около ±2% в середине диапазона регулировки.

Рассматриваемый регулятор громкости с селектором входов имеет также возможность дистанционного включения других устройств аудиокомплекса, для чего предусмотрено выходное гнездо «Remote On» (идея заимствована из конструкции блока управления усилителя PA2020). В дежурном режиме контакты этого разъёма замкнуты, что соответствует состоянию логического нуля (для перевода внешних устройств в выключенное состояние), а при включении регулятора они размыкаются и формируют сигнал логической единицы (для включения внешних устройств). Внешние устройства должны иметь соответствующий вход дистанционного включения «Remote ON», или для управления ими придётся изготовить блок сетевых розеток (на основе сетевого удлинителя типа «Пилот») или блок управления одной розеткой (например, в корпусе от старого сетевого блока питания) с входом дистанционного включения:

Примеры схем блоков дистанционного включения приведены в конце статьи в Приложении. Такие устройства должны иметь гальваническую развязку не только от питающей сети ~220В: «земляной» вывод разъёма «Remote ON» необходимо также изолировать от аудио земли управляемого устройства.

Таким образом, можно объединить включение и выключение нескольких разрозненных устройств (таких как усилитель низкой частоты, индикатор выходной мощности, ЦАП и т.д.) и получить подобие музыкального центра. Примером устройства с входом для дистанционного включения является Плеер «RuneAudio» на базе микрокомпьютера «Raspberry Pi 3». Включение и выключение регулятора громкости производится как с ИК пульта, так и нажатием на ручку энкодера селектора входов, причём для выключения с ИК пульта требуется двойное нажатие на соответствующую кнопку в течение 5 секунд (индикаторы селектора входов при этом мигают) для исключения обесточивания всех устройств «аудиокомплекса» при случайном нажатии на кнопку. Нажатие на ручку энкодера регулятора громкости включает и выключает режим блокировки звука «Mute» (в режиме «Mute» мигают индикаторы кода громкости).

Устройство собрано на 5 печатных платах, размещаемых в пластиковом корпусе G747:

  • основная плата (преобразователь напряжения, микроконтроллер, ключи управления реле и двигателем);
  • плата периферии (реле, контакты аудио разъёмов, моторизованный потенциометр и датчик угла поворота вала);
  • плата управления и индикации селектора входов (энкодер с трёхразрядным индикатором);
  • плата управления и индикации регулятора громкости (энкодер с трёхразрядным индикатором);
  • плата источника питания постоянного тока 12В.

Рисунки печатных плат в формате Sprint Layout и готовые гербер-файлы приведены во вложении. Плата источника питания может быть изготовлена методом ЛУТ. Фотографии собранных печатных плат:

  

  

Рассмотрим принципиальную схему устройства:

В устройстве используется микроконтроллер (МК) IC2 типа Atmega16 в корпусе TQFP-44, работающий на частоте 8 МГц. Напряжение питания всей схемы составляет +4,5В – именно на это напряжение рассчитан двигатель моторизованного переменного резистора и ключи управления им (VT1..VT4), поэтому желательно использовать МК Atmega16L (хотя МК без буквы «L» в этой схеме тоже работали нормально). Интерфейс для внутрисхемного программирования МК – IDC6; можно использовать программатор USBAsp с установленным напряжением +5V, совместно с программой AVRDUDE. Fuse биты МК: Low = 0xA4 (BODLEVEL=2.7V, BODEN, 8 MHz, 6CK+64ms), High = 0xD1 (SPIEN, EESAVE, BOOTSZ=0). При программировании Fuse битов удобно использовать онлайн калькулятор. Файл прошивки hex и её исходные тексты на языке C для среды программирования «AVR Studio» приведены во вложении.

Понижающий преобразователь напряжения +4,5В собран на микросхеме IC3 MC34063 в типовом включении. Входное напряжение +12В от сетевого блока питания поступает через диодный мост VDS1, поэтому полярность этого напряжения не имеет значения. Требуемый номинал 2,15 кОм резистора R18 получен последовательным соединением двух резисторов: 2 кОм и 150 Ом. Соотношение номиналов резисторов R17 и R18 определяет выходное напряжение преобразователя.

Каналы A обоих энкодеров типа EC11 подключаются к входам прерываний INT0 (PD2) и INT1 (PD3) МК, а выход ИК приёмника IC1 типа TSOP34838 – к входу прерывания INT2 (PB2). Конденсаторы C7-C10 выполняют функции антидребезга, хотя для этого предусмотрена и программная защита. Антидребезговая защита для кнопок энкодеров реализована полностью программно. Управление двумя реле селектора входов, реле сигнала «Mute» и реле дистанционного включения «Remote ON» осуществляется ключами на цифровых транзисторах VT5-VT8 типа DTA114ET в корпусах SOT-23. При свободных входах ключей, что имеет место сразу после включения устройства, все реле обесточены, действует сигнал «Mute», а сигнал дистанционного включения «Remote ON» дезактивирован, и контакты выходного разъёма XS9 типа «Mono Mini Jack 3,5 mm» замкнуты. Выходной сигнал «Remote ON» можно «размножить», включив в параллель несколько разъёмов, например: для УНЧ, индикатора выходной мощности, ЦАП и т.д., как показано на следующей фотографии:

Для регулировки громкости используется моторизованный сдвоенный переменный резистор с длиной вала 25-30 мм типа ALPS RK168 (у последнего вал укорочен на 5 мм) с показательной (обратно логарифмической) (B лат.) или линейной (A лат.) функциональной зависимостью. В первом случае целесообразно выбрать номинал 10..20 кОм, во втором случае – номинал 100..200 кОм, включив между средним и «земляным» выводами потенциометра резистор в 10 раз меньшего номинала (10..20 кОм) [Н.Семенюта. Переменные резисторы с логарифмической и показательной зависимостями сопротивлений. «Радиолюбитель», №4, 1995 г., с.21 — там рисунки «1а» и «1б» надо поменять местами]. Схема управления двигателем моторизованного резистора на полевых транзисторах VT1-VT4 заимствована из набора «МастерКит» MP1236 (уже снятого с производства).

Прошивка МК в части обработки команд от ИК пульта основана на использовании адаптированной библиотеки IRremote 2.0.1 от Ардуино (2015 года). Файл прошивки «hex» вместе с исходным текстом программы на языке Си Avr приведён во вложении.

Для входа в режим программирования клавиш ИК пульта нужно одновременно нажать на кнопки (ручки) обоих энкодеров и удерживать их нажатыми в течение 3-х секунд, пока на табло выбора входа не появится надпись «Prg». Устройство при этом может находиться как во включенном, так и программно выключенном состоянии. На табло кода громкости в ходе программирования будут последовательно появляться мигающие надписи с названиями 6-ти программируемых клавиш:

  • «On»       для клавиши включения и выключения питания («On / Off»),
  • «Snd»     для клавиши Mute (блокировка звука — «Sound»),
  • «UP»       для клавиши увеличения громкости («Volume Up»),
  • «dn»       для клавиши уменьшения громкости («Volume Down»),
  • «Chn»     для клавиши выбора следующего входа («CH next»),
  • «ChP»     для клавиши выбора предыдущего входа («CH prev»).

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

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

В качестве датчика положения вала можно использовать одинарный потенциометр наподобие WH148 номиналом 1 кОм (B1K). Суммарная длина валов моторизованного потенциометра и потенциометра датчика вала для установки на плату не должна превышать 45 мм, поэтому длина вала последнего может быть 15-20 мм (при необходимости вал одного из потенциометров можно укоротить). Для соединения валов удобно использовать упругую муфту длиной 25 мм, но можно применить и отрезок термоусадочной трубки (хотя в последнем случае, возможно, придётся скорректировать прошивку, увеличив порог допустимых расхождений при установке положения вала из-за повышенной гибкости такого соединения).

Для отображения номера выбранного входа и кода громкости применены два трёхразрядных семисегментных индикатора HG1, HG2 типа 5631A (5361A) с общими катодами, или 5631B (5361B) с общими анодами (в последнем случае потребуется корректировка прошивки).

Для соединения основной платы с платами индикации и управления удобно использовать 16-контактные разъёмы IDC-16 «папа» и «мама» на плоский кабель. Для соединения с платой периферии использован 10-контактный разъём с шагом контактов 2 мм DS1066-10. Разработаны также варианты печатных плат под разъёмы соответственно CWF-16 и CWF-10 с шагом контактов 2,5 мм («папа» и «мама» с контактами, но они не проверены в работе).

Интерфейс обеих плат управления и индикации одинаков: любую из плат можно подключить к основной плате как через разъём селектора входов, так и через разъём регулятора громкости. Таким образом, легко поменять местами назначение ручек регулировки и индикаторов:

Платы управления и индикации закрепляются втулками М2 длиной 20 мм на панели из одностороннего фольгированного стеклотекстолита толщиной 1,5 мм размером 198x23 мм, фольгой вперёд (разметку этой панели можно найти в архиве вместе с рисунками печатных плат, которые прикреплены во вложении). На этой же панели «вверх ногами» устанавливается ИК приёмник, который соединяется с основной платой отдельным кабелем. Три контактные площадки для подпайки выводов ИК приёмника на этой панели изготавливаются резаком. При необходимости выводы ИК приёмника можно нарастить, чтобы максимально приблизить его к передней панели устройства.

Вся конструкция монтируется на основании из одностороннего фольгированного стеклотекстолита толщиной 1,5 мм размером 214x150 мм (разметка основания есть в прикреплённом архиве) с соответствующими вырезами по углам и вырезом для выводов компонентов платы периферии (последняя прикручивается к основанию вплотную, так как иначе не войдёт по высоте). Снизу к основанию припаиваются 12 гаек М2 для крепления платы периферии и панели с платами управления и индикации (панель монтируется вертикально с помощью 8 уголков с щелевыми отверстиями). Медная фольга основания выполняет также роль экрана:

 

При установке плат управления и индикации на панель нужно проследить, чтобы уголки, винты и втулки не имели электрического соединения с «земляным» слоем фольги на этих платах (особенно это относится к двум уголкам спереди — под них нужно подложить металлические или диэлектрические шайбы М2, чтобы образовался зазор между вертикальной поверхностью уголка и платой), или не устанавливать перемычку Jmp1, соединяющую «цифровой» общий провод с землёй аудио цепей. Основание прикручивается к нижней крышке корпуса саморезами M2,6x5 мм.

Передняя панель изготовлена из коричневого прозрачного оргстекла (brown transparent) толщиной 2..2,3 мм и имеет размеры 218x34,5 мм. При отсутствии оргстекла подходящего размера можно использовать штатную панель от корпуса (из непрозрачного пластика), вырезав в ней окно под кусок оргстекла меньшего размера 120x20 мм (или даже три окошка: отдельно под каждый индикатор по бокам размером примерно 40x20 мм и круглое – для ИК приёмника, по центру, диаметром порядка 10 мм). В таком случае придётся решать задачу вклеивания кусков оргстекла в переднюю панель.

Приложение. Примеры схем узлов дистанционного включения:

В качестве источника дежурного питания в указанных узлах удобно использовать готовый миниатюрный блок питания 5V 0,6A.

Дополнение. В обновлённой версии прошивки V3.2 применён улучшенный алгоритм обработки вращения энкодеров, что позволяет повысить надёжность срабатывания при использовании энкодеров различных типов. При уменьшении громкости режим Mute теперь не «сбрасывается», что позволяет снижать громкость при отключённом звуке. Уменьшена задержка при переключении каналов (входов) с ИК пульта; при смене канала его номер сохраняется в EEPROM для последующего восстановления при включении. Как и прежде, кроме файла собственно прошивки с расширением «hex», в архиве содержится исходный текст программы на языке Си Avr.

Вложение:
pechatnye-platy.zip 1 Мбскачан 183 раза
Вложение:
proshivka.zip 162 Кбскачан 174 раза
+7
0
totka totka 4 года назад #
Эх, куда бы его вместить еще. А сравнивали этот потенциометр с жужжалкой с 27-ым (по каналам разбаланс)? Вроде слышал, что 168-ой похуже будет. Так то селектор и РГ вполне можно засунуть и внутрь и управлять ими с другой платы, а тут полноценное устройство с потенциальным источником помех, если в один корпус монтировать. Вообще с мотором и пультом/энкодером поживучее будет, чем руками крутить, но это жестко ограничивает выбор потенциометров.
0
Pushok62 Pushok62 4 года назад #
С 27-м не сравнивал. Каких-либо неудобств и недостатков RK168 в процессе эксплуатации (уже в течение нескольких лет в разных конструкциях) не замечал. Да, если монтировать в один корпус с усилителем, то придётся принимать меры по экранированию от возможных импульсных наводок.
0
Pushok62 Pushok62 3 года назад #

Обновил прошивку устройства. В обновлённой версии применён улучшенный алгоритм обработки вращения энкодеров, что позволяет повысить надёжность срабатывания при использовании энкодеров различных типов. При уменьшении громкости режим Mute теперь не «сбрасывается», что позволяет снижать громкость при отключённом звуке. Уменьшена задержка при переключении каналов (входов) с ИК пульта; при смене канала его номер сохраняется в EEPROM для последующего восстановления при включении. Как и прежде, кроме файла собственно прошивки с расширением «hex», в архиве содержится исходный текст программы на языке Си Avr.