搜索
bottom↓
回复: 63

单片机5V控制12V电源通断(单片机也由该12V电源供电)

[复制链接]

出0入0汤圆

发表于 2010-1-25 18:21:39 | 显示全部楼层 |阅读模式
我想用单片机通过轻触按键来控制12~24V的直流电压的通断

前提是:单片机的电源是从该12V直流源经稳压后供电的

在单片机单片机供电断的情况下,如何能保证按键时,12V电压通

请问,用NPN或PNP组成的电路,该如何设计电路

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2010-1-25 19:50:13 | 显示全部楼层
下圖供你參考,需佔MCU   1~2個I/O
KeyIN為MCU的輸入,HOLD為MCU的輸出,
如果不抓取按鍵的動作(R1,R2,KeyIN)可以省略(單鍵ON/OFF時必用)
按鍵動作時(MCU重置後)MCU令HOLD立即為高電位.

(原文件名:2010-01-25_194048.JPG)

出0入0汤圆

 楼主| 发表于 2010-1-25 20:22:40 | 显示全部楼层
回复【1楼】jim20090418
下圖供你參考,需佔MCU   1~2個I/O
KeyIN為MCU的輸入,HOLD為MCU的輸出,
如果不抓取按鍵的動作(R1,R2,KeyIN)可以省略(單鍵ON/OFF時必用)
按鍵動作時(MCU重置後)MCU令HOLD立即為高電位.


(原文件名:2010-01-25_194048.JPG)
引用图片
-----------------------------------------------------------------------

jim20090418 您好,
电路我看过了,非常巧妙,完全可以实现,具体就是各电阻参数的选择的问题了

我总结下,帮忙看下我的理解有没错

(从OFF到ON)按键一瞬间,NPN和PNP导通(12V通),MCU上电,马上使HOLD脚为高电平(程序复位初始化最开始的程序段),使NPN和PNP常通,从而12V电通。

(从ON到OFF)按键时,KIN中断脚高电平触发,MCU使HOLD脚为电平,致使NPN截止,12V电断。

至此。

还有就是12V的输入NPN基极的一端应该加电阻降压吧?直接通过二极管后直接加在上面电压太大了。

出0入0汤圆

发表于 2010-1-25 20:34:03 | 显示全部楼层
回复【2楼】cf753951  风驰骏马
(从OFF到ON)按键一瞬间,NPN和PNP导通(12V通),MCU上电,马上使HOLD脚为高电平(程序复位初始化最开始的程序段),使NPN常通。

(从ON到OFF)按键时,KIN中断脚高电平触发,MCU使HOLD脚为电平,致使NPN截止,12V电断。

还有就是12V的输入NPN基极的一端应该加电阻降压吧?直接通过二极管后直接加在上面电压太大了。
-----------------------------------------------------------------------
大致上的動作就是如此了,
至於NPN基級前是不是要用電阻降壓,這個就要看你選用的TR來決定,
就我的經驗中,C1815,C945這一些TR都都不需要降壓電阻,
這個電路的應用已經很普遍(我之前參與的幾個UPS設計大概有幾千K在流通,這一部份的電路還沒遇到過問題).

出0入0汤圆

 楼主| 发表于 2010-1-25 21:26:41 | 显示全部楼层
回复【3楼】jim20090418
-----------------------------------------------------------------------

恩,我准备用的是SOT-25封装的NPN和PNP

我想了想,按键长按的话,开机和关机是不是会出现问题。

比如开机(OFF到ON)时,如果长按(比如1-2S)的话,开机后,KIYIN检测到中断信号,又让HOLD为低,导致关机(OFF到ON)了
关机后(如果按键还按着),之后又从OFF到ON,如此反复。



所以为了避免这种情况,可以通过在MCU上电后,使HOLD信号为高的程序段后面 添加1-2S的延时,和按键消抖的作用一样

防止反复的开机和关机导致的不确定。

出0入0汤圆

发表于 2010-1-25 21:43:31 | 显示全部楼层
只用一个IO就可以做:关闭时按开,短按操作,长按关机,不需要那两个二极管

出0入0汤圆

