Миди usb кабель своими руками

Конструкция выходного дня: простой MIDI-адаптер

Постановка задачи

В прошлом веке самым простым путем соединения компьютера и синтезатора по MIDI было использование игрового порта. Для согласования сигналов интерфейсов («токовая петля» в MIDI и TTL на разъеме игрового порта) делался простой адаптер, схема которого приведена в посвящённой MIDI статье Википедии:

В настоящее время игровые порты со звуковых и материнских плат пропали как класс. Драйверы игрового порта для современных ОС найти невозможно.

«Физика» работы интерфейса в принципе была понятна из статьи Википедии: обмен данными производится по старт-стопному протоколу на скорости 31250 бит/с посылками по 8 бит данных без контроля чётности с одним стоповым битом. Логическому нулю в сигнальных цепях соответствует протекание тока 5 мА, логической единице отсутствие тока в цепи.

В принципе, игровой порт можно заменить на USB UART и присоединить к нему описанный в статье Википедии адаптер.

Первая проблема данного решения заключается в том, чтобы заставить ОС определять COM-порт UART как порт MIDI. Неожиданно для меня, решение проблемы нашлось на форумах, посвященных Arduino. Там я обнаружил ссылку на бесплатный эмулятор порта MIDI «поверх» виртуального COM-порта. Для связи эмулированного порта с MIDI-редактором разработчик рекомендовал использовать виртуальный шнур loopMIDI.

Вторая проблема: заставить UART работать на скорости 31250 бит/с.

Всех этих данных уже было достаточно для формулировки технического предложения:
«Для связи компьютера с синтезатором по интерфейсу MIDI предлагается использовать USB UART совместно с адаптером для согласования сигналов TTL с сигналами «токовая петля 0…5 мА», программным обеспечением loopMIDI, Hairless MIDI Serial Bridge и драйверами UART, позволяющими ему работать на скорости 31250 бит/с».

Аппаратная часть

Выбор аппаратного решения был крайне прост – в закромах автора статьи нашлись:

  • USB UART на базе CP2102;
  • оптрон АОТ101А;
  • микросхема К1533ЛН2;
  • пара разъёмов СШ-5 (другие обозначения: ОНЦ-ВГ-4-5/16-В, DIN 41524);
  • несколько метров экранированного акустического кабеля ШГЭС.

В результате на обрезке универсальной макетной платы размером 40х15 была собрана такая вот схема адаптера:

Работоспособность собранной схемы была проверена следующим образом:

  1. Адаптер был подключен к разъёмам MIDI синтезатора.
  2. У синтезатора было отключено локальное управление (MIDI Local = Off).
  3. После установки перемычки между сигналами RX и TX адаптера синтезатор стал реагировать на нажатия клавиш.

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

  • элементы микросхемы К1533ЛН2 имеют выход типа «открытый коллектор», который не работает без внешней нагрузки;
  • конденсатор C1 подключается как можно ближе к выводам питания DD1;
  • оплётка кабеля, идущего к разъёму «MIDI IN» синтезатора, подключена только к общему проводу адаптера;
  • оплётка кабеля, идущего к разъёму «MIDI OUT» синтезатора, подключена только к выводу 2 разъёма.

Программное обеспечение

Далее на компьютер было установлено следующее ПО:

Для связи MIDI-редактора с разъёмом синтезатора «MIDI IN» шнур «Synthesizer» был подключен между выходом Anvil Studio и входом эмулятора порта MIDI.

Для связи MIDI-редактора с разъёмом синтезатора «MIDI OUT» шнур «Keyboard» был подключен между выходом эмулятора порта MIDI и входом Anvil Studio.

Последним и очень важным шагом настройки ПО была установка для CP2102 скорости обмена 31250 бит/с взамен 38400 бит/с:

Читайте также:  Органайзер для ежедневника своими руками

После установки скорости необходимо нажать кнопку «Set Configuration». Затем, и в Диспетчере устройств, и в Hairless MIDI Serial Bridge в настройках скорости обмена данными COM-порта UART CP2102 нужно выбрать значение 38400.

Краткие итоги

В результате MIDI-редактор Anvil Studio получил канал связи с синтезатором Yamaha PSR-550. Дети с энтузиазмом стали осваивать работу с MIDI-редактором. Я вновь обрёл душевный покой.

Источник

Самодельный USB MIDI адаптер для компьютера на микроконтроллере PIC18F2550

Как сделать самому USB to MIDI адаптер для подключения синтезаторов к компьютеру

Зачем нужен MIDI порт в 2021 году?

