一键开关机电路,仅使用一个按键,就可以实现开机和关机的功能。这个电路可以令产品更加简洁,好处是:
% {0 @7 z0 Z6 u9 {1、避免了繁杂的多个按键影响产品外观。/ X6 S* g1 s" U Q- ]
imtvughtvvr64078803918.jpg
6 G) i$ X7 s* ]" k1 J
2、少一个按键,就可以把产品做得更小一点。
( \% U5 i! _' A m; P: t
ymrenhwjx3r64078804018.jpg
7 c. k8 e/ h, p3、少一个按键就少花几分几毛钱,降低成本。2 L7 g6 P' L# B4 ~, f
fyeo1uqqwob64078804119.png
1 c1 N+ Z/ m4 j, z; V' t这里介绍一种软件配合硬件实现的一键开关机电路,这个电路非常经典:8 @2 R' g* j$ `/ t
gybogdan5za64078804219.png
1 Z3 n z1 X7 U0 O* _) L 一、原理分析+ C+ d& q8 Y# l/ O: o
整个电路以+5V供电举例。5 X4 j- I( l w2 d. t2 u
1、在关机状态时:电路中各位置的电压大小如下。) c. \" P+ U5 t0 I# r) a0 D% }
3bzn0cewnh264078804319.png
- d' u& x' c8 K
可以看出,关机状态下,电路没有形成任何回路,没有产生电流,关机功耗为0。1 |5 q/ G) L3 G; W( X
2、按键被按下并且保持按下时:
& t: o! K3 b/ Z' q/ d① Q1的G极电压通过二极管D1和按键SW1,被拉低到约0.3V。0.3V是二极管D1的导通压降。
3 p0 ^0 R L3 v+ K8 W, ?8 V4 A5 `$ {
33g3bixvdf164078804419.png
$ e/ P' Z! n$ d8 a1 e% y/ Z. V6 V② 于是MOS管Q1的Vgs = 5 - 0.3 = 4.7V,MOS管Q1被打开,VCC电压变为5V,并对MCU供电。, c( W. Y( M7 h# Q2 @0 @! k0 ^8 F
vlovzwahdm364078804519.png
I A3 O. Y7 m. J, ` [" W
③ MCU迅速跑起来后,软件令GPIO-Out输出高电平5V,打开三极管Q2,饱和导通的三极管Q2将MOS管Q1的g极拉到0V,Vgs变为5 - 0 = 5V。( U4 F! V1 Z8 G- g
fwvkxa0gyt064078804619.png
1 f+ b' x% @8 r) V+ E4 ]
3、按键松开后:
( ~8 i: w' d" N9 F! W% O$ d① MCU的GPIO-Out维持输出高电平5V。
9 r; W' I# B2 |$ X' s, _3 ?5 [② 三极管Q2继续饱和导通,将MOS管Q1的g极拉到0V,维持其Vgs = 5 -0 = 5V。6 H% h" G y2 _- Z/ ?
③ MOS管Q1维持打开,令VCC电压维持为5V。
, P1 V5 J* s4 m; g2 ]- I9 `) p
als4ee1fomv64078804719.png
" l3 K. d/ n9 U" S" e' ]( c
4、此时短按按键:
/ i8 e0 H- y) D/ J6 }4 N) b① MCU上电启动后要马上将GPIO-In设为输入,打开内部上拉电阻,此时GPIO-In对外表现为5V。9 m1 R7 I( O. W& k# c# h
② 按键SW1被按下后,GPIO-In由5V被拉到0.3V。! ^- @$ W; n1 n- ~( A
guiapb25jsg64078804819.png
* {# p6 s, Q0 i5 E8 m③ MCU侦测到按键被“短按”,可以根据软件的设定对此作出各种响应。
3 k, \4 s; x$ ^8 o7 P) y5、长按按键关机:
! O) @8 x0 }; C+ B6 f① 如果MCU侦测到按键是“长按”,则执行关机动作。: F; t& }8 o6 E b. y- T4 I9 k
② MCU执行完关机动作,最后将GPIO-Out输出低电平0V,关闭三极管Q2。) K0 c2 I8 a) C6 ]! |# }
③按键SW1松开后,MOS管Q1的g极变为5V,MOS管Q1被关闭。4 [% f, [* k6 H$ ?# @& E
④ Vcc的电压变为0V,MCU断电,此时整个电路的功耗变为0。9 c% c0 w, ?; [% Y6 d6 t
eujxszhjmnr64078804919.png
H- Q) {6 a3 J1 {' e3 D. d
关机后各点的电压又恢复为:
# F( m( b) G8 q# M' H
8 b2 ?) G$ A- _, f* t/ o 二、引申电路
! G2 f# ^& e9 d1 K+ | J以上分析所用的例子,MCU是直接用电压值为5V的Vcc供电,并且GPIO带内置上拉电阻。
0 z& D' z B: ^4 J9 W( n# V" l' _0 ?如果MCU不是用Vcc直接供电,而是:用由Vcc产生的+3.3V供电(意思是Vcc电压为0时,+3.3V电压也为0)。并且GPIO没有内部上拉电阻,则要加外部上拉电阻。' L2 o9 Y3 m- `
[/ol]则电路变成这样:: f5 z: K: b" t
1bjb0dj4laq64078805019.png
( p5 \ J5 E5 w. y
三、MCU死机了怎么办2 i1 S0 B( i6 ~; P" k ] o" F
这种经典的一键开关机电路需要软件配合,如果MCU死机了,或者程序跑飞了,不就关不了机了吗,怎么办?那就让MCU异常了就赶紧重启:启用MCU内部的看门狗(Watch Dog)功能,或者加入外部看门狗。产品设计成电源可插拔,即死机了就人工重新插拔电源,或拔出电池重新装上。增加一个按键SW2:
5 c4 i, S. U4 q/ O5 w( }! P[/ol]
W: O$ o4 x5 j& k7 v- i) N
xi54esmcmye64078805119.png
3 T5 @" q9 O7 [* ?% }这个按键SW2要隐藏在产品内部,用户无感知。
. o) }/ q5 U K4 {' E! R8 k产品外壳留一个小孔,死机后让用户用细铁丝通过小孔顶一下按键SW2,令三极管Q2的Vbe = 0,将三极管Q2关闭,从而令MOS管Q1关闭,达到对电压Vcc断电的目的。7 }6 E/ P) A d3 M1 J6 [9 v( S2 i
这种做法,很多产品都有,下图是某产品的复位孔:
2 v+ g; x. \$ P
yy3tpfmad4a64078805219.jpg
1 x) Z, t7 n1 `4 h* ?! ?& ^
本文就到这里,感谢阅读! |