Я работаю над мягким переключателем питания для микроконтроллера, где мгновенный переключатель может включить цепь (включая микроконтроллер), а затем, когда переключатель нажимается второй раз, микроконтроллер может отключиться после некоторой очистки.
Пока у меня есть схема выше, но я не уверен, будет ли она надежной. Я использую литий-ионный аккумулятор (3,7-4,2 В) и регулятор TC1015 (выход 3,0 В). Идея состоит в том, что при нажатии переключателя регулятор включается, а затем микроконтроллер устанавливает uC Power
высокий уровень, сохраняя себя включенным. При повторном нажатии переключателя включение прерывания uC Switch
позволит микроконтроллеру установить uC Power
низкий уровень, выключив себя.
В чем я не уверен, так это в том, что мне нужно защитить микроконтроллер от напряжения батареи. Микроконтроллер, который я использую, имеет абсолютное максимальное напряжение на выводах ввода / вывода Vdd + 0,4 В, поэтому я не уверен, как справиться с этим лучше всего.
Во-вторых, будет ли эта схема фактически препятствовать включению регулятора, когда он находится в выключенном состоянии? Я думал об использовании понижающего резистора на линии включения, но беспокоюсь о потреблении тока, когда чип включен.
Изменить: микроконтроллер является основной нагрузкой, которая будет переключаться, поэтому, к сожалению, перевод его в режим низкого энергопотребления здесь не будет работать.
Изменить № 2 (после того, как ответы были опубликованы):
Я закончил тем, что использовал схему ниже:
Ранее размещенная схема работала не очень хорошо и имела проблемы с плавающей линией включения, когда микроконтроллер не включал ее.
Новая схема использует триггер, с линией передачи данных, как правило, на низком уровне. Нажатие переключателя ударяет по часам, включая систему. Последующие нажатия переключателя приводят в движение CLOCK
линию высокого уровня (что позволяет микроконтроллеру воспринимать нажатие), но не влияют на выход регулятора. Когда микроконтроллер готов к отключению, он устанавливает DATA
линию в высокий уровень, а затем устанавливает CLOCK
высокий уровень в линии, что приведет к отключению регулятора.
Одна из действительно приятных вещей в этой настройке заключается в том, что первое нажатие кнопки включает регулятор и удерживает его до тех пор, пока микроконтроллер не будет готов к выключению. Отскок не является проблемой, потому что независимо от того, сколько раз линия тактовых импульсов поднимается высоко, линия данных все еще удерживается на низком уровне при понижении. Кроме того, потребление тока должно быть очень минимальным (только триггер и TC1015 при выключенном состоянии), а при включении минимальное потребление тока через резисторы минимально.
Микроконтроллер должен быть защищен от напряжения батареи на линии синхронизации, но, как предположил @Andy aka, это можно сделать с включенным резистором CLOCK
.