STM32F030C8T6低功耗笔记

2018年5月8日

  这个芯片的低功耗搞了好久了,刚开始是7mA降不下去,然后是降到了1mA,到现在的200uA,还是有地方没有弄好,目标是降到50uA左右,目前遇到了问题,进入STOP模式的时候降到了110uA,然后会慢慢回升80uA。

  这里先写一下之前的一些总结。

  首先进入的是STOP模式,因为这个模式功耗已经很低了,而且这个时候可以任意外部中断唤醒。

  进入中断的方式。

  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); //使能电源时钟
  PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);// 进入STOP模式

  在这之前要关闭外部模块或者使外部模块进入低功耗模式,配置一些IO为下拉输入模式。

  然后应该是到了1mA,准确的应该是980uA,这个时候又去查资料,看到一句关闭ADC。我试了加入

  ADC_Cmd(ADC1,DISABLE);    // 这个一定要关闭影响很大 我的板子上降低了800uA

  果然很明显,一下到了110uA。

  这个时候,还是有个问题一直出现【电流回升】就是到了110uA后,会慢慢回升到180uA,然后左右几uA的变动。

2018年5月9日

  下午的时候再次怀疑了一下硬件,把74HC245的空闲引脚接地,你猜怎么了,一下子降到112uA稳定了。虽然112uA还是不够低,但是解决了那个电流回升的奇怪问题。

2018年5月10日

  112uA降低到60uA,是外部硬件74HC595的OE一直是使能的,或许这是一直工作的待机功耗,一共有16个595呢,我直接断开595的电源VCC降了下来。准备下一版电路板把595的OE接到MCU来控制。

  60uA降低到30uA,依然是ADC搞的鬼,用ADC_DeInit(ADC1);替代ADC_Cmd(ADC1,DISABLE);

 2018年6月4日

  一个1N5822也会耗掉5uA的电流,还有的电容出了问题会增加几十uA甚至几毫安的电流。

原文地址:https://www.cnblogs.com/IdeaMing/p/9013671.html