Improved Current Measurements

A project log for Coin Cell Powered Temperature/Humidity Display

Using an ePaper Display, investigate getting the lowest possible current usage from an STM32L0.

Kevin KesslerKevin Kessler 04/27/2018 at 02:380 Comments

Overnight, I realized that I could adjust the uCurrent sensitivity by putting a resistor in parallel with the shunt resistor. In the 1mV/uA range, the uCurrent uses a 10Ohm resistor. Putting a 1.1 Ohm resistor in parallel with that gives me a shunt resistor value and the 1mV/10uA range I was looking for.

With the 1 Ohm shunt, every 100mV on the oscilloscope represents 1mA, so the trace below shows the uController drawing a bit less than 4mA for most of the 30ms it is active.

At the very start of waking up, the uC draws more than the maximum 12mA that can be measured in this configuration, so I put a .1 Ohm resistor in parallel with the 10K 1mV/nA shunt to give me a .1 Ohm shunt. This makes the range 1 mv/100uA. With this shunt, 100mV on the scope represents 10mA.

This trace shows the current peaks at about 46mA, but note the time scale on the bottom. It is 200us per division instead of 5ms per division in the image above. In about 700us, current drops down to the single digit mA.

Crunching all this data shows I was off with the multimeter measurement by an order of magnitude. Still, the numbers indicate that this process could run almost 8.4 million times on the 240mAh battery. It also shows that taking the temperature and humidity measurements requires only 1/300th the energy compared to displaying those measurements.

This was probably a pointless exercise, since it represents such a small part of the energy usage of the system, it was interesting to see that for a very short time during startup a fairly large 46mA of current flows.