Определить, включен ноутбук или нет?
Как мне безопасно подключить Arduino, чтобы он мог определить, включен ноутбук или нет?
Arduino питается отдельно от обычного зарядного устройства USB, поскольку его необходимо включать, даже когда ноутбук выключен. Итак, я думаю, что могу каким-то образом подключить вход на Arduino к одному из портов USB на ноутбуке, но как мне это сделать безопасно?
Даже если я перестрахуюсь и подключу токоограничивающий резистор между напряжением USB и входным контактом и, возможно, делителем напряжения, все равно возникнет проблема с подключением одного устройства к другому? Я думаю, что, поскольку у каждого есть свой источник питания от сети, может ли возникнуть проблема, если я подключу USB-порт ноутбука к контакту на Arduino?
Нужно ли использовать между ними оптопару или реле? Или есть еще лучший способ сделать это, о котором я не подумал?
@Magnus W, 👍0
Обсуждение4 ответа
Лучший ответ:
Если выбранный вами источник питания имеет хорошее качество и обеспечивает надлежащую изоляцию заземления, не должно возникнуть проблем с соединением заземления двух систем вместе.
Однако, поскольку в Интернете доступно так много некачественных блоков питания (и даже некоторые "хорошие" блоки питания несколько сомнительны, когда дело доходит до заземления), безопаснее всего подстраховаться и добавить собственную гальваническую развязку.
Самый простой способ — использовать оптоизолятор. Используйте + 5 В и GND от USB-порта вашего компьютера (при условии, что это не постоянно включенный порт для зарядки — ищите символ молнии) вместе с резистором (470 Ом — 1 кОм хорошо) для управления светодиодной стороной оптоизолятора. . Затем другая сторона действует как кнопка для Arduino:
При таком расположении ваш вход будет НИЗКИМ, когда ПК включен. Также R2 можно заменить внутренним подтягиванием контакта GPIO (pinMode(PIN, INPUT_PULLUP);
)
Как я уже сказал, это, скорее всего, не будет строго необходимым, но при минимальной стоимости оптоизолятора глупо не добавить этот дополнительный уровень защиты. В конце концов, оптоизолятор дешевле новой Arduino или (не дай Бог) нового ноутбука.
Зарядные устройства USB настенного типа всегда имеют двойную изоляцию — обычно вы видите квадрат внутри квадратного символа для европейских рынков, хотя одно только для рынка США может не иметь такой маркировки.
Это означает, что вторичная сторона может свободно перемещаться и может быть безопасно подключена к заземлению ноутбука, блок питания которого обычно также имеет двойную изоляцию.
Это означает, что вы можете просто подключить USB-выход 5 В к входу на Arduino — подключите достаточно большой токоограничивающий резистор, чтобы учесть разницу в напряжениях, — особенно в случае, когда выход ноутбука включен, когда питание Arduino включено. выключено, чтобы вход не питал Arduino через защитные диоды.
Вы можете использовать аналоговый вход, но если вам нужна только индикация включения/выключения, подойдет цифровая интерпретация.
Проверьте выход USB-разъема на ноутбуке. Некоторые из них предназначены для зарядки аксессуаров, когда ноутбук включен, но не включен. На одном из моих ноутбуков все порты работают так, и ничего не указывает на это.
«двойная изоляция» не имеет ничего общего с тем, что безопасно или не связано с землей. Это связано исключительно с тем, как изолировано физическое устройство. Вы имеете в виду "гальваническую развязку", а это совсем другое., @Majenko
Двойная изоляция в соответствии с UL1097 отменяет требование заземления вторичной цепи, считающейся доступным мертвым металлом, — фактически она запрещает это и, таким образом, обеспечивает гальваническую развязку, обеспечиваемую разделением обмоток дросселя обратного хода, и расстоянием пути утечки плата, к которой он прикреплен, не подвергается риску из-за того, что он подключен к любой точке питания, которая может привести к возникновению контура заземления при подключении к другому оборудованию, заземленному или нет., @Phil G
Вы путаете заземление «земля» с заземлением «эталонная точка 0 В в цепи постоянного тока»., @Majenko
Нет я не. Безопасно ли подключать GND USB-порта ноутбука к GND источника питания Arduino, зависит от того, нет ли других соединений с обоими из них, которые могли бы удерживать их при разных потенциалах, и соединение с землей питания через оба источника питания может сделай это. UL, к сожалению, использует термин «заземление» для обозначения заземления во многих местах. https://en.wikipedia.org/wiki/Ground_loop_(электричество), @Phil G
А через конденсатор Y...? Ток утечки ("ток прикосновения") может оказаться фатальным для того или иного устройства..., @Majenko
Не было бы проблемы, если бы Arduino был спроектирован правильно. Однако они решили (неправильно) подключить экран USB напрямую к земле на устройстве. Дураки! Там должен был быть балансировочный резистор на 1 МОм (около 1 МОм), чтобы мягко выравнивать разность потенциалов земли, когда вы подключаете кабель. Вот почему некоторые устройства искрят, когда вы подключаете USB., @Majenko
Я не вижу проблем с соединением их вместе, как вы описали.
Не забудьте также подключить землю USB к земле Arduino, чтобы у электронов был обратный путь.
Рекомендуется добавить токоограничивающий резистор на тот случай, если питание на Arduino не подается, а на ноутбук подается. Резисторный делитель необходим только для Arduino, работающего от 3,3 В.
Единственная проблема заключается в том, что (а) выход USB ноутбука составляет 5 В, а вход Arduino не должен превышать 3,3, и (б) когда ноутбук больше не питается, контакт 5 В на его USB больше не имеет определенного состояния. , и теоретически может резко увеличиться.
Вот простой и дешевый способ сделать это с помощью пассивов. Диод изолирует USB от любого «обратного» напряжения. USB 5V измеряется на резисторе, и я бы поместил туда конденсатор, чтобы поглощать любые скачки напряжения от ноутбука, когда он теряет питание. Наконец, второй резистор также косвенно защищает цифровой вход и действует как преобразователь напряжения между 5 В (4,5 после диода) и 3,3 В, которые хочет видеть Arduino. Перенапряжение будет просто направлено на землю через внутренние защитные диоды микросхемы, а ток будет ограничен примерно до 120 микроампер (4,5-3,3) / 10K.
Вы можете использовать оптоизолятор, но это дешевое решение, которое будет работать. Вам придется делить землю между USB ноутбука и Arduino (не показано на схеме). Однако это не будет проблемой. Особенно с учетом того, что все адаптеры питания обеспечивают значительную изоляцию между линией и нагрузкой. Кстати, емкость конденсатора 1 мкФ можно уменьшить до 100 нФ или меньше, в зависимости от того, насколько быстро вы хотите реагировать на потерю мощности.
Что заставляет вас думать, что Arduino имеет логику 3,3 В?, @Majenko
Кому-то 5, кому-то 3,3. ОП не сказал. https://www.arduino.cc/reference/en/language/variables/constants/constants/, @Randy
99% 5в. Вы выбрали неправильное напряжение по умолчанию., @Majenko
В любом случае, кольцевое шоу сработает., @Randy
- Причины, по которым нельзя подключать реле непосредственно к цифровому контакту Arduino
- Какой релейный модуль купить и в чем разница между 1-канальными и 2-канальными релейными платами
- Реле Arduino. риски?
- Можно ли подключить вывод релейного модуля к аналоговым выводам arduino вместо цифрового вывода?
- Нормально разомкнутая плата оптосоединителя
- ESP32 изо всех сил пытается последовательно запустить 4- канальный релейный модуль 5 В
- Вопрос новичка - Biltong Box Project
- Реле прибора 24 В
знаете ли вы, что на USB pim есть 5 В, если ноутбук включен, и нет 5 В, если ноутбук «выключен»?, @Juraj
@Juraj Я не проверял это тщательно, но ничто из того, что я подключаю к USB, кажется, не имеет питания, когда ноутбук выключен, поэтому я думаю, что 5 В отключено?, @Magnus W
Кстати, рассмотрим мое дешевое решение. Печальная часть этих форумов StackExchange заключается в том, что люди «минусуют», когда им не нравится то, что вы предлагаете. Эти минусы часто не имеют ничего общего с фактическими измеримыми данными., @Randy