单片机按键软开关:1个引脚实现单片机低电量自己控制给自己断电

背景

类似于手机的开机按键,我们希望在单片机电路上也能实现类似的低电量自动关机、通过按键而不是自锁开关来上电开机。

软开关电路

电路图如下:
在这里插入图片描述

  • 当按键按下时,Q1导通,R18右侧变为低电平,进而Q2导通,系统上电
  • 系统上电后,立刻控制PWR_CTR为高电平,此时松开按键,系统依旧保持上电状态。
  • 当系统主动关机时,控制PWR_CTR为低电平,系统断电。

电压采样电路

我们在加了软开关之后,就可以在软开关后面加采样电阻采样电量,这样不会导致电池一直被放电。

使用一个引脚实现

在上述电路中,有2个问题:

  • 当按键按下时,单片机PWR_CTR引脚会受到外部输入POWER_IN的电压,如果电压高于5V,会打坏单片机。
  • 必须通过PWR_CTR控制软开关开断,再通过另外一个引脚对电池电压进行采样,这样就整个需要2个引脚。

我们可以对电路做如下修改:
在这里插入图片描述

  • 输入到PWR_CTR引脚的电压,被电阻R18和R19分压,不会打坏电阻。
  • 当按下按键时,单片机上电,首先初始化PA1为ADC,此时松开按键,由于ADC为输入,不会输出电平,所以ADC_PA1端的电平为高电平,可以保持单片机一直上电。当检测到电池电压过低时,将PA1初始化为输出,输出低电平,给电源断电。

仿真如下:
刚上电时,如下:
在这里插入图片描述
按下开关,再松开后,如下:

在这里插入图片描述
电源电压变化后,ADC采样端电压如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wcc243588569/article/details/131108055
今日推荐