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

电器工程 微控制器 开关
2022-01-06 00:39:00

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

添加我知道以下技巧:

在此处输入图像描述

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

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

4个回答

你真的需要离开多远?许多现代微控制器的休眠电流远低于即使是小型电池的自放电电流。您可以让按钮简单地驱动微控制器的 I/O 引脚,然后每次按下按钮都会在睡眠和活动模式之间切换。需要进行一些去抖动,但这在固件中也是可行的。

这种开/关方法如今变得非常普遍。当它只需要一个 µA 时,微控制器不需要真正关闭,只需休眠即可,它可以在自己的控制下完成。按钮线必须连接到可以使微控制器从睡眠中唤醒的东西,但几乎每个微控制器都至少有一个,通常是几个。

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

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

编辑-经过反思,下面的电路(我将留作参考)可能最适合在没有微型电路的电路中使用。正如其他答案中提到的,除非你真的买不起几个 uA,否则不使用微控制器来控制电源切换是没有意义的,因为它使用的组件更少并且可以精确控制。
最简单的版本可以是类似于 IOC(更改中断)输入,带有上拉,按钮接地。微控制器始终通电,并控制电路其余部分的 P 沟道 MOSFET(从栅极到源极上拉)。当它休眠时,它让门浮动以关闭电路。

参考电路:

拨动开关

起初 P-MOSFET 处于关闭状态,因此 Q2 没有基极电流,它也处于关闭状态。Q1 关闭,因此 Q1c 处于 5V。电路是静态的。

当按下 S1(忽略 + 和 - 节点,它们用于 SPICE 触发目的)时,Q1c 上的 5V 连接到 Q2 基极,将其打开。这会将 P-MOSFET 栅极拉至地,同时将其打开。
R4 现在看到 5V,当 S1 被释放时,它为 Q2 的基极提供保持其打开所需的电流(因此 MOSFET 也打开),当通过 R2 的电流将 C1 充电至 ~600mV 时,Q1 也打开,此时 Q1c 为<200mV(即 Q1 开启)
电路现在再次静止。

当再次按下 S1 时,Q1 从 R4 吸收电流(使 Q2 保持导通),从而关闭 Q2。R1 将 MOSFET 基极拉至 5V 并再次将其关闭。

这是模拟(V(push) high 表示按下按钮的时间):

切换开关模拟

我们还可以看到断电后电流趋于零(C1 放电且 Q1 关闭),因此电路在关闭状态下不消耗功率(I(V1) 的光标为 19.86 秒,测量值为 329nA):

切换开关电源

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

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

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

该电路的一个关键方面是,如果忽略它可能会引起麻烦,它的设计使得处理器无法打开电路,除非其 VDD 至少为 ~3.6 伏。我还安装了模拟器,以便处理器在其 VDD 低于 3.5 伏时始终尝试打开其输出。我见过很多设计,它们假设处理器在功率消失时不会尝试输出逻辑高电平。这种假设可能适用于测试中使用的某些批次的芯片,但适用于全面生产中使用的其他批次的芯片则失败。大多数处理器在欠压条件下的行为是未指定的;应该设计一个好的设计,以便处理器在这种情况下的行为无关紧要(注意:假设处理器不是' t 明确设计为产生高于任何施加电压的电压不会神奇地开始这样做;我认为没有明确的规范,但我认为在大多数情况下可以安全地推断出来)。