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):
main.c - updated 16th July'15
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..