Jump to content

aitras

Moderators
  • Content Count

    3579
  • Joined

  • Last visited

  • Days Won

    13

aitras last won the day on April 17

aitras had the most liked content!

Community Reputation

1707 Очень хороший

11 Followers

About aitras

  • Rank
    Старожил
  • Birthday 06/10/1990

Информация

  • Пол
    Мужчина
  • Интересы
    Музыка, электроника
  • Город
    Ульяновск

Электроника

  • Стаж в электронике
    6-10 лет
  • Сфера радиоэлектроники
    Аудио
  • Оборудование
    Осциллограф Актаком АСК-5065, мультиметры DT9205, DT838, паяльная станция Lukey 852D+FAN, паяльник Goot PX-201

Recent Profile Visitors

39586 profile views
  1. Болтанка есть всегда - даже на картинке выше. Синус это синус, на нем и надо смотреть "спектральную чистоту". А на прямоугольнике на выходе ЦАПа можно лишь оценить АЧХ аналоговой части. Чем больше и ближе к звуковому диапазону она задавлена на ВЧ, тем сначала больше будет осцилляций после фронтов прямоугольника, а потом он совсем превратится в подобие синуса. Колебания на меандре не говорят о том, что в спектре срач. Они говорят о том, что в спектре не хватает гармоник для формирования нормального прямоугольника.
  2. Истинного прямоугольника из ЦАП никогда не получится в силу особенностей ЦОС, а в частности восстановления сигнала.
  3. 144 реле это будет сильно Да и размеры платы будут не гуманными. И на индикаторе в одном знакоместе только одну циферку можно нарисовать.
  4. Нет. Я же развязку для этого и городил. Между землями только стоит высокоомный резистор для выравнивания потенциалов.
  5. @HAKAS Продажей заниматься не думал. С корпусом проблемно - тот готовый, который я применил, уже нигде не купить, придется что-то на заказ изобретать. С панелями тоже трудно, особенно с черными. Платы, чертежи предоставить - не проблема.
  6. Почти ровно два года назад я писал о своем проекте аудио коммутатора, который в базовом виде умел коммутировать стерео аудиосигнал с одного из четырех входов на один из четырех выходов и благодаря примитивности аудиотракта умел перестраивать количество входов/выходов. Такой коммутатор довольно удобен и дешев, но до настоящего коммутатора ему не хватало возможности копировать (размножать) сигнал на несколько выходов. В текущем виде добавить такой функционал не представлялось возможности, поэтому я начал продумывать вариант матричного коммутатора, чтобы собрать его в том же корпусе. Техническое задание К коммутатору я предъявил следующие требования: 1. Должен иметь релейную матрицу коммутации 6 на 6 (количество разъемов ограничено размерами старого корпуса). 2. Должен уметь подключать любой свой вход к любому количеству своих выходов. 3. Должен уметь приглушать любой из своих выходов, а также все выходы разом. 4. Должен иметь несколько фиксированных настроек (пресетов) для возможности быстрого выбора. 5. Должен иметь удобный интерфейс управления и понятную индикацию. 6. Должен вносить минимальное количество искажений в коммутируемый сигнал. 7. Должен иметь гальванически развязанный интерфейс связи с компьютером для обновления ПО и управления. Задавшись такими требованиями, я, как обычно, начал с проработки передней панели, т.к. именно ее дизайн будет определять количество органов управления и индикации, а также в целом принципы управления устройством. Дисплей В прошлом варианте я применял дисплей HCMS-2915, но сразу стало ясно, что в этот раз его применить не получится, т.к. из-за размера и количества знакомест его информативность будет невысокой. Конечно, можно было бы поставить их штуки 4, в два ряда (благо есть в наличии), но этот вариант тоже мне показался не особо удачным. Хотя, оглядываясь назад, такой двухстрочный дисплей тоже позволил бы все нужное уместить, правда выглядел бы все равно менее информативно. Кроме того, такой дисплей стоит неадекватных (на мой взгляд) денег (порядка 1500..2000 р), что снижает вероятность повторения моего устройства кем-либо еще. Значит нужно искать более доступные варианты дисплеев. Я как обычно хотел прикрыть дисплей затемненным стеклышком, поэтому ЖК-дисплеи мне не подходили из-за своей недостаточной яркости. Поэтому решил обратить внимание на рынок OLED-дисплеев, которые ранее нигде не применял. Купив на пробу несколько штук и поэкспериментировав, я пришел к выводу, что самые дешевые варианты мне не подходят из-за своих небольших размеров, а более крупные варианты, конечно, имеют достаточно места, но все равно получаются довольно дорогими. Также их яркость уступает светодиодным дисплеям, и на статичных картинках они подвержены выгоранию. Выбросив из головы желание отображать графику и имена входов/выходов на дисплее, я принял решение построить "кастомный" дисплей на основе простых и доступных светодиодных индикаторах. Возник вопрос о том, как показать нужную мне информацию на семисегментных индикаторах, да так, чтобы это было понятно. Примерно в данный момент к проработке дизайна подключился мой товарищ, заинтересовавшись проектом, и мы совместно с ним пришли к такому варианту: Здесь применены 6 (по количеству выходов) семисегментных зеленых индикаторов с высотой символа 0,36 дюйма (9,1 мм), которые символизируют каждый имеющийся выход. Они отображают номер подключенного к ним входа. Прочерк означает, что никакого входа не подключено. Под каждым выходом стоит красный 2 мм светодиод, отображающий режим Mute для выходов. Также по просьбе товарища я в коде программы реализовал возможность отображать состояние устройства на стандартной светодиодной матрице 8 на 8 точек. Выглядеть будет так: Органы управления В прошлой версии у меня было всего 2 кнопки - для циклического изменения входа и выхода. Но в данном варианте такой вариант не подходит - для удобного ввода нужна полноценная цифровая клавиатура. Также нужно было проработать несколько сценариев использования, таких как: 1. Выбор входа для выхода/выходов. 2. Включение mute для выхода/выходов. 3. Выбор и сохранение фиксированных настроек. Кроме того, число кнопок должно быть минимальным и достаточным для удобного управления коммутатором. Мы остановились на вот такой клавиатуре: Слева находится блок кнопок для выбора подключения входов к выходам. Слева - блок фиксированных настроек (для товарища предусмотрел еще 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, сетевой разъем. Таким образом я пришел к такому дизайну. Здесь показано два варианта - в светлом и темном исполнении: Было принято решение сделать четыре платы - основную, плату дисплея, плату клавиатуры и блок питания. Плата дисплея На плате дисплея кроме самого дисплея расположены также кнопка включения, индикатор дежурного режима и фотодиод. Размеры платы 35 на 100 мм. Схема довольно простая. Индикация дисплея динамическая, поэтому применены всего два регистра - 74HC595 для управления сегментами и его мощный аналог с выходами с открытым стоком STPIC6C595 для управления разрядами. Регистры соединены каскадно, а их входы управления выведены на разъем и c микроконтроллером связаны по SPI. Светодиод, фотодиод и кнопка POWER выведены в разъем напрямую. Погашенные участки схемы относятся к вышеупомянутой светодиодной матрице и на данной плате не реализованы. Плата клавиатуры Плата клавиатуры по устройству еще проще. Количество кнопок 14, поэтому для экономии выводов микроконтроллера, кнопки объединены в матрицу. Размеры платы 35 на 100 мм. Схема матрицы тривиальна - имеет 4 строки и 4 столбца. Линии столбцов выставлены в лог. 1 и циклически сканируются логическим нулем. После каждой смены столбца опрашиваются линии строк. Таким образом обнаруживаются нажатые кнопки. Интересно, что в коде программы для корректной работы клавиатуры пришлось добавить задержку в минимум 10 пустых тактов сразу после подачи сканирующего логического нуля. Вероятно это связано с ненулевым временем установления сигнала на линии. Диоды служат для защиты сканирующих портов в случае, если будут нажаты две кнопки в одной строке. Неактивный участок - неразведенные две дополнительные кнопки пресетов. Блок питания Блок питания должен формировать три напряжения: +5В для питания цифровой части устройства, и двухполярное напряжение +/-12В для питания аналоговой части. Специально для этого был заказан трансформатор с необходимыми обмотками на базе ТП-331. Справа и слева от трансформатора в плате сделаны сужения и оставлены контактные площадки для возможности установить экран, если потребуется. Размеры платы 100 на 37 мм. Кроме типовых схем стабилизаторов на 7805 для цифрового питания и малошумящей пары 4901/3001 серии TPS7A для аналогового питания здесь реализована схема слежения за наличием сетевого напряжения на транзисторе VT1. Если сетевое напряжение на входах ACL и ACN присутствует, на выходе AC_GOOD имеются прямоугольные импульсы частотой 100 Гц. При пропадании напряжения, импульсы пропадают, что отслеживает микроконтроллер и принудительно через отдельный блок реле (о чем пойдет речь далее) включает MUTE всех выходов. Это сделано для устранения щелчков в подключенных оконечных устройствах при включении и выключении питания коммутатора. Конечно, при пропадании сетевого напряжения пропадает и питание +5В, но МК сохраняет работоспособность до 2,7В и на остатке заряда в емкостях выпрямителя успевает обнаружить пропадание импульсов и выполнить необходимые действия, прежде чем схема Brown-Out его отключит. Стабилизаторы серии TPS7A имеют входы, позволяющие их отключать. Здесь они задействованы с целью отключении аналоговой части коммутатора в дежурном режиме. Основная плата Основная плата содержит в себе всю аналоговую часть, микроконтроллер с обвязкой и матрицу реле. Размеры платы 89 на 187 мм. Общая принципиальная схема показана ниже. Каждый аудиовход имеет повторитель на операционном усилителе для обеспечения возможности работы на несколько выходов. На входе каждого повторителя установлен разделительный конденсатор и фильтр радиочастотных помех. Далее сигнал подается на матрицу реле. Управление матрицей осуществляется каскадно соединенными сдвиговыми регистрами 74HC595. Реле разбиты по группам и к каждому регистру подключено по 6 реле, один конец которых у них общий и также заведен на регистр. Таким образом, имеется возможность подавать разнополярные импульсы на каждое реле в пределах каждой группы. Токовых возможностей выходов регистра хватает, т.к. реле применены бистабильные и потребляют ток только при переключении. Правда обновление сразу 6 реле на своих выходах регистр все равно не тянет, поэтому в программе включение и отключение реле в группе происходит не разом, а в цикле по одному. После матрицы на каждом выходе стоит также по повторителю, разделительному конденсатору и защитному резистору. Далее сигнал перед подачей на выходные разъемы попадает на еще одну группу из 6 реле, которые выполняют функцию отключения оконечных устройств в дежурном режиме и при нештатных ситуациях. Они включены параллельно и управляются одним сигналом. Так как эти реле также применены бистабильные, для их включения и отключения нужно было сформировать биполярный импульсный сигнал из одного управляющего униполярного сигнала из микроконтроллера (банально закончились доступные порты). Для этого у OMRON была найдена следующая схема: Здесь импульс включения формируется в момент подачи напряжения на вход IN и заряда емкости C через D1 и D2. По окончании заряда напряжение на реле отсутствует. Отрицательный импульс отключения формируется в момент снятия сигнала IN - транзистор открывается и емкость C через него разряжается. Я эту схему испытал и адаптировал под свои нужды. Роль сигнала IN и диода D1 теперь выполняет ключ на полевом транзисторе. В моем случае нагрузка получается довольно низкой - порядка 40 Ом, и для надежного включения всех реле пришлось поставить довольно ощутимую емкость 2000 мкФ. В качестве интерфейса связи с компьютером в схеме имеется микросхема CH340G, представляющую собой микросхему, реализующую COM-порт через интерфейс USB. Со стороны микроконтроллера у нее обычный UART. Для гальванической развязки применена микросхема ADuM1201 - это двунаправленный приемопередатчик, входы и выходы которого изолированы друг от друга. Диодная сборка USB6B1 служит для защиты CH340G от статического напряжения с разъема USB. В микроконтроллер загружен бутлоадер, и, благодаря ему, кроме общения с компьютером через интерфейс USB также производится и обновление программного обеспечения. ПО для управления с ПК в процессе написания... Конструкция панелей Переднюю и заднюю панели заказал из текстолита - два слоя, склеенные между собой. На внутренней стороне медный полигон для экранировки. Получилось на мой взгляд очень неплохо. Лицевая панель - алюминиевая с затемненным оргстеклом и гравировкой. Измерения В одном из пунктов ТЗ было требование к нелинейным искажениям. Привожу графики замеров: Итоговое исполнение В итоге получилось очень удобное, функциональное и красивое устройство. Я доволен проделанной работой Немного фото реальных плат: Краткий обзор функционала
  7. Там эффект Гиббса тоже заметен. Просто либо частота дискретизации выше была, либо частота сигнала ниже. Поэтому почти не видно.
  8. Нарисуйте замкнутый контур нужной формы. Выделите его и дальше:
  9. Поселил ЦАП "Mercury" на PCM1796 в корпус. Подробное описание в блоге
  10. Так вышло, что мой ЦАП "Mercury" жил все это время в виде макета на фанерке. Было много разных мыслей по поводу корпуса.. и за этими мыслями прошли годы В этом году я присмотрел один китайский корпус и принял решение купить его и поселить ЦАП туда. Искал именно с отверстиями, так как ЦАП во время работы довольно горяч: Качество изготовления очень неплохое, все детали хорошо подогнаны друг к другу. Очень легко и удобно разбирается. Далее я начал прорабатывать компоновку и думать о том, как управлять ЦАПом - то есть что будет на передней панели. Вот так я решил расположить имеющиеся платы, слева за трансформаторами ЦАПа решил поставить сетевой фильтр, который давно лежал без дела: Включать ЦАП мне хотелось простой тактильной кнопкой, поэтому необходимо было сделать систему дежурного питания и поставить микроконтроллер. Также, т.к. звуковой интерфейс в виде Combo384 имеет выходы, сигнализирующие о текущей частоте дискретизации, я решил их использовать и вывести информацию о частоте на световой индикатор. Для этих целей был взят имеющийся у меня HCMS-2915. Определившись с элементами передней и задней панелей я принялся за проработку их дизайна. Если с задней панелью все понятно, то для передней было придумано несколько вариантов и утвердил я такую версию: Теперь можно было приступить к разработке печатной платы передней панели, где должны находиться трансформатор дежурного питания, реле, подающее питание на ЦАП и микроконтроллер с дисплеем, светодиодом и кнопкой. Посидев пару вечеров, разработал такую плату: Попутно разработал адаптер для разъема Combo384, т.к. нужно было вывести сигналы частоты дискретизации: Заказал фрезеровку панелей, оргстекла и нанесение маркировки. Попутно пришлось напечатать пару деталей крепления платы. Узел передней панели в сборе и процесс сборки: Конечный результат того, что получилось, можно увидеть на фото: В дежурном режиме: В режиме воспроизведения: Без подключения к компьютеру: Задняя сторона: Вид сверху: Индикатор вблизи: Надписи: Кажется, я таки поставил точку с этим ЦАПом
  11. @BARS_ не пропущена, у него маска уже инвертирована.
  12. А в эти дырочки ножки деталей точно пролезут?
×
×
  • Create New...