Управление нагрузкой одной кнопкой без фиксации. Включение и выключение одной кнопкой Как включать и выключать одной кнопкой

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

Данное устройство позволяет включать и выключать нагрузку нажатием на одну кнопку без фиксации. В основе лежит 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

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

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

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

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

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

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

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

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

Включение выключение нескольких устройств с помощью микроконтроллеров (на Ардуино)

Ну и еще одна вариация работать с целой «плеядой» различных устройств, это использование микроконтроллеров. Один из наиболее популярных и при этом понятных устройств это Адруино, на микроконтроллере Amtel 328P. Микроконтроллеры в состоянии решать поставленные задачи куда более «гибко», чем аналоговые схемы, особенно если учитывать возможность настройки и перенастройки. Поэтому один раз освоив микроконтроллеры, вы просто по наитию начнете все делать на них, так как цена на сегодняшний момент на микроконтроллеры сопоставима с аналоговыми элементами. Итак, о включении выключении нескольких устройств на микроконтроллере в статье «Ардуино управляет несколькими устройствами »

Видео о включении выключении одной кнопкой нескольких устройств (одного, двух, трех, четырех)

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


Исправляем это недоразумение.


Обязательно сохраним оригинальный файл termsrv.dll. Запустим командную строку от Администратора и выполним

copy c:\Windows\System32\termsrv.dll termsrv.dll_old

Затем смотрим вашу версию. Правый клик на файле c:\Windows\System32\termsrv.dll и выберем свойства.


Скачиваем измененный файл соответствующий вашей версии

Если хочется все исправить своими руками, то копируем свой файл termsrv.dll из папки c:\Windows\System32\ на рабочий стол. Открываете его любым hex редактором, например этим бесплатным HxD . И заменяете байты в указанной строчке.

В первой колонке значение, которое должно быть, во второй оригинальное.

Windows 7 SP1 64bit:

173C0: B8 8B
173C1: 00 87
173C2: 01 38
173C3: 00 06
173C5: 90 00
173C6: 89 39
173C8: 38 3C
173CC: 90 0F
173CD: 90 84
173CE: 90 EB
173CF: 90 C2
173D0: 90 00
173D1: 90 00
176FA: 00 01
5AD7E: EB 74
Для Windows 8.1 (64bit) заменяем целиком строку!
в v6.3.9600.16384
строчку
8B 81 38 06 00 00 39 81 3C 06 00 00 0F 84 1B 70 00 00
на
B8 00 01 00 00 89 81 38 06 00 00 90 90 90 90 90 90 90

в 6.3.9600.16384 to 6.3.9600.17095
строчку
39 81 3C 06 00 00 0F 84 9E 31 05 00
на

6.3.9600.17095 to 6.3.9600.17415
строчку
39 81 3C 06 00 00 0F 84 D3 1E 02 00
на
B8 00 01 00 00 89 81 38 06 00 00 90
Воспользуемся инструментом замены с типом шестнадцатеричные значения

После замены сохраняете изменения.

Если испытываете трудности с правами доступа, то открываете свойства, вкладку безопасность, кнопка дополнительно. И меняете владельца на себя. Применяете. После этого сможете менять разрешения для групп и пользователей.



Далее останавливаете службу удаленного рабочего стола


Заменяем файл termsrv.dll на скаченный или измененный.

Еще нужно изменить значение ключа в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser на 0!

И снова запускаем службу!

Подключаемся и радуемся! Теперь локального пользователя не выкидывает из системы!

Для Windows XP
1) Редактируем файл
termsrv.dll (SP2 5.1.2600.2180) 295,424 bytes

128BB: 75 -> 74
217D3: 8B -> 33
217D4: C7 -> C0
2192D: 8B -> 33
2192E: C7 -> C0
225B7: 54 -> 20
termsrv.dll (SP3 5.1.2600.5512) 295,424 bytes
22A17: 74 -> 75
22A69: 7F -> 90
22A6A: 16 -> 90
2) Заменять файл в директории C:\Windows\System32\ нужно в безопасном режиме, поскольку по умолчанию включена защита системных файлов (System File Protection). Для этого перезагрузите компьютер с зажатой F8 , выберите безопасный режим.
3) Добавить ключи реестра

EnableConcurrentSessions ”=dword:00000001

EnableConcurrentSessions ”=dword:00000001
AllowMultipleTSSessions ”=dword:00000001

4) Далее Пуск -> Выполнить, gpedit.msc. В окне редактора групповой политики Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Служба терминалов. Включите Ограничение количества подключений и установите количество подключений равное 3 или более.
5) Перезагружайтесь и подключайтесь!

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

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

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

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

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

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

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

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

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

Поделиться