У меня есть микроконтроллерное устройство с питанием от батареи. В настоящее время я переключаю питание простым выключателем. Я хочу переключать питание одной кнопкой с минимальной модификацией схемы (и, возможно, программы микроконтроллера) и без потребления, когда устройство выключено. Как я могу это сделать?
ДОБАВЛЕНО . Я знаю следующий трюк:
Здесь при запуске микроконтроллер устанавливает PB3 в высокий уровень и, таким образом, удерживает питание устройства. Но это не решение моей проблемы, потому что мне нужно еще и выключить устройство, нажав S1.
ДОБАВЛЕНО . Можно ли исключить VT2 из схемы (т.е. микроконтроллер напрямую управляет базой VT1)?
Основываясь на предоставленной вами схеме, вы можете просто добавить диод последовательно сразу после переключателя (S1) (катод подключен к переключателю), и вы можете использовать вход, чтобы определить, был ли переключатель снова нажат, если да, выключите ПБ3.
Стабилитрон защищает вход PIC от напряжения, поступающего от источника питания.
Как далеко вам действительно нужно быть? У многих современных микроконтроллеров ток покоя значительно ниже тока саморазряда даже небольших батарей. Вы можете сделать так, чтобы кнопка просто управляла контактом ввода-вывода микроконтроллера, который затем переключался между спящим и активным режимами при каждом нажатии кнопки. Потребуется некоторое устранение дребезга, но все это можно сделать и в прошивке.
Такой метод включения / выключения становится довольно распространенным в настоящее время. Когда для этого требуется всего мкА, микроконтроллеру не нужно быть действительно выключенным, он просто спит, что он может делать под своим собственным контролем. Линия кнопок должна быть подключена к чему-то, что может вывести микроконтроллер из спящего режима, но почти каждый микропроцессор имеет по крайней мере один из них, обычно несколько.
РЕДАКТИРОВАТЬ - если подумать, схема ниже (которую я оставлю для справки), вероятно, лучше всего подходит для использования в схемах без микро. Как упоминалось в других ответах, если вы действительно не можете позволить себе несколько мкА, на самом деле не имеет смысла не использовать микро для управления переключателем питания, поскольку он использует меньше компонентов и может точно контролироваться.
Самая простая версия может быть чем-то вроде входа IOC (прерывание при изменении) с подтягиванием, с кнопкой на землю. На микросхему все время подается питание, и она управляет P-канальным полевым МОП-транзистором (с подтяжкой от затвора к истоку) для остальной части схемы. Когда он спит, он позволяет воротам плавать, чтобы отключить цепь.
Эталонная схема:
Сначала P-MOSFET выключен, поэтому на транзисторе Q2 отсутствует базовый ток, который также выключен. Q1 выключен, поэтому Q1c находится на уровне 5 В. Цепь статическая.
Когда S1 (игнорируйте узлы + и -, они предназначены для запуска SPICE) нажимается, 5V на Q1c подключается к базе Q2, включая его. Это притягивает затвор P-MOSFET к земле, а также включает его.
R4 теперь видит 5 В, и когда S1 отпущен, он обеспечивает базу Q2s током, необходимым для того, чтобы держать его открытым (и, следовательно, MOSFET тоже). Q1 также включается, когда ток через R2 заряжает C1 до ~ 600 мВ, в этот момент Q1c <200 мВ (т. е. Q1 включен)
Теперь цепь снова статична.
Когда S1 нажимается снова, Q1 потребляет ток от R4 (который держит Q2 включенным), отключая Q2. R1 поднимает базу MOSFET до 5 В и снова отключает его.
Вот симуляция (высокий уровень V(push) означает, что кнопка нажата):
Также мы можем видеть, что после отключения питания ток устремляется к нулю (поскольку C1 разряжается и Q1 выключается), поэтому схема не потребляет энергии в выключенном состоянии (курсор для I(V1) находится на 19,86 с и измеряет 329 нА):
Первоначальная идея схемы принадлежит не мне, а Дейву Джонсу из EEVblog .
Как предположил Бруно Феррейра, самый простой способ заставить кнопку действовать как «выключатель» — это изменить схему, позволив процессору узнать, когда кнопка нажата. Я думаю, что можно достаточно хорошо использовать резисторы для защиты входа процессора от напряжений, превышающих VDD, без необходимости для этого стабилитрона.
Вот грубый набросок схемы, которую вы можете использовать. Правая половина представляет поведение процессора, и я использовал комбинацию транзистора, стабилитрона и резистора, чтобы заменить регулятор. Выход процессора представлен с помощью аналогового переключателя его VDD, а не затвора, поскольку затворы в этом симуляторе всегда генерируют выход +5 В.
Ключевой аспект схемы, который может вызвать проблемы, если его игнорировать, заключается в том, что она спроектирована так, что процессор не может включить схему, если его VDD не составляет не менее ~ 3,6 вольт; Я также настроил симулятор так, чтобы процессор всегда пытался включить свой выход, когда его VDD ниже 3,5 вольт. Я видел много проектов, в которых предполагается, что процессоры не будут пытаться выводить высокий логический уровень, когда их мощность уходит. Это предположение может сработать для некоторых партий чипов, используемых в тестировании, но не сработает для других партий чипов, используемых в полномасштабном производстве. Поведение большинства процессоров в условиях пониженного напряжения не указано; хорошая конструкция должна быть разработана таким образом, чтобы поведение процессора в таких условиях не имело значения (небольшое замечание: вероятно, можно с уверенностью предположить, что процессор, специально предназначенные для генерации напряжений, превышающих любое приложенное напряжение, не начнут это делать волшебным образом; Я не думаю, что для этого есть явная спецификация, но я думаю, что в большинстве случаев это можно сделать с уверенностью).
АндреяКо
пользователь54579
АндреяКо
Бруно Феррейра
ткросли