Включение и выключение устройств одной кнопкой

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

При нажатии кнопки «SB» минус питания через диод VD1 подается на минусовую ногу питания микроконтроллера. Микроконтроллер включается и устанавливается в заданное исходное состояние, при котором на выводе 3 (РВ4) устанавливается логический «0» и открывается транзистор VT2. Ток протекающий через R1 и VT2 открывает VT1 и схема встает на самоподхват. R2 необходим для надежного закрытия VT1 в выключенном состоянии. При следующем нажатии кнопки запускается программа в микроконтроллере и на выводе 3 (РВ4) устанавливается логическая «1». VT2 и VT1 закрываются. При отпускании кнопки схема обесточивается. Выводы 5, 6 и 7 (РВ0, РВ1 и РВ2) используются для управления нагрузкой. Только одно но. Нагрузка должна управляться логическим «0», т.к. при отключенном минусе питания за счет внутренних схем на выводах микроконтроллера присутствует напряжение близкое к напряжению питания. 

Программу писал в AtmelStudio

 #define F_CPU 9600000  #include <avr/io.h>  #include <util/delay.h>  int main(void)  {  DDRB=0b11110111;// пин 3 на вход, остальные на выход  PORTB=0b0001000;// пин 3 подтягиваем к питанию, на остальных формируем выходные сигналы во включенном состоянии  _delay_ms(250);// задержка    while(1)    {  if (!(PINB&0b00001000))//ждем нажатие кнопки  {  PORTB=0b0010111;//формируем выходные сигналы в выключенном состоянии  }    }  }

При небольшой доработке программы можно сделать управление разными нагрузками и включать разные режимы. Также этот принцип можно использовать с другими микроконтроллерами.

Печатная плата не разрабатывалась. Прошивка прилагается. Фьюзы не трогал, установлены по умолчанию.

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

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
МК AVR 8-бит ATtiny13A 1
VT1 Биполярный транзистор BC547 1
VT2 Биполярный транзистор BC557 1
R1 Резистор 5.6 кОм 1
R2 Резистор 10 кОм 1
SB кнопка тактовая 1