我有一个带电池电源的微控制器设备。目前,我通过简单的开/关开关来切换电源。我想通过一个按钮切换电源,同时对原理图(可能还有微控制器程序)进行最少的修改,并且在设备关闭时不消耗电源。我该怎么做?
已添加。我知道以下技巧:
在这里,微控制器在启动时将PB3设置为高电平,从而为设备保持电源。但这不是解决我的问题的方法,因为我还需要按S1 来关闭设备。
已添加。我可以从电路中排除VT2(即直接将VT1的微控制器驱动器底座)吗?
我有一个带电池电源的微控制器设备。目前,我通过简单的开/关开关来切换电源。我想通过一个按钮切换电源,同时对原理图(可能还有微控制器程序)进行最少的修改,并且在设备关闭时不消耗电源。我该怎么做?
已添加。我知道以下技巧:
在这里,微控制器在启动时将PB3设置为高电平,从而为设备保持电源。但这不是解决我的问题的方法,因为我还需要按S1 来关闭设备。
已添加。我可以从电路中排除VT2(即直接将VT1的微控制器驱动器底座)吗?
Answers:
根据您提供的电路,您可以在开关(S1)(连接到开关的阴极)的正后串联一个二极管,然后使用它们来检测是否再次按下了开关,如果关闭,则将其关闭PB3。
齐纳二极管可保护PIC输入免受来自电源的电压的影响。
您真正需要休假吗?许多现代微控制器的休眠电流远低于甚至是小电池的自放电电流。您可以让按钮简单地驱动微控制器的I / O引脚,然后每按一次按钮,它就会在睡眠和活动模式之间切换。需要进行一些反跳操作,但是所有这些操作也都可以在固件中完成。
如今,这种开/关方法非常普遍。当仅需一个µA时,微控制器并不需要真正处于关闭状态,只需休眠即可在自己的控制下完成。按钮线必须连接到可能导致微型计算机从睡眠中醒来的东西,但几乎每个微型计算机都至少有一个,通常是几个。
编辑-反射时,下面的电路(我将留作参考)可能最适合在没有微电路的情况下使用。正如在其他答案中提到的那样,除非您真的负担不起很少的uA,否则不使用微控制器来控制电源切换开关就没有任何意义,因为它使用的组件更少并且可以精确控制。
最简单的版本可以是带有上拉,按钮接地的IOC(更改时中断)输入。单片机始终通电,并控制其余电路的P沟道MOSFET(从栅极到源极具有上拉)。当它进入睡眠状态时,它会让门浮起以关闭电路。
参考电路:
首先,P-MOSFET截止,因此Q2上没有基极电流,该基极电流也截止。Q1关闭,因此Q1c为5V。电路是静态的。
按下S1(忽略+和-节点,它们存在于SPICE触发目的)时,将Q1c处的5V连接至Q2基极,将其打开。这会将P-MOSFET栅极拉到地,也将其导通。
R4现在看到5V电压,当释放S1时,它为Q2s的基极提供保持其开路所需的电流(因此MOSFET也导通)。当流过R2的电流将C1充电至〜600mV时,Q1也导通。 <200mV(即Q1导通)
现在,电路再次变为静态。
再次按下S1时,Q1从R4吸收电流(使Q2保持导通),从而关闭Q2。R1将MOSFET的基极上拉至5V,然后再次关闭。
这是模拟(V(推动)高表示按下按钮的时间):
我们还可以看到在断电之后电流达到零(随着C1放电和Q1关断),因此电路在断电状态下不消耗任何功率(I(V1)的光标为19.86s,测量值为329nA):
最初的电路构想不是我的,它来自EEVblog的 Dave Jones 。
正如Bruno Ferreira所建议的那样,使按钮充当“断开”开关的最简单方法是改变电路,是让处理器知道何时按下按钮。我认为可以合理地使用电阻器来保护处理器的输入免受超过VDD的电压的影响,而无需使用稳压管。
这是您可能会使用的电路设计的粗略草图。右半部分代表处理器的行为,我使用了晶体管,齐纳二极管和电阻器的组合来代替稳压器。处理器的输出使用其VDD而不是门的模拟开关表示,因为此模拟器中的门始终产生+ 5V输出。
该电路的一个关键方面是,如果忽略它,可能会引起麻烦。它的设计使得处理器不能打开电路,除非其VDD至少为〜3.6V。我还安装了模拟器,以便只要VDD低于3.5伏,处理器就将始终尝试打开其输出。我已经看到许多设计假设处理器在功率耗尽时不会尝试输出逻辑高电平。该假设对于测试中使用的某些批次的芯片可能行得通,但随后在大规模生产中使用的其他批次的芯片会失败。在欠压条件下,大多数处理器的行为均不确定。好的设计应该经过精心设计,以使处理器在这种情况下的行为无关紧要(请注意:可以安全地假设处理器不是 明确设计为产生比任何施加电压都高的电压不会神奇地开始这样做;我不认为有明确的规范,但我认为在大多数情况下可以安全地推断出它。