Кнопка включения на транзисторе

Слаботочные выключатели без фиксации, подобные монтируемым на плату тактовым кнопкам, дешевы, доступны и отличаются большим разнообразием размеров и стилей. В то же время кнопки с фиксацией часто имеют бóльшие габариты, они дороже, а диапазон их конструктивных вариантов относительно ограничен. Это может оказаться проблемой, если вам потребуется миниатюрный недорогой выключатель для фиксации питания нагрузки. В статье предлагается схемное решение, позволяющее придать кнопке с самовозвратом функцию фиксации.

Ранее были предложены конструкции, схемы которых основывались на дискретных компонентах [1] и микросхемах [2], [3]. Однако ниже будет описана схема, которой для выполнения тех же функций потребуется всего пара транзисторов и горсть пассивных компонентов.

На Рисунке 1а приведен вариант схемы включения питания для случая нагрузки, подключенной к земле. Схема работает в режиме «переключателя»; это значит, что первое нажатие включает питание нагрузки, второе выключает, и так далее.

а) б)
Рисунок 1. Эта схема превращает кнопку без фиксации в выключатель питания.

Чтобы понять принцип работы схемы, представим, что источник питания +VS только что подключен, конденсатор C1 в исходном состоянии разряжен, и транзистор Q1 выключен. При этом резисторы R1 и R3 оказываются включенными последовательно и подтягивают затвор P-канального MOSFET Q2 к шине +VS, удерживая транзистор в закрытом состоянии. Сейчас схема находится в «деблокированном» состоянии, когда напряжение нагрузки VL на контакте OUT (+) равно нулю.

При кратковременном нажатии нормально разомкнутой кнопки затвор Q2 подключается к конденсатору C1, разряженному до 0 В, и MOSFET включается. Напряжение нагрузки на клемме OUT (+) немедленно увеличивается до +VS, через резистор R4 транзистор Q1 получает базовое смещение и открывается. Вследствие этого Q1 насыщается и через резистор R3 подключает затвор Q2 к земле, удерживая MOSFET открытым, когда контакты кнопки разомкнуты. Теперь схема находится в «зафиксированном» состоянии, когда оба транзистора открыты, нагрузка получает питание, а конденсатор C1 заряжается до напряжения +VS через резистор R2.

После повторного кратковременного замыкания переключателя напряжение на конденсаторе C1 (теперь равное +VS) окажется приложенным к затвору Q2. Поскольку напряжение затвор-исток Q2 теперь близко к нулю, MOSFET выключается, и напряжение нагрузки падает до нуля. Напряжение база-эмиттер Q1 также опускается до нуля, закрывая транзистор. В результате при отпущенной кнопке ничто не удерживает Q2 в открытом состоянии, и схема возвращается в «деблокированное» состояние, когда оба транзистора выключены, нагрузка обесточена, а C1 разряжается через резистор R2.

Шунтирующий выходные зажимы резистор R5 устанавливать необязательно. При отпущенной кнопке конденсатор C1 разряжается на нагрузку через резистор R2. Если импеданс нагрузки очень велик (то есть, соизмерим с величиной R2), или нагрузка содержит активные устройства, такие, скажем, как светодиоды, напряжение нагрузки во время выключения Q2 может оказаться достаточно большим, чтобы через резистор R4 открыть транзистор Q1 и не позволить схеме выключиться. Резистор R5 при выключении Q2 подтягивает клемму OUT (+) к шине 0 В, обеспечивая быстрое выключение Q1 и давая схеме возможность надлежащим образом перейти в закрытое состояние.

При правильном выборе транзисторов схема будет работать в широком диапазоне напряжений и может использоваться для управления такими нагрузками, как реле, соленоиды, светодиоды и т. д. Однако не забывайте, что некоторые работающие на постоянном токе вентиляторы и моторы продолжают вращаться и после выключения питания. Это вращение может создавать противоЭДС, достаточно большую, чтобы открыть транзистор Q1 и не позволить схеме выключиться. Решение проблемы показано на Рисунке 1б, где последовательно с выходом включен блокировочный диод. В этом случае также можно добавить в схему в резистор R5.