发表于 2010-1-25 21:45:23 | 显示全部楼层
回复【4楼】cf753951  风驰骏马
比如开机(OFF到ON)时,如果长按(比如1-2S)的话,开机后,KIYIN检测到中断信号,又让HOLD为低,导致关机(OFF到ON)了
关机后(如果按键还按着),之后又从OFF到ON,如此反复。

所以为了避免这种情况,可以通过在MCU上电后,使HOLD信号为高的程序段后面 添加1-2S的延时,和按键消抖的作用一样

防止反复的开机和关机导致的不确定。
-----------------------------------------------------------------------

這個就是軟體處理上的技巧了,
軟體處理不同的人有不同的處理方法,
比如我....按鍵的抓取,通常每個按鍵我會在RAM中設定一個Count,
在Timer中斷時去抓取按鍵狀態,按鍵on時Count加1,按鍵off時Count清零,
按鍵的處理程式在Count計數到一定值時才會承認有按鍵輸入,
這樣的按鍵處理不會有按鍵彈跳的問題(前題是Count的承認值要大於按鍵的彈跳時間)
而且一個按鍵可以做到多功能,
這樣的按鍵處理我已經運用20年左右了,
缺點是...會佔比較大的RAM資源(每個按鍵至少佔1byte的RAM)

市面上的吃角子老虎(台灣這邊的瑪莉檯之類的)按鍵處理大多都是這個原理,
比如....
按一下時+1
按住1秒時每0.5秒+10
按住3秒時每0.5秒+100

出0入0汤圆

发表于 2010-1-25 21:58:25 | 显示全部楼层
回复【5楼】coody
只用一个IO就可以做:关闭时按开,短按操作,长按关机,不需要那两个二极管
-----------------------------------------------------------------------

這個電路如果不加DIODE,
只能偵測到OFF-->ON的信號,當HOLD = 高電位時,不論你的按鍵按不按KeyIN都是 = 高電位

用一個I/O除非加上保持電容,不然不可行,
使用保持電容電路複雜度增加不說,輸入電壓如果改變,會有可能導致電路工作不正常.

而且不加DIODE,當按鍵動作時輸入電壓會直接短路到MCU的I/O.

出0入0汤圆

 楼主| 发表于 2010-1-25 22:16:03 | 显示全部楼层
回复【6楼】jim20090418
-----------------------------------------------------------------------

恩,用外部中断和定时器中断查询KEYIN口都可以



如果在外部中断有剩的情况下,可以尝试用外部中断,用高电平触发.

在没有外部中断资源时,采用IO口输入查询,定时器定时中断。这样既起到了扫描按键,又可以按键消抖(在定时器中断程序中判断cout的值),两全其美。

出0入0汤圆

 楼主| 发表于 2010-1-25 22:24:17 | 显示全部楼层
回复【7楼】jim20090418
回复【5楼】coody  
只用一个IO就可以做:关闭时按开,短按操作,长按关机,不需要那两个二极管  
-----------------------------------------------------------------------
這個電路如果不加DIODE,
只能偵測到OFF-->ON的信號,當HOLD = 高電位時,不論你的按鍵按不按KeyIN都是 = 高電位
用一個I/O除非加上保持電容,不然不可行,
使用保持電容電路複雜度增加不說,輸入電壓如果改變,會有可能導致電路工作不正常.
而且不加DIODE,當按鍵動作時輸入電壓會直接短路到MCU的I/O.
-----------------------------------------------------------------------

jim20090418说的有道理,不加二极管,高电压直接加IO口很危险

cody只用一个IO的意思不知道是只用KEYIN还是HOLD,如果只用HOLD,那怎么来判断按键信号,就关不了机了;如果只用KEYIN,同样开机开不了

出0入0汤圆

 楼主| 发表于 2010-1-25 22:28:11 | 显示全部楼层
jim20090418

我的产品中用到的是车载电源,大概12V-24V

需要电电流1.5A,NPN和PNP的选择上能不能推荐参考下?

出0入0汤圆

发表于 2010-1-25 22:35:28 | 显示全部楼层
回复【10楼】cf753951  风驰骏马
我的产品中用到的是车载电源,大概12V-24V

