Схема мягкого отключения микроконтроллера не работает - почему?

Я делал плату с микроконтроллером atmega328 (для использования с библиотеками Arduino), чтобы делать некоторые вещи для связи по одному проводу. Так как я все равно травил плату, я решил попробовать реализовать простой программный офф функционал, особо не задумываясь. После того, как я вытравил и собрал плату, мои однопроводные устройства работают нормально, а программное обеспечение в автономном режиме — нет. Я ковырялся и не могу понять, почему не работает.

Идея состоит в том, что кратковременное нажатие кнопки (на 2-3 секунды) подключит аккумулятор к регулятору 5 В, который, в свою очередь, подаст питание на микроконтроллер. Первое, что делает микроконтроллер, это устанавливает высокий уровень цифрового контакта (линия, обозначенная как PWR на приведенной ниже диаграмме), чтобы защелкнуть N-MOSFET Q1 и обойти кнопочный переключатель. Когда переключатель отпущен, схема должна оставаться запитанной через полевой МОП-транзистор.

На самом деле происходит то, что нажатие кнопки включает плату, как и ожидалось. Затвор полевого транзистора управляется микроконтроллером до 5 В, как и ожидалось, но как только кнопка отпускается, все выключается. Вроде полевой транзистор почему-то не шунтирует кнопку, но не могу понять почему? FET Vgs составляет 1,8 В, R6, R7 и D1 есть, поэтому я могу использовать еще одно нажатие на кнопку, чтобы сгенерировать прерывание на линии BTN, затем перевести линию PWR в низкий уровень и выключить плату.

Так вот вопрос что тут не так? Почему MOSFET Q1 не остается заблокированным после отпускания кнопки (подключенной к разъему PWRSW)? Я уверен, что это не что-то сложное, но я просто не могу понять, почему - возможно, потому, что я слишком долго смотрел на это...

Принципиальная электрическая схема

Какое напряжение на источнике (вывод 2)?
Вы уверены, что диод корпуса AP2302AGN (Q1) направлен в правильном направлении? Я думаю, это нарисовано в неправильном направлении. Но я не думаю, что это мешает Q1 оставаться на плаву.
@NickAlexeev PWR составляет 5 В, S должно быть больше, так как же он может оставаться включенным? Я предполагаю, что Vgs на самом деле -1,8 В ...
Это приложение нуждается (или, по крайней мере, намного проще) с P-MOSFET, устанавливая PWR на низкий уровень, чтобы оставаться включенным.
@геометрическое напряжение источника составляет 9,26 В, напряжение стока составляет 9,52 В (напряжение батареи), а напряжение затвора составляет 5 В.
Спасибо за помощь, ребята, я не увидел, что Vgs - это напряжение затвора относительно напряжения источника, а не произвольное заземление, как указано в ответе ниже. В моем приложении Vgs(th) действительно составляет -4 В или около того, так что да... не игра в кости. К сожалению, у меня есть только N-FET в корзине для запчастей.

Ответы (2)

+5 В по отношению к GND недостаточно для включения Q1, который в исходной схеме представляет собой N-канальный полевой МОП-транзистор. ОП думал в правильном направлении, когда искал VGS . Но по отношению к чему взят V GS ? Это не берется относительно GND. Это взято относительно источника MOSFET при +7,5 В (или какое-то такое напряжение, необходимое для 7805). Итак, если вы подаете затвор к +5 В, то V GS < 0. Это отрицательное значение. N-канальный МОП-транзистор не остается включенным, потому что он изначально не включается.

Такой переключатель верхнего плеча обычно состоит из полевого МОП-транзистора с P-каналом и второго небольшого транзистора для управления его затвором. Вот так:

введите описание изображения здесь

(Я не перерисовывал всю исходную схему, но этого должно быть достаточно, чтобы понять идею.)

V GS(th) относится к источнику, а не к какой-либо произвольной точке заземления в цепи. Вы не можете поднять напряжение затвора достаточно высоко, чтобы включить MOSFET с этой схемой. Вместо этого рассмотрите возможность использования PMOSFET.