Аналоговый вход потребляет ток, когда Arduino выключен
Я использую плату Arduino Pro Micro от SparkFun (аналог Arduino Leonardo, процессор: Atmega 32u4). У неё есть аналоговый вход A0, который я использую для отслеживания напряжения батареи в моём проекте с питанием от батареи (через analogRead).
Я обнаружил, что красный светодиод на плате горит, даже если на обычных входах (micro-USB или Vcc) нет напряжения питания. Если я измерю мультиметром ток между батареей и A0, то увижу, что аналоговый вход потребляет около 30 мА, если Arduino не запитана.
Это нормальное поведение? Можно ли исправить это аппаратно?
@salami738, 👍1
Обсуждение3 ответа
Лучший ответ:
Да, это нормальное поведение, и оно называется обратной подачей энергии.
Ток поступает на входной контакт, а затем через диод защиты от электростатического разряда внутри микросхемы поднимается к выводу VCC. Это плохо, поскольку диод защиты от электростатического разряда не рассчитан на большой ток и его легко повредить.

Вы можете предотвратить это, добавив некоторую изоляцию во входные данные:

МОП-транзистор M1 будет включен при наличии питания на VCC, но выключен при его отсутствии. Резистор сопротивлением 100 кОм подтягивает затвор к земле при отсутствии питания VCC, предотвращая его «плавание». Диод — это внутренний диод МОП-транзистора, добавленный для ясности. Добавлять диод туда не нужно.
Разве тогда Arduino не будет питаться через внутренний диод MOSFET?, @Edgar Bonet
Зависит от того, как вы подключите МОП-транзистор. Пока диод обращён к источнику питания, он не будет проводить ток., @Majenko
https://electronics.stackexchange.com/questions/134157/jtag-circuit-to-prevent-back-powering, @Majenko
@EdgarBonet Да, мне нужно было перевернуть символ — он был перевёрнут. Я также добавил диод для ясности., @Majenko
Я совсем новичок в МОП-транзисторах. Можете порекомендовать какой-нибудь тип?, @salami738
С подходящим пороговым напряжением логического уровня., @Majenko
Я часто использую BSS138P., @Majenko
Я правильно прочитал вашу схему? Согласно Википедии, вы используете N-канальный МОП-транзистор, обычно не проводящий ток., @salami738
В моей схеме используется МОП-транзистор с n-каналом (обычно непроводящий)., @Majenko
Для правильной работы MOSFET необходимо, чтобы входы стока и истока были подключены к Arduino. Затвор подключен к Vcc. MOSFET должен работать в режиме улучшения N-канала на «логическом уровне» (то есть он будет полностью открыт при подаче 5 В на затвор)., @Nick Gammon
Вероятно, это связано с фиксирующими диодами. Для защиты микросхемы от электростатического разряда между выводами, Vcc и землёй установлены диоды. Это позволяет гарантировать, что при накоплении заряда на выводе он может перетекать на Vcc (когда напряжение выше напряжения питания) или на землю (когда напряжение ниже уровня земли).
Если подать напряжение на вывод без напряжения на Vcc, ток будет протекать через вывод к линии питания, питая схему.
Вероятно, эту проблему можно решить, добавив относительно большой резистор последовательно со штифтом.
Как рассчитать необходимый резистор?, @Ohbhatt
Это нормально, если вы злоупотребляете чипом таким образом.
Но вы должны принять во внимание, что строго запрещено подавать напряжение на любой контакт ввода/вывода, когда сам чип отключен.
Это связано с тем, что защитные диоды не рассчитаны на подачу питания на микросхему, и использование их для этой цели может привести к повреждению.
Дословное изложение этого правила приведено в техническом описании как
Напряжение на любом выводе, кроме RESET, относительно земли . . . . . . . . . . -0,5 В до VCC+0,5 В
Если VCC равно 0 В, то максимальное напряжение, которое вы можете подать на любой ввод/вывод, составляет половину вольта, что приблизительно (или чуть ниже) точки, при которой защитный диод начнет значительно отводить ток от ввода/вывода, пытаясь поднять напряжение в цепи Vcc микросхемы и, вероятно, всей платы.
- прошивка ардуино
- Питание светодиодной ленты - Сколько ампер?
- Как запитать Arduino и 1 цветную светодиодную ленту от одного источника питания
- Arduino nano получает питание через аналоговый вход?
- Считывание 10-контактного 7-сегментного (2 цифры) сингла Arduino 1
- Можно ли запитать 25 светодиодов через USB?
- Светодиодная панель ESP32 с регулируемой яркостью и MOSFET
- Почему мой код обрабатывает звуковой датчик так, как будто он всегда ВЫСОКИЙ?
Также задавался вопрос по адресу: http://forum.arduino.cc/index.php?topic=509951 Если вы собираетесь сделать это, пожалуйста, будьте внимательны и добавьте ссылки на другие ресурсы, где вы делаете кросспосты. Это позволит нам избежать траты времени на дублирование, а также поможет другим людям, у которых возникнут те же вопросы и которые найдут ваше сообщение, найти всю необходимую информацию., @per1234
Привет, спасибо, что указали на это. Ссылки будут опубликованы в будущих публикациях!, @salami738