Как запретить Arduino получать питание через USB

Я работаю над встраиваемым проектом, где использую Arduino в качестве «сенсорного экрана» для RaspberryPi (у меня модель B).

Проблема в том, что USB-порт RaspberryPi недостаточно мощный для подключения Wi-Fi-адаптера и Arduino с датчиками. Решение простое: я буду питать датчики снаружи, а не через RPi.

Но мне было интересно, можно ли питать весь Arduino снаружи (через Vin) и использовать USB только для последовательной связи.

Чтобы уточнить, я знаю, как решить мою проблему - использовать какое-либо другое средство связи, кроме USB - последовательный порт GPIO, I2C, беспроводную связь и т. д... Мне просто интересно, будет ли все это работать с USB-кабелем например, с обрывом провода 5 В.

Основная проблема, которую я вижу в этом, заключается в том, что чип USB<->Serial получает питание только через USB, тогда он теперь будет работать.

, 👍8

Обсуждение

Какой-нибудь конкретный Arduino?, @Ignacio Vazquez-Abrams

Я использую Nano v3 и Mini, но мне желательно найти общее решение., @jnovacho

Общее решение — использовать голые микроконтроллеры, поскольку схемы питания каждой платы немного отличаются., @Ignacio Vazquez-Abrams


3 ответа


Лучший ответ:

8

Если вы подадите питание на Arduino через Vin, это отключит питание USB через переключатель MOSFET.

,

2

Есть несколько альтернативных решений этого вопроса, которые, я думаю, стоит упомянуть.

  1. Используйте USB-кабель только для передачи данных или вручную обрежьте провода VCC и GND кабеля.

  2. Удалите USB-предохранитель с платы Arduino.

  3. Подключите внешний источник питания к одному из входных контактов для измерения напряжения. Это измерение затем можно использовать для определения того, подключено ли внешнее питание и обеспечивает ли оно достаточное напряжение. Если это так, питание USB в любом случае использовать не следует, в противном случае можно использовать оператор if для отключения кода, который включает устройства, потребляющие энергию. Питание USB по-прежнему будет использоваться для питания самой платы Arduino. Он также имеет ограничение: поскольку источник питания может обеспечивать недостаточный ток, оставшийся необходимый ток он может потреблять от USB.

,

Предложение №1, похоже, мне не помогло, и это меня очень сбивало с толку. Я работаю над сценарием 3D-принтера, использующим Marlin на Arduino. Когда я включаю принтер/блок питания, все подключается так, как и должно быть при использовании немодифицированного кабеля. Но когда я попробую использовать кабель без проводов VCC и GND, ничего не подключится. Может ли плата RAMPS не питать последовательную шину или что-то в этом роде? Как-то ломаю голову над этим., @Erutan409

Только отключите VCC и оставьте заземление. AFAIR не будет работать с подключенным GND, @Nitek

Для работы чипа FTDI требуется питание со стороны USB, поэтому предложение 1 не будет работать., @Rob Jolley


0

Просто перережьте линию VCC (обычно красную) на USB-кабеле.


В USB-кабеле четыре провода:

  • Земля
  • ВК
  • Данные +
  • Данные –

Вы не можете отправлять данные без опорного заземления, поскольку вам нужна разность потенциалов. Следовательно, вам необходимо сохранить заземление и просто перерезать линию электропитания (красный VCC).


Обратите внимание, что обычно это нет необходимости, поскольку VIN предпочтительнее USB. б>.

,