Описываемый MIDI адаптер предназначен для подключения к компьютеру MIDI оборудования, не имеющего собственного USB порта. В основном это MIDI клавиатуры, «железные» синтезаторы и звуковые модули, выпущенные несколько лет назад. Поскольку музыкальная индустрия это отрасль довольно консервативная, огромное количество таких (нужно сказать прекрасных) инструментов до сих пор успешно используется в профессиональных и домашних студиях, и я уверен, будут использоваться не одну пятилетку в будущем. Например я в своей студии использую отличную полноразмерную MIDI — клавиатуру Roland A33 более чем десятилетнего возраста, и она прекрасно работает, но конечно же на ней нет никаких USB портов, а только MIDI вход и 2 MIDI выхода.

MIDI клавиатура Roland A33

Сейчас музыканты все чаще уходят от «железных» синтезаторов в сторону использования в своем творчестве исключительно виртуальных VST инструментов, так как мощность современных процессоров это позволяет, но даже в этом случае для ввода в компьютер музыкальной информации нужна внешняя клавиатура — контроллер, которую можно подключить к компьютеру с помощью описываемого MIDI адаптера. Иногда такое классическое MIDI — подключение даже довольно современных инструментов предпочтительнее с точки зрения надежности работы. Например у меня есть отличный синтезатор Roland Juno G, который уже оборудован USB, но я нашел что надежнее работать не через его USB порта а через его обычный классический MIDI — порт.

Синтезатор Roland Juno G

Кроме того, такой MIDI адаптер может стать основой для подключения к компьютеру самодельных музыкальных и экспериментальных устройств, работающих по протоколу MIDI — синтезаторов, устройств управления сценическим светом, я даже встречал конструкции «умный дом», которые управлялись по MIDI. Дело в том, что MIDI соединение — это старый, надежный, отработанный до мелочей стандарт. С программной точки зрения это обычный UART (последовательный интерфейс) который на аппаратном уровне поддерживают даже самые «древние» микроконтроллеры. Поэтому он очень прост в программировании. Единственное отличие MIDI от обычного UART — это нестандартная скорость передачи данных. Если в стандартном UART мы имеем сетку вроде 2400, 4800, 9600, 19200, 38400, 57600 и 115 200 бит/с, то для превращения его в совместимый с MIDI оборудованием достаточно настроить порт на частоту 31250 бит/с. Именно с такой фиксированной скоростью работает МИДИ интерфейс. нужно сказать, что в 80-х годах прошлого века, когда вместе с цифровыми синтезаторами появился MIDI, это была довольно высокая скорость. С аппаратной точки зрения MIDI порт это соединение по двум проводам типа «токовая петля».

Зачем делать MIDI порт, если можно купить китайский на Алиэкспресс за 300 рублей?

Читайте также:  Лучший унч для сабвуфера своими руками

Действительно, можно заказать в китае миди адаптер по минимальной цене примерно за 5 долларов. Например вот такой:

и он может даже будет работать. Однако последний вариант адаптера, который описывается в этой статье, я сделал для моего знакомого музыканта как раз на замену вот такого китайского, который он купил за 300 рублей. Китайский более-менее работал под Windows 7 но наотрез отказался корректно работать под Win 10. То есть он определялся системой но работал некорректно, программы — секвенсоры работали с ним некорректно, некоторые просто зависали при нажатии на клавишу миди клавиатуры, а некоторые выдавали двойные ноты, не передавалось событие окончания ноты и возникали другие ошибки. Работать было невозможно. В конце концов я сделал человеку описываемый адаптер, взяв из его китайского варианта только кабели с разъемами MIDI. Теперь у человека все работает отлично под десятой виндой. Не факт, что любой купленный на Али подобный адаптер будет глючить, но я с этим сталкивался уже раза три. То есть это — лотерея. Я разобрал китайский адаптер и как оказалось на его плате не была установлена стандартная для MIDI — портов оптронная развязка, MIDI вход был реализован на паре транзисторов. Это не есть хорошо.

Качественные (не китайский ноу-нэйм) адаптеры стоят уже не 5 долларов а намного дороже. Например M-Audio MidisPort будет работать без проблем, но стоит он уже около 45 долларов:

Самой дорогой деталью описываемого в статье миди адаптера является микроконтроллер 18F2550. Стоит он около 5 долларов с Алиэкспресс. Заказать микроконтроллер можно по этой ссылке

Принципиальная схема MIDI адаптера

Основой устройства является микроконтроллер Microchip PIC18F2550. Данный микроконтроллер имеет аппаратную поддержку USB.

Принципиальная схема адаптера MIDI To USB (кликните на картинке чтобы увеличить)

