Найти в Дзене
АЛАЕВ

Контроллер управления лестничным аттенюатором - регулятором громкости

Сегодня я расскажу вам о контроллере управления лестничным аттенюатором и о том, как вы можете собрать его самостоятельно. Для реализации этого проекта предлагается два пути (условно сложный и простой): Некоторое время назад были опубликованы статьи, посвященные релейным аттенюаторам громкости, работа которых полностью определяется микроконтроллерным блоком управления. Речь идет о следующих публикациях: Пассивный релейный аттенюатор/Регулятор громкости Релейный регулятор громкости для аудиоустройства. Альтернативная версия сборки Модуль стереофонического регулятора громкости на базе релейного аттенюатора Релейный аттенюатор (регулятор громкости) для аудиоустройства Было оставлено много комментариев и задано много вопросов, но главный посыл звучал приблизительно так: "Модуль релейного аттенюатора есть, а где контроллер? Мы хотим простой блок управления лестничным аттенюатором для возможности интеграции его в своих проектах!". Тема сегодняшней публикации из разряда "Вы просили - Мы т
Оглавление

Сегодня я расскажу вам о контроллере управления лестничным аттенюатором и о том, как вы можете собрать его самостоятельно.

Для реализации этого проекта предлагается два пути (условно сложный и простой):

  1. Вы можете сделать все самостоятельно, для этого воспользуйтесь принципиальными схемами и файлом прошивки - сложный путь.
  2. Вы можете приобрести комплект печатных плат и использовать их как основу для сборки при реализации проекта - простой путь.
Контроллер управления лестничным аттенюатором - регулятором громкости
Контроллер управления лестничным аттенюатором - регулятором громкости

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

Речь идет о следующих публикациях:

Пассивный релейный аттенюатор/Регулятор громкости

Релейный регулятор громкости для аудиоустройства. Альтернативная версия сборки

Пассивный релейный аттенюатор - регулятор громкости
Пассивный релейный аттенюатор - регулятор громкости

Модуль стереофонического регулятора громкости на базе релейного аттенюатора

Модуль стереофонического регулятора громкости на базе релейного аттенюатора
Модуль стереофонического регулятора громкости на базе релейного аттенюатора

Релейный аттенюатор (регулятор громкости) для аудиоустройства

Релейный аттенюатор (регулятор громкости) для аудиоустройства
Релейный аттенюатор (регулятор громкости) для аудиоустройства

Было оставлено много комментариев и задано много вопросов, но главный посыл звучал приблизительно так: "Модуль релейного аттенюатора есть, а где контроллер? Мы хотим простой блок управления лестничным аттенюатором для возможности интеграции его в своих проектах!".

Тема сегодняшней публикации из разряда "Вы просили - Мы творили!".

Рассказываю про контроллер управления лестничным аттенюатором - регулятором громкости!

Контроллер состоит из двух модулей:

  • 1. Модуль управления.
  • 2. Модуль энкодера и индикации.
Можно было бы все реализовать и на одной плате, но мне не очень нравится эта идея. Я люблю использовать различные типы индикаторов и переразводить каждый раз всю плату категорически неудобно. Гораздо проще использовать унифицированный модуль управления, а индикацию вывести на отдельную плату, совместимую с модулем управления.
И делайте что хотите, как говорится...

1. Модуль управления.

Принципиальная схема модуля управления (Рев. А) представлена ниже.

Модуль управления - принципиальная схема (Рев. А)
Модуль управления - принципиальная схема (Рев. А)
Многие пишут в комментариях, что схемы плохо читаются! Я со своей стороны загружаю их на Дзен в хорошем качестве, но для сохранения пространства сервис сильно "жмет" изображения и детализация резко падает. Выход есть! Пишите мне на почту с просьбой прислать схемы в оригинальном качестве. Никому еще не отказывал. Адрес найдете в профиле канала.

В модуле управления я применил плату Arduino Nano с простым и понятным микроконтроллером Atmega328p.

Вот так модуль выглядит в реальности в железе.

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

Внимательный читатель, наверное, заметил, что модуль управления я для удобства заимствовал из этой разработки:

СМАРТ-регулятор громкости и чего-то там еще...

СМАРТ-регулятор громкости
СМАРТ-регулятор громкости

Несколько пояснений по устройству и работе модуля управления.

