This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

low power consumption issue

Hello All,

I have the following queries on low power consumption mode,

To update you on power saving tests that we performed at our end, here is our observations:

Our application has following peripherals running:

BLE over UART (used SDK example to start with)
OLED display over I2C (using SDA,SCL and display on/off pin)
PWM to run Vibrator motor (over GPIO)
Main motor connected over GPIO (timer based Power on/off)
ADC for battery monitoring (Sampling every 1 sec)
4 buttons
Timers (RTC0 being used by BLE, RTC1 used for application timers, RTC2 for ADC)

OBSERVATION

When we run our application without System ON Low power mode enabled, current consumption is approx. 19-20mA (main Motor is not connected)
When we run our application without System ON Low power mode enabled and only by reducing ADC sampling to 10 sec, current consumption drops to approx. 12mA (main Motor is not connected)
When we put the application to System ON Low power mode (using power_manage() function) and by disabling display, stopping BLE advertisement, and ADC sampling every 10 sec, the current consumption drops further to 6mA.

In case 3, we expect only core running (all peripherals in sleep). As per the nRF52 datasheet, in low power mode the core current consumption is in the range of uA. So, our observation is no-where close to that data.

Since, our device will remain in sleep mode most of the time, we need to same battery power. We are not able to save as expected.

Can you suggest something to achieve this? What we can do to check what all peripherals might be consuming power? Can you please verify if we are using Low power mode correctly?

I would appreciate your quick response in this regard.

Thanks in advance

Pavan

Parents
  • Hi Pavan,

    How did you measure current consumption ? Note that with the current DCDC refresh mode, a simple multimeter can't measure current precisely. Have a look here.

    The power profiler kit is recommended.

    This:

    When we put the application to System ON Low power mode (using power_manage() function) and by disabling display, stopping BLE advertisement, and ADC sampling every 10 sec, the current consumption drops further to 6mA.
    

    Suggesting that the CPU might not be in sleep mode. You may need to check if there is any interrupt that keeps the CPU awake.

    How do you do PWM ? If you use a TIMER that requires HFCLK, you will have higher current consumption (~1 milliamp)

    You also need to make sure the device is not in debug mode when you measure current. Right after programming the board will stay in debug mode, you would need to do a power rest before measurement.

    You can start your test by disabling all modules, put CPU to sleep and check if the current consumption would be at a few uA or not. Then start turn on one module at a time and see what cause the high current consumption and if it matches with the spec or not.

Reply
  • Hi Pavan,

    How did you measure current consumption ? Note that with the current DCDC refresh mode, a simple multimeter can't measure current precisely. Have a look here.

    The power profiler kit is recommended.

    This:

    When we put the application to System ON Low power mode (using power_manage() function) and by disabling display, stopping BLE advertisement, and ADC sampling every 10 sec, the current consumption drops further to 6mA.
    

    Suggesting that the CPU might not be in sleep mode. You may need to check if there is any interrupt that keeps the CPU awake.

    How do you do PWM ? If you use a TIMER that requires HFCLK, you will have higher current consumption (~1 milliamp)

    You also need to make sure the device is not in debug mode when you measure current. Right after programming the board will stay in debug mode, you would need to do a power rest before measurement.

    You can start your test by disabling all modules, put CPU to sleep and check if the current consumption would be at a few uA or not. Then start turn on one module at a time and see what cause the high current consumption and if it matches with the spec or not.

Children
No Data
Related