This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Trying to figure out current consumption and minimizing it

Yeah. It's that topic again.

I tried to measure the current with an oscilloscope (Agilent 100Mhz; 2GSa/s).. but that didn't quite work.

Can you maybe share how you guys measure your modules current consumption?

But it seems like the module is consuming much more current in standby than it should.

It basically doesn't do much:

3x times in a row, every 4 seconds Measurement of Temperature and Pressure with SPI connected sensor and calculate compensation + once ADC of supply voltage and then send it as a notification. (connection interval 4s)

Measurements take some time. ~12ms all combined.

Digging through the nRF51822 Product Sheet I can't seem to figure out why the standby current consumption seems so high... but maybe it is just the noise from the oscilloscope...

Ion_32k 3,8µA . The standby current should be in this order at least - shouldn't it? ICPU,Flash 4,1mA only while doing SPI/Measurement/Calculating/Notification? (+200µA spi and/or 8mA TX 0dB) ADC 8bit single sample 20µs 260µA also shouldn't be that noticeable...

Maybe something doesn't let the cpu sleep? I can't seem to figure it out...

Here some maybe more, maybe less helpful images and attachments (voltage drop over 10ohm resistance):

connected but notifications not yet enabled

notifications enabled (and thus SPI)

3measurements in a row + TX

main.c - updated 16th July'15

BLE Modul

Current of sensor seems negligible - MS5803-05BA.pdf

I guess I could somehow replace the 10ms delay between pressure adc- and read-command to give the cpu 30ms more sleep in the 4000ms interval. But this won't help much as long as the standy current is so high..

I try to stick at close to devzone.nordicsemi.com/.../ as possible. Check updated main.c for latest code. (SPI is turned on only when needed of course.)

How much current draws nrf_delay? Normal cpu awake and executing code from flash current I guess? What may be the easiest way to replace the delay? I can only think of a timer.. but SPI didnt't worked for me in timer context so I'd had to work around to let it execute in main context.. this is a mess..

Is there a way to let only the measurement code be executed from ram? Because the whole main.c is too large to fit..

Parents Reply Children
No Data
Related