Перейти к содержанию

Матричный релейный аудио коммутатор Helvetios | Гельветиос


aitras

4 637 просмотров

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

Техническое задание

К коммутатору я предъявил следующие требования:

1. Должен иметь релейную матрицу коммутации 6 на 6 (количество разъемов ограничено размерами старого корпуса).
2. Должен уметь подключать любой свой вход к любому количеству своих выходов.
3. Должен уметь приглушать любой из своих выходов, а также все выходы разом.
4. Должен иметь несколько фиксированных настроек (пресетов) для возможности быстрого выбора.
5. Должен иметь удобный интерфейс управления и понятную индикацию.
6. Должен вносить минимальное количество искажений в коммутируемый сигнал.
7. Должен иметь гальванически развязанный интерфейс связи с компьютером для обновления ПО и управления.

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

Дисплей

В прошлом варианте я применял дисплей HCMS-2915, но сразу стало ясно, что в этот раз его применить не получится, т.к. из-за размера и количества знакомест его информативность будет невысокой. Конечно, можно было бы поставить их штуки 4, в два ряда (благо есть в наличии), но этот вариант тоже мне показался не особо удачным. Хотя, оглядываясь назад, такой двухстрочный дисплей тоже позволил бы все нужное уместить, правда выглядел бы все равно менее информативно. Кроме того, такой дисплей стоит неадекватных (на мой взгляд) денег (порядка 1500..2000 р), что снижает вероятность повторения моего устройства кем-либо еще. Значит нужно искать более доступные варианты дисплеев.

Я как обычно хотел прикрыть дисплей затемненным стеклышком, поэтому ЖК-дисплеи мне не подходили из-за своей недостаточной яркости. Поэтому решил обратить внимание на рынок OLED-дисплеев, которые ранее нигде не применял. Купив на пробу несколько штук и поэкспериментировав, я пришел к выводу, что самые дешевые варианты мне не подходят из-за своих небольших размеров, а более крупные варианты, конечно, имеют достаточно места, но все равно получаются довольно дорогими. Также их яркость уступает светодиодным дисплеям, и на статичных картинках они подвержены выгоранию.

1972695948_2020-03-2619-49-20_1585376127.thumb.JPG.6857642eed6406ec6692201eaa4c1505.JPG  1167200787_2020-03-2623-05-40.JPG.118224c64a0edd1a1b68351ebb8f60fe.JPG  1216270385_2020-04-3002-32-53.thumb.JPG.bedccb982242f61e78d7f9529299063e.JPG

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

1162726529_.png.8acf97a46f79225fa599c53c5d9ae110.png

Здесь применены 6 (по количеству выходов) семисегментных зеленых индикаторов с высотой символа 0,36 дюйма (9,1 мм), которые символизируют каждый имеющийся выход. Они отображают номер подключенного к ним входа. Прочерк означает, что никакого входа не подключено. Под каждым выходом стоит красный 2 мм светодиод, отображающий режим Mute для выходов. 

Также по просьбе товарища я в коде программы реализовал возможность отображать состояние устройства на стандартной светодиодной матрице 8 на 8 точек. Выглядеть будет так:

audio_sel.png.96d34f67f304d2ff56f9aa1b39e12136.png

Органы управления

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

1. Выбор входа для выхода/выходов.
2. Включение mute для выхода/выходов.
3. Выбор и сохранение фиксированных настроек.

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

1566177928_.thumb.png.d712847456ac6f0d76a07a8cbd18cf78.png 

