STM32L051C8T6 HAL库 stop模式下的低功耗 RTC+外部中断唤醒 总结+源码

目录

概述

1、调试低功耗产品先去看低功耗相关说明和寄存器操作,这个是避免不的。(去百度搜索stm32L0中文参考手册.pdf)

2、模式说明,为了减少篇幅,各位看官,直接阅读文档吧。

3、在这,我就不一一列举低功耗的知识了。看完手册上解释后,去官网下载对应STM32L0系列的库(注:这个系列芯片只有HAL库,没有标准库)

4、下面的列出官方实例目录


概述

        最近NB项目上使用的ST公司一款低功耗MCU,要求功耗越低越好。经过几天时间,终于把它搞定了。其实很简单的,有个快捷方式就是去官方参考例程来移植即可。

因为官方没有STM32L051C8T6这个例程,在此就去找型号接近的来做,结果发现STM32L053R8这个可以使用。废话有点多请见谅哈!

1、调试低功耗产品先去看低功耗相关说明和寄存器操作,这个是避免不的。(去百度搜索stm32L0中文参考手册.pdf)

打开文档找到第6章节中的第3小节。

2、模式说明,为了减少篇幅,各位看官,直接阅读文档吧。

3、在这,我就不一一列举低功耗的知识了。看完手册上解释后,去官网下载对应STM32L0系列的库(注:这个系列芯片只有HAL库,没有标准库)

如果安装了CubeMxIDE这个图形化工具,就不用去官方下载了,直接在这个工具的安装目录下找即可

比如:D:\ST\STM32CubeIDE_1.0.1\Repository\STM32Cube_FW_L0_V1.11.2\Projects\NUCLEO-L053R8\Examples

这是我安装的路径,要看你安装路径来找。

4、下面的列出官方实例目录

直接移植过来即可使用。 

调试低功耗首先把项目上使用的产品外围电路去掉,只剩最小系统,一个个的排查,一个个的修改IO配置,还需要根据硬件上的上拉、下拉电阻,来配置进入低功耗之前配置内部上下拉,这样确保不然会导致漏电,从而达到最佳效果。下面就是最小系统进入stop模式后的功耗(测试电压3.8V,这个是经过LDO再到mcu的功耗,LDO耗了大概1.2uA左右)。可以见得单纯单片机的话大概是在1.5uA,这个结果还能接受。

 注意:进入低功耗模式下,烧录程序是烧录不了的问题,需要按照复位键,然后点击下载,接着松开按键即可,还有一种办法就是烧录器要连接下载口中的reset脚。只有这样才能正常烧录程序。

加上串口打印大概是在6uA左右。

注意:这里RTC需要修改时钟源,如果选择外部时钟(32.768KHZ),内部时钟(37KHZ)
RTC同步分频系数,必须先设置同步分频(Sprec),再设置异步分频(Asprec)
计算公式:Frtc=Fclks/((Sprec+1)*(Asprec+1)) 
外部时钟源:32.768
32k/(127+1)(255+1)=1HZ
内部时钟源:37
37k/(36+1)(999+1)=1HZ

看下图:

 

 注意:下面的链接代码可能需要按照上面操作修改一下。

代码链接
 

计算方法

实际使用年数 = 电池实际容量 / 年总消耗容量

其中“年总消耗容量” 包括“应用耗电”、电池的自我损耗、并联电容的漏电流消耗。
电池实际容量受到环境温度、放电电流、原材料等影响。
具体计算过程如下。

1. 应用耗电计算
a. 休眠电流计算:(以年为单位)

6uA * 365天 * 24小时 * 3600秒 = 189216000 uAS = 52.56 mAH

b. 温度采集电流计算:(以年为单位) 

20mA * 2.5ms * (365天 * 24小时 *3600秒 / 5秒) = 87.6 mAH

c. 无线发送电流采集:(带等待ACK回复 以年为单位)

50mA * 200ms * (365天 * 24小时 *3600秒 / 600秒)= 146 mAH 

年总计用电功耗

52.56 + 87.6 + 146 = 286.16 mAH 

2. 电池自我损耗
a. 年自放电容量: (以年为单位)

以购买的4000mAH电池为计算,其年自放电率为0.5%,则年自放电容量为:
4000 * 0.5% = 20 mAH 

b. 并联超级电容漏电流损耗: (以年为单位)

6uA * 24小时 * 365天 = 52.56 mAH 

年总计损耗

20 + 52.56 = 72.56 mAH 

3. 电池实际有效放电容量

影响有效容量的因素:
a) 实际电池使用时环境温度;
b) 实际放电电流的大小;
c) 最低实际放电容量及散布系数 K d ,受到环境温度,截止电压、放电电流的影响,电流与电
池之间容量有差异;
d) 可靠性系数 K g ,可靠度,受原材料、过程工艺等影响;
e) 储存自放电量 C 即上述电池自我损耗 

根据电池参数,带入公式有:C=Cn Kd Kg = 40000.80.95 = 3040 mAH

4. 实际寿命预估 

3040mAH / (251.12 + 72.56)mAH = 3040mAH / 323.68mA = 9.39年

  • 11
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ch_champion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值