Как запретить Arduino получать питание через USB
Я работаю над встраиваемым проектом, где использую Arduino в качестве «сенсорного экрана» для RaspberryPi (у меня модель B).
Проблема в том, что USB-порт RaspberryPi недостаточно мощный для подключения Wi-Fi-адаптера и Arduino с датчиками. Решение простое: я буду питать датчики снаружи, а не через RPi.
Но мне было интересно, можно ли питать весь Arduino снаружи (через Vin) и использовать USB только для последовательной связи.
Чтобы уточнить, я знаю, как решить мою проблему - использовать какое-либо другое средство связи, кроме USB - последовательный порт GPIO, I2C, беспроводную связь и т. д... Мне просто интересно, будет ли все это работать с USB-кабелем например, с обрывом провода 5 В.
Основная проблема, которую я вижу в этом, заключается в том, что чип USB<->Serial получает питание только через USB, тогда он теперь будет работать.
@jnovacho, 👍8
Обсуждение3 ответа
Лучший ответ:
Если вы подадите питание на Arduino через Vin
, это отключит питание USB через переключатель MOSFET.
Есть несколько альтернативных решений этого вопроса, которые, я думаю, стоит упомянуть.
Используйте USB-кабель только для передачи данных или вручную обрежьте провода VCC и GND кабеля.
Удалите USB-предохранитель с платы Arduino.
Подключите внешний источник питания к одному из входных контактов для измерения напряжения. Это измерение затем можно использовать для определения того, подключено ли внешнее питание и обеспечивает ли оно достаточное напряжение. Если это так, питание USB в любом случае использовать не следует, в противном случае можно использовать оператор if для отключения кода, который включает устройства, потребляющие энергию. Питание USB по-прежнему будет использоваться для питания самой платы Arduino. Он также имеет ограничение: поскольку источник питания может обеспечивать недостаточный ток, оставшийся необходимый ток он может потреблять от USB.
Предложение №1, похоже, мне не помогло, и это меня очень сбивало с толку. Я работаю над сценарием 3D-принтера, использующим Marlin на Arduino. Когда я включаю принтер/блок питания, все подключается так, как и должно быть при использовании немодифицированного кабеля. Но когда я попробую использовать кабель без проводов VCC и GND, ничего не подключится. Может ли плата RAMPS не питать последовательную шину или что-то в этом роде? Как-то ломаю голову над этим., @Erutan409
Только отключите VCC и оставьте заземление. AFAIR не будет работать с подключенным GND, @Nitek
Для работы чипа FTDI требуется питание со стороны USB, поэтому предложение 1 не будет работать., @Rob Jolley
Просто перережьте линию VCC
(обычно красную) на USB-кабеле.
В USB-кабеле четыре провода:
- Земля
- ВК
- Данные +
- Данные –
Вы не можете отправлять данные без опорного заземления, поскольку вам нужна разность потенциалов. Следовательно, вам необходимо сохранить заземление и просто перерезать линию электропитания (красный VCC
).
Обратите внимание, что обычно это нет необходимости, поскольку VIN
предпочтительнее USB. б>.
- Если USB дает 5 В, как Arduino может подавать 5 В на контакт 5 В? (И еще вопрос)
- Можно ли использовать внешний источник питания и USB одновременно на Arduino?
- Как подключить LILYGO ESP32-S3 1,9 "T-Display без USB?
- Можно ли включить arduino uno через 5v pin при одновременном подключении usb?
- Связь USB-C к USB-C Arduino не отвечает, даже если он не подключен к этому кабелю
- Проблема с блоком питания Arduino Yun: использование длинного USB-кабеля
- Как подать более 500 мА при питании от USB
- Установка Arduino внутри ПК
Какой-нибудь конкретный Arduino?, @Ignacio Vazquez-Abrams
Я использую Nano v3 и Mini, но мне желательно найти общее решение., @jnovacho
Общее решение — использовать голые микроконтроллеры, поскольку схемы питания каждой платы немного отличаются., @Ignacio Vazquez-Abrams