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

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

[复制链接]

46

主题

108

回帖

604

积分

高级会员

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


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

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-04 14:23:56
已绑定手机

13

主题

1257

回帖

2983

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:57
  • 最近打卡:2025-05-04 08:52:05

718

主题

1万

回帖

1万

积分

管理员

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

截图202403160807187343.jpg

截图202403160809541620.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:57
  • 最近打卡:2025-05-04 08:52:05

718

主题

1万

回帖

1万

积分

管理员

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2025-05-03 23:41:15

73

主题

5884

回帖

1万

积分

超级版主

积分
12087
发表于 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秒,就会耗电一点电量,根据工作电流、唤醒次数自行计算。


回复 支持 反对

使用道具 举报 送花

46

主题

108

回帖

604

积分

高级会员

积分
604
发表于 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
回复 支持 反对

使用道具 举报 送花

46

主题

108

回帖

604

积分

高级会员

积分
604
发表于 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
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

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

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

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

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:57
  • 最近打卡:2025-05-04 08:52:05

718

主题

1万

回帖

1万

积分

管理员

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


截图202403190859034456.jpg

回复 支持 反对

使用道具 举报 送花

46

主题

108

回帖

604

积分

高级会员

积分
604
发表于 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, 2025-5-4 15:18 , Processed in 0.360598 second(s), 119 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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