找回密码
 立即注册
查看: 222|回复: 24

怎么降低功耗延长电池用时 | 应该使用 主时钟停振的/省电模式

[复制链接]

该用户从未签到

37

主题

78

回帖

443

积分

中级会员

积分
443
发表于 2024-3-15 23:21:03 | 显示全部楼层 |阅读模式
怎么降低功耗延长电池用时?
我的思路是这样的,用的是STC8H1K08T,做的触摸弹簧,
接的100K的热敏电阻,接的纽扣电池,还有14个LED,
每次触摸弹簧,会读取热敏电阻的ADC值,然后用LED显示3秒,
再然后就熄灭进入IDLE模式


直到再次触摸才会重复前面的操作,但是我只要接上电池放在
家里几天不管他,电池就没电了,我把频率降到5.5296MHZ了,
因为我试过再低的频率,好像功率并不会减少

回复 送花

使用道具 举报

  • TA的每日心情
    奋斗
    昨天 21:24
  • 签到天数: 98 天

    [LV.6]常住居民II

    9

    主题

    557

    回帖

    823

    积分

    高级会员

    积分
    823
    发表于 2024-3-16 07:41:56 | 显示全部楼层
    既然对电流要求高,建议测试一下IDLE模式电流,
    正常模式下LED显示和不显示的电流再做改进。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9328

    回帖

    1万

    积分

    管理员

    积分
    13928
    发表于 2024-3-16 08:04:51 | 显示全部楼层
    楼主设计错误:
    不应该使用 IDLE 模式 / 空闲,
    应该使用 主时钟停振的/省电模式,俗称 掉电模式
    空闲模式的耗电是省电模式的耗电的 1200 倍
    0.48mA = 480uA, 480uA/0.4uA = 1200 倍

    截图202403160807187343.jpg

    截图202403160809541620.jpg

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9328

    回帖

    1万

    积分

    管理员

    积分
    13928
    发表于 2024-3-16 08:05:55 | 显示全部楼层
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2935

    回帖

    6621

    积分

    超级版主

    积分
    6621
    发表于 2024-3-16 17:56:17 | 显示全部楼层
    要进入睡眠模式,而不是IDLE模式。
    睡眠前要关闭NTC的电源,允许触摸按键唤醒,

    只有一个触摸键唤醒的话,电流大约3.4uA

    如果电池使用的是CR2032,220mAH,哪怕按4uA计算,一天0.096mAH,
    哪怕按0.1mAH计算,则220mAH的CR2032电池可以续航 220/0.1=2200天=6年

    当然,每唤醒一次工作3秒,就会耗电一点电量,根据工作电流、唤醒次数自行计算。


    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    37

    主题

    78

    回帖

    443

    积分

    中级会员

    积分
    443
     楼主| 发表于 2024-3-19 08:51:43 | 显示全部楼层
    梁工 发表于 2024-3-16 17:56
    要进入睡眠模式,而不是IDLE模式。
    睡眠前要关闭NTC的电源,允许触摸按键唤醒,
    只有一个触摸键唤醒的话, ...

    试了,是PCON = 0X02;指令对吧?
    可是不知道为什么,我明明在进入睡眠模式前,关闭了所有中断,
    测量电流还是0.83mA,正常工作时是3mA,0.83mA还是很不耐用,找不到问题,又关了ADC电源,也没效果,至于你说的关闭NTC电源,我NTC接个的100K热敏电阻到负极,然后是1个100K电阻分压到正极,这200K的情况下,电流应该没多少呀

    点评

    进入睡眠命令序列: PCON |= 0x02; //进入睡眠 _nop_(); //至少3个NOP _nop_(); _nop_(); 另外,你的外围电路要关闭耗电。可以只测MCU。  详情 回复 发表于 2024-3-19 09:54
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    37

    主题

    78

    回帖

    443

    积分

    中级会员

    积分
    443
     楼主| 发表于 2024-3-19 08:54:40 | 显示全部楼层
    神农鼎 发表于 2024-3-16 08:04
    楼主设计错误:
    不应该使用 IDLE 模式 / 空闲,
    应该使用 主时钟停振的/省电模式,俗称 掉电模式

    频率5.5296MHZ,PCON = 0X01;是进入IDLE模式,电流表显示是1mA电流,PCON = 0X02;是进入睡眠模式,电流表显示是0.83mA,感觉区别不大啊

    点评

    0.83ma?你这个进入睡眠模式之前IO模式和外设使能寄存器那些都关了嘛?  详情 回复 发表于 2024-3-19 08:59
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    7 天前
  • 签到天数: 90 天

    [LV.6]常住居民II

    38

    主题

    986

    回帖

    6775

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    6775
    QQ
    发表于 2024-3-19 08:59:04 | 显示全部楼层
    sky999 发表于 2024-3-19 08:54
    频率5.5296MHZ,PCON = 0X01;是进入IDLE模式,电流表显示是1mA电流,PCON = 0X02;是进入睡眠模式,电流表 ...

    0.83ma?你这个进入睡眠模式之前IO模式和外设使能寄存器那些都关了嘛?
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9328

    回帖

    1万

    积分

    管理员

    积分
    13928
    发表于 2024-3-19 08:59:48 | 显示全部楼层
    下面这个测试程序,只有 STC8H耗电,测试下
    ===板上其他外围器件拆除


    截图202403190859034456.jpg

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    37

    主题

    78

    回帖

    443

    积分

    中级会员

    积分
    443
     楼主| 发表于 2024-3-19 09:21:50 | 显示全部楼层
    本帖最后由 sky999 于 2024-3-19 17:52 编辑
    梁工 发表于 2024-3-16 17:56
    要进入睡眠模式,而不是IDLE模式。
    睡眠前要关闭NTC的电源,允许触摸按键唤醒,
    只有一个触摸键唤醒的话, ...

    1
    VV.JPG
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-6 06:06 , Processed in 0.077718 second(s), 74 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表