[求助] ESP32,仅开了一个定时器,功耗很大,怎么办

极限零   2021-1-29 13:31 楼主

实际功耗没有测,不过用400mah电池供电,6个小时就没电了,有点快啊,有什么办法解决吗

代码如下:

 

from machine import Pin,Timer
from time import sleep

P33 = Pin(33,Pin.OUT)
P33.value(1)
tim = Timer(1)

def wa(tim):
    P33.value(0)
    sleep(5)
    P33.value(1)

tim.init(period=1800000,mode=Timer.PERIODIC,callback=wa)

回复评论 (7)

点赞  2021-1-29 13:31

如果不使用wifi,可以将wifi关闭,功耗明显会低一些。

点赞  2021-1-29 13:47

另外machine中的Timer,是一个软件定时器,通常使用 Timer(-1)定义。

点赞  2021-1-29 13:48

啊知道了,还是进入deepsleep吧

 

点赞  2021-1-29 13:56
引用: dcexpert 发表于 2021-1-29 13:47 如果不使用wifi,可以将wifi关闭,功耗明显会低一些。

请问wifi默认开启吗,代码里没开啊

点赞  2021-1-29 14:23

楼主还是应该测一下电流,对比器件手册看看功耗是否正常,至少能判断出是否有不需要的功能子项被打开。

上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2021-1-29 15:44
引用: 极限零 发表于 2021-1-29 14:23 请问wifi默认开启吗,代码里没开啊

正常情况夏,ESP32如果开了wifi功能,电流在100mA左右。如果关闭wifi,运行电流约20mA。lightsleep大约几个mA,deepsleep按手册是几个uA。

点赞  2021-1-29 16:06
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复