На Рисунке 2 изображена еще одна схема, предназначенная для нагрузок, подключенных к верхней шине питания, таких, например, как показанное в этом примере электромагнитное реле.

Обратите внимание, что Q1 был заменен p-n-p транзистором, а на месте Q2 теперь находится N-канальный MOSFET. Эта схема работает точно так же, как схема описанная выше. Здесь R5 выполняет функцию подтягивающего резистора, соединяющего выходной контакт OUT (-) с шиной +VS, когда транзистор Q2 выключается, и обеспечивающего быстрое закрывание Q1. Как и в предыдущей схеме, резистор R5 является необязательным компонентом, и устанавливается только при некоторых типах нагрузки, упомянутых выше.

Заметим, что в обеих схемах постоянная времени C1, R2 выбирается исходя из требуемого подавления дребезга контактов. Обычно нормальной считается величина от 0.25 с до 0.5 с. Меньшие постоянные времени могут привести к неустойчивой работе схемы, в то время как бóльшие увеличивают время ожидания между замыканиями контактов кнопки, за которое должен произойти достаточно полный заряд и разряд конденсатора C1. При указанных на схеме значениях C1 = 330 нФ и R2 = 1 МОм номинальная величина постоянной времени равна 0.33 с. Обычно этого бывает достаточно, чтобы устранить дребезг контактов и переключить нагрузку за время порядка пары секунд.

Рисунок 2. Схема, видоизмененная для нагрузки, подключенной к
положительной шине питания.

Обе схемы предназначены для фиксации и отпускания ключа в ответ на кратковременные замыкания контактов. Однако каждая из них проектировалась таким образом, чтобы гарантировать правильную работу даже при сколь угодно длительном нажатии кнопки. Рассмотрим схему на Рисунке 2, когда транзистор Q2 закрыт. Если кнопка нажимается для выключения схемы, затвор подключается к потенциалу 0 В (поскольку конденсатор C1 разряжен), и MOSFET закрывается, давая возможность общей точке резисторов R1 и R2 подключиться к шине +VS через резистор R5 и импеданс нагрузки. Одновременно Q1 также выключается, в результате чего затвор Q2 оказывается соединенным с шиной GND через резисторы R3 и R4. Если кнопку сразу же отпустить, C1 просто зарядится через резистор R2 до напряжения +VS. Однако если оставить кнопку замкнутой, напряжение затвора Q2 будет определяться потенциалом делителя, образованного резисторами R2 и R3+R4. Считая, что при разблокированной схеме напряжение на контакте OUT (-) приблизительно равно +VS, для напряжения затвор-исток транзистора Q2 можно записать следующее выражение:

Читайте также:  Как украсить старые стены своими руками

Даже если напряжение +VS будет равно 30 В, результирующего напряжения 0.6 В между затвором и истоком не хватит, чтобы открыть MOSFET вновь. Следовательно, при разомкнутых контактах кнопки оба транзистора будут оставаться выключенными.

Схема на Рисунке 2 фиксируется в открытом состоянии кратковременным замыканием контактов кнопки, когда конденсатор C1 заряжен до напряжения +VS, в результате чего Q2 быстро открывается и потенциал клеммы OUT (-) падает до нуля, а вслед за ним быстро включается Q1. Нажатие кнопки после размыкания контактов позволило бы конденсатору C1 разрядиться до нуля через резистор R2. Однако если кнопка останется нажатой, напряжение на затворе Q2 будет определяться потенциалом, задаваемым делителем R2 и R3. Поскольку Q1 открыт и насыщен, напряжение в точке соединения R3 и R4 на коллекторе Q1 будет близко к +VS, а общая точка резисторов R1 и R2 через транзистор Q2 будет подключена к шине GND. Поэтому при удержании кнопки в замкнутом состоянии напряжение затвор-исток транзистора Q2 равно

Следовательно, если напряжение питания равно, по крайней мере, пороговому напряжению затвор-исток Q2, оба транзистора Q2 и Q1 будут включены до тех пор, пока контакты кнопки остаются разомкнутыми.

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

