保护微控制器输入引脚免受软电源开关的影响

电器工程 微控制器 力量 开关 低电量
2022-01-18 09:50:37

我正在为微控制器开发一个软电源开关,其中一个瞬时开关可以打开电路(包括微控制器),然后当第二次按下开关时,微控制器可以在执行一些清理后自行关闭。

电路图

到目前为止,我有上述电路,但我不确定它是否可靠。我正在使用锂离子电池(3.7-4.2V)和 TC1015 稳压器(3.0V 输出)。这个想法是,当按下开关时,调节器打开,然后微控制器设置为uC Power高电平,保持自身开启。当开关被第二次按下时,中断uC Switch将允许微控制器设置为uC Power低电平,自行关闭。

我不确定的是,我是否需要保护微控制器免受电池电压的影响。我使用的微控制器在 I/O 引脚上的绝对最大电压为 Vdd+0.4V,所以我不确定如何最好地处理它。

其次,这个电路真的会在稳压器处于“关闭”状态时阻止它开启吗?我曾考虑在启用线上使用下拉电阻,但担心芯片通电时的电流消耗。

编辑:微控制器是要切换的主要负载,因此很遗憾将其置于低功耗模式在这里不起作用。

编辑#2(发布答案后):

我最终使用了下面的电路:

固定电路图

之前发布的电路工作得不是很好,当微控制器没有为它供电时,浮动使能线存在问题。

新电路使用触发器,数据线通常被拉低。按下开关按时钟,打开系统。随后按下开关将CLOCK线路驱动为高电平(允许微控制器感应按下),但不会影响调节器的输出。一旦微控制器准备好关闭电源,它会将DATA线路设置为高电平,然后将CLOCK线路设置为高电平,这将导致稳压器关闭。

这种设置的真正好处之一是,第一次按下按钮会打开调节器,并保持打开状态,直到微控制器准备好关闭。反弹不是问题,因为无论时钟线变高多少次,数据线仍然被下拉保持在低位。此外,电流消耗应该非常小(只有触发器和 TC1015 在关闭时),并且在开启时通过电阻器的电流消耗最小。

微控制器确实需要保护免受时钟线上的电池电压的影响,但正如@Andy aka 所建议的那样,这可以通过一个电阻来完成CLOCK

4个回答

R1 和 R2 将限制流入 uC 引脚的电流,这通常足以保护您的设备 - 您只需要在规范中检查“限制”电流是多少,并根据 uC 电源选择合适的电阻值可能为 0V(未通电)。在此基础上可以省略齐纳二极管。

可靠性是另一个问题。开关弹跳可能会导致您的 uC 打开然后关闭几次,因此请编写代码以了解这一点。

我认为启用一个电阻器可能是可取的,但可能在 +10K 的范围内,也许这可能更高,可能是 100k。

关断引脚上的电压必须至少为 Vin 的 45%,所以这应该不是问题。

这似乎是一个自锁系统,理论上应该可以工作,就像自锁继电器电路一样(一个按钮用于打开继电器,然后由于负载引脚和线圈引脚连接在一起,继电器保持打开状态只要电源进入负载引脚)。

要对其进行测试,无需冒险使用微控制器,您可以这样做。添加一个虚拟负载以保持调节器满意(几个 LED,也可以让您看到它正在工作),然后将输出连接到它标记的点uC Power按下开关后,稳压器应启动,打开 LED 和 uC 电源,这又应使使能引脚保持逻辑高电平(关断逻辑高电平至少为 VIN 的 45%,因此在 4.2V 输入时为 1.89V。 )。

因此,如果您按下按钮并且释放它后 LED 保持亮起,它就可以工作。如果没有,它将无法按原样工作。

警告:我这么说,但不确定齐纳二极管将如何导致电路反应。

连接电池、微控制器信号和稳压器的 SHDN* 输入(重命名为 EN)的电路似乎很狡猾。

如何使用闩锁(依靠电池供电)来捕捉钥匙的闭合情况。然后这个锁存器的输出可以与来自 MCU 的信号信号进行“或”运算,以驱动稳压器的 SHDN* 引脚(在原理图中重命名为 EN)。启动时,MCU 应首先驱动其使能线,然后清除锁存器,从而确保 EN 保持有效。

随后的按钮动作可以通过闩锁监控:如果再次按下开关,闩锁再次变为高电平。MCU 注意到这一点并清除锁存器及其使能信号,从而触发关机。由于开关被锁存,MCU 可以非常方便地监控它,只需以悠闲的频率轮询它。

另一个可选的改进是一个电路,以确保当电池本身上线时,系统在不使用按钮的情况下启动。这可能是某种设置锁存器的脉冲。

使用合适的电阻将 EN 拉低,并将其连接到单片机上的 io 引脚。开关接通单片机的输入引脚。按下按钮会触发 MCU 输入引脚上的中断,从而切换控制 LDO 的 EN 引脚的输出引脚。

将单片机置于深度睡眠将允许引脚被拉低并禁用 LDO。使用开关触发中断将唤醒它,再次将引脚拉高并再次打开启用 LDO。