Слева находится блок кнопок для выбора подключения входов к выходам. Слева - блок фиксированных настроек (для товарища предусмотрел еще 2 пресета). Между блоками - дополнительные кнопки для управления режимом Mute и яркостью дисплея. Сценарии работы такие:

  • Назначение входа на выходы
    Нажатием на цифровую кнопку выбирается вход, который требуется назначить (либо NONE если требуется отключить вход от выхода), при этом устройство переходит в режим ввода конфигурации и дисплей начинает мигать. Далее нужно цифрами выбрать выходы, на которые этот вход нужно подключить - при этом цифра измененного выхода перестает мигать. Отменить подключение можно нажатием на тот же номер. После завершения ввода нужно подтвердить настройки нажатием на кнопку OK, и только в этот момент конфигурация будет применена. Отменить ввод конфигурации можно в любой момент нажатием на кнопку ESC.
    Отключить все входы от выходов можно длительным (около 1 с) удерживанием кнопки NONE.
  • Приглушение выходов
    Приглушение (mute) выходов осуществляется способом, аналогичным подключению входов, с той лишь разницей, что сначала нажимается кнопка MUTE, устройство переходит в режим конфигурирования Mute, при этом красные светодиоды начинают мигать. Далее цифровыми кнопками нужно выбрать заглушаемые входы и для завершения настройки нажать кнопку OK.
    Приглушить одновременно все выходы можно длительным удерживанием кнопки MUTE. Повторное удерживание восстанавливает активное состояние.
  • Работа с фиксированными настройками
    Любую активную конфигурацию можно сохранить для быстрого выбора в дальнейшем. Для сохранения текущей конфигурации в пресет можно длительным удержанием одной из кнопок M1..M4. В момент сохранения дисплей три раза быстро мигнет. Для выбора пресета нужно нажать на одну из кнопок M1..M4, при этом на дисплее отобразится сохраненная конфигурация. Далее требуется либо подтвердить применение нажатием на кнопку OK, либо отменить нажатием на кнопку ESC.

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

Кнопка DISPLAY коротким нажатием позволяет переключаться между тремя режимами яркости. Длительное нажатие позволяет переключиться между режимами фиксированной и автоматической яркости дисплея.

Задняя панель

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

Таким образом я пришел к такому дизайну. Здесь показано два варианта - в светлом и темном исполнении:

1189659878__descr.thumb.png.cad4fbbf4ef292f535165f05388779cd.png

Было принято решение сделать четыре платы - основную, плату дисплея, плату клавиатуры и блок питания.

Плата дисплея

На плате дисплея кроме самого дисплея расположены также кнопка включения, индикатор дежурного режима и фотодиод. Размеры платы 35 на 100 мм.

1447276007_.thumb.png.43f6b3c1a53e7872681eb2bb689cf3e2.png

Схема довольно простая. Индикация дисплея динамическая, поэтому применены всего два регистра - 74HC595 для управления сегментами и его мощный аналог с выходами с открытым стоком STPIC6C595 для управления разрядами. Регистры соединены каскадно, а их входы управления выведены на разъем и c микроконтроллером связаны по SPI. Светодиод, фотодиод и кнопка POWER выведены в разъем напрямую. Погашенные участки схемы относятся к вышеупомянутой светодиодной матрице и на данной плате не реализованы.

817173524_.png.10f62c77d2095784754f8a9c4e8edd22.png

Плата клавиатуры

Плата клавиатуры по устройству еще проще. Количество кнопок 14, поэтому для экономии выводов микроконтроллера, кнопки объединены в матрицу. Размеры платы 35 на 100 мм.

1693424022_.thumb.png.a2716e6026ae631ce02326f38ffc7fcd.png

Схема матрицы тривиальна - имеет 4 строки и 4 столбца. Линии столбцов выставлены в лог. 1 и циклически сканируются логическим нулем. После каждой смены столбца опрашиваются линии строк. Таким образом обнаруживаются нажатые кнопки. Интересно, что в коде программы для корректной работы клавиатуры пришлось добавить задержку в минимум 10 пустых тактов сразу после подачи сканирующего логического нуля. Вероятно это связано с ненулевым временем установления сигнала на линии. Диоды служат для защиты сканирующих портов в случае, если будут нажаты две кнопки в одной строке. Неактивный участок - неразведенные две дополнительные кнопки пресетов.

1864942155_.png.62666f0676dc29110721e0f1cc8cf61a.png

Блок питания

