Почему сопротивление между выводом ввода-вывода и землей падает, когда Arduino не питается

У меня есть импульсный сигнал 4 кГц 5 В, подключенный к Arduino UNO pin2 (ISR).

  • Когда плата включена, импульс подключается к восходящему фронту ISR и работает так, как задумано.

  • Я не знаю выходного сопротивления импульсного сигнала, но когда плата не питается, импульс падает до 2В.

  • Сопротивление между контактом 2 и землей составляет около 500 Ком, когда он не включен. Сопротивление бесконечно при включении питания.

  • Импульсный сигнал НЕ падает при подключении к резистору 500 Ком.

Вопрос:

  • В чем причина падения сигнала?
  • Как это предотвратить ? (нецелесообразно отключать сигнал от Arduino, но я могу убедиться, что Arduino всегда включен. Как справляться с переходными ситуациями, такими как сброс?)

Заранее спасибо !

, 👍2

Обсуждение

вы предотвращаете это, не отправляя сигнал в обесточенное Arduino ... вы не должны этого делать в первую очередь, потому что вы можете перегореть входные защитные диоды, @jsotola


2 ответа


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

3

Atmega328p (который используется в Un [ (и фактически во всех других микроконтроллерах AVR) имеет зажимные диоды во входном оборудовании для защиты от перенапряжения (выше Vcc). Когда питание отключено, Vcc находится на том же уровне, что и земля, поэтому любое положительное напряжение на входном выводе выше Vcc. Защитные диоды становятся проводящими для защиты входного оборудования. Обратите внимание, что диоды могут легко сгореть, если через них протекает слишком большой ток. Вы должны предотвратить это.

Как это предотвратить? Не делая этого. Вы никогда не должны подавать напряжение на вход микросхемы без питания (как и любой другой микросхемы). Если вам действительно нужно отключить питание Arduino, вы можете предотвратить попадание напряжения на входной контакт с помощью MOSFET.

,

Я могу убедиться, что Arduino всегда включен, но Arduino будет кратковременно сбрасываться при программировании или запуске последовательного порта., @7E10FC9A

@ 7E10FC9A «сброс» не «отключен», @jsotola

Добавление резистора (например, 10 кОм) между сигналом и выводом Arduino является разумным компромиссом., @Gerben


0

Я делаю это постоянно, но я также читаю технический паспорт. Существует ограничение на количество тока, которое вы можете ввести в вывод процессора или в целом, что указано в спецификации. Также имейте в виду, что при вводе тока вы можете привести к выходу VCC из спецификации, если у него недостаточно нагрузки для его поддержки. Обычно я ограничиваю свой входной ток менее чем 1 мА с помощью резистора. Это также защищает меня на случай, если я получу отрицательный отзыв. Для системы 5 В этот резистор равен 5 Ком или больше, при этом 10 Ком являются очень распространенными. Показания входного сопротивления хороши только для проверки того, не закорочен ли вывод. Он подключен к активному соединению полевого транзистора и нескольких диодов. Напряжение и / или полярность вашего омметра определенно повлияют на показания. Сопротивление, которое может быть там, связано с сопротивлением чипу, сопротивлением соединительной проволоки и т.д. все это имеет низкую стоимость.

,