Реле, MOSFET, BJT - что подойдёт для управления подключением USB 2.0?

gk5

✩✩✩✩✩✩✩
24 Янв 2023
3
0
К компьютеру по шине USB 2.0 подключается устройство. Хочу поставить в разрыв arduino, который по сигналу будет целиком (т.е. по всем 4 линиям - VCC D+ D- GND) подключать и отключать устройство. Максимальный ток по линии VCC - 700 мА, что превышает спецификацию USB2.

Искал по запросу "arduino управление нагрузкой". В основном пишут про три варианта: реле, мосфеты и обычные копеечные биполярники.
4 одноканальных реле - громоздко и громко.
1 четырёхканальное реле - дорого.
Мосфеты - у меня возникают странные мысли по этому поводу, потому что в даташитах как правило указывают колоссальные токи, а у меня максимум 700 мА, мне кажется, что для этой задачи это будет как забивание гвоздей микроскопом.
Дешёвые транзисторы типа 2N3904/BC5xx - нужно высокое напряжение для открытия, ардуино точно не потянет, и ток по VCC слишком высокий.

Подойдут ли мосфеты для данной задачи? Может, есть недорогие модули для управления USB-подключением или любой другой нагрузкой на 4 линии? Дёргать одну только линию VCC не вариант - важно, чтобы имитировалось полное отключение устройства.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,228
301
@gk5, для разрыва линий питания - транзисторы, для разрыва линий данных - аналоговые ключи, например, CD4066.
в даташитах как правило указывают колоссальные токи
Если внимательно читать - то оказывается, что не такие уж и колоссальные. Но это так, к слову. Что же мешает взять мосфеты не с "колоссальными токами"? Как пример - IRLL014.
Дешёвые транзисторы типа 2N3904/BC5xx - нужно высокое напряжение для открытия
Что за бред? Биполярные транзисторы управляются током, а не напряжением. Причём у маломощной линейки этот ток ну ооочень мал. А вообще непонятно, для чего эта вся затея с таким отключением.
 
Изменено:

Bruzzer

★✩✩✩✩✩✩
23 Май 2020
120
40
@gk5,
По моему основную сложность для использования транзисторов, и коммутаторов, в данной задаче создает требование отключать общий провод.
Это реально надо? Можете пояснить, зачем?
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,228
301
@Bruzzer, никакой сложности в отключении общего провода я не вижу. Другое дело, что это бессмысленно.
 

ТехнарьКто

★★★★★✩✩
13 Янв 2020
232
378
Дёргать одну только линию VCC не вариант - важно, чтобы имитировалось полное отключение устройства.
Дергать одну линию Vcc просто вредно, можно и спалить. USB поддерживает «горячее» подключение и отключение устройств. Это достигнуто увеличенной длиной контактов питания (+5V и GND) разъёма по отношению к контактам данных (D+ и D-).

К примеру на Digispark разницу в длине линий прекрасно видно.
Digispark-Attiny85-USB.jpg

При подключении разъёма USB первыми замыкаются контакты питания, потенциалы корпусов двух устройств становятся равны и дальнейшее соединение проводников данных не приводит к перенапряжениям. Если соединять совсем уж правильно, то сначала соединяют GND, затем Vcc, а потом можно и одновременно пары проводов с данными. Производители давно на это забили болт и одновременно включают Vcc и GND и вроде все у всех работает. Отключают в обратном порядке. Сначала отключают провода с данными (D+ и D-), а потом питание Vсс. При этом GND можно вообще не отключать в Вашем конкретном случае.
 
Изменено:

gk5

✩✩✩✩✩✩✩
24 Янв 2023
3
0
@gk5,
Это реально надо? Можете пояснить, зачем?
Устройство - плата от китайского сет-топ бокса. При подключении по USB она берёт по нему питание и проваливается в режим загрузчика, в котором принимает команды. Для недокументированной команды (слив фьюзов + трастзона, что мне собсна и надо) требуется знать некоторый числовой параметр. Если он неверный, то устройство перестаёт реагировать на команды до следующего включения. Параметр я буду искать перебором, необходимо чуть более 20000 попыток. Я уже пробовал подключить в разрыв VCC одно реле, оставив D+ D- GND, но частенько происходит так, что после цикла питания (выкл - 2 секунды ожидания - вкл) устройство как будто вовсе не сбрасывалось. Увеличивал задержку реле до 5 секунд, таких ситуаций стало сильно меньше, но они не устранились полностью. Если я переподключаю кабель целиком руками, то сброс происходит как следует. Управлять портом силами компьютера точно не вариант - могут сброситься пробросы виртмашин, рисковать не хочу.

В электронике я не силён, и, как справедливо отметили выше, я могу нести бред.
 

gk5

✩✩✩✩✩✩✩
24 Янв 2023
3
0
Тема больше не актуальна, в результате неосторожных ковыряний на дата-линии компьютера сильно прилетело, хаб помер. Из подопытной платы сбежал волшебный дым, без которого не работает ни одна электроника :ROFLMAO:. Было круто, всем спасибо за отклики. Обязательно вернусь к данной затее, когда восстановлю комп и найду точно такой же китайский девайс.
 

Bruzzer

★✩✩✩✩✩✩
23 Май 2020
120
40
@gk5,
Т.к. уже не спешите, посмотрите на будущее на модуль с алиекспресс на TS3USB221. Но он коммутирует только данные.
 
  • Лойс +1
Реакции: gk5