Блок питания должен формировать три напряжения: +5В для питания цифровой части устройства, и двухполярное напряжение +/-12В для питания аналоговой части. Специально для этого был заказан трансформатор с необходимыми обмотками на базе ТП-331. Справа и слева от трансформатора в плате сделаны сужения и оставлены контактные площадки для возможности установить экран, если потребуется. Размеры платы 100 на 37 мм.

559082094_.thumb.png.cd390858b77ec4735eb5e6eb73120b0b.png

Кроме типовых схем стабилизаторов на 7805 для цифрового питания и малошумящей пары 4901/3001 серии TPS7A для аналогового питания здесь реализована схема слежения за наличием сетевого напряжения на транзисторе VT1. Если сетевое напряжение на входах ACL и ACN присутствует, на выходе AC_GOOD имеются прямоугольные импульсы частотой 100 Гц. При пропадании напряжения, импульсы пропадают, что отслеживает микроконтроллер и принудительно через отдельный блок реле (о чем пойдет речь далее) включает MUTE всех выходов. Это сделано для устранения щелчков в подключенных оконечных устройствах при включении и выключении питания коммутатора. Конечно, при пропадании сетевого напряжения пропадает и питание +5В, но МК сохраняет работоспособность до 2,7В и на остатке заряда в емкостях выпрямителя успевает обнаружить пропадание импульсов и выполнить необходимые действия, прежде чем схема Brown-Out его отключит.

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

584380118_.png.1ef70ef47ade3d956871caceb7edde0a.png

Основная плата

Основная плата содержит в себе всю аналоговую часть, микроконтроллер с обвязкой и матрицу реле. Размеры платы 89 на 187 мм.

1425799930_.thumb.png.b98341d6c663c414b71d74c933918291.png

Общая принципиальная схема показана ниже.

1563028966_.thumb.png.bfa93f07a5f00488e70fa9a2a17f285b.png

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

905925099_.png.204b5b8d740a59c005ff282466057f58.png

Далее сигнал подается на матрицу реле. Управление матрицей осуществляется каскадно соединенными сдвиговыми регистрами 74HC595. Реле разбиты по группам и к каждому регистру подключено по 6 реле, один конец которых у них общий и также заведен на регистр. Таким образом, имеется возможность подавать разнополярные импульсы на каждое реле в пределах каждой группы. Токовых возможностей выходов регистра хватает, т.к. реле применены бистабильные и потребляют ток только при переключении. Правда обновление сразу 6 реле на своих выходах регистр все равно не тянет, поэтому в программе включение и отключение реле в группе происходит не разом, а в цикле по одному.

После матрицы на каждом выходе стоит также по повторителю, разделительному конденсатору и защитному резистору. 

1937076801_.png.640defc5cbd952bffa5071e6bfe26cdd.png

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

image.png.da96e8e0eb51cd12f466f5bceb980d63.png

Здесь импульс включения формируется в момент подачи напряжения на вход IN и заряда емкости C через D1 и D2. По окончании заряда напряжение на реле отсутствует. Отрицательный импульс отключения формируется в момент снятия сигнала IN - транзистор открывается и емкость C через него разряжается. 

Я эту схему испытал и адаптировал под свои нужды. Роль сигнала IN и диода D1 теперь выполняет ключ на полевом транзисторе. В моем случае нагрузка получается довольно низкой - порядка 40 Ом, и для надежного включения всех реле пришлось поставить довольно ощутимую емкость 2000 мкФ.

1007084806_Mute.thumb.png.54609e6a8edf95f6188fbf2efd6a6948.png

В качестве интерфейса связи с компьютером в схеме имеется микросхема CH340G, представляющую собой микросхему, реализующую COM-порт через интерфейс USB. Со стороны микроконтроллера у нее обычный UART. Для гальванической развязки применена микросхема ADuM1201 - это двунаправленный приемопередатчик, входы и выходы которого изолированы друг от друга. Диодная сборка USB6B1 служит для защиты CH340G от статического напряжения с разъема USB.

1973553900_USB-UART.png.083e1d00e3257ed1a2e75ce7c12db816.png

