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

aitras

Moderators
  • Постов

    3 694
  • Зарегистрирован

  • Посещение

  • Победитель дней

    13

Записи блога, опубликованные aitras

  1. aitras
    Для сборки НЧ генератора синуса и меандра потребовалась мне резистивная оптопара (АОР124). В магазинах не нашел, поэтому заказал десяток фоторезисторов GL5549 и купил в местном магазине белые яркие светодиоды - решил "сколхозить" оптопару.
    Для трубки, в противоположные концы которой будут вставлены светодиод и фоторезистор, я взял корпус от старого конденсатора БМТ-2, спилив его торцы.

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

    Немного обжал концы трубки пассатижами, одел в термоусадку и промаркировал. Оптопара готова!

  2. aitras
    3D-модели RCA-разъемов фирмы Dragon City Industries Limited серии RS-x07.

    Представлены модели RS-207, RS-407, RS-607. Хотя в интернете реально найти их с буквами RCA, а не RS.
    Внутри каждой модели имеется различная расцветка.

    Если какой-то расцветки не хватает, пишите, сделаю.
    Скачать
  3. aitras
    Собрал другую версию платы дежурного режима для своего усилителя. Небольшой отчет.
    Старая версия платы дежурного режима построена на таймере 555. И то ли я ее не до конца отладил, то ли она сама по себе так работает, но у нее есть пара недостатков. Иногда выключение усилителя срабатывает не с первого раза, и включение Raspberry Pi в сеть включает усилитель  Похоже, пролазит помеха.
    Выбрал новую схему на триггерах.

    На тех же габаритах платы (60 на 45 мм) удалось все уместить. Причем добавил простейший софтстарт - термистор в цепи контактов реле, т.к. в момент включения происходит зарядка конденсаторов усилителя довольно большим током. Все бы ничего - свет во время включения не мигает, но этот ток идет через контакты реле этой платы, что не есть хорошо.
      
    Резисторы R6..R9 ставятся в случае если напряжение с трансформатора великовато для работы схемы. В моем случае ТПГ-2 на 15В давал после выпрямления 27В без нагрузки и 17В с нагрузкой, поэтому я в итоге поставил просто перемычку.
    На это место можно, думаю, поставить какую-нибудь ферритовую бусину для лучшей помехозащищенности.
      
      
    Как всегда не обошлось без недоразумений. В схеме есть два диода, решил поставить отечественные КД521А, выпаянные откуда-то сто лет назад. Посмотрел цоколевку в интернете и впаял. Ничего не работало, ключевой транзистор быстро нагревался, т.к. на нем падало 11 с небольшим вольт. А это возможно только в случае, когда у защитного диода перепутана полярность. Оказалось, что так и есть - широкой полосой все-таки маркируется катод, а не анод как я вычитал на сайте 5v.ru, что и подтвердил транзистор-тестер. Либо это не КД521 
    В работе плата показала себя с самой лучшей стороны. Указанных выше недостатков у нее нет. Рекомендую к повторению.
    Плату желательно поставить на пластиковые стойки и винты, т.к. при трассировке пришлось дорожки 220В сдвинуть близко к крепежным отверстиям.
    На плате есть вырезы, отделяющие высоковольтные участки схемы друг от друга и от низковольтных. Поэтому повторять плату лучше с ними, во избежание различных эксцессов в будущем. 
    Скачать печатную плату
  4. aitras
    В марте, накануне перехода России в дистанционный формат жизни, я купил себе китайский микрофон BM-800. Вот такой:

    Микрофон как микрофон, звезд с неба не хватает. Но тут началась самоизоляция, у меня появилось N-ное количество времени и мысль - а не доработать ли мне это чудо китайской копировальной мысли?
    Разобрав его, увидел интересную плату, на которой был ОУ с несколькими резисторами вокруг, но что самое интересное - судя по дорожкам, этот участок схемы был ни к чему не подключен! Выпаяв его, естественно ничего не изменилось. У меня это ОУ 4558, а в интернете видел и вариант с полевиком  

    Общая доработка
    Порыскав в интернете, нашел один вариант доработки:

    А так как я ленивый, то ограничился все лишь верхней схемой:
      
    Результат меня обрадовал:
    Оригинальная схема: test_orig.wav
    Доработанный вариант: test_mod.wav   test_mod_close.wav
    Доработка АЧХ
    Можно было бы остановиться на этой схеме, но я обратил внимание, что в звуке присутствует неприятный коробочный призвук. Если задавить частоту 400-500 Гц, то он пропадает. Следовательно, надо добавить в микрофон простой режекторный фильтр на частоту 450 Гц. Посидев пару вечеров с симулятором, родил такую схему:

    Здесь C1-C2-R2-R3-C5 образуют фильтр. АЧХ такой схемы имеет следующий вид:

    Провал на частоте 450 Гц аж на 7 дБ - то есть именно то, что и было нужно. Внедряя этот фильтр, я попутно поднял питание схемы до 18В, заменив стабилитрон и привел фазоинверсный каскад в привычный вид, выкинув из него пару деталей. Результаты ниже:
    Без доработки АЧХ: mod.wav
    С фильтром и повышенным питанием: mod-notch-filter-and-18V.wav
    Можно отметить ощутимое изменение в звуке в лучшую сторону, коробочный призвук пропал.
    Глубину провала внедренного фильтра можно эффективно регулировать одновременным изменением номиналов резисторов R2-R3:

    А убрать завал на НЧ можно увеличением номинала С5 до 1 мкФ.
    Окончательный вариант схемы и платы
    А далее я захотел оформить все это на нормальной плате, ибо вот такое ну никуда не годится  (слабонервные, зажмурьтесь) 

    Найти NP0 керамику типоразмера 0603 на такие номиналы оказалось сложным, поэтому развел плату с возможностью установки конденсаторов в цепи звука как пленочных, так и SMD 0603. В самом дешевом варианте можно поставить X7R, но у нее от напряжения ощутимо меняется емкость. Питание по совету уважаемого @Falconist сделал с применением TL431, что гораздо лучше в плане шума, чем стабилитрон. Итоговая схема:

    Плату захотелось сделать белой  Края на стороне, которая прилегает к корпусу, открыл от маски для лучшего контакта:
        

    Заказал в Китае все необходимые детали, в том числе и транзистор 2SK596S-B т.к. нужно было проверить повторяемость на других деталях. Приехали с другой маркировкой (см. рис, слева оригинальный). Эксперименты с ним показали, что он имеет меньшее усиление и сильнее шумит. На транзистор-тестере он (впрочем как и "родной") определяется как биполярный с диодом... шта?.. но можно было заметить, что у них относительно друг друга разный hFE - у оригинального он 106, у купленных - 60-70.
       
    Меняем транзистор
    Поэтому было принято решение ставить что-то другое. Одновременно со всеми деталями я заказывал на пробу 2SK170, а также в загашниках нашелся один захудалый КП303И. Эксперименты показали, что оба варианта имеют право на существование в рамках данной схемы, хоть оба и дают меньшее усиление и субъективно поменьше НЧ. Остановился на 2SK170, заменив R4 на 4,7 кОм и С5 на 1 мкФ. Также поставил навесом с затвора на "землю" высокоомный резистор 20 МОм (в транзистор 2SK596S такой уже встроен с диодом в параллель - кстати, может из-за этого он определяется как биполярный). 
    Итоговый вид смонтированной платы:
       
    Результат
    Финальный вариант звука: fin_mod.wav
    На близком расстоянии: fin_mod_close.wav
    По итогу могу сказать, что проделанной работой я доволен. Из схемы можно выбросить и фазорасщепляющий каскад, тогда получится "улучшенная схема" с рисунка в начале статьи. Такой эксперимент я проводил. Но тогда некуда будет приткнуть режекторный фильтр. Либо придется ставить их два. 
    UPD: В комментариях отметили, что выявленный резонанс можно попробовать убрать демпфированием корпуса микрофона. Поэтому при желании данный фильтр из схемы можно исключить, сделав АЧХ линейной - нужно вместо R7 поставить перемычку, а C6 C7 R8 убрать. Это, кстати, отмечено и на самой плате.
  5. aitras
    Так вышло, что мой ЦАП "Mercury" жил все это время в виде макета на фанерке. Было много разных мыслей по поводу корпуса.. и за этими мыслями прошли годы  В этом году я присмотрел один китайский корпус и принял решение купить его и поселить ЦАП туда. Искал именно с отверстиями, так как ЦАП во время работы довольно горяч:
       
    Качество изготовления очень неплохое, все детали хорошо подогнаны друг к другу. Очень легко и удобно разбирается.
    Далее я начал прорабатывать компоновку и думать о том, как управлять ЦАПом - то есть что будет на передней панели. Вот так я решил расположить имеющиеся платы, слева за трансформаторами ЦАПа решил поставить сетевой фильтр, который давно лежал без дела:

    Включать ЦАП мне хотелось простой тактильной кнопкой, поэтому необходимо было сделать систему дежурного питания и поставить микроконтроллер. Также, т.к. звуковой интерфейс в виде Combo384 имеет выходы, сигнализирующие о текущей частоте дискретизации, я решил их использовать и вывести информацию о частоте на световой индикатор. Для этих целей был взят имеющийся у меня HCMS-2915.
    Определившись с элементами передней и задней панелей я принялся за проработку их дизайна. Если с задней панелью все понятно, то для передней было придумано несколько вариантов и утвердил я такую версию:

    Теперь можно было приступить к разработке печатной платы передней панели, где должны находиться трансформатор дежурного питания, реле, подающее питание на ЦАП и микроконтроллер с дисплеем, светодиодом и кнопкой.
    Посидев пару вечеров, разработал такую плату:
      
    Попутно разработал адаптер для разъема Combo384, т.к. нужно было вывести сигналы частоты дискретизации:
      
    Заказал фрезеровку панелей, оргстекла и нанесение маркировки. Попутно пришлось напечатать пару деталей крепления платы. Узел передней панели в сборе и процесс сборки:
     
    Конечный результат того, что получилось, можно увидеть на фото:
         
    В дежурном режиме:

    В режиме воспроизведения:

    Без подключения к компьютеру:

    Задняя сторона:

    Вид сверху:

    Индикатор вблизи:

    Надписи:

    Кажется, я таки поставил точку с этим ЦАПом  
  6. aitras
    В данной статье хочу описать порядок вывода файлов платы из Altium Designer (далее AD) для заводского изготовления.
    Теория
    При выводе  необходимых для изготовления платы файлов из любого CAD для создания печатных плат для избегания недопонимания между заказчиком и производителем, а также ошибок на производстве необходимо использовать стандартные форматы представления информации. По сути, необходимы файлы управления фотоплоттером для изготовления комплекта фотошаблонов, а также файлы управления сверлильным станком для сверловки всех необходимых на плате отверстий. Во всем мире, в том числе в России и странах СНГ, такими стандартами де-факто являются языки управления фотоплоттером компании Gerber Scientific (далее – формат Gerber) и сверлильным оборудованием компании Excellon Automation Company.
    Gerber-файл по своей сути представляет текстовое описание последовательности команд, направленных на прорисовку различных элементов топологии (контактных площадок, переходных отверстий, линий, дуг, текстовых надписей) с помощью графопостроителя. Фактически данные в формате Gerber представляют собой программный код, управляющий выбором инструмента рисования, перемещением его в точку с заданными координатами и выполнением самой операции рисования. При изготовлении фотошаблонов производится рисование на светочувствительной плёнке световым пятном заданной формы – апертурой.
    Excellon – файловый формат, представляющий собой описание данных о диаметрах и координатах отверстий на печатной плате в виде текста.
    То есть, говоря простым языком, Gerber-файлы описывают рисунок слоев платы, что необходимо для изготовления фотошаблонов, а Excellon содержит всю информацию по отверстиям – координаты, диаметры, наличие металлизации. 
    Подготовка платы
    Прежде чем создавать какие-то файлы, нужно провести некоторую подготовительную работу. Как именно это сделать, я уже писал в соответствующей теме на форуме, поэтому здесь кратко перечислю необходимые действия.
    Диаметры всех отверстий должны соответствовать диаметрам выводов компонентов, устанавливаемых в эти отверстия. Диаметры отверстий необходимо брать на 0,2..0,3 мм больше диаметра вывода, если отверстие неметаллизированное, и на 0,3..0,5 мм, если с металлизацией. Подробнее об этом написано в стандарте РД 50-708 от 1991 года. Для прямоугольного вывода прибавка идет к самой широкой части вывода – диагонали прямоугольника. Кроме всего прочего желательно учитывать стандартный ряд диаметров сверл (подробнее в ГОСТ 885-77). Также, если используются два и более медных слоев, нужно не забыть о включении металлизации у необходимых отверстий (для AD - галочка Plated в свойствах отверстия). По возможности, необходимо свести количество используемых диаметров к минимуму. Например, если на плате присутствуют отверстия с диаметрами 0,7 мм и 0,8 мм, то совершенно безболезненно отверстия диаметром 0,7 мм можно увеличить до 0,8 мм (конечно же, контролируя при этом гарантийные пояски). Обязательно необходимо нарисовать контур платы в любом механическом слое. Он будет использоваться для фрезеровки (или скрайбирования) платы. Также либо в отдельном, либо в том же слое контура (зависит от требований изготовителя) рисуются контуры всех необходимых внутренних вырезов платы. Ширина линий не критична – фреза пройдет вдоль центра нарисованной Вами линии. По необходимости открыть от маски нужные для пайки участки и закрыть ненужные. Например, можно закрыть маской переходные отверстия, либо открыть силовые дорожки для их последующего усиления по максимальному току.
    Чтобы в AD закрыть переходные отверстия маской, нужно зайти в свойства переходного отверстия и отметить галочками пункты "Force complete tenting on top/bottom". Данную операцию удобно делать на панели PCB Inspector (вызывается по F11), выбрав предварительно все переходные отверстия при помощи функции "Find similar objects".
    Чтобы в AD открыть необходимый участок платы от маски, следует изобразить его в слоях паяльной маски Top/Bottom Solder. Слой инверсный, поэтому по умолчанию вся плата закрыта маской, а нужные участки открываются по необходимости. Обязательно провести DRC-контроль платы, введя в качестве проверяемых параметров технологические ограничения конкретного производства. Если правила будут нарушены, производство будет вынуждено вернуть плату на доработку. Установить начало координат на один из углов платы (либо в любое место на ее границе). Для этого выбрать меню Edit > Origin > Set и указать место установки. Вывод Gerber-файлов
    Для вывода Gerber-файлов из AD я придерживаюсь следующего порядка действий:
    Выбрать меню File > Fabrication Outputs > Gerber Files.  На первой вкладке установить настройки формата (необходимо проконтролировать, что он поддерживается производителем) и единицы измерения. Например, Millimeters 4:4. Формат влияет на точность описания элементов платы. 4:4 означает, что будут использоваться числа с 4 знаками до и после запятой.


      На второй вкладке нужно выбрать слои для экспорта - слои топологии платы Top/Bottom Layer, слои маски Top/Bottom Solder, слои маркировки Top/Bottom Overlay и слой контура, который у меня назван Board Outline. Обратите внимание, что ни один слой зеркалить не требуется!
    Настройки остальных вкладок можно оставить как есть. 


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



    Но для отправки на завод необходимы только непосредственно Gerber-файлы, которые я выделил красной заливкой. Также AD сразу создаст Cam-файл и загрузит в него созданные Gerber-файлы. Можно сразу визуально проверить их на корректность. После проверки файл можно закрыть, а при желании - сохранить. Вывод файлов сверловки
    Порядок вывода файлов сверловки из AD следующий:
    Выбрать меню File > Fabrication Outputs > NC Drill Files. В открывшемся окне выставить следующие настройки:



    Формат нужно выбрать точно такой же, какой выбирался при экспорте Gerber-файлов. При применении вытянутых отверстий на плате нужно включить опцию слотового сверления - галочка "Use drilled slot command". Опция Generate separate "NC Drill files for plated & non-plated holes", как понятно из ее названия, позволяет разделить информацию по металлизированным и неметаллизированным отверстиям по разным файлам. После выполнения всех указанных действий Вы будете иметь весь набор необходимых для производства файлов.
    Файл настроек - Output Job File
    В случае, если работа идет не с отдельным файлом платы, а с проектом печатной платы, то разумнее будет создать OutJob-файл с настройками для вывода всех файлов в один клик.
    Для его создания нужно открыть проект и выбрать меню File > New > Output Job File. Создастся и откроется специальный файл, где нужно в разделе Fabrication Outputs добавить (по примеру на рисунке ниже) две настройки - одну для Gerber-файлов, вторую - для файлов сверловки. После чего вызвать их контекстное меню, где выбрать пункт Configure и настроить параметры экспорта. Откроются окна, аналогичные тем, что приведены выше.


      Далее нужно в правой части окна создать "контейнер", куда будут помещены создаваемые файлы. В нашем случае это будет каталог - New Folder Structure:


      После этого, отмечая пустые кружки рядом с созданными настройками, можно связать их с созданным "контейнером":



    Нажав кнопку Change "контейнера", можно более подробно настроить папку для вывода файлов. Теперь, когда нужно будет экспортировать файлы, можно будет открыть этот Job-файл и нажать кнопку Generate Content на "контейнере" и все файлы, связанные с ним, будут созданы автоматически. Если же выбрать меню Tools > Run (F9), то будут созданы вообще все файлы, настроенные в данном Job-файле для вывода.
    Более того, данный файл с настройками можно переносить из проекта в проект, что значительно облегчает работу. В таком случае при создании настроек в Job-файле нужно выбирать именно PCB Document, а не документ платы с конкретным именем (в моем примере это был файл DAC02.MERCURY.MB.PcbDoc).
  7. aitras
    Одноламповый предусилитель по схеме "Tomato". Самый простой гитарный ламповый преамп.
    Схема:

    Прототип:
     
    Далее друг подогнал мне корпус Gainta G0473, куда я решил поселить свой преамп.
    Плата:

    Сборка:





    Итог:
     
    О звуке:
    Собственно, чистого звука как такового у преампа нет. Даже на минимальном гейне слышно, что высокие частоты подгружаются - как перекомпрессированный звук слушается. Ну а на максимальном гейне очень даже неплохо. "Брызгается" только звук. В целом, мне нравится.
    Анодное - 120В. Лампу поставил 6Н2П.
    Форма синуса на максимальном гейне:

    Приложил корявые семплы  Я не Петруччи и играю через Guitar Rig, но понять, что именно преамп делает со звуком, можно.
    Tomato Preamp (clean neck & bridge).zip - чистый звук (усилитель в Guitar Rig в режиме чистого канала): без преампа, после щелчка включаю преамп. Потом прибавляю гейн. Нековый сингл. В середине ритмической партии прибрал тон на гитаре. В конце AC/DC на бриджевом.
    Tomato Preamp (drive bridge - min & max gain).zip - перегруженный звук (включаю перегруз усилителя в Guitar Rig): тоже без преампа, после щелчка с преампом. Сначала на минимуме гейна преампа, потом прибавил на максимум. Бриджевый хамбакер.
    Tomato Preamp (drive max gain neck & bridge).zip - перегруженный звук (перегруз усилителя в Guitar Rig), преамп на макс гейне. Нековый и средний синглы, потом переключил на бриджевый хамбакер. Под конец прибрал тон на гитаре.
    Синглы на гитаре ловят "Радио России"...
    Получившемуся преду придумал название - Adjika  Ниже можно посмотреть коротенькое видео-слайдшоу под небольшую запись сделанную с использованием этого преампа.
     
  8. aitras
    Почти ровно два года назад я писал о своем проекте аудио коммутатора, который в базовом виде умел коммутировать стерео аудиосигнал с одного из четырех входов на один из четырех выходов и благодаря примитивности аудиотракта умел перестраивать количество входов/выходов. Такой коммутатор довольно удобен и дешев, но до настоящего коммутатора ему не хватало возможности копировать (размножать) сигнал на несколько выходов. В текущем виде добавить такой функционал не представлялось возможности, поэтому я начал продумывать вариант матричного коммутатора, чтобы собрать его в том же корпусе.
    Техническое задание
    К коммутатору я предъявил следующие требования:
    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 также производится и обновление программного обеспечения. 
    ПО для управления с ПК в процессе написания...
    Конструкция панелей
    Переднюю и заднюю панели заказал из текстолита - два слоя, склеенные между собой. На внутренней стороне медный полигон для экранировки. Получилось на мой взгляд очень неплохо.
      
    Лицевая панель - алюминиевая с затемненным оргстеклом и гравировкой.

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

    Итоговое исполнение
    В итоге получилось очень удобное, функциональное и красивое устройство. Я доволен проделанной работой  
      
    Немного фото реальных плат:
              
                  
    Краткий обзор функционала
     
  9. aitras
    При создании 3D-моделей в SolidWorks часто удобно использовать такую вещь как конфигурации. Это разновидности детали или сборки внутри одного файла. Если рассматривать на примере переменного резистора, то конфигурациями удобно делать модели с различными валами:

    И если создавать конфигурации в SolidWorks можно при помощи таблиц, то вот сохранение всех конфигураций в раздельные STEP-файлы нужно делать вручную, что крайне неудобно. А если потом заметишь в модели ошибку и недочет, после исправления которого нужно все снова сохранять...
    Но в SolidWorks же есть VBA! А значит можно написать макрос, который все это автоматизирует. После некоторого поиска и копания в VBA получился следующий код:
    Option Explicit     Sub main()     Dim swApp As SldWorks.SldWorks     Set swApp = Application.SldWorks     Dim swModel As SldWorks.ModelDoc2     Set swModel = swApp.ActiveDoc     Dim swConfig As SldWorks.Configuration     Set swConfig = swModel.GetActiveConfiguration     Dim fname, current As String     Dim step As Long     Dim configs As Variant          step = swApp.SetUserPreferenceIntegerValue(swStepAP, 214) 'Сохранять в формат STEP AP214     fname = swModel.GetPathName     fname = Mid(fname, 1, InStr(fname, ".") - 1) 'Записать путь к файлу с именем файла без расширения     current = swModel.GetActiveConfiguration.name 'Имя текущей конфигурация     configs = swModel.GetConfigurationNames 'В переменную записывается весь список конфигураций           Dim i As Long     For i = 0 To UBound(configs) 'Цикл по всем конфигурациям модели         swModel.ShowConfiguration2 (configs(i))         Dim name As String         name = fname + configs(i) + ".STEP"   'Путь к файлу для новой конфигурации         Call swModel.SaveAs3(name, 0, 0) 'Сохраняем как STEP открытый документ     Next i 'К следующей конфигурации     MsgBox ("Saved " + CStr(i) + " file(s)!"), vbInformation, "Done"     swModel.ShowConfiguration2 (current) 'Возвращаем документ к исходной конфигурации End Sub Работает все крайне просто, по комментариям, думаю, будет понятно. Также файл макроса прикладываю отдельно. Останется только его запустить.
    Простая версия: Скачать
    UPD 14/03/17:
    Макросу добавлен интерфейс, позволяющий:
    1. Выбирать префикс к именам создаваемых файлов и имя подпапки, создаваемой для сохранения:

    2. Наблюдать процесс сохранения с отображением процентов и списка созданных файлов:

    3. Прерывать выполнение макроса:

    Скачать
  10. aitras
    Краткий рассказ об использовании китайского дисплея на контроллере SH1122. Особенности отображения, описание функций библиотеки, демонстрация работы.
    Ссылка на библиотеку-драйвер: https://github.com/mikhail-tsaryov/SH1122-STM32-HAL-Driver
     
  11. aitras
    Наконец-то данный проект был реализован в корпусе 
      
                    
    Процесс постройки
    Устройство реализовано в китайском корпусе YGK-031 240 на 45 на 160 мм. Родная передняя панель корпуса послужила основой для крепления плат. А фальш-панель я заказывал отдельно у себя в городе.
                    
    Работа над ошибками
    В предыдущей части я делал видеообзор получившейся конструкции. Уже тогда все работало как надо, но после подробного тестирования (снял спектры) выяснилось, что неактивные выходы дают наводку 50Гц на подключенные к ним усилители. Что, в принципе, было ожидаемо. Поэтому схема релейного модуля была чуть переделана - в нее добавились нагрузочные резисторы, чтобы неактивные выходы и входы не висели в воздухе. Плюс был исправлен косяк со сбросом сдвигового регистра.

    Конфигуратор
    Долго витали мысли добавить функцию настройки имен входов. Правда их длина ограничена всего тремя символами, но лично для меня это будет удобно. Но память микроконтроллера была занята почти  полностью и какие-либо программные доработки потребовали был его замены на старшую модель ATtiny84, тут хоть корпус у них совершенно одинаков. Кроме этого, задавать имена, выбирая буквы всего тремя доступными кнопками на восьми символах дисплея, очень неудобно. Поэтому было принято решение хранить имена в энергонезависимой памяти, а прописывать их туда специальным конфигуратором. Программа конфигуратор была написана на языке C# и имеет следующий интерфейс:

    Большую часть окна занимают поля ввода имен входов и выходов. Количество активных полей зависит от заданных настроек в левой части окна (Relay modules Count, Inputs Count, Outputs Count). Задав необходимые имена, можно сохранить файл (кнопка Save) в формате HEX для загрузки в EEPROM память контроллера, выбрав перед этим используемую модель. Вся прошивка помещается в ATtiny44, но сделал на всякий случай возможность загрузить и в ATtiny84, хоть она и дороже и дефицитнее. Кнопка Defaults сбрасывает все имена и настройки на значения по умолчанию.
    С именами оно смотрится симпатичнее:

    Relay Audio Stereo Selector Configurator 1.1.exe
    Итоги
    Осталось только дождаться новой ревизии плат релейных модулей, и если не вылезет никаких других косяков, проект можно считать завершенным.
    Подводя итоги, могу сказать, что проектом я удовлетворен на 100%. В нем я реализовал все, что задумывал, и даже чуть больше. Также был получен опыт в разработке и программировании.
    В текущем виде он уже используется, а программные наработки могут послужить составной частью будущих похожих устройств. Если народу оно будет интересно, можно переделать индикацию под более "народные" виды отображения информации, т.к. HCMS-2915 довольно дефицитен.
    Все записи по этой конструкции:
     
  12. aitras
    3D-модели популярных одиночных и сдвоенных переменных резисторов фирмы ALPHA. Серии 3RP/1610N-_A1 и 3RP/1610G-_A1 соответственно, диаметр 16 мм, для монтажа в плату.
    Вал 6 мм, трех видов - зубчатый (knurled, KQ-тип), с пропилом (slotted, S-тип) и с плоским шлицем (flat, F-тип). Шайба и гайка в комплекте.
    Форма и длина вала L закодирована символом в названии резистора ..1610N-XA1..

    Чертежи:


    Подробнее по ссылкам - одиночные, сдвоенные.
    Скачать
  13. aitras
    Сидя на самоизоляции, поскреб по сусекам и собрал еще один экземпляр "ушного" усилителя Prometheus. Но в отличие от исходной схемы поставил в ООС конденсаторы 1,2 нФ как в оригинальной схеме Смита. Посмотрел спектры и очень удивился:
       
    Не помню откуда у меня там был номинал 22 пФ. Вот уж не думал, что этот элемент может влиять на сетевые гармоники. А я грешил на наводки от трансформаторов. Но и они определенно дают свой весомый вклад. 
    Напомню схему:

  14. aitras
    Долгое время хотел попробовать собрать ламповый усилитель. Для первой конструкции выбрал схему усилителя для наушников по схеме SRPP.
    В сети есть несколько схем, выполненных по подобной схемотехнике. За основу я взял вот эти две:
     
    Развел плату (на рисунке уже чуть измененная первая ревизия):

    Рисунок земляного полигона напомнил мне осьминога, отсюда и название




    Для питания приобрел трансформаторы ТАН-2.


    Звук оказался очень даже неплохим. Лампы поставил 6Н23П.
    Реакция усилителя на меандр 20 кГц следующая:

    Воспроизводимый диапазон частот получился (+0/-0,5 дБ) 6 ... 80 000 Гц
    Послушав некоторое время конструкцию в виде макета, я начал задумываться об упаковке его в хороший корпус (хотя изначально планировалось уместить все в корпус от CD-ROM):

    Но через некоторое время передумал и продал плату одному из форумчан  Решил, что для наушников такой большой усилитель нецелесообразен.
    Сейчас решил выложить все файлы в открытый доступ, думаю, кому-то будет интересно.
    Плата - SRPP HeadAmp REV. 1.1.lay6
    Внимание! В схеме присутствует высокое напряжение! Будьте аккуратны при сборке.
    3D-модель корпуса (дарю дизайн ) - SRPP HeadAmp 3D.zip
  15. aitras
    Простой селектор входов для усилителя мощности. Выполнен на микроконтроллере ATtiny13A.
    Подключение выполняется по следующей схеме:

    Естественно, что вместо светодиодов должны стоять реле.
    В 1 кбайте памяти микроконтроллера спрятан следующий функционал:
    - использование от 2-х до 4-х входов, количество которых определяется автоматически (неиспользуемые 4-й или 3-й и 4-й входы следует подтянуть к питанию через резистор 5-10 кОм);
    - переключение одной кнопкой "по кругу";
    - запоминание последнего выбранного входа;
    - задержка при включении (2 c);
    - защита от дребезга кнопки;
    - mute между переключениями каналов (0,5 c).
    При программировании следует установить фьюзы следующим образом: HIGH - 0xFF, LOW  - 0x79. То есть нужно отключить делитель частоты на 8, и выбрать источник тактирования - внутренний RC-генератор на 4,8 МГц с задержкой старта в 64 мс.
    Платы под схему нет, предполагаю, что каждый нарисует себе сам под необходимые детали.
    На видео показан макет, демонстрирующий работу селектора:
     
    Скачать файл прошивки
  16. aitras
    Известно, что стандартного выходного напряжения типовых звуковых карт или ЦАП зачастую недостаточно для работы на высокоомные наушники. Как и недостаточно выходного тока для работы на низкоомные наушники. Поэтому необходим усилитель, который усилит мощность источника сигнала, и даст возможность источнику работать на широкий диапазон сопротивления нагрузки.
    Когда-то давно я собирал усилитель для наушников по схеме Питера Смита по схеме из Everyday Practical Electronics (мартовский номер 2008 года). По звуку он мне очень понравился, и до недавнего времени я его использовал в виде макета.
     
    Со временем стало понятно, что хочется его таки собрать в нормальный корпус. Тем более у меня появились отлично звучащие ортодинамические наушники ТДС-5М (копия Yamaha YH-1), с которыми и должен работать усилитель. Но в этом варианте конструкция имела недостатки - отсутствие стабилизаторов, которые есть в оригинальной схеме, громоздкость и защита была на отдельной плате.
    Схема
    Новая схема по сравнению с макетом претерпела некоторые изменения и приняла следующий вид:

    Конструкция
    Отправной точкой для конструкции нового варианта усилителя стало желание перевести схему на SMD-компоненты, сделать максимально монолитную одноплатную конструкцию и уместить ее в китайский алюминиевый корпус:

    Доступная высота для компонентов в таком корпусе (от платы внутри корпуса до крышки) всего 28,5 мм. Поэтому на замену имеющимся трансформаторам ТПК-2 (ТПГ-2) пришлось подыскать замену пониже, при сохранении максимально возможной габаритной мощности. Нужная модель нашлась у фирмы HAHN - BV EI 304 2047.
    С электролитами в блоке питания проблем не возникло - были взяты модели B41851F5228 фирмы EPCOS с высотой корпуса 25 мм. С выпрямителе был реализован C-R-2C фильтр.
    Охлаждение греющихся компонентов - транзисторов выходного каскада и стабилизаторов - реализовано с использованием радиаторов 28 на 28 мм и высотой 20 мм. Причем крепление сделано таким образом, что компоненты расположены горизонтально а радиаторы прижимают их к плате. Для равномерного прижима между платой и корпусами транзисторов проложен силикон толщиной 1 мм, а также в радиаторы вкручены стойки высотой 5 мм, которые не позволяют притянуть радиатор с перекосом и служат элементами крепления радиаторов. К сожалению, найти стабилизаторы в изолированных корпусах не предоставляется возможным, поэтому под них пришлось подложить теплопроводящие изоляционные прокладки.
    В качестве регулятора громкости применен потенциометр ALPS RK27 на 10 кОм, давно лежащий без дела.
    У корпуса внутри есть специальные пазы для платы, поэтому на краях платы сделаны соответствующие выступы справа и слева. Кроме этого по углам платы сделаны крепежные отверстия на случай, если будет применяться другой тип корпуса. Три других отверстия остались от варианта, когда планировалось в выбранном корпусе крепить плату ниже, чем это позволяют пазы. В итоге от этого варианта я отказался, а отверстия оставил.
    В качестве сетевого разъема применен разъем под кабель "восьмерку", совмещенный с выключателем. TRS-разъем взят под Jack 6.3 мм. На плате нашлось место даже для сетевого предохранителя, варистора и термистора.
    С учетом всего вышесказанного, была получена следующая конструкция и топология печатной платы:

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


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

    Реализация
    Платы были заказаны на JLCPCB. Последний раз я заказывал там в прошлом году, и сейчас показалось, что качество у них стало лучше. Особенно заметно по маркировке.


    В процессе пайки и испытаний выяснилось, что в конструкции есть ошибки. К счастью, их исправление обошлось "малой кровью":
    Посадочное место под выходной TRS-разъем сделано с ошибочным расположением отверстий под направляющие пластиковые штифты и при монтаже нужно было их откусить. Перепутаны вход и выход стабилизатора на 12В для реле, т.к. у мелких корпусов цоколевка почему-то сделана зеркально по сравнению с TO-220. Пришлось на место SOT-89 впаять стабилизатор лежа в корпусе TO-92, благо рассеиваемой мощности корпуса хватает.
    Отключение реле защиты происходит слишком долго из-за того, что емкость фильтра продолжает держать напряжение некоторое время после выключения. Слышны переходные процессы в наушниках. Если на питание защиты поставить отдельный выпрямитель, то проблема уходит.  Сетевые трансформаторы небольших габаритов всегда имеют повышенное напряжение холостого хода, которое под номинальной нагрузкой просаживается до заявленных значений, но в данной конструкции оно остается довольно высоким. Это дает и лишний нагрев стабилизаторов. Поэтому трансформаторы я заменил на BV EI 304 2046 (это 2х9В). По температуре все стало гораздо приятнее.    
       
    Комплектные переднюю и заднюю панель отдавал на фрезеровку и гравировку. Результат собранного варианта на фото ниже:
       
    Измерения
    Спектр выходного сигнала (нагрузка 100 Ом, в качестве источника ЦАП "Mercury"):

    Тут я удивился - откуда такой лес сетевых гармоник? Отключил защиту (потому что на нее питание выпрямляется однополупериодным выпрямителем). Стало лучше:

    Но все равно много. Грешу на земляную петлю, которая могла возникнуть на полигоне. Какие ваши идеи?
    По температуре все очень приятно. При тестах без корпуса самые горячие - трансформаторы, ~55 °C, радиаторы стабилизаторов ~45 °C, радиаторы выходного каскада ~43 °C.
    Потребление по каждой ветке питания около 23 мА при мощности, близкой к максимальной.
    Планы на будущее
    В планах исправить выявленные недостатки, сделать некоторые изменения и собрать еще один экземпляр:
    Исправить текущие недоработки по стабилизатору защиты. Добавить нормальный выпрямитель на питание защиты. Разобраться с трассировкой земли. Заменить полевой транзистор в схеме защиты на маломощный в корпусе SOT-23. Не очень удобно подкладывать под стабилизаторы теплопроводящие прокладки. А так как обмотки трансформатора раздельные, можно сделать независимые стабилизаторы на LM317 в изолированных корпусах как на положительно, так и отрицательное плечи питания. Возможно стоит заменить сетевой разъем - нужно чтобы он впаивался в плату. Так он будет занимать меньше места и компоненты, связанные с сетью, можно будет еще дальше отодвинуть от входного разъема. Для возможности применения других переменников для РГ нужно предусмотреть установку переходных платок. А пока я слушаю и наслаждаюсь как звуком, так и внешним видом  
  17. aitras
    Новая ревизия ЦАПа Mercury.


    Еще фото:

    Изменения по сравнению с предыдущей версией:
    1. Исправил ошибку с подключением реле.
    2. Добавил керамические конденсаторы на выходы стабилизаторов.
    3. Заменил футпринты резисторов преобразователя ток-напряжение на выводные.
    4. Добавил ферритовые бусины для м/с гальванической развязки.
    5. Убрал полигон и дорожки над м/с гальванической развязки (насколько это было возможно).
    6. Привел вход к устоявшейся распиновке от Lynx (1 - BCLK, 2 - NC, 3 - SDATA, 4,6,8 - GND, 5 - LRCK, 7 - MCLK, 9 - PWR, 10 - MUTE).
    7. Разъем CTRL сделал универсальным для м/с серии PCM179x с токовым выходом.
    8. Добавил возможность приглушать выход ЦАПа сигналом MUTE с разъема INPUT.
    9. Изменил трассировку и немного схемотехнику обвязки стабилизаторов LM317/337.
    10. Исправил незначительные недочеты в рисунке печатных проводников.
    Описание сигналов разъема

    Для PCM1794/98:
    Управление аппаратное при помощи установки нужных перемычек, либо программное, а номинал R30-R33 200 Ом.
    RST - сигнал сброса ЦАП, инверсный.
    F0 - ZERO, сигнал отсутствия сигнала на входе, устанавливается в высокий уровень при обнаружении во входном сигнале 1024 подряд идущих нулевых отсчетов, при этом R2 на плату не устанавливается.
    F1 - FMT1, выбор формата входного сигнала, по умолчанию - I2S, низкий уровень (установлена перемычка).
    F2 - FMT0, выбор формата входного сигнала, по умолчанию - I2S, низкий уровень (установлена перемычка).
    F3 - MUTE, включение режима приглушения, по умолчанию - нормальный режим, низкий уровень (установлена перемычка).
    F4 - DEEMP, включение функции de-emphasis, по умолчанию - функция отключена, низкий уровень (установлена перемычка).
    F5 - CHSL, выбор формы огибающей встроенного цифрового фильтра, по умолчанию - крутой (sharp), низкий уровень (установлена перемычка), альтернативный вариант - плавный (slow), высокий уровень (перемычка отсутствует).
    F6 - MONO, переключение ЦАПа в моно-режим, в данной конструкции эта функция должна быть отключена - сигнал должен быть низкого уровня (установлена перемычка).
    OE - OUTPUT ENABLE, включение аналогового выхода, высокий уровень - включен (установлена перемычка), низкий уровень - выключен (перемычка отсутствует).
    SR - SAMPLE RATE, сигнал LRCK шины I2S, который показывает актуальную частоту дискретизации.
    EXT MCLK - EXTERNAL MCLK, вход внешнего сигнала MCLK.
    Для PCM1792/95/96:
    Управление только программное, номинал R30-R33 390 Ом. 
    RST - сигнал сброса ЦАП, инверсный.
    F0 - MDO, для SPI - сигнал MISO, для I2C - сигнал данных SDA.
    F1 - MC, для SPI - тактовый сигнал SCK, для I2C - тактовый сигнал SCL.
    F2 - MDI, для SPI - сигнал MOSI, для I2C - сигнал выбора адреса ADR1.
    F3 - nMS, для SPI - сигнал nCS, для I2C - сигнал выбора адреса ADR0.
    F4 - MSEL, выбор интерфейса управления м/с ЦАП, низкий уровень - SPI, высокий уровень - I2C.
    F5 - ZEROR, сигнал отсутствия сигнала на входе в правом канале, устанавливается в высокий уровень при обнаружении во входном сигнале 1024 подряд идущих нулевых отсчетов в правом канале, при этом R7 на плату не устанавливается.
    F6 - ZEROL, сигнал отсутствия сигнала на входе в левом канале, устанавливается в высокий уровень при обнаружении во входном сигнале 1024 подряд идущих нулевых отсчетов в левом канале, при этом R8 на плату не устанавливается.
    OE - OUTPUT ENABLE, включение аналогового выхода, высокий уровень - включен, низкий уровень - выключен.
    SR - SAMPLE RATE, сигнал LRCK шины I2S, который показывает актуальную частоту дискретизации.
    EXT MCLK - EXTERNAL MCLK, вход внешнего сигнала MCLK.
    ADuM1400 при подаче MCLK с отдельного генератора должна быть заменена на ADuM1401. Таким образом, плата получилась универсальной и поддерживает установку любой микросхемы серии PCM179x с токовым выходом.
    Проведенные сравнительные измерения двух экземпляров ЦАПа на м/с PCM1794 (вых. ток 7,8 mAp-p) и PCM1796 (вых. ток 4,0 mAp-p) показали, что лучший результат THD и IMD дает ЦАП с меньшим выходным током.
    Измерения экземпляра ЦАПа на PCM1796 + AD8066 + LME49990
    THD (1 кГц, 0 дБ) - не хуже 0,0003 %.
    IMD (60 Гц + 7 кГц) + шум - не хуже 0,0022 %.
    Уровень выходного сигнала 0 дБ - 3,12 Vp-p
    0 дБ (левый, правый), 48 кГц:

    -6 дБ (левый, правый), 48 кГц:

    Два тона 250 Гц и 8 кГц (амплитуды 4:1), -3 дБ (левый, правый):

    Тест джиттера (левый, правый):

    Подключение к Combo384 (Amanero)
    Подключение выполняется по следующей схеме:
    Mercury Combo384 1 - BCLK --------------------- CLK - 4 2 - Not Connected 3 - SDATA ------------------- DATA - 3 4 - GND ---------------------- GND - 13 5 - LRCK ------------------- FSCLK - 5 6 - GND ---------------------- GND - 14 7 - MCLK -------------------- MCLK - 6 8 - GND ---------------------- GND - 15 9 - PWR ---------------------- 3V3 - 10 10 - MUTE -------------------- MUTE - 11
    У Amanero нумерация разъема нестандартная - вдоль длинной стороны разъема:

    У ЦАПа такая:

    Дополнительные материалы
    BOM - Bill of Materials - MERCURY.xls
    Assembly Drawing - DAC02.MERCURY.MB_A.pdf
  18. aitras
    Модели полярных электролитических конденсаторов с радиальным расположением выводов, включая модели с самозащелкивающимися выводами (snap-in). Давно уже просили их сделать...
    Я проанализировал электролиты нескольких известных фирм - Vishay, Panasonic, Rubycon и Jamicon, чтобы охватить как можно больше вариаций корпусов. Среди совершенно обыденных корпусов 6,3x11 и 10x20 мм обнаружились довольно дикие для меня типоразмеры. Например, вы знали, что существуют электролиты размерами 6,3 на 50 мм? Оказывается, что да  
    В итоге получился набор моделей электролитов вертикального монтажа диаметрами от 4 до 25 мм с различными вариациями высоты - от 5 до 60 мм. Кроме этого имеются модели двухвыводных корпусов с самозащелкивающимися (snap-in) выводами, диаметры от 22 до 25 мм, высоты от 20 до 70 мм. Все модели именованы согласно рекомендациям стандарта IPC-7351.
    Например, CAPPRD750W80D1800H2500
    CAPPRD – Выводной круглый полярный конденсатор с радиальным расположением выводов 750 – Межвыводное расстояние = 7.50mm W80 – Диаметр выводов = 0.80mm D1800 – Диаметр конденсатора = 18.00mm H2500 – Высота конденсатора = 25.00mm Ножки подрезаны с учетом толщины платы в 1,5 мм.
    Всего 134 модели
    Если кто-то обнаружит недостающий размер, пишите - добавим. А в следующем наборе будут модели для горизонтального монтажа на плату.
    Также, думаю, стоит сделать набор под дюймовую сетку. Например, межвыводное расстояние 2,5 мм легко войдет в футпринт 2,54 мм, и т.п. Позже добавлю сюда же.
    Скачать модели с проволочными выводами (метрический шаг)
    Скачать модели с самозащелкивающимися (snap-in) выводами (метрический шаг)
  19. aitras
    По Sprint Layout 6 на сайте "Паяльник" мной был написан курс из четырех статей - часть 1, часть 2, часть 3, часть 4. Со временем стало понятно, что неплохо бы материал переработать, дополнить и объединить в одну кучу. Так возникла книга "Проектирование печатных плат в программе Sprint Layout 6".

    Книга состоит из пяти глав. Первая глава подготовительная и в ней рассказывается о программе Sprint Layout 6, ее интерфейсе и настройках, координатах, сетках, линейках и единицах измерения. Вторая глава книги расскажет вам о графических примитивах и инструментах, используемых при трассировке. В третьей главе речь идет о создании макросов и организации библиотеки посадочных мест. В четвертой главе вы научитесь выводить рисунок платы на печать для домашнего изготовления и экспортировать в графический формат для публикации. Дополнительно рассказано о функции перевода любого имеющегося рисунка платы в формат Sprint Layout 6 и о возможностях экспорта списка компонентов в любой табличный процессор. В завершающей пятой главе рассмотрены возможности работы Sprint Layout 6 с многослойными платами. Рассказано об особенностях трассировки, направленной на дальнейшее фабричное изготовление плат, и показано как правильно получить набор файлов, необходимых для производства (Gerber-файлы и файл сверловки). Также затронуты функции импорта Gerber-файлов и экспорта Plot-файла для фрезеровки на станке с числовым программным управлением.
    Примечание - Для описания была выбрана последняя на момент написания книги версия, переведенная на русский язык пользователями форума «РадиоКот» Men1 и Sub.

    Случайные страницы:


    Скачать книгу
    --------------------------------------------
    Обновление от 21/06/17
    Опубликован материал с некоторыми дополнениями и полезными советами по работе с программой: http://cxem.net/comp/comp213.php
    Зазор на автополигоне Быстрая смена начала координат Быстрое изменение радиуса окружностей и дуг Сложные контура и вырезы Об отверстиях в файле сверловки Вырезы в маске Создание горячих клавиш для плат в проекте Решение проблемы стыковки дорожки и автополигона Номер кошелька Яндекс.Деньги для выражения благодарности автору:
    410011551289010
  20. aitras
    Мое увлечение электроникой находится, если можно так сказать, в области аудиотехники - усилители, ЦАПы и т.п. Поэтому кроме типовых источников сигнала в виде ноутбука или смартфона имеются самодельные ЦАПы, а усиливается сигнал либо усилителем мощности, либо усилителем для наушников, либо вообще выводится в некоторых случаях на колонки монитора. Поэтому со временем мне поднадоело переключать межблочные кабели между устройствами, и я задумался о сборке коммутатора аудиосигналов.
    Техническое задание
    Требования к коммутатору я поставил следующие:
    1. Должен уметь коммутировать стерео аудиосигнал с одного из четырех входов (минимум) на один из четырех выходов (минимум).
    2. Должен вносить как можно меньшие искажения в коммутируемый сигнал.
    3. Иметь высоту корпуса не выше 50 мм.
    4. Иметь простое управление.
    Далее, чтобы определиться с конструкцией устройства, я стал продумывать дизайн передней панели и остановился на таком эскизе:

    Органами управления являются три кнопки - POWER для включения и выключения устройства, SELECT IN для выбора входа и SELECT OUT для выбора выхода. Отображать информацию я решил на полюбившемся мне индикаторе HCMS-2915. Он имеет восемь знаков, каждый из которых имеет 5х7 точек. 
    Элементная база
    Коммутировать аналоговый сигнал можно различными способами, мой выбор пал на сигнальные реле. Это один из наиболее простых и качественных способов коммутации при условии применения хороших сигнальных реле с позолоченными контактами. Мною уже применялись реле IM03TS, поэтому в данный проект я заложил именно их (хотя реально я купил их аналог - HFD4/5).
    Управлять всем этим будет микроконтроллер AVR. 4 входа и 4 выхода в сумме подразумевают использование минимум 8 реле с двумя переключающими группами контактов. А восемь реле очень удобно складываются в один байт данных, необходимых для управления, и для экономии выводов МК удобно управлять ими через сдвиговый регистр. Одно реле потребляет около 30 мА тока, что в принципе укладывается в допустимый диапазон выходных токов стандартного сдвигового регистра модели 595, но для большей универсальности в плане применения реле я применил TPIC6B595 с мощными (до 150 мА) выходами, тем более они были в наличии. Загружаться данные в регистр будут по интерфейсу SPI.
    Конструкция
    Конструктивно все устройство я решил разделить на части. Одна плата является коммутационной и содержит в себе входные разъемы, реле и сдвиговый регистр. Вторая плата является платой управления и содержит в себе микроконтроллер ATtiny44 с обвязкой, индикатор для отображения информации и разъемы для подключения платок с кнопками, чем и является третий вид плат в коммутаторе.
    Коммутационная плата - релейный модуль


    Плата управления


    Плата кнопки
      
    Как можно заметить на рисунках, я решил не останавливаться на 8 входах, а сделать коммутационную плату расширяемой - к ней можно подключить точно такую же плату, и входов/выходов станет 16, а можно сделать и 32... 
    Схемы каждой из плат довольно простые, ниже приведена схема основного модуля - релейного.

    Интерфейс
    При включении коммутатора в сеть он находится в дежурном режиме, что индицирует свечение светодиода POWER. Нажатие кнопки POWER переводит коммутатор в активный (рабочий) режим, при котором включается индикатор. Хоть он и имеет всего 8 символов, его вполне хватает для отображения всего, что требуется.

    Цифрами обозначаются выбранные вход и выход, и их циклическое изменение производится кнопками SELECT IN и SELECT OUT. Кроме этого имеются два дополнительных значка. Значок между цифрами входа/выхода в виде стрелки индицирует включение режима MUTE и может иметь два типа отображения (включен MUTE / отключен MUTE):
        
    При включении режима MUTE сигнал со входа не передается ни на один из выходов. Наличие или отсутствие стрелки интуитивно дает понять, что сигнал со входа проходит или не проходит на выход. Включается и выключается режим долгим нажатием (1 с) на кнопку SELECT OUT.
    Значок блокировки отображает включение режима, при котором кнопки SELECT IN и SELECT OUT не меняют вход. Сделано для защиты от случайной смены входа или выхода. Включается и выключается долгим нажатием (1 с) на кнопку SELECT IN.
    Как было сказано ранее, количество коммутационных плат может меняться по желанию пользователя, но как правило оно определяется при создании устройства и не меняется в нормальном режиме эксплуатации. Поэтому реализована настройка количества релейных модулей, и для ее включения необходимо в дежурном режиме нажать кнопку POWER с зажатой кнопкой SELECT OUT. Назовем это первоначальной конфигурацией коммутатора. Первым этапом настройки будет выбор количества релейных модулей.

    Их максимальное количество я ограничил 4 штуками, чего должно быть более чем достаточно для разумных применений. Изменение параметра осуществляется нажатием кнопок SELECT IN и SELECT OUT. В этом режиме нажатие кнопки POWER включает следующий режим настройки - настройку количества входов и выходов. Можно распределить входы и выходы между имеющимися 8 разъемами - доступны все варианты от 1/7 до 7/1. По умолчанию включено 4/4.

    Нажатие кнопки SELECT IN прибавляет количество входов, уменьшая при этом количество выходов, нажатие кнопки SELECT OUT прибавляет количество выходов, уменьшая количество входов.
    Следующее нажатие кнопки POWER включает настройку яркости индикатора:

    Доступны 16 градаций яркости, отображаемых в %, которые переключаются кнопками SELECT IN и SELECT OUT. Яркость индикатора при этом изменяется в соответствии с выбранным вариантом.
    Следующее нажатие кнопки POWER переводит устройство в активный режим работы. 
    В процессе эксплуатации может потребоваться изменить настройки, но количество релейных модулей, как правило, остается постоянным. Поэтому реализован режим настройки, в котором доступна только настройка распределения входов/выходов и яркости индикатора. Переход в него осуществляется одновременным зажатием кнопок SELECT IN и SELECT OUT на 1 с. Выход из режима осуществляется точно также. 
    Все настройки, выбранные вход и выход, а также информация о активности режимов сохраняется в энергонезависимой памяти микроконтроллера и считывается при включении коммутатора.
    Продолжение следует...
×
×
  • Создать...