Ссылки

  1. Smith, Anthony H., "Latching power switch uses momentary-action pushbutton", EDN, October 28, 2004.
  2. Schelle, Donald, "Electronic circuit replaces mechanical push-push switch", EDN, September 28, 2006.
  3. Bhandarkar, Santosh, "Single-IC-based electronic circuit replaces mechanical switch", EDN, March 15, 2007.

Перевод: AlexAAN по заказу РадиоЛоцман

Блог о электронике

С батарейным питанием все замечательно, кроме того, что оно кончается, а энергию надо тщательно экономить. Хорошо когда устройство состоит из одного микроконтроллера — отправил его в спячку и все. Собственное потребление в спящем режиме у современных МК ничтожное, сравнимое с саморазрядом батареи, так что о заряде можно не беспокоиться. Но вот засада, не одним контроллером живо устройство. Часто могут использоваться разные сторонние периферийные модули которые тоже любят кушать, а еще не желают спать. Прям как дети малые. Приходится всем прописывать успокоительное. О нем и поговорим.

▌Механическая кнопка
Что может быть проще и надежней сухого контакта, разомкнул и спи спокойно, дорогой друг. Вряд ли батарейку раскачает до того, чтобы пробить миллиметровый воздушный зазор. Урания в них для этого не докладывают. Какой нибудь PSW переключатель то что доктор прописал. Нажал-отжал.

Вот только беда, ток он маленький держит. По паспорту 100мА, а если запараллелить группы, то до 500-800мА без особой потери работоспособности, если конечно не клацать каждые пять секунд на реактивную нагрузку (катушки-кондеры). Но девайс может кушать и поболее и что тогда? Приматывать синей изолентой к своему хипстерскому поделию здоровенный тумблер? Нормальный метод, мой дед всю жизнь так делал и прожил до преклонных лет.

▌Кнопка плюс
Но есть способ лучше. Рубильник можно оставить слабеньким, но усилить его полевым транзистором. Например вот так.

Тут переключатель просто берет и поджимает затвор транзистора к земле. И он открывается. А пропускаемый ток у современных транзисторов очень высокий. Так, например, IRLML5203 имея корпус sot23 легко тащит через себя 3А и не потеет. А что-нибудь в DPACK корпусе может и десяток-два ампер рвануть и не вскипеть. Резистор на 100кОм подтягивает затвор к питанию, обеспечивая строго определенный уровень потенциала на нем, что позволяет держать транзистор закрытым и не давать ему открываться от всяких там наводок.

▌Плюс мозги
Можно развить тему управляемого самовыключения, таким вот образом. Т.е. устройство включается кнопкой, которая коротит закрытый транзистор, пуская ток в контроллер, он перехватывает управление и, прижав ногой затвор к земле, шунтирует кнопку. А выключится уже тогда, когда сам захочет. Подтяжка затвора тоже лишней не будет. Но тут надо исходить из схемотехники вывода контроллера, чтобы через нее не было утечки в землю через ногу контроллера. Обычно там стоит такой же полевик и подтяжка до питания через защитные диоды, так что утечки не будет, но мало ли бывает…

Или чуть более сложный вариант. Тут нажатие кнопки пускает ток через диод на питание, контроллер заводится и сам себя включает. После чего диод, подпертый сверху, уже не играет никакой роли, а резистор R2 эту линию прижимает к земле. Давая там 0 на порту если кнопка не нажата. Нажатие кнопки дает 1. Т.е. мы можем эту кнопку после включения использовать как нам угодно. Хоть для выключения, хоть как. Правда при выключении девайс обесточится только на отпускании кнопки. А если будет дребезг, то он может и снова включиться. Контроллер штука быстрая. Поэтому я бы делал алгоритм таким — ждем отпускания, выбираем дребезг и после этого выключаемся. Всего один диод на любой кнопке и нам не нужен спящий режим 🙂 Кстати, в контроллер обычно уже встроен этот диод в каждом порту, но он очень слабенький и его можно ненароком убить если вся ваша нагрузка запитается через него. Поэтому и стоит внешний диод. Резистор R2 тоже можно убрать если нога контроллера умеет делать Pull-down режим.