需要电电流1.5A,NPN和PNP的选择上能不能推荐参考下?
-----------------------------------------------------------------------

PNP管改成P-CH的Power MOS即可(要注意Vgs及VDS電壓是不是超過規格,必要時可以在Power MOS的GATE跟NPN管的C極串上ZD)
NPN管C1815,C945,2N2222這類的小信號TR都可以用單價也低.

出0入85汤圆

发表于 2010-1-25 22:39:58 | 显示全部楼层
很好的电路

出0入0汤圆

 楼主| 发表于 2010-1-25 22:46:25 | 显示全部楼层
回复【11楼】jim20090418
-----------------------------------------------------------------------

恩,我明天尝试去做做这个电路,如果可行,再把完整的电路弄出来给大家分享!
谢谢jim20090418

出0入0汤圆

发表于 2010-1-25 22:54:44 | 显示全部楼层
回复【9楼】cf753951  风驰骏马

cody只用一个IO的意思不知道是只用KEYIN还是HOLD,如果只用HOLD,那怎么来判断按键信号,就关不了机了;如果只用KEYIN,同样开机开不了
-----------------------------------------------------------------------

Coody的說法理論上也是可行的,差別的是穩定性跟軟體上的處理
如下圖理論上可以只佔一個MCU的I/O

(原文件名:2010-01-25_225156.JPG)

出0入0汤圆

发表于 2010-1-26 00:32:53 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-1-26 10:42:13 | 显示全部楼层
回复【14楼】jim20090418
-----------------------------------------------------------------------

(原文件名:未命名.JPG)


電路圖最終決定這樣了
R3部分我放了稳压管,防止输入电压突变时,击穿MCU,不知道有没必要?因为车载电池有时会瞬时电压很高

电路的元件选择和线路有没错误,请教下

出0入0汤圆

发表于 2010-1-26 12:34:16 | 显示全部楼层
回复【16楼】cf753951  风驰骏马
R3部分我放了稳压管,防止输入电压突变时,击穿MCU,不知道有没必要?因为车载电池有时会瞬时电压很高
-----------------------------------------------------------------------
ZD的方向好像不對,
輸入部份由於你在按鍵的前端已經串電阻了,
倒是可以利用形成簡單的低通濾波即可,
如下圖(已經改成PowerMOS):

(原文件名:2010-01-26_122333.JPG)
註1:調整在Vin最低點時R1&R2間電壓輸出位準可以達到MCU的高電位
註2:調整在Vin最高點時PowerMOS的Gate電壓不大於VGS(例如:MAX VGS = 20V,VIN MAX = 24V 時ZD = 4V,Vin MAX不會超過VGS時則ZD可以省略)
註3:可用可不用(簡單的按鍵彈跳處理)

出0入0汤圆

发表于 2010-1-26 12:34:32 | 显示全部楼层
LS R7接错地方了


修改原因,是说16楼的,发慢了一步

出0入0汤圆

 楼主| 发表于 2010-1-27 15:30:50 | 显示全部楼层
回复【17楼】jim20090418
-----------------------------------------------------------------------

如果用普通PNP,比如8550,看Ic和Vce都满足要求

应该问题吧?

8550资料手册地址:

2TY(8550)ourdev_529663.pdf(文件大小:171K) (原文件名:SS8550.pdf)

出0入0汤圆

发表于 2010-1-27 15:52:23 | 显示全部楼层
回复【10楼】cf753951  风驰骏马
我的产品中用到的是车载电源,大概12V-24V  

需要电电流1.5A,NPN和PNP的选择上能不能推荐参考下?
---------------------------------------------------------------------------------------
如果按照以上的規格,8550肯定是不行的,
而且PNP三極管還會產生1.5A*0.6V(VCE) = 0.9W的熱量

出0入0汤圆

发表于 2010-1-27 15:54:20 | 显示全部楼层
好图~记号~这个电路缺点是三极管导通需要耗一些电,怎样才能将耗电减到最低?

出0入0汤圆

发表于 2010-1-27 15:58:31 | 显示全部楼层

出0入0汤圆

