如何通过按钮切换微控制器的电源?


13

我有一个带电池电源的微控制器设备。目前,我通过简单的开/关开关来切换电源。我想通过一个按钮切换电源,同时对原理图(可能还有微控制器程序)进行最少的修改,并且在设备关闭时消耗电源。我该怎么做?

已添加。我知道以下技巧:

在此处输入图片说明

在这里,微控制器在启动时将PB3设置为高电平,从而为设备保持电源。但这不是解决我的问题的方法,因为我还需要按S1 来关闭设备。

已添加。我可以从电路中排除VT2(即直接将VT1的微控制器驱动器底座)吗?


闩锁按钮是否可以接受?
AndrejaKo 2012年

@AndrejaKo:否

那么祝你好运吧!我看到的一种方法是在按下按钮时给电容器充电,然后尝试用它来激活某些东西,例如MOSFET,但这取决于按下按钮的时间。
AndrejaKo

@tcrosley这不是重复的,您提到的问题不要求在按下按钮时切换电源,它只需要打开电源就可以使微控制器自行关闭。
布鲁诺·费雷拉

@BrunoFerreira好吧,同意-我删除了之前的评论。我在此答案中将线添加到了微型,但我没有像您在答案中那样添加齐纳二极管,这是一个很好的补充。
tcrosley

Answers:


6

根据您提供的电路,您可以在开关(S1)(连接到开关的阴极)的正后串联一个二极管,然后使用它们来检测是否再次按下了开关,如果关闭,则将其关闭PB3。
需要修改

齐纳二极管可保护PIC输入免受来自电源的电压的影响。


二极管的作用是什么?
m.Alin,2012年

@ m.Alin此处的二极管可让微控制器检测何时释放开关。如果我们没有二极管,那么当VT1开始导通时,我们的微控制器输入将始终处于高电平。
布鲁诺·费雷拉

8

您真正需要休假吗?许多现代微控制器的休眠电流远低于甚至是小电池的自放电电流。您可以让按钮简单地驱动微控制器的I / O引脚,然后每按一次按钮,它就会在睡眠和活动模式之间切换。需要进行一些反跳操作,但是所有这些操作也都可以在固件中完成。

如今,这种开/关方法非常普遍。当仅需一个µA时,微控制器并不需要真正处于关闭状态,只需休眠即可在自己的控制下完成。按钮线必须连接到可能导致微型计算机从睡眠中醒来的东西,但几乎每个微型计算机都至少有一个,通常是几个。


1
同意,如今,我的许多设计甚至都没有开/关按钮,它们只是在按下按钮后才醒来。
奥利·格拉瑟

我的设备还包含LCD和其他外围设备。因此,我也必须关闭电源。

4
@user:这并不意味着您必须关闭微型电源,而只需关闭其他逻辑即可。借助微型计算机的开/关思想,微型计算机可以控制其他设备的电源,以便在微型计算机休眠时将其关闭。这意味着您有一个有意的数字输出,它的极性可以方便地打开和关闭,而无需在模拟硬件中实现切换。
奥林·拉斯洛普

即使许多微控制器的睡眠电流都非常低,但质量调节器的成本要高于笨拙的调节器。如果仅在使用设备时必须使用一个额外的250uA(甚至2.5mA)的稳压器可能会很好,但是即使在设备“关闭”时必须激活,它也完全不可接受。 。我几年前设计的一种产品甚至都没有使用稳压器,而是使用了三个晶体管和大约七个电阻来提供标称5伏电源,并由处理器控制关机。通过“调节器”标准,其电压精度确实令人吃惊……
supercat

1
@OlinLathrop:两个2N3094和一个2N3906的价格不到$ 0.07。即使一个数字十个组件每个组装要花费一美分,这仍然可以为每个单元节省一角钱-如果制造了100,000个,那也就是10,000美元。如果一种产品不具备这种销量,那么尝试将$ 0.10挤掉是不值得的。如果我在设计产品时可以使用今天的稳压器,并且如果我事先不知道它的售价,我可能会简单地使用带有备用控制的稳压器,但是我的电路可以工作并且比其他任何产品都便宜。没有理由不继续使用它。
supercat 2012年

3

编辑-反射时,下面的电路(我将留作参考)可能最适合在没有微电路的情况下使用。正如在其他答案中提到的那样,除非您真的负担不起很少的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(推动)高表示按下按钮的时间):

ToggleSwitchSim

我们还可以看到在断电之后电流达到零(随着C1放电和Q1关断),因此电路在断电状态下不消耗任何功率(I(V1)的光标为19.86s,测量值为329nA):

拨动开关电源

最初的电路构想不是我的,它来自EEVblog的 Dave Jones 。


1

正如Bruno Ferreira所建议的那样,使按钮充当“断开”开关的最简单方法是改变电路,是让处理器知道何时按下按钮。我认为可以合理地使用电阻器来保护处理器的输入免受超过VDD的电压的影响,而无需使用稳压管。

这是您可能会使用的电路设计的粗略草图。右半部分代表处理器的行为,我使用了晶体管,齐纳二极管和电阻器的组合来代替稳压器。处理器的输出使用其VDD而不是门的模拟开关表示,因为此模拟器中的门始终产生+ 5V输出。

该电路的一个关键方面是,如果忽略它,可能会引起麻烦。它的设计使得处理器不能打开电路,除非其VDD至少为〜3.6V。我还安装了模拟器,以便只要VDD低于3.5伏,处理器就将始终尝试打开其输出。我已经看到许多设计假设处理器在功率耗尽时不会尝试输出逻辑高电平。该假设对于测试中使用的某些批次的芯片可能行得通,但随后在大规模生产中使用的其他批次的芯片会失败。在欠压条件下,大多数处理器的行为均不确定。好的设计应该经过精心设计,以使处理器在这种情况下的行为无关紧要(请注意:可以安全地假设处理器不是 明确设计为产生比任何施加电压都高的电压不会神奇地开始这样做;我不认为有明确的规范,但我认为在大多数情况下可以安全地推断出它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.