Ich habe ein Projekt, bei dem ich versuche, den Stromverbrauch so niedrig wie möglich zu halten (auf einem STM32F103RCT6).
Ich habe mir das Dokument von ST angesehen, um den Stromverbrauch des STM32F2 so gering wie möglich zu halten, und versucht, seinen Empfehlungen zu folgen:
Die Stromaufnahme beträgt immer noch 4,6 mA (gegenüber 15 im Standard-WFI-Schlaf und etwa 30, wenn Sie tatsächlich etwas tun). Die Datenblätter scheinen darauf hinzudeuten, dass der Stromverbrauch im STOP-Modus unter 0,5 mA liegen sollte.
Ich habe ein Oszilloskop auf den externen Oszillator gelegt und das hört tatsächlich auf.
Gibt es irgendetwas offensichtliches, das ich vermisse? Gibt es eine Möglichkeit für mich zu überprüfen, was die zusätzliche Stromaufnahme verursachen könnte?
UPDATE : Ich habe ein sehr einfaches Testprogramm entwickelt, das aus dem Beispielcode von ST abgeleitet wurde:
#include "stm32f10x.h"
GPIO_InitTypeDef GPIO_InitStructure;
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD |
RCC_APB2Periph_GPIOE, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_Init(GPIOE, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD |
RCC_APB2Periph_GPIOE, DISABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
while (1) PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
}
Die Stromaufnahme beträgt damit immer noch 4,3 mA. Ich habe auch die Schaltung überprüft - sie ist WIRKLICH einfach und ich habe die Spannung an jedem Widerstand gemessen (und sie ist Null).
Irgendwelche Ideen? Ich denke derzeit, dass es tatsächlich der Spannungsregler LD1117 ist, der schuld ist!
Wilhelmsen und Chris hatten recht – es war die Rennstrecke.
Es waren jedoch keine Widerstände, externe E / A usw. Es war der Spannungsregler LD1117, den ich vorher nicht wirklich in Betracht gezogen hatte.
Es stellt sich heraus, dass so ziemlich alle 1 A, 3,3 V LDO-Spannungsregler, die ich finden kann, einen Ruhestrom von 5 mA haben. Ich habe gerade einen MIC5205 (der für 150 mA ausgelegt ist) eingelötet und zieht jetzt 0,12 mA! \Ö/
Chris Stratton
Oli Glaser
chwi
Gordon Williams
Gordon Williams
Etienne