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

High current problem for app_pwm SDK13.0

Hi,

I am working on nRF52832 with SDK13.0 + GCC Eclipse.

I have used 2 app_pwm instances for driving a 3 color led. Once I init the pwm and set the duty cycle, the current increase from 3uA (sleep state) to 6.5mA. This 6.5mA current is just for the MCU as I have a separate power supply for the LED, the MCU is sinking current from the LED. When I call app_pwm_disable and app_pwm_uninit, the current still keep at 6.5mA.

Further more, if I just init the pwm but not set the duty cycle, it would be just 1mA and able to go back to 3uA sleep when I disable the pwm.

I have searched for some post about the pwm which mention about the pan73_workaround fix but I already found that in app_pwm_disable.

I have 2 questions: Is 6.5mA normal for using app_pwm? How to remove that 6.5mA when I disable the pwm?

Regards, George

Parents
  • Let me describe more details about the system.

    I have a MCU connected to a motion sensor through SPI, FreeRTOS is used as the OS. TICKLESS_IDLE is used for the sleep.

    Normally the device keep at sleep and consume ~3uA at sleep state. When a motion detected by the sensor, a interrupt will be generated to wake up the MCU.

    Currently when the MCU woke up, I will init a app_pwm drive instance and turn on the LED. There is a LED task which will update the duty cycle for each 10ms to show some animation.

    If no more interrupt event detected in 2s, the LED will turn off and every tasks are keeping at block. Everything are fine if I am not setting the PWM dute cycle as I mention above.

    But once I updated the dute cycle, I discover a 6.5mA current for the MCU and this current is keep consuming even the LED is off and the app_pwm_disable and app_pwm_uninit are called.

Reply
  • Let me describe more details about the system.

    I have a MCU connected to a motion sensor through SPI, FreeRTOS is used as the OS. TICKLESS_IDLE is used for the sleep.

    Normally the device keep at sleep and consume ~3uA at sleep state. When a motion detected by the sensor, a interrupt will be generated to wake up the MCU.

    Currently when the MCU woke up, I will init a app_pwm drive instance and turn on the LED. There is a LED task which will update the duty cycle for each 10ms to show some animation.

    If no more interrupt event detected in 2s, the LED will turn off and every tasks are keeping at block. Everything are fine if I am not setting the PWM dute cycle as I mention above.

    But once I updated the dute cycle, I discover a 6.5mA current for the MCU and this current is keep consuming even the LED is off and the app_pwm_disable and app_pwm_uninit are called.

Children
No Data
Related