1. Разъем J5 - двухконтактный винтовой клеммник для подключения основного стабилизированного питающего напряжения 5 В.

2. Разъем J2 (PLD-14) - для подключения модуля релейного аттенюатора.

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

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

3. Диод D1 - защитный диод от неправильной полярности подключения модуля управления к внешнему питающему напряжению.

4. Резисторы R3 - R12 - делители напряжения для согласования уровней сигналов между контроллером с уровнем сигналов 5 В и TFT-индикатором с уровнем сигналов 3.3 В.

5. Транзистор T2 (BCX53-16) - регулятор яркости свечения TFT-индикатора.

Здесь следует сделать небольшое пояснение. На модуле управления размещены два посадочных места для транзисторов регулировки яркости свечения TFT-индикатора (T1 и Т2).

Транзисторы для регулировки яркости свечения TFT-индикатора
Транзисторы для регулировки яркости свечения TFT-индикатора

Обратите внимание, что у транзисторов Т1 и Т2 перепутаны местами эмиттер и база. Одинаковый только коллектор. У Т1 первый эмиттер, а база третья, а у Т2 эмиттер третий, а база первая.

Смысл сего в том, что я покупал транзисторы BCX53-16 у разных поставщиков. Иногда у них  цоколевка как у Т1, а иногда как у Т2. Поэтому я развел на плате сразу два посадочных места, одно из которых зеркальное.

Разумеется ставится только один транзистор!, в моей версии сборки - Т2. Если не заработает подсветка TFT-индикатора, просто запаяйте транзистор на другое посадочное место!

Резистор R16 - шунтирующий, устанавливается в том случае, если не нужна регулировка яркости с помощью транзисторов (Т1, Т2) и яркость подсветки TFT-индикатора определяется в этом случае только ограничительным резистором R17.

6. Разъем J7 - межплатный соединитель модуля управления и модуля энкодера и индикации.

2. Модуль энкодера и индикации.

Принципиальная схема модуля энкодера и индикации представлена ниже.

Модуль энкодера и индикации - принципиальная схема
Модуль энкодера и индикации - принципиальная схема

Внешний вид готовой печатной платы и модуля на этапе разработки печатной платы представлены на фотографиях ниже.

Вот так модуль выглядит в реальности в железе.

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

Несколько пояснений по устройству и работе модуля энкодера и индикации.

1. Индикатор U1 - цветной TFT-индикатор с диагональю 2.2 дюйма на драйвере ILI9341 и разрешением 240 х 320 пикселей. Управляется по SPI сигналами от микроконтроллера. Легко покупается на Ali и судя по опыту использования долгие годы безотказно работает.

2. Разъем J1 - межплатный соединитель модуля управления и модуля энкодера и индикации.

3. J2 - разъем/посадочное место для подключения ИК-приемника для управления релейным аттенюатором с помощью пульта дистанционного управления.

4. Датчик освещенности R2 - для реализации функции адаптивной яркости подсветки TFT-индикатора (яркость подсветки индикатора меняется автоматически в зависимости от условий внешней освещенности - уменьшается в затемненном помещении и увеличивается с помещении с хорошей освещенностью).

5. Энкодер E1 - инкрементный поворотный энкодер типоразмера PEC16 с кнопкой на валу.

Диаметр вала 6 мм, учитывайте, когда будете подбирать красивую ручку-регулятор.

Я применяю энкодеры только известных производителей, типа Bourns или Alps, что советую делать и вам. Энкодеры неизвестного происхождения (NoName) из поднебесной тоже будут работать, но качество изготовления подвижных частей у них оставляет желать лучшего. Фирменные энкодеры надежны и приятны в работе, в то время как NoName имеют сильный люфт вала и быстро изнашиваются в плане механических переключений, что сразу сводит на "нет" все удовольствие и впечатление от вращения дискретного аттенюатора.

3. Сборка контроллера управления.

Для получения полноценного контроллера управления лестничным аттенюатором нам достаточно соединить модули между собой (модуль управления плюс модуль энкодера и индикации).

Межплатные стойки я напечатал на 3D-принтере. Если вам доступна эта технология, то STL-модель для печати можете сразу скачать здесь.

Если нет, то найдите стойки высотой 11 мм с внутренней резьбой М3 или сквозным отверстием под винт М3 - это также решит проблему сборки плат между собой.

Контроллер управления в собранном виде будет выглядеть как на видео, приведенном ниже.

