如何实现微控制器可控的软电源开关?


16

我想设计一种电路,使微控制器可以触发GPIO引脚并关闭整个系统(包括微控制器本身)。并且,当用户按下瞬时按钮时,电源会重新恢复。

这可能吗?

Answers:


11

替代文字

该示例使用Maxim MAX1835升压调节器,但也可以应用于具有关断引脚的其他器件。

该电路通常断电。当用户按下按钮时,电池被馈入-SHDN引脚,从而使能稳压器并接通微控制器的3.3V电压。然后,微控制器在POWER ON引线上放置逻辑1,在用户释放按钮后保持通电。当微控制器想要自行关闭时,它将POWER ON引线设置为0。


2
我认为,非常重要的是取消该切换。
Kortuk 2011年

2
@Kortuk,好点。我假设微控制器的开启速度足够快,以至于它可以在第一次弹跳之前覆盖开关,并假设将引脚驱动为高电平是微控制器的第一件事。如果不是这种情况,则可以在-SHDN引线上增加一个电容器来为接通创建一个时间常数(尽管这也会在断开时产生一些延迟)。可能需要留出10 nF的电容来抑制噪声(数据手册样本原理图中已包含了该电容)。或者可以只为开关添加额外的RC电路。
tcrosley

我以前见过一些疯狂的反弹。
Kortuk

开关跳动的更大问题是掉电期间的处理器行为。特别是,最好确保处理器仅在其VDD超过保证正确操作的点时才打开电源。我必须调整一些自动掉电电路,当VDD降至有效工作电压以下时,由于处理器运行随机代码,偶尔会出现故障。随机代码可以将“开机”输出设置为高电平,从而为设备备份供电,并在随机地址处运行代码。
超级猫

1

一种方法是在微控制器上进入深度睡眠模式。

许多微控制器支持通过外部中断(如IO引脚的边沿)唤醒。


那么我也会得到稳压器向微型电源供电的静态电流消耗吗?
cksa361 2011年

是。你会。
Toby Jaffey

@ cksa361,有些微是纳安或微安。我使用MSP430,我们将其保持在3-5微安。
Kortuk

0

是的,这当然是可能的,但是如何实现这一点取决于要打开和关闭的负载类型。

这可能很简单,只需使用一个继电器连接到微控制器的输出PIN(通过晶体管和保护二极管),然后将按钮开关连接到配置为输入的引脚即可。

这是一个简单的示例电路图: 微控制器控制的继电器原理图

使用瞬时按钮开关时,请注意防抖,但您需要在微控制器代码中实现延迟,以确保在切换继电器之前的一段时间(例如1ms)内检查按钮的状态回来。如果您不这样做,则微控制器可能会在很短的时间内拾取多个信号并多次切换继电器,您会发现按钮间歇性地工作。

更新 我刚刚看到了您关于关闭微控制器电源的编辑。您能否提供更多有关您实际尝试做的事情的信息?不了解整个系统就很难回答您的问题。

如果您也要关闭微控制器,则需要某种方式来恢复微控制器的电源。也许您可以使用继电器为包括微控制器在内的所有设备供电,这样微控制器可以自行关闭,但不能重新开启。然后,可以将按钮连接到继电器开关的两端,以有效地将其短路,从而给它足够的时间来加电并保持继电器本身断开。

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.