▌Отключая ненужное
Можно сделать и по другому. Оставить контроллер на «горячей» стороне, погружая его в спячку, а обесточивать только жрущую периферию.

Выделив для нее отдельную шину питания. Но тут надо учесть, что есть такая вещь как паразитное питание. Т.е. если вы отключите питание, например, у передатчика какого, то по шине SPI или чем он там может управляться пойдет питание, поднимется через защитные диоды и периферия оживет. Причем питания может не хватить для его корректной работы из-за потерь на защитных диодах и вы получите кучу глюков. Или же получите превышение тока через порты, как результат выгоревшие порты на контроллере или периферии. Так что сначала выводы данных в Hi-Z или в Low, а потом обесточивайте.

Читайте также:  Когда должны включать отопление в домах

▌Выкидываем лишнее
Что-то мало потребляющее можно запитать прям с порта. Сколько дает одна линия? Десяток миллиампер? А две? Уже двадцать. А три? Параллелим ноги и вперед. Главное дергать их синхронно, лучше за один такт.

Правда тут надо учитывать то, что если нога может отдать 10мА ,то 100 ног не отдадут ампер — домен питания не выдержит. Тут надо справляться в даташите на контроллер и искать сколько он может отдать тока через все выводы суммарно. И от этого плясать. Но до 30мА с порта накормить на раз два.

Главное не забывайте про конденсаторы, точнее про их заряд. В момент заряда кондера он ведет себя как КЗ и если в вашей периферии есть хотя бы пара микрофарад емкостей висящих на питании, то от порта ее питать уже не следует, можно порты пожечь. Не самый красивый метод, но иногда ничего другого не остается.

▌Одна кнопка на все. Без мозгов
Ну и, напоследок, разберу одно красивое и простое решение. Его несколько лет назад набросил мне в комменты uSchema это результат коллективного творчества народа на его форуме.

Одна кнопка и включает и выключает питание.

При включении, конденсатор С1 разряжен. Транзистор Т1 закрыт, Т2 тоже закрыт, более того, резистор R1 дополнительно подтягивает затвор Т1 к питанию, чтобы случайно он не открылся.

Конденсатор С1 разряжен. А значит мы в данный момент времени можем считать его как КЗ. И если мы нажмем кнопку, то пока он заряжается через резистор R1 у нас затвор окажется брошен на землю.

Это будет одно мгновение, но этого хватит, чтобы транзистор Т1 распахнулся и на выходе появилось напряжение. Которое тут же попадет на затвор транзистора Т2, он тоже откроется и уже конкретно так придавит затвор Т1 к земле, фиксируясь в это положение. Через нажатую кнопку у нас С1 зарядится только до напряжения которое образует делитель R1 и R2, но его недостаточно для закрытия Т1.

Отпускаем кнопку. Делитель R1 R2 оказывается отрезан и теперь ничто не мешает конденсатору С1 дозарядиться через R3 до полного напряжения питания. Падение на Т1 ничтожно. Так что там будет входное напряжение.

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

Жмем кнопку еще раз. Теперь уже заряженный на полную конденсатор С1 вбрасывает все свое напряжение (а оно равно напряжению питания) на затвор Т1. Открытый транзистор Т2 тут вообще не отсвечивает, ведь он отделен от этой точки резистором R2 аж на 10кОм. А почти нулевое внутреннее сопротивление конденсатора на пару с его полным зарядом легко перебивает низкий потенциал на затворе Т1. Там кратковременно получается напряжение питания. Транзистор Т1 закрывается.

Тут же теряет питание и затвор транзистора Т2, он тоже закрывается, отрезая возможность затвору Т1 дотянуться до живительного нуля. С1 тем временем даже не разряжается. Транзистор Т2 закрылся, а R1 действует на заряд конденсатора С1, набивая его до питания. Что только закрывает Т1.