MIDI IN и MIDI OUT — пятиконтактные разъемы стандарта DIN (нем. Deutsches Institut für Normung, DIN). такие использовались раньше в советских магнитофонах и назывались «ОНЦ-ВГ»

MIDI — порт синтезатора на разъемах DIN

Конструктивно миди адаптер может быть выполнен в двух вариантах — коробочка с двумя гнездами DIN (MIDI IN и MIDI OUT), либо с гнездами «мама» на коробочке (как на фото выше) так и в варианте китайского или M-audio, о которых я рассказывал ранее, то есть в виде маленькой коробочки с выходящими из нее кабелями и штеккерами DIN — «папа» на этих кабелях. USB гнездо можно также установить в коробке — корпусе, либо использовать кусок USB провода с разъемом от старой мышки или от чего-то другого. Я сделал именно второй вариант, так как были в наличии все кабеля от того самого негодного китайского миди-адаптера.

В качестве коробочки для корпуса адаптера вы можете приспособить любую небольшую унифицированную пластиковую коробочку из радиомагазина, мыльницу или в крайнем случае, оставить его в виде «просто платы» (крайне не рекомендуется). Если у вас есть 3D принтер, то ы можете поступить так, как сделал я — напечатать корпус на 3D принтере. Ссылку на скачивание моделек я поместил в конце этой статьи.

При сборке адаптера важно правильно распаять миди — гнезда и/или кабеля. MIDI порт — это интерфейс типа «токовая петля» и он чувствителен к полярности соединения проводов. То есть если вы перепутаете провода в кабеле то порт работать не будет. На принципиальной схеме показано правильное соединение выходных пинов платы контроллера с гнездами DIN типа «мама» (с дырочками)). На схеме показана правильная распайка для гнезда при условии если вы смотрите на это гнездо сзади, то есть со стороны лепестков для пайки:

Читайте также:  Лего постройки своими руками робот

Имейте в виду, что на принципиальной схеме указана распайка именно для разъема «мама».

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

Вообще контакты разъема DIN пронумерованы и можно просто следовать правильной нумерации (На рисунке изображена нумерация контактов если смотреть на разъемы спереди:

Оптрон U2 использован типа 4N36 d 6-пиновом корпусе. Можно применить любой совместимый по распиновке оптрон этой серии. Для стабильной работы MIDI входа, возможно, придется подобрать сопротивление резистора R6. В случае с 4N36 у меня получилось оптимальное сопротивление в районе 1…1,2кОм. Дополнительные пины, обозначенные на схеме как THHG_5 и THHG_4 я применял для установки дополнительного гнезда MIDI THROUG. Это гнездо служит для непосредственной передачи MIDI сигнала с MIDI IN на этот самый MIDI THROUGH, и по моему мнению в случае с компьютерным интерфейсом особого смысла не имеет, поэтому можно его не устанавливать. На плате он не предусмотрен, и для его реализации я устанавливал дополнительную микросхему 561ЛА7 навесным монтажом на проводах, так как не хотелось разводить под этот вариант печатную плату. наличие такого выхода являлось желанием заказчика, не понятно зачем оно ему может пригодиться, обычно гнезда THROUG устанавливают на MIDI инструментах чтобы соединять их в цепочки. Дополнительная микросхема просто играла роль буфера, так свойства соединения «токовая петля» таковы, что просто подключить дополнительное гнездо MIDI TROUG к контактам THHG_5 и THHG_4 нельзя, дополнительное соединение «посадит сигнал» и вход перестанет работать. Повторю еще раз, я считаю MIDI TROUG в таком адаптере бессмысленным, поэтому не привожу схему его соединения, а дополнительные контакты удалять из проекта просто лень. Каких — либо других особенностей схема адаптера не имеет, это обычное простое микроконтроллерное устройство. Микроконтроллер очень желательно устанавливать на панельке. перед установкой микроконтроллера в схему его необходимо запрограммировать (прошить) с помощью любого программатора PIC контроллеров, например вот этого или этого. Ссылку на файлы прошивки вы найдете в конце этой статьи. Если все сделано правильно и без ошибок из исправных компонентов, то схема не нуждается в настройке и начинает работать сразу.

Печатная плата

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

Интерактивный 3D просмотр.
Кликните в центре изображения, дождитесь загрузки 3D модели. Крутить: левая кнопка мыши; Размер: колесо мыши.

Корпус

В моей версии корпус адаптера напечатан на 3D принтере. Он состоит из 2 частей — коробки и крышки. Модели разработаны в SolidWorks. В качестве корпуса можно использовать любую пластмассовую коробочку, например мыльницу.

Источник

Оцените статью
Своими руками