Энергоэффективная кнопка включения/выключения с дополнительной функцией

(Старые) мобильные телефоны имеют кнопку, чтобы включить его (когда он выключен), завершить вызов (когда он включен, короткое нажатие) или выключить его (когда он включен, долгое нажатие).

Мне нужно что-то подобное для микроконтроллера. Устройство питается от батареи, поэтому схема должна быть максимально энергоэффективной. Кроме того, чем меньше контактов ввода-вывода я должен использовать, тем лучше. Я понимаю, что мне нужен хотя бы один вход для чтения состояния. Размер на самом деле не проблема, но чем меньше, тем лучше.

Речь идет о микроконтроллере XLP PIC16F1829 . Если бы я использовал SLEEPинструкции и кнопку ввода на контакте прерывания, он потреблял бы около 40 мкА в спящем режиме, учитывая периферийные устройства, которые я использую. Я надеюсь, что смогу получить что-то менее актуальное. Схема также должна быть энергоэффективной во включенном состоянии.

Каковы некоторые распространенные энергоэффективные способы включения / выключения одной кнопки с дополнительной опцией для микроконтроллера?

Как видите, я уже сам добавил схему. Однако я не знаю, насколько он энергоэффективен во включенном состоянии, и могут быть варианты получше.

Это видео может быть полезным.
@abdullahkahraman это так! Вы должны сделать это ответ, если у вас есть время;)

Ответы (3)

Если вам нужно решение, которое не требует регулятора напряжения, т. е. работает напрямую с линиями Vcc на PIC, то я немного изменил его (и по уважительной причине): -

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

Причина, по которой он был изменен, заключается в том, что на проходном транзисторе BJT может слишком сильно падать напряжение под нагрузкой, если вы просто переключаете уже отрегулированный Vcc на PIC. Я заменил проходной транзистор на P-канальный полевой транзистор и удалил резисторы 2k2 и 33k в вашей схеме. 2k2 необходим для защиты проходного транзистора BJT, а 33k ограничивает максимальный ток базы проходного транзистора — не требуется при использовании P-канального полевого транзистора.

Я также добавил подтяжку 10k на PD3, но это может быть внутренняя подтяжка в PIC. Что похоже на подходящий P-канальный полевой транзистор, так это TP0101 - это первый, с которым я столкнулся, когда гуглил «Low Vgs (theshold) P-channel MOSFET». Подойдет много чего, но у этого низкое сопротивление (<1 Ом) и всего 2,5 В на затворе, и это было моей основной целью.

Он также будет работать до более чем 10 В, поэтому его можно использовать и до регулятора.

Энергоэффективность во включенном состоянии будет лучше, чем у схемы BJT, потому что для поддержания ее во включенном состоянии не требуется базовый ток. При выключении обе цепи будут иметь очень низкий ток, но, возможно, утечка P-канала будет «тратить впустую» утечку 1 мкА в нагрузку — вероятно, неплохо убедиться, что эти 1 мкА каким-то образом не создают напряжение на PIC, которое может вызвать «странное» включение питания - используйте нагрузку 100k на выходе - это создаст 0,1 В на контактах питания PIC и убьет эту возможность.

Я, конечно, немного поискал и нашел это:

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

Источник: http://www.circuitsonline.net/schakelingen/145/computer-en-microcontroller/one-button-onoff.html (голландский)

Согласно сайту, эта схема потребляет менее 1 мкА в выключенном состоянии. Я не проверял это сам. Я не знаю, сколько он потребляет, когда устройство включено.

Когда SW1 нажат, Q1 начинает проводить, и микроконтроллер запускается. В процедуре запуска PD2 должен быть установлен на высокий уровень, чтобы Q1 через Q2 оставался включенным, чтобы устройство оставалось включенным. На PD3 можно прочитать состояние SW1. Вы можете проверить в коде, как долго кнопка нажата, и выполнять различные функции в зависимости от времени нажатия кнопки.

Думаю , можно использовать и без регулятора напряжения .

Одним из вариантов может быть микроконтроллер с меньшей мощностью. Эту плату можно использовать для разработки для одного (TI MSP430), способного потреблять около 0,8 мА в режиме пониженного энергопотребления; по нажатию кнопки он может быть активен через 1 мкс.