发表于 2010-1-27 16:04:31 | 显示全部楼层
回复【21楼】cinderellah  
好图~记号~这个电路缺点是三极管导通需要耗一些电,怎样才能将耗电减到最低?
-----------------------------------------------------------------------

改成PowerMOS管的耗電會達到最小(RDSon越小越省)

出0入0汤圆

发表于 2010-1-27 16:06:36 | 显示全部楼层
改mos管也是上面那个吧,底下那个还是会耗电~

出0入0汤圆

发表于 2010-1-27 16:15:02 | 显示全部楼层
回复【24楼】cinderellah
改mos管也是上面那个吧,底下那个还是会耗电~
-----------------------------------------------------------------------
NPN三極管一樣也可以用N-CH的MOS管取代,
何況就算用的是NPN三極管,耗能也不太大,頂多只有幾10~幾百uA
而且斷電時,是完全不耗電的.

出0入0汤圆

发表于 2010-1-27 16:17:34 | 显示全部楼层
呵呵~几十微安对某些应用来说已经很惊人了~

出0入0汤圆

发表于 2010-1-27 16:28:04 | 显示全部楼层
回复【26楼】cinderellah
呵呵~几十微安对某些应用来说已经很惊人了~
-----------------------------------------------------------------------

就看你應用在哪邊了,
以一個耗能12~24V 1.5A的產品去計較0.000NmW的耗能似乎是太過頭了,
而且市面上的MP3之類的大多數用的也是類似的電路,
這類產品也是要求功耗小.

出0入0汤圆

发表于 2010-1-27 16:31:06 | 显示全部楼层
一键开关机的典型电路

出0入0汤圆

发表于 2010-1-27 16:37:34 | 显示全部楼层
记号

出0入0汤圆

 楼主| 发表于 2010-1-27 18:59:22 | 显示全部楼层
回复【20楼】jim20090418
-----------------------------------------------------------------------

我看到和类似的一个车载产品的电路,按键开关几乎和我们讨论的电路一样
它们的产品算相当成熟了。

PNP他们用的是137W
NPN用的是NH   
稳压管用的是ZG
都是SOT-23封装的

它们是印在上面的markingcode(代码)

jim20090418 大哥不知道认识不?

出0入0汤圆

发表于 2010-1-27 19:14:35 | 显示全部楼层
回复【30楼】cf753951  风驰骏马
我看到和类似的一个车载产品的电路,按键开关几乎和我们讨论的电路一样
它们的产品算相当成熟了。

PNP他们用的是137W
NPN用的是NH   
稳压管用的是ZG
都是SOT-23封装的

它们是印在上面的markingcode(代码)

jim20090418 大哥不知道认识不?
-----------------------------------------------------------------------

現在的PowerMOS價格很便宜了,又有體積小功率大的優點,
我想這個產品上用的應該是PowerMOS,
SOT-23的封裝有看過耐6A,
要便宜可以參考台灣的茂達半導體(ANPEC)及華瑞半導體的產品(你們這的半導體公司我不熟所以就沒辦法推薦了),
要穩定可以參考IR,FAIRCHILD,NXP....

APM2300(N-CH),APM2301(P-CH)這2個都是SOT-23封裝單價也很便宜,不過耐壓好像只到20V.

出0入0汤圆

发表于 2010-1-27 19:51:31 | 显示全部楼层
GOOD

出0入0汤圆

发表于 2010-1-27 20:28:17 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-27 21:41:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-27 22:03:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-28 00:16:25 | 显示全部楼层
留个爪子 好帖子 谢谢分享

出0入0汤圆

发表于 2010-2-25 09:06:16 | 显示全部楼层
mark!!!!!!

出0入0汤圆

发表于 2010-2-25 16:34:00 | 显示全部楼层
学习老

出0入0汤圆

发表于 2010-11-4 11:44:59 | 显示全部楼层
谢谢jim20090418
刚好解决我大问题了

出0入0汤圆

发表于 2010-11-4 12:57:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-4 14:43:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-4 16:39:53 | 显示全部楼层
谢谢jim20090418

出0入0汤圆

