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

Power consumption problem

I have a custom board with nrf52840 with cr2477 battery (1Ah capacity). I was download firmware to board and after a week the battery voltage dropped to critical. In the firmware forcibly turned on dcdc and in power_manage added:
sd_power_mode_set(NRF_POWER_MODE_LOWPWR);
But problem is still here. 

What other critical places are there that you need to pay attention to?

Parents
  • Hi Ivanov,

    which SDK version and SoftDevice version are you using?

    Have you measured the current consumption of your application using the Nordic Power Profiler Kit  or a power analyzer? If so what kind of current consumption are you seeing?

    The power mode during CPU sleep is by default set to NRF_POWER_MODE_LOWPWR, so it is not necessary to explicitly set this. The DCDC on the other hand must be enabled explicitly. Can you post the code that enables the DCDC?

    Are you calling the idle_state_handle(), which in turn calls nrf_pwr_mgmt_run, so that the nRF52840 enters the low power idle mode, function in the main for() loop? Have you disabled logging?

    The nRF52840 will wake up on interrupts, so if there is a peripheral/peripherals that generate interrupts, then the device might be waking up very frequently. Hence make sure that you disable all peripherals that does not need to run when the CPU is sleeping. 

    Best regards
    Bjørn

Reply
  • Hi Ivanov,

    which SDK version and SoftDevice version are you using?

    Have you measured the current consumption of your application using the Nordic Power Profiler Kit  or a power analyzer? If so what kind of current consumption are you seeing?

    The power mode during CPU sleep is by default set to NRF_POWER_MODE_LOWPWR, so it is not necessary to explicitly set this. The DCDC on the other hand must be enabled explicitly. Can you post the code that enables the DCDC?

    Are you calling the idle_state_handle(), which in turn calls nrf_pwr_mgmt_run, so that the nRF52840 enters the low power idle mode, function in the main for() loop? Have you disabled logging?

    The nRF52840 will wake up on interrupts, so if there is a peripheral/peripherals that generate interrupts, then the device might be waking up very frequently. Hence make sure that you disable all peripherals that does not need to run when the CPU is sleeping. 

    Best regards
    Bjørn

Children
Related