В микроконтроллер загружен бутлоадер, и, благодаря ему, кроме общения с компьютером через интерфейс USB также производится и обновление программного обеспечения. 
ПО для управления с ПК в процессе написания...

Конструкция панелей

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

IMG_1161.thumb.JPG.3e35089e2f29c4987cef93070442d2f2.JPG  IMG_1162.thumb.JPG.2103e2d8a01b19a5148299f2b4bb32c8.JPG

Лицевая панель - алюминиевая с затемненным оргстеклом и гравировкой.

IMG_1163_1.thumb.jpg.9372002a9402db38f1317a7ebf289a34.jpg

Измерения

В одном из пунктов ТЗ было требование к нелинейным искажениям. Привожу графики замеров:

279660884_.thumb.png.5625e5289c1f537919caeac4b7872b49.png

Итоговое исполнение

В итоге получилось очень удобное, функциональное и красивое устройство. Я доволен проделанной работой :) 

IMG_1186.thumb.JPG.c10ffffe3f02013323d16d671f63d2b8.JPG  IMG_1189.thumb.JPG.7370dda0f2156197bfdd86ac753051b5.JPG

Немного фото реальных плат:

IMG_1146.thumb.JPG.d4e4cdf179ef70befb6fb00c6ee3c230.JPG  IMG_1147.thumb.JPG.3867e5d592f056f662ec91c7bed0d424.JPG  IMG_1177.thumb.JPG.f7bc66ed026a7f23be0f30775cdd0637.JPG  IMG_1150.thumb.JPG.c1966aef740dda5b8a4d0b2e001c50b1.JPG  IMG_1151.thumb.JPG.dd647adc73180e70b4f0ef6df071f51b.JPG  IMG_1148.thumb.JPG.6a7a2d5b55b43577f40027172be06a89.JPG

IMG_1153.thumb.JPG.09cafffdf7e7a7fdbdae1f4aeff63efa.JPG  IMG_1155.thumb.JPG.83079fced9ab07a7d071be978a8d6fda.JPG  IMG_1156.thumb.JPG.ac13ce70b16de64b6b5fe5b40e2b0e91.JPG  IMG_1157.thumb.JPG.61e644c7e06722aed1461e29227030b0.JPG  IMG_1160.thumb.JPG.bf7c1bb9fa1f28ea7f5917e747aeccc4.JPG  IMG_1158.thumb.JPG.b77fd69acba38d7a85500846bd5faf37.JPG    

Краткий обзор функционала

 

9 Комментариев


Рекомендуемые комментарии

Мне тоже понравилось.:clapping:

В продаже готовое будет? В чёрном цвете.

Сроки не горят, но осенью уже хотелось бы приобрести. 

Ссылка на комментарий

@HAKAS Продажей заниматься не думал. С корпусом проблемно - тот готовый, который я применил, уже нигде не купить, придется что-то на заказ изобретать. С панелями тоже трудно, особенно с черными. Платы, чертежи предоставить - не проблема.

Ссылка на комментарий

Ясно.

На Али купить какой.
Приобрету собранное устройство. Подробности можно в ЛС.

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

Ссылка на комментарий

Замётано.
Соберёшься - конкретный корпус можно обсудить предварительно. И разъёмчики RCA получше что-то хотелось бы.
Мы за ценой не постоим.

Даааа...

Земля ЮСБ, надеюсь, не связана с землёй аудио...

Ссылка на комментарий
20 minutes ago, HAKAS said:

Земля ЮСБ, надеюсь, не связана с землёй аудио...

Нет. Я же развязку для этого и городил. Между землями только стоит высокоомный резистор для выравнивания потенциалов.

Ссылка на комментарий

43см подойдёт.

Про землю ясно.

Можно и на 8-12 входов-выходов тогда уж, если 43см шириной...

Начать тогда с панели, как первый - как 12 шт. индикаторов с кнопками встанут :D

Ссылка на комментарий

144 реле это будет сильно :) Да и размеры платы будут не гуманными.

И на индикаторе в одном знакоместе только одну циферку можно нарисовать.

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Добавить комментарий...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...