发表于 2010-11-5 11:05:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-5 11:15:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-5 13:23:26 | 显示全部楼层
回复【1楼】jim20090418
-----------------------------------------------------------------------

果然很巧妙

出0入0汤圆

发表于 2010-11-5 15:07:50 | 显示全部楼层
Mark

出0入0汤圆

发表于 2010-11-5 16:51:27 | 显示全部楼层
回复【16楼】cf753951 风驰骏马
-----------------------------------------------------------------------

(从ON到OFF)按键时,KIN中断脚高电平触发,MCU使HOLD脚为电平,致使NPN截止,12V电断。

我分析看来(从ON到OFF)按键时,KIN中断脚应该用下降沿触发,MCU使HOLD脚为电平,致使NPN截止,12V电断。如果用高电平触发的话只要按键按下就会进入中断....请解释下~!

出0入0汤圆

发表于 2011-4-21 13:54:10 | 显示全部楼层
记号

出0入97汤圆

发表于 2011-6-1 01:12:45 | 显示全部楼层
mark 可能会用到,、。

出0入0汤圆

发表于 2011-6-1 08:36:18 | 显示全部楼层
mark 开关机

出0入0汤圆

发表于 2011-6-1 09:03:13 | 显示全部楼层
选PMOS管吧,可能要好些的

出0入0汤圆

发表于 2011-6-1 13:09:08 | 显示全部楼层
学习了。

出0入0汤圆

发表于 2011-6-2 21:14:19 | 显示全部楼层
我也遇到了这个问题,我的是控制24V,因为电流很大,一下就烧坏了PNP管

出0入0汤圆

发表于 2011-11-2 00:13:01 | 显示全部楼层
引用图片【1楼】jim20090418
-----------------------------------------------------------------------

(原文件名:2010-01-25_194048.JPG)

出0入0汤圆

发表于 2011-11-2 09:09:17 | 显示全部楼层
MCU开关 挺巧 Mark

出0入0汤圆

发表于 2011-11-2 09:44:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-2 12:35:56 | 显示全部楼层
mark

出0入17汤圆

发表于 2011-11-2 15:14:44 | 显示全部楼层
其实,电脑的电源开关键 功能跟着类似,更靠好用

出0入0汤圆

发表于 2016-7-13 10:16:23 | 显示全部楼层
7.4V双节锂电池,使用以上电路充电时开机液晶屏闪亮,处理办法?在关机状态或开机状态时充电工作正常,如果在充电状态下开机,液晶屏闪烁。如何解决。

出0入0汤圆

发表于 2016-8-22 16:52:10 | 显示全部楼层
jim20090418 发表于 2010-1-25 19:50
下圖供你參考,需佔MCU   1~2個I/O
KeyIN為MCU的輸入,HOLD為MCU的輸出,
如果不抓取按鍵的動作(R1,R2,KeyIN) ...

按照硬件电路设计的电路,单片机选择STC12C5A60S2,软件只能开机不能关机。单片机在检测高电平(KEYIN)的时候需要上拉电阻,如这样就不能做到低功耗。是我的软件处理方式上有问题吗?请指教。谢谢!

出0入0汤圆

发表于 2016-8-22 16:53:21 | 显示全部楼层
lmzlbf 发表于 2016-7-13 10:16
7.4V双节锂电池,使用以上电路充电时开机液晶屏闪亮,处理办法?在关机状态或开机状态时充电工作正常,如果 ...

更换充电器,以前的充电器是500mA的,现在换成1A,已解决。

出0入0汤圆

发表于 2016-8-22 16:58:05 | 显示全部楼层
你好!请问你的单片机5v控制12v电源通断,现在进展如何?我正在做这个,需要你的帮助。电路按照来做的,单片机选择的STC12C5A60S2现在只能开启电源,不能关闭电源。请指教。

出0入0汤圆

发表于 2016-8-22 16:58:21 | 显示全部楼层
你好!请问你的单片机5v控制12v电源通断,现在进展如何?我正在做这个,需要你的帮助。电路按照来做的,单片机选择的STC12C5A60S2现在只能开启电源,不能关闭电源。请指教。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 03:51

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表