(Старые) мобильные телефоны имеют кнопку, чтобы включить его (когда он выключен), завершить вызов (когда он включен, короткое нажатие) или выключить его (когда он включен, долгое нажатие).
Мне нужно что-то подобное для микроконтроллера. Устройство питается от батареи, поэтому схема должна быть максимально энергоэффективной. Кроме того, чем меньше контактов ввода-вывода я должен использовать, тем лучше. Я понимаю, что мне нужен хотя бы один вход для чтения состояния. Размер на самом деле не проблема, но чем меньше, тем лучше.
Речь идет о микроконтроллере XLP PIC16F1829 . Если бы я использовал SLEEP
инструкции и кнопку ввода на контакте прерывания, он потреблял бы около 40 мкА в спящем режиме, учитывая периферийные устройства, которые я использую. Я надеюсь, что смогу получить что-то менее актуальное. Схема также должна быть энергоэффективной во включенном состоянии.
Каковы некоторые распространенные энергоэффективные способы включения / выключения одной кнопки с дополнительной опцией для микроконтроллера?
Как видите, я уже сам добавил схему. Однако я не знаю, насколько он энергоэффективен во включенном состоянии, и могут быть варианты получше.
Если вам нужно решение, которое не требует регулятора напряжения, т. е. работает напрямую с линиями 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 мкс.
Абдулла Кахраман
пользователь17592