Отпускаем кнопку. Конденсатор оказывается отрезан от R1. Но транзисторы все закрыты и заряд с С1 через R3 усосется в нагрузку. С1 разрядится. Схема готова к повторному включению.

Вот такая простая, но прикольная схема. Вот тут еще полно реализаций похожих схем. На сходном принципе действия.

Блог о электронике

С батарейным питанием все замечательно, кроме того, что оно кончается, а энергию надо тщательно экономить. Хорошо когда устройство состоит из одного микроконтроллера — отправил его в спячку и все. Собственное потребление в спящем режиме у современных МК ничтожное, сравнимое с саморазрядом батареи, так что о заряде можно не беспокоиться. Но вот засада, не одним контроллером живо устройство. Часто могут использоваться разные сторонние периферийные модули которые тоже любят кушать, а еще не желают спать. Прям как дети малые. Приходится всем прописывать успокоительное. О нем и поговорим.

▌Механическая кнопка
Что может быть проще и надежней сухого контакта, разомкнул и спи спокойно, дорогой друг. Вряд ли батарейку раскачает до того, чтобы пробить миллиметровый воздушный зазор. Урания в них для этого не докладывают. Какой нибудь PSW переключатель то что доктор прописал. Нажал-отжал.

Вот только беда, ток он маленький держит. По паспорту 100мА, а если запараллелить группы, то до 500-800мА без особой потери работоспособности, если конечно не клацать каждые пять секунд на реактивную нагрузку (катушки-кондеры). Но девайс может кушать и поболее и что тогда? Приматывать синей изолентой к своему хипстерскому поделию здоровенный тумблер? Нормальный метод, мой дед всю жизнь так делал и прожил до преклонных лет.

▌Кнопка плюс
Но есть способ лучше. Рубильник можно оставить слабеньким, но усилить его полевым транзистором. Например вот так.

Тут переключатель просто берет и поджимает затвор транзистора к земле. И он открывается. А пропускаемый ток у современных транзисторов очень высокий. Так, например, IRLML5203 имея корпус sot23 легко тащит через себя 3А и не потеет. А что-нибудь в DPACK корпусе может и десяток-два ампер рвануть и не вскипеть. Резистор на 100кОм подтягивает затвор к питанию, обеспечивая строго определенный уровень потенциала на нем, что позволяет держать транзистор закрытым и не давать ему открываться от всяких там наводок.

▌Плюс мозги
Можно развить тему управляемого самовыключения, таким вот образом. Т.е. устройство включается кнопкой, которая коротит закрытый транзистор, пуская ток в контроллер, он перехватывает управление и, прижав ногой затвор к земле, шунтирует кнопку. А выключится уже тогда, когда сам захочет. Подтяжка затвора тоже лишней не будет. Но тут надо исходить из схемотехники вывода контроллера, чтобы через нее не было утечки в землю через ногу контроллера. Обычно там стоит такой же полевик и подтяжка до питания через защитные диоды, так что утечки не будет, но мало ли бывает…

Читайте также:  Какие бывают овощные растения

Или чуть более сложный вариант. Тут нажатие кнопки пускает ток через диод на питание, контроллер заводится и сам себя включает. После чего диод, подпертый сверху, уже не играет никакой роли, а резистор R2 эту линию прижимает к земле. Давая там 0 на порту если кнопка не нажата. Нажатие кнопки дает 1. Т.е. мы можем эту кнопку после включения использовать как нам угодно. Хоть для выключения, хоть как. Правда при выключении девайс обесточится только на отпускании кнопки. А если будет дребезг, то он может и снова включиться. Контроллер штука быстрая. Поэтому я бы делал алгоритм таким — ждем отпускания, выбираем дребезг и после этого выключаемся. Всего один диод на любой кнопке и нам не нужен спящий режим 🙂 Кстати, в контроллер обычно уже встроен этот диод в каждом порту, но он очень слабенький и его можно ненароком убить если вся ваша нагрузка запитается через него. Поэтому и стоит внешний диод. Резистор R2 тоже можно убрать если нога контроллера умеет делать Pull-down режим.

▌Отключая ненужное
Можно сделать и по другому. Оставить контроллер на «горячей» стороне, погружая его в спячку, а обесточивать только жрущую периферию.

Выделив для нее отдельную шину питания. Но тут надо учесть, что есть такая вещь как паразитное питание. Т.е. если вы отключите питание, например, у передатчика какого, то по шине SPI или чем он там может управляться пойдет питание, поднимется через защитные диоды и периферия оживет. Причем питания может не хватить для его корректной работы из-за потерь на защитных диодах и вы получите кучу глюков. Или же получите превышение тока через порты, как результат выгоревшие порты на контроллере или периферии. Так что сначала выводы данных в Hi-Z или в Low, а потом обесточивайте.

▌Выкидываем лишнее
Что-то мало потребляющее можно запитать прям с порта. Сколько дает одна линия? Десяток миллиампер? А две? Уже двадцать. А три? Параллелим ноги и вперед. Главное дергать их синхронно, лучше за один такт.

Правда тут надо учитывать то, что если нога может отдать 10мА ,то 100 ног не отдадут ампер — домен питания не выдержит. Тут надо справляться в даташите на контроллер и искать сколько он может отдать тока через все выводы суммарно. И от этого плясать. Но до 30мА с порта накормить на раз два.

Главное не забывайте про конденсаторы, точнее про их заряд. В момент заряда кондера он ведет себя как КЗ и если в вашей периферии есть хотя бы пара микрофарад емкостей висящих на питании, то от порта ее питать уже не следует, можно порты пожечь. Не самый красивый метод, но иногда ничего другого не остается.

▌Одна кнопка на все. Без мозгов
Ну и, напоследок, разберу одно красивое и простое решение. Его несколько лет назад набросил мне в комменты uSchema это результат коллективного творчества народа на его форуме.

Одна кнопка и включает и выключает питание.

При включении, конденсатор С1 разряжен. Транзистор Т1 закрыт, Т2 тоже закрыт, более того, резистор R1 дополнительно подтягивает затвор Т1 к питанию, чтобы случайно он не открылся.

Конденсатор С1 разряжен. А значит мы в данный момент времени можем считать его как КЗ. И если мы нажмем кнопку, то пока он заряжается через резистор R1 у нас затвор окажется брошен на землю.

Это будет одно мгновение, но этого хватит, чтобы транзистор Т1 распахнулся и на выходе появилось напряжение. Которое тут же попадет на затвор транзистора Т2, он тоже откроется и уже конкретно так придавит затвор Т1 к земле, фиксируясь в это положение. Через нажатую кнопку у нас С1 зарядится только до напряжения которое образует делитель R1 и R2, но его недостаточно для закрытия Т1.

Отпускаем кнопку. Делитель R1 R2 оказывается отрезан и теперь ничто не мешает конденсатору С1 дозарядиться через R3 до полного напряжения питания. Падение на Т1 ничтожно. Так что там будет входное напряжение.

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

Жмем кнопку еще раз. Теперь уже заряженный на полную конденсатор С1 вбрасывает все свое напряжение (а оно равно напряжению питания) на затвор Т1. Открытый транзистор Т2 тут вообще не отсвечивает, ведь он отделен от этой точки резистором R2 аж на 10кОм. А почти нулевое внутреннее сопротивление конденсатора на пару с его полным зарядом легко перебивает низкий потенциал на затворе Т1. Там кратковременно получается напряжение питания. Транзистор Т1 закрывается.

Тут же теряет питание и затвор транзистора Т2, он тоже закрывается, отрезая возможность затвору Т1 дотянуться до живительного нуля. С1 тем временем даже не разряжается. Транзистор Т2 закрылся, а R1 действует на заряд конденсатора С1, набивая его до питания. Что только закрывает Т1.

Отпускаем кнопку. Конденсатор оказывается отрезан от R1. Но транзисторы все закрыты и заряд с С1 через R3 усосется в нагрузку. С1 разрядится. Схема готова к повторному включению.

Вот такая простая, но прикольная схема. Вот тут еще полно реализаций похожих схем. На сходном принципе действия.

Комментарии запрещены.

Присоединяйся