4. Запись внутренней прошивки микроконтроллера Atmega328p (Arduino Nano)

Чтобы оживить нашу "железку" потребуется прошивка. Вы можете воспользоваться удобной программой XLoader, которая доступна для скачивания по ссылке.

Для записи прошивки выполняем следующие действия:

1. Скачиваем файл прошивки по ссылке (для модуля управления Рев. А).

Обновление от 12.10.25 - по ссылке (для модуля управления Рев. В).

2. Запускаем файл XLoader.exe.

3. Устанавливаем параметры загрузки как на скрине ниже.

Параметры загрузки внутреннего ПО
Параметры загрузки внутреннего ПО
  • в поле "Hex file" прописываем путь, по которому сохранен скачанный файл прошивки.
  • в поле "Device" выбираем используемый нами модуль Arduino Nano.
  • в поле "COM port" выбираем виртуальный COM-порт, который был назначен системой при подключении Arduino Nano к порту USB компьютера.
  • в поле "Baud rate" устанавливаем скорость загрузки "57600".
  • нажимаем кнопку "Upload" для загрузки внутреннего ПО контроллера.

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

Загружено 26492 байта
Загружено 26492 байта
ПО периодически модифицируется, поэтому не ориентируйтесь на точное совпадение количества байтов при загрузке прошивки.

5. Подключение модуля аттенюатора - регулятора громкости

Для подключения модуля релейного аттенюатора используется 14-контактный гибкий шлейф. Длина шлейфа определяется пространственным расположением модулей в устройстве и может быть достаточно большой (несколько десятков сантиметров).

Может быть и больше, я просто не пробовал.

Подключение шлейфа к модулю аттенюатора.

Подключение релейного аттенюатора к контроллеру управления
Подключение релейного аттенюатора к контроллеру управления

Подключение шлейфа к контроллеру управления.

Подключение релейного аттенюатора к контроллеру управления
Подключение релейного аттенюатора к контроллеру управления

Включаем питание (можно через разъем J5 на модуле управления, можно через порт USB Arduino Nano).

При первом включении вы увидите вот такое отображение параметров.

Отображение параметров регулятора громкости при первом включении
Отображение параметров регулятора громкости при первом включении

Такое отображение параметров связано с тем, что в энергонезависимой памяти контроллера (eeprom) все ячейки чистые и прописаны значениями по умолчанию (255).

Для активации рабочего режима контроллера управления лестничным аттенюатором нужно повернуть энкодер против часовой стрелки.

Параметр регулирования автоматически примет минимальное рабочее положение аттенюации "-99 дБ".

Автоматическая запись в eepprom осуществляется спустя 10 секунд после последней активности пользователя, поэтому необходимо выдержать интервал времени не менее 10 секунд, после чего отключить питание контроллера управления.

После перезагрузки контроллер управления включится в рабочем режиме. Теперь вы можете наслаждаться работой регулятора громкости, который следует интегрировать в свой проект!

Если вы все сделали правильно, то результат вас порадует и будет выглядеть как на фото и видео, представленных ниже.

Публикация получилась длинной, но весьма интересной! Это еще не конец!

Продолжение следует...

Обновление от 26.05.2025

В контроллере управления релейным регулятором добавились новые функции:
1. Управление с помощью пульта ДУ (регулировка громкости, яркости индикатора, режим "MUTE").

2. 25 градаций яркости подсветки индикатора (выбираются с помощью пульта ДУ) с возможностью его полного отключения.

3. Адаптивная подсветка индикатора, изменяющая яркость в зависимости от внешней освещенности. Яркость подсветки индикатора меняется автоматически в зависимости от условий внешней освещенности - уменьшается в затемненном помещении и увеличивается с помещении с хорошей освещенностью).

4. Счетчик времени наработки устройства в диапазоне от 0 до 999999.9 часов с дискретом записи 6 минут (0.1 часа). Очень удобная функция, если вы хотите контролировать, например, время наработки радиоламп, установленных в вашем аудиоустройстве. Сброс времени наработки устройства осуществляется с помощью нажатия и длительного удержания кнопки на валу энкодера.

5. Сохранение примененных настроек в энергонезависимой памяти EEPROM.

Обновленная прошивка платная и предоставляется по запросу.

**************************

Дополнение от 08.08.25.

Контроллер управления лестничным аттенюатором - регулятором громкости (дополнение)