简介
我们做的是一个户外便携设备,设备上面有一个控制面板,控制面板上会提示充放电状态、电量、功率等参数。户外设备一般都是电池供电,电池供电那就需要考虑怎么节约电池电量,最大限度的不影响使用体验的情况下,让电池的电量减少无用的消耗,坛友们有没有什么好的设计方法?带着这个问题,看下我们这个设备当时是怎么设计的。
一、MCU如何巧妙设计控制功耗?
我们当时电路设计上想到一种自杀模式,就是MCU可以控制自己供电的电源断开,这样就等于完全下电了,关机的时候只有BMS部分在工作,最大化的节约功耗。
设计思路是这样的,首先便携设备通过长按开机按键来打开设备开始工作,按下按键的时候是接通MCU的LDO电源,MCU就开始上电了,这时候MCU通过三极管控制接管LDO的电路,通过把基极拉高就可以保证LDO供电,这时候再松开开机按键MCU就可以一直供电。
当用户长期不用了或者设备仓库库存了怎么办呢?
我们是通过用户开机之后,有没有控制对应模块输出,如果有其他模块开始工作的情况下那就保持长期工作,如果用户只是开机了就放在那里,那设备起始没有工作起来的,这时候我们会开始计时,连续计时15分钟设备进度息屏状态,连续计时30分钟设备就关机,关机是MCU控制三极管进入自杀模式。这样就的设计比低功耗更实用一些,但是也有弊端,就是没办法做OTA升级,因为一升级MCU对三极管开关失控了,就自动进入自杀模式了,虽然有按键长按可以保持MCU的LDO稳定供电,但你不能要求用户一直按按键去OTA升级吧,那样体验太差了。
二、代码实现
代码实现其实也比较简单,通过状态来判断计时就好了,如下:
三、总结
没有一种设计是完美的,看你想要哪种取舍,就采用哪种设计,但是跟着主流的做法更容易被用户接受。目前这种户外便携设备这样做起来更简单实用,但是唯一的不好就是无法OTA升级,一旦发现产品设计有缺陷,只能去现场或者设备寄回来升级。