Power Management with NRF52833

I am using NRF52833 Microcontroller to read data from the PCR based radar sensor. I am using NRF Connect SDK Version 2.6.1. I need help regarding reducing the power consumption. My Controller is consuming a current average of 40mA for one cycle (6s duration) whenever fetching the data from the sensor which is huge in terms as I am planning to power the device using battery. Power management is enabled already.

 This is my prj.conf contents:

# # Power Management
CONFIG_PM=y
CONFIG_PM_DEVICE=y
CONFIG_PM_DEVICE_RUNTIME=y
This is the inclusion I have done on my main src file
#include <zephyr/pm/pm.h>
I disabled all other unused pheripherals like uart, spi and i2c from the device tree. but still power consumption is high.

k_msleep(SLEEP_TIME_MS);
 
When using the above function, the device enters sleep mode and current consumption is limited but when fetching the data using my data_fetch() function.
I have used the power management function in the data_fetch() function
#ifdef CONFIG_PM_DEVICE
    pm_device_action_run(spi_dev, PM_DEVICE_ACTION_RESUME);
#endif
The current consumption is still more. Are there any solutions to reduce power consumption.
Parents Reply Children
  • The radar sensor which I was using has an enable and power enable pin for low power consumption modes. On disabling the enable pin and power enable pin during sleep mode and then enabling them when fetching data from the sensor I was able to reduce the power consumption.


    Addition to that BLE was consuming some power when Advertising. Disabled BLE when entering sleep mode.

    Which improved my power ratings and consumed <1.5uA when on sleep mode and 19mA for the data fetching and advertising cycle.

Related