大家周末晚上好啊!
刚想到的一键开关机电路。单个IO口控制,可以实现一键开关机及功能复合键功能。
上图!
r3阻值太小,需要mcu io有推挽能力,不如将q2换成7002。io又做输出,又做输入检测很容易出问题。很多单片机io开机是高电平,有的还是推挽,自杀时,会有一个阶段低压,不好控制。io不串电阻限流,二极管直接对地,很大的隐患。很多用适配器的机器,vin刚插入适配器,会有脉冲,很容易自动开机。反正需要实际的应用环境,mcu程序去调整
我试分析了一些,工作原理是这样?
长按键用于开关机,短按键可用于其它功能。
关机状态下按S1,D1的1和3PIN导通,导致Q1导通,VOUT通电,MCU工作。此时MCU迅速将MCU_IO设定为输入上拉状态。此时若S1断开,因Q2的导通,Q1将维持导通而进入开机状态。
开机状态下,短按S1,会使D1的2和3PIN导通而拉低MCU_IO脚,从而作为普通功能PIN使用。S1短按过程中,因C1所充电压的存在,会维持Q2导通。若长按S1,则MCU设置MCU_IO脚输出低电位而使Q2截止,系统关机。
不如让MCU休眠,开外部中断,开机后再判断按键实现其它功能及关机功能,虽然多耗点电。
已改为以下电路,这2天实测非常稳定。
开关机不要用IO口,要纯电路实现。单片机参与控制有个问题,一旦单片机死机就失效了!