Переключатель usb сигналов своими руками
здравствуйте,вот потребовалось оперативно переключатся между двумя юсб устройствами,и поэтому я хочу собрать комутатор,желательно на доступной элементной базе,посоветуйте пожалусто микросхему,которая сможет работать при таких скоростях
Последний раз редактировалось vovik15 Чт авг 19, 2010 18:48:52, всего редактировалось 1 раз.
А релюхи не устраивают.
Для двух это всего-то одна релюха и кнопка. Вот если бы надо было переключатся, скажем, между четырьмя устройствами схема бы была сложнее, но и то все решили бы релюшки.
Ведь для USB для переключения устройства достаточно переключать только D+ и D-, я вот прикинул схемку, как то так выходит, вариант черновой, но в теории всё должно работать.
Вложения: |
usbrel.GIF [30.96 KiB] Скачиваний: 728 |
_________________
> Объявление в ВУЗе: "Экзамен не состоится - все билеты проданы".
> Российские микросхемы - самые большие микросхемы в мире!
> Я бы изменил мир, но Бог не дает исходников.
За резистивный переключатель извиняюсь, умнее ничего не придумал, но оно работать будет, алгоритм прост как пять копеек: резистором регулируется напруга на входе индикатора уровня собранного на четырех (для 4 USB) операционных усилителях (в одном корпусе LM324 их четыре) в зависимости от уровня напряжения на каждом выходе ОУ появится напруга для открытия ключей, через которые подключены релюшки, к примеру: ручка резистора в самом начале, на входе индикатора нулевое напряжение, все релюшки отключены (код 0000) работает USB1, резистор выставлен чуть ближе к началу - это соответствует включению первого ОУ, а значит мы получим такой код "1000" это включит первое реле, которое замкнет второй USB разъем, и компьютер увидит второе устройство, поворачиваем ручку резистора еще не много - уровень напряжения повысился на входе индикатора, включился второй ОУ, код изменился на "1100" что соответствует включению третьего USB разъема, и так далее. Детали в резистивном переключателе необходимо подобрать, писал "примерно", в оригинале резисторы R8 и R9 будут другие, ими устанавливается порог переключения. Резистивный переключатель порой бывает очень удобный, так как тут нет механических контактов, отсутствует дребезг, порог срабатывания сравнительно большой, по этому "промахнутся" поворачивая ручку резистора трудно.
Собсно код для управления релюхами я написал поэтому уже устройство управления вы можете сделать какое захотите, к примеру на МК, взять любую маленькую TINY15L например, написать простенькую программку, и управлять релюхами как захочется.
_________________
> Объявление в ВУЗе: "Экзамен не состоится - все билеты проданы".
> Российские микросхемы - самые большие микросхемы в мире!
> Я бы изменил мир, но Бог не дает исходников.
Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет
Огромное вам спосибо! но вместо операционника можно поставить двоичный счетчик,и с помощью кнопки уже переключать
вот,копаясь в интернете,нашел специализированную микросхему,специально для коммутации USB
ADG772 ,все бы ничего ,но у мее корпус,размерами 1,5на1,5 милиметра,и паять ее невозможно,вот в дип корпусе бы чтонибудь найти.
в крайнем случае придется использовать релюхи
На вебинаре были представлены линейка компонентов для электропитания и интерфейсные модули. Мы рассмотрели популярные группы изолированных и неизолированных (PoL) DC/DC-преобразователей последних поколений, новые компактные модульные источники питания, устанавливаемые на печатную плату (открытые и корпусированные), источники питания, монтируемые как на шасси (в кожухе и открытые), так и на DIN-рейку.
Ну релюхи это самое простое что я могу предложить.
Есть конечно-же спец.микросхемы, но тут не всё так просто, смотрите чтобы микросхема была под ваш USB, например если у вас USB2.0 нужно чтобы она его поддерживала, я уж молчу про USB3.0.
Вообще любые махинации с USB это чревата сгоревшему мосту на материнке, по этому я считаю проще переключать порты релюхами, т.к. мало ли что может произойти при выходе из стоя микросхемы, а релюха это фактически тоже самое отключение и подключение устройства в разъем.
Впрочем это лично моё мнение, тут я ни с кем спорить не буду.
_________________
> Объявление в ВУЗе: "Экзамен не состоится - все билеты проданы".
> Российские микросхемы - самые большие микросхемы в мире!
> Я бы изменил мир, но Бог не дает исходников.
Встраиваемые ИП LM(F) производства MORNSUN заслуженно ценятся производителями во всем мире, поскольку среди широчайшего ассортимента продукции компании можно найти источник питания для любых задач. Представители семейств LM и LMF различаются по мощности и выходному напряжению, их технические и эксплуатационные характеристики подходят для эксплуатации в любых электрических сетях и работают в широком диапазоне условий окружающей среды. Неизменными остаются высокое качество и демократичная цена.
Я одновременно использую несколько ноутбуков. На них запущены Linux, OpenBSD, macOS и ChromeOS. Я предпочитаю работать на клавиатуре вслепую и использую навигацию при помощи клавиш. Мне нужно было переключаться между ноутбуками.
И мне хотелось делать это, не убирая руки с клавиатуры. Что же делать? Мастерить!
- 3 порта USB-A (мама).
- 2 кабеля USB-A (папа-папа).
- 1 кабель удлинения USB.
- 1 фиксирующийся выключатель 4PDT.
- Монтажный провод.
- Припой.
- Термоусадка.
- Мешок пластика для 3D-принтера.
Разъёмы для USB-портов
С ними пришлось помучаться, особенно из-за того, что я не знал, зачем нужны эти маленькие металлические штырьки на конце портов. Оказалось, они удерживают пластик в металлическом рукаве.
Я сначала пробовал использовать их для удержания порта в разъёме – на следующем фото их видно, с обеих сторон от контактов:
Потом я попытался засунуть в этот порт кабель, и знаете, что? Я выдавил внутренний пластиковый корпус порта из металлического корпуса.
Ну ничего, можно просто сделать там сужение, и это не повторится.
Заключение
Успех! Я использую устройство ежедневно, и оно доставляет мне радость. И поскольку я потратил время на тщательную пайку, контакты получились достаточно надёжными для того, чтобы я смог использовать USB-хаб для подсоединения… мыши. Ну, знаете, если она прям очень сильно понадобится.
Идея — запускать скриптик по нажатию физической кнопки, подключенной к компьютеру.
кнопка
-
— 1400 р (ориг), 300 р (не ориг). (плюсы: можно навесить много кнопок на 1 usb порт; минусы: надо паять + понять как она работает и на компьютере придется держать постоянно программу, которая будет ждать нажатия кнопки) — 780 р (плюсы: все красиво оформлено и сделано; минусы: высокая цена и она win-only) — 1150 р (плюсы: есть софт; минусы: высокаяя цена + необходимо паять)
- Usb устройство (почти любое) — 0 — 100 р (плюсы: почти 0 себестоимость, не надо программировать; минусы: linux, возможная пайка, повреждение usb кабеля)
Все эксперименты я проводил на Raspberry PI с debian на борту (точнее прошивка raspbmc).
Для реализации подойдет любой дистрибутив, испльзующий udev для отслеживания системных устройств.
Устройство, на основе которого будет делаться кнопка может быть любым: старая полусломаная usb клавиатура, мышка, камера да и вообще все что цепляется по USB и может быть опознано системой.
На маркете нашел мышь за 70 руб, что может служить кнопкой и вполне конкурентоспособно с другими вариантами.
Делаем кнопку
Схема работы кнопки проста до безобразия
важное замечание по схеме подключения: см P.S.101 в конце статьи
Пока кнопка нажата — вся цепь замкнута, на устройство подается питание и система видит, что подключено новое устройство.
Когда кнопку отжимаем, то происходит разрыв цепи и устройство пропадает из системы.
Эта логика и есть ключевая во всем процессе создании кнопки.
Я разобрал старую клавиатуру и добыл из нее
В одной из версий этой кнопки я использовал замыкание конкретных контактов на клавиатуре
чтобы эмулировать нажатие какой-либо клавиши и была в фоне запущена программа, которая ожидала нажатия этой клавиши.
Проверка работоспособности кнопки:
Кратчайшая теория udev
Процесс udevd отслеживает подключение/отключение девайса и создает файл устройства в директории /dev/ (совсем образное объяснение, для любителей подробностей смотри ссылки в конце статьи)
Во время подключения устройств udevd проверяет список правил в директории /etc/udev/rules.d/
Правила могут жить как и в одном файле так и в нескольких.
Создадим файл и добавим правило:
в debian нет необходимсто перезапускать udev после изменения правил, все происходит автоматически.
Это правило выполняется только когда соблюдаются все условия:
ATTRS==«LITEON Technology USB Multimedia Keyboard» (имя подключенного устройства совпадает)
ATTRS==«usb-bcm2708_usb-1.2/input0» (устройство подключено в конкретный USB порт. Мне это необходимо, тк использую 2 кнопки, сделанные из одинаковых клавиатур)
ACTION==«add» (правило работает только когда устройство тольок что добавлено, есть еще параметр "remove". Если не указать Action, то скрипт будет постоянно запускаться, пока подключено устройство)
RUN+="/bin/sh /home/pi/usb.sh" (собственно наш скрипт, который запускается по нажатию кнопки, без /bin/sh так и не запустился, также см P.S.01 ниже)
Список атрибутов можно узнать следующим образом:
где /dev/input/by-path/platform-bcm2708_usb-usb-0\:1.2\:1.0-event-kbd — адрес устройства
адрес устройства в системе можно узнать в момент подключения устройства:
для дебага я использовал правило:
и проверял создался ли симлинк устройства /dev/ABC
Вот и все. Мы получили кнопку, по нажатию которой запускается скрипт в системе.
стоимость:
старая клавиатура — 0р
кнопка — 10р
корпус — 0 р
И самое главное что такая кнопка не требует знаний микроконтроллеров и особого умения паять, удобна и доступна каждому :)
Обезьяна на пружине и если надавить на голову, то обезьяна давит хвостом кнопку, что и приводит к замыканию цепи
Вы сделали замыкание-размыкание провода +5 В у USB, однако, Data лучше бы тоже замыкать/размыкать.
Давайте вспомним историю — зачем в USB-коннекторе сделаны удлиненными контакты +5 В и GND?
Во-первых, чтоб USB-устройство успело сделать программный сброс и быть готовым к получению и отправке данных.
Но есть и во-вторых — старые компьютеры (а особенно веселые материнки времени Pentium 4 на ICH5) грешат плохой реализацией USB-шины, в итоге есть, что комп зависнет или перезагрузится.
А еще бывают сильно дешевые глючные китайские устройства с похожим эффектом и расчетом на подключение только через USB-коннектор.
Так что оптимальнее было бы замыкать и размыкать 3 контакта — +5 В и Data ± (причем питание замыкать до данных). Сделать это можно, например, с помощью 2 советских выключателей, которые ставились в торшер, только у одного надо кнопку подпилить на 3-5 мм…
В вашем случае можно и не делать, но хотя бы упомянуть про это в статье надо, а то среди комментариев я ничего подобного не заметил.
Предоставить доступ к USB принтеру или сканеру для двух компьютеров относительно легко, для этого просто соединяем их должным образом и в настройках сети, назначаем к примеру общий принтер. Данный способ требует непрерывной работы основного компьютера, если его выключить, то принтером на другом ПК воспользоваться не удастся. А переподключать принтер и перетаскивать его каждый раз конечно же не разумно. Предлагаем вам решение этой проблемы, ниже представлена схема, с помощью которой можно будет переключить принтер на любой компьютер. В качестве USB устройства может быть что угодно, цифровой фотоаппарат, USB-носитель и т.д. Желательно, чтобы все эти устройства поддерживали USB 1.1, т.к. удлинение кабеля может плохо сказаться на передаче данных и определении устройства на ПК. Данное устройство удобно использовать и на 1 ПК при нехватке USB портов.
Блок-схема приведена на рисунке ниже, принтер подключается к USB порту на плату и микроконтроллер переключает их между компьютерами № 1 и № 2. Для управления устройством используется программа USBswitch.exe.
Принципиальная схема USB-переключателя:
Схема состоит из нескольких частей, микроконтроллер переключает подключенное устройство между портами, а так же отвечает за связь с компьютером программного обеспечения через порт USB. Диоды D1, D3 служат для защиты T1 и T2 от обратного тока. Светодиоды D2, D4, указывают на состояние каждого реле (ON-OFF). Реле нужно использовать на номинальное напряжение 5 В, ток потребления одного ~ 20 мА. Схема не сложная, сложностей во время сборки быть не должно. При сборке соблюдайте полярность таких элементов как диоды и конденсаторы. Если вам не удается найти микроконтроллер ATtiny2313, можете заменить его на AT90S2313, они имеют одинаковую конфигурацию контактов. Если после подключения периферии к компьютеру, система скажет вам, что устройство неизвестное, а драйвера для этого устройства установлены, то необходимо удалить один из диодов D5, D6 или D7 и вместо него запаять перемычку. При этом напряжение может быть увеличено с 3В до 3,7 В
В микроконтроллер при программировании нужно записать два файла, флэш-память USBswitch.hex и внутреннюю энергонезависимую USBswitch.eep. Фьюз нужно установить такой, чтобы МК работал от внешнего генератора 8МГц (CKSEL, SUT)
При первом подключении устройства к ПК, обнаружится новое устройство, и начнется установка драйверов. Драйвер для устройства «USB-переключатель» расположен в папке «Driver» и состоит из трех файлов: AVR309.dll, AVR309.inf и AVR309.sys. После установки драйверов устройство будет готово к использованию. Для управления устройством нужно установить программу «USBswitch.exe».
Фото печатной платы и расположения элементов:
Список применяемых радиодеталей:
C1: 100nF
C2: 470mF/16V
C3: 22 пФ
C4: 22 пФ
D1, D3: 1N4148
D2, D4: LED
D5, D6, D7: 1N4001
IC1: ATtiny2313 (см. текст)
K1: PCB разъем USB-B
K2: Подключите USB-платы
K3: PCB разъем USB-B
R1, R2: 1k
R3, R4, R5, R6: 10k
R7, R8: 56R
R9: 1K5
СР.1, RE2: Реле 5В, не дублированные контакты.
T1, T2: BC547
X1: 12 МГц
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.
Главный корпус
Я думал схитрить и оставить корпус открытым снизу. Чтобы можно было менять эти дешёвые USB-порты, когда они сломаются (а я ожидал, что это будет происходить постоянно). Однако это решение оказалось плохим; открытые провода – прекрасный способ разломать пайку или уничтожить контакты.
Зная, что дно у него всё же будет, я сконцентрировался на верхней части корпуса, поскольку мне нужно было определить:
На фото у верхнего левого нет сужения, препятствующего от проталкивания портов. Тот, что слева внизу, получился хорошим, но у него не было отверстий для присоединения дна.
У модели справа есть отверстия для винтов. И вот я подготовился к проектированию и печати дна корпуса.
Последние посетители 0 пользователей онлайн
Схема
«Схема» мало что делает – это просто четыре провода, между которыми идёт переключение. Принцип работы USB не используется.
USB-кабель, выходящий сверху, идёт на клавиатуру. Два других идут каждый к своему компьютеру.
Если у вас в руках молоток…
Хотел бы я, чтобы у меня осталась видеозапись моих попыток 3D-моделирования. Если вам знакомы CAD-системы, то из текста вы поймёте, насколько неуклюжий подход я избрал.
Я выдавил всё дно из главного корпуса, а потом сделал вырез в 0,5 мм толщиной, чтобы отделить от него дно. Это было криво, но результат дало. Вообще, мои навыки 3D-моделирования можно описать так:
- Рисовать прямоугольники и круги.
- Надавить/вытянуть.
Проблемы с принтером решились при помощи долгой настройки и правок. Сначала у меня начали получаться неудачные результаты (от небольших искривлений до полного отсутствия сцепления со столом). Поэтому качество деталей разнилось от приемлемого до комичного.
После ручной подстройки уровня стола и высоты сопла я перешёл на использование перфорированной подложки (чтобы рафт был частично соединён со столом) и задал предварительный прогрев стола в течение не менее 15 минут. Успех! Плоские рафты, никаких искривлений.
Добавляем поддержку USB-портов
Места для портов получились слишком высокими, туда могла попасть грязь. Не думаю, что она повредит, однако грязь – это плохо (педаль стоит на полу, а у нас кошки).
Я добавил столбиков, входящих в слоты, чтобы они держали USB-порты, и закрывали отверстия.
Мне почему-то показалось хорошей идеей сделать в верхней части корпуса «колодцы». Не думаю, что они будут помогать или мешать мне, так что я их оставил.
Немного об USB
Я знал, что это значит «универсальная последовательная шина», но не понимал до конца. В последнее время я изучаю аналоговую электронику. Изучение продвигается медленно, но прогресс есть. Одна из изучаемых тем – последовательные коммуникации.
И хотя в схеме педали это не учитывается, когда я узнал, что USB – просто один из вариантов последовательной шины, это сняло с USB покров волшебства – из-за чего она становится волшебной совсем по другой причине. Потому, что теперь я чувствую себя волшебником.
Для USB rev. 1.1 и 2 провода расположены так:
- 5V (питание)
- D+ (приемник)
- D- (передатчик)
- GND (земля)
Более эргономичная крышка для кнопки
Я скачал и распечатал крышку для кнопки, чтобы её было удобно использовать как в обуви, так и без.
Объявления
В макете было 5.2 ватта. Хотя, при нагрузке в 4К можно снять и все 10. Но у меня было на аноде 390 вольт(просчитался с намоткой). I_Avals снимал десяточку при 450 на аноде. И это всё в триоде. Конечно, с ГУ-50 можно и 100 ватт с пары снять в двухтакте, но там и на аноде 100 вольт и класс B, и режим пентодный. Думаю, в пентоде с ГУшки вполне можно ватт 25 вытянуть при тысяче на аноде. Не сошёлся по индуктивности. Причём, измеренной LCR метром. А когда снял АЧХ, то завал на низах всё-таки соответствовал рассчётной индуктивности.
Ну выходник как раз мотать буду именно под это дело, уменьшать сопротивление первички вдвое?, по сравнению с той же лампой, но одной на выходе?
Что нить, да сказал бы. Ща мистер Алекс скажет ))) Лан, доделаете свой однотакт - расскажите про мощность. Мне лень книжки читать, с формулами и размышлениями. Только сборка, только хардкор. У вас ведь тоже расчет транса не сошёлся с тем что получилось? Так что тут много факторов.
Прототип: баночка из-под паштета
Да. Для прототипа я взял баночку из-под паштета и прорезал в ней отверстия. И, да – это термоклей держит USB-порты.
Вот. Так. Всё. Просто.
А также некрасиво и непрочно. Прототип «работал», но ежедневного использования он бы не выдержал. Также компьютеры иногда не распознавали клавиатуру, и мне приходилось несколько раз переключаться туда-сюда.
О переключателях
Но мне было нужно не только это. Мне нужно было переключать по четыре провода для USB-клавиатуры за раз. И мне не нужно было отключать ни один из четырёх проводов. Мне нужно было, чтобы:
- 4 провода были подключены к компьютеру А.
- Когда я нажимаю на переключатель, эти четыре провода подключаются к компьютеру Б.
- После повторного нажатия они вновь подключаются к компьютеру А.
Такой переключатель, который представлял себе я (типа выключателя света в комнате) известен, как один полюс, одно направление [Single Pole, Single Throw — SPST].
А мне был нужен переключатель 4PDT – четыре полюса (4 провода), два направления (переключение между двумя положениями), как на следующей диаграмме:
Оказалось, что это очень распространённый вариант, используемый… в гитарных педалях! (помните, я говорил, что не хочу снимать руки с клавиатуры).
Замечание касаемо гитарных педалей: важно, чтобы переключатель был фиксирующимся. Это значит, что он сохраняет подключение, когда вы убираете ногу. Это важно, потому что было бы неудобно держать ногу на педали постоянно для того, чтобы клавиатура работала с определённым компьютером.
Моделирование корпуса для 3D-печати
Также в последнее время я обучаюсь 3D-моделированию и печати. Один из главных усвоенных мною принципов – если нужно распечатать детали, совпадающие друг с другом, их недостаточно измерить штангенциркулем. Нужно ещё распечатать пробные детальки, чтобы убедиться, что они совпадают и в реальности.
Днище
Я решил не заморачиваться – простое дно, с отверстиями для винтов, совпадающими с теми, что есть на верхней части. Да, и ещё добавить углубления, чтобы винты вошли заподлицо.
Правильная пайка
В процессе изготовления этой схемы пострадало несметное количество USB-портов. Но в процессе я здорово прокачал навыки пайки. В процессе припайки крохотных проводов к крохотным контактам очень помогла система "третья рука" с магнитными захватами.
После пары подходов я поумнел и начал использовать термоусадку, чтобы мои комки припоя не касались друг друга (из-за вибраций при нажатии на педаль).
Да, да. Очень «профессионально».
Читайте также: