Включение и выключение нагрузки одной кнопкой. Включение-выключение питания одной кнопкой, в том числе и нескольких устройств (видео) Схема включения выключения кнопкой без фиксации

Программы 02.01.2024
Программы

Если перед вами стоит задача включать и выключать устройство или несколько устройств одной кнопкой, и вы в поисках такого варианта, то вы зашли к нам явно по адресу. Здесь вашему вниманию будет предложено несколько схем реализации подобных проектов на различных микросхемах, а значит с различными принципами действия, но с одним и тем же результатом. Что же, давайте обо всем по порядку!

Управление одним устройством (включение-выключение) от одной кнопки (NE555)

Первую схему мы не особо будем «мусолить» так как схема не является нашей оригинальной идеей, кроме того эта схема итак уже разобрана везде и всюду в интернете. Мы посмотрели, что на этот счет есть даже видео. Если есть желание, то можете поискать.

По сути это схема работает на микросхеме таймере NE555. Да, микросхемка уже легендарная и сыскавшая себе славу. Здесь из этого самого таймера организовали мультивибратор. Итак, если у таймера создать обратную связь, то получается мультивибратор. А эта самая связь как раз и создается посредством нажатия на кнопку. В итоге таймер входит в режим мультивибратора и с определенной периодичность начинает выдавать на выходе импульсы то единичку, то нолик. В итоге именно этот импульс и будет управляющим для силовой и индикационной цепочки на транзисторе с реле и светодиоде.

Какие здесь могут быть минусы. Ну, главный минус, что таймер так и остается таймером, то есть его не особо интересует сколько раз вы нажали на кнопку, ему более интересно как быстро зарядиться или разрядиться конденсатор в 1 МкФ. То есть, возможно проскакивания включения выключения, не явное и неточное срабатывание. Некоторые радиолюбители называют это «дребезжанием контактов», но к этому термину это не имеет никакого отношения. Это штатная работа таймера, не более того. Итак, с этим вариантом все понятно.

Управление несколькими или одним устройством (включение-выключение) от одной кнопки (К155ИЕ7)

Теперь вариант на счетчике. Здесь принцип такой. Есть двоичный счетчик на микросхеме К155ие7, на его выходе с подачей входного сигнала меняется потенциал. Опять же это либо единичка, либо нолик. Всего четыре выхода. Первый выход на ножке 3 меняет свой потенциал при каждом 1 нажатии, второй на ножке 2 при каждом 2 и т.д. В итоге что получается? Выходит то, что одним нажатием можно управлять не только одним устройством, а сразу 4, то есть согласно количеству выходов. Здесь главное сигнал слабого тока преобразовать в сигнал высокого тока. Именно для этого на нужную нам ножку-выход достаточно «повесить» силовой модуль, собранный на оптопаре 4n25, транзисторе и реле.

Также кроме управления одним, двумя, тремя или четырьмя устройствами можно будет применить такую схему и в качестве кодового ключа, то есть кодового замка. Здесь можно поставить второй счетчик и в зависимости от высоких потенциалов на определенных ножках обеспечить питание для срабатывания управляющего запорного элемента замка. Мы не будем развивать эту тему, так как по этому поводу лучше сделать свою, тематическую статью. Можно лишь подытожить, что такая схема не намного сложнее первой при этом работает от одного нажатия четко и без отклонений, да к тому же может управлять сразу питанием 4 устройств. Именно этого нам и надо было добиться!
А теперь кому лень было все это читать, разбираться, предлагаем посмотреть видео, в котором как раз и описано все тоже самое.

Светодиодные лампы Сколько потребляет зарядное устройство и можно ли сэкономить на нем или почему все-таки надо отключать зарядку из розетки Команды для включения и отмены опций у сотовых операторов (МТС, Билайн, Мегафон) Маркировка резисторов по цветам (номинальное сопротивление и мощность)
Электрические кабельные системы отопления (ЭКСО) отличное решение современного дома
Schneider Electric: новинки серии Odace

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

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

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

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

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

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

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

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

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

Правда тут надо учитывать то, что если нога может отдать 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 разрядится. Схема готова к повторному включению.

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

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

Приведенная схема проста до безобразия и состоит из трех транзисторов, две из которых обратной проводимости. Работает она по следующему принципу - при первом нажатии светодиод засветится, при повторном - потухнет.

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

Как это работает

В начальный момент, когда на схему подается питание, все три транзистора закрыты, одновременно через цепочку резисторов R1 и R2 заряжается электролитический конденсатор C1, напряжение на нем равно напряжению питания. При нажатии на кнопку положительный сигнал с конденсатора поступает на базу транзистора VT3 отпирая его, по открытому переходу этого транзистора напряжение поступает на базу транзистора VT2, в следствии чего он также открывается. Нагрузка, в нашем случае светодиод, тоже активируется, еще во время срабатывания транзистора VT3.

Эта часть схемы представляет из себя триггерную защелку. Транзистор VT3 открывает VT2, а тот открываясь подает напряжение на базу транзистора VT3 удерживая его в открытом состоянии.

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

Открывающийся транзистор VT2 открывает также и транзистор VT1. В этом состоянии у нас все три транзистора открыты. Когда VT1 открыт, через его открытый переход и резистор R2, конденсатор C1 будет разряжаться, отсюда можно сделать вывод, что когда транзисторы открыты, конденсатор разряжен.

При повторном нажатии кнопки база транзистора VT3 оказывается подключенной к минусовой обкладке конденсатора C1, на базе ключа напряжение в районе 0,7 вольт, и в следствии заряда конденсатора оно просаживается и он запирается. С запиранием транзистора VT3, конденсатор опять начинает заряжаться в штатном режиме, через ранее указанные резисторы.

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

Использованные в схеме транзисторы не критичны, можно взять любые малой и средней мощности соответствующей проводимости. Номиналы других компонентов схемы можно отклонять в ту или иную сторону на 30%.

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

Данное устройство позволяет включать и выключать нагрузку нажатием на одну кнопку без фиксации. В основе лежит T-триггер образованный D-триггером и одновибратор по входу для исключения дребезга контактов и воздействия помех. При помощи устройства можно управлять например включением света. Управляющий вход реагирует на замыкание на массу, это позволяет так-же использовать устройство в автомобиле.

Принцип работы

Схема содержит 2 D-триггера. Первый включен по схеме одновибратора. Входы D и CLK замкнуты на общий, и на них всегда присутствует логический ноль. Через R2 на вход S поступает логическая единица. Выход соединен с выводом RESET через RC цепочку. Далее идет стандартная схема T-триггера на основе D-триггера- вход D соединен с инвертирующим выходом, а выводы RS не используются и подключены к общему.

Посмотрим, что произойдет, если нажать на кнопку.

На момент нажатия кнопки на вывод S поступает логический ноль, он-же попадает на выход, и через R1 обнуляет триггер, тот переходит в начальное состояние. Конденсатор С1 сглаживает цикл, и от его емкости зависит сколько должно длится нажатие на кнопку, чтобы триггер сработал.

После нажатия на кнопку состояние устройства приобретает следующий вид:

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

Принципиальная схема

Для коммутации нагрузки триггер управляет полевым транзистором VT1, через токоограничительный резистор R3. Питание схемы 7-35В.

Устройство собранное на макетной плате выглядит так:

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
VR1 Линейный регулятор

LM7805CT

1 В блокнот
IC1 Триггер

CD4013B

1 В блокнот
VT1 MOSFET-транзистор

IRFZ44R

1 В блокнот
R1 Резистор

47 кОм

1 В блокнот
R2 Резистор

10 кОм

1 В блокнот
R3 Резистор

20 Ом

1 В блокнот
C1 Электролитический конденсатор 10мкФ 16В 1

В портативных устройствах, как известно, важной составляющей является время автономной работы. Кому понравится пользоваться устройством, которое приходится очень часто заряжать? Поэтому к различным способам снижения энергопотребления полезно добавлять еще одну функцию - автоматическое отключение питания, которое поможет спасти заряд батареи если пользователь забыл отключить устройство. А для того чтобы это реализовать, нужно чтобы устройство включалось и выключалось от кнопки без фиксации. Мне как раз понадобилось реализовать подобное и испытав несколько схем найденных в интернете, остановился на самом интересном решении. Поэтому сейчас покажу, как можно включать и выключать устройство на микроконтроллере одной кнопкой без фиксации и реализацию такого алгоритма в Bascom-AVR.

Схема строится на небольшом количестве дискретных элементов и использует одно прерывание контроллера:

При нажатии на кнопку S1 транзистор Q1 открывается и напряжение от батареи идет в схему. Для того чтобы после отпускания кнопки транзистор Q1 не закрылся, необходимо открыть транзистор Q2, подав на затвор единичку. И пока на затворе Q2 будет высокий уровень напряжения, схема будет запитана. Когда же нужно будет обесточить схему и отключить устройство, просто снимаем напряжение с этого вывода, оба транзистора закроются и полностью обесточат схему. Светодиод D3 для индикации работы.

Транзисторы необходимо использовать с логическим уровнем отпирания (Logic Level), чтобы они полностью открывались от напряжения батареи. Хотя я собрал и тестировал схему на том, что попало под руку: в качестве Q1 я использовал IRF5305, а в качестве Q2 - IRF530. Оба транзистора от 5 вольт открываются почти полностью. Взял я их потому что они в больших корпусах и их можно использовать в макетке. Заместо диодов D1 и D2 воткнул диодный мост:)

Первый пример. Включение и выключение питания происходит простым нажатием на кнопку.

$regfile = "m8def.dat"
$crystal = 1000000

Dim flag as Byte "переменная для выполнения основной программы

Config PORTB . 0 = OUTPUT "выход светодиода
Led alias portb . 0

Config portd . 3 = OUTPUT "управление питанием
pwr alias portd . 3

Config INT0 = low level "кнопка включения/выключения
On Int0 Zapusk :

Enable int0 "разрешаем прерывания
Enable interrupts

"основной цикл
Do

If flag = 1 then
Led = 1
End if

Loop

end


zapusk :

toggle pwr "включение / выключение

flag = 1 "поднимаем флаг

do
loop until pind . 2 = 1

waitms 100
Gifr = 64

return

И второй пример. Для того чтобы исключить случайное включение или выключение, чаще используется задержка при нажатии. Это тоже легко реализуется в данной схеме, код ниже немного изменен и теперь включение и выключение происходит с трехсекундной задержкой:

$regfile = "m8def.dat"
$crystal = 1000000

dim flag as Byte "переменная для выполнения осовной программы
dim a as Byte "для организации задержки
config PORTB . 0 = OUTPUT "выход светодиода
led alias portb . 0

config portd . 3 = OUTPUT "управление питанием
pwr alias portd . 3

config INT0 = low level "кнопка включения/выключения
On Int0 Zapusk :

enable int0 "разрешаем прерывания
enable interrupts

"основной цикл
do

if flag = 1 then "выполнение основной программы
"....
"....
end if

loop

end

"прерывание при нажатии на кнопку
zapusk :

flag = 1 "поднимаем флаг

do
incr a
wait 1

if a = 3 then "если прошло 3 секунды
toggle pwr "включение / выключение
toggle led
goto ext "выход из цикла
end if

loop until pind . 2 = 1 "пока нажата кнопка крутимся здесь
ext :
a = 0
waitms 100
Gifr = 64

return

Рекомендуем почитать

Наверх