Author Topic: Strange 'stair-step' of battery voltage under light load (Energizer L91)  (Read 2377 times)

0 Members and 1 Guest are viewing this topic.

Online tom66Topic starter

  • Super Contributor
  • ***
  • Posts: 7012
  • Country: gb
  • Electronics Hobbyist & FPGA/Embedded Systems EE
We were recently doing some battery life tests on a product of ours which uses Energizer Lithium L91.  At the terminal end of the discharge the product has switched off and load on the battery is <10mA.  The voltage quickly recovers to around 5V then over the next 2hrs there is a peculiar stair-stepping effect going on.  I am curious if anyone knows what might be causing this.  I know L91 cells do have a pronounced step in voltage under light load around 50% SoC but I've never seen anything quite like this before.  I have ruled out scope/datalogger behaviour as the on-load discharge looks as expected (just a curved slope).

The oscillation period appears to be roughly 200-250 seconds, and each plateau lasts around 100-150 seconds.

 

Offline mikerj

  • Super Contributor
  • ***
  • Posts: 3326
  • Country: gb
Just to confirm, during this plot the battery is still connected to your circuit that is drawing a non-zero current?  If so it seems quite possible this is the behaviour of the load in it's powered down state rather than the battery itself.
 

Online tom66Topic starter

  • Super Contributor
  • ***
  • Posts: 7012
  • Country: gb
  • Electronics Hobbyist & FPGA/Embedded Systems EE
It is still connected with a ca. 10mA load, yes.  The load *should* be constant power, there is no intentional cycling of power states or anything like that.

I haven't ruled out the possibility that this is a characteristic of the switching regulator's load varying slightly.  I will investigate that tomorrow, using a precision multimeter to see if the input current into it varies along similar lines.  So far I have not noticed anything like that, but it might be a very subtle effect.
 

Offline eTobey

  • Frequent Contributor
  • **
  • Posts: 906
  • Country: de
    • Virtual feature script
Looks like single bits of the ADC, which are averaged.

I guess it can measure to at least 21V?
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant." (Maxim Gorki)
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6865
  • Country: fi
    • My home page and email address
You can get that kind of effect by averaging many ADC samples with less than half an ULP of noise.

Here, it looks like each ADC reading is about 0.167 V, and there is only about 0.042 V of noise, or ±0.25 in the ADC scale.

When the voltage corresponds to ADC reading interval N+0.25 ... N+0.75, it will always produce N, giving the flat part.
Within N-0.25 ... N+0.25, it produces either N-1 or N, the counts and thus average corresponding to the voltage.  This is why there is no discrete jump to another integer level, but a rounded corner before and after each level.

For averaging to work, there must be at least ±0.5 units in the least significant place (or ±0.5 with respect to the ADC reading scale) of noise for averaging to work intuitively.

Here is a synthetic example of what happens when there is ±0.25 units of noise, and you take a running average over 32 samples:
 

Online tom66Topic starter

  • Super Contributor
  • ***
  • Posts: 7012
  • Country: gb
  • Electronics Hobbyist & FPGA/Embedded Systems EE
You can get that kind of effect by averaging many ADC samples with less than half an ULP of noise.

Here, it looks like each ADC reading is about 0.167 V, and there is only about 0.042 V of noise, or ±0.25 in the ADC scale.

When the voltage corresponds to ADC reading interval N+0.25 ... N+0.75, it will always produce N, giving the flat part.
Within N-0.25 ... N+0.25, it produces either N-1 or N, the counts and thus average corresponding to the voltage.  This is why there is no discrete jump to another integer level, but a rounded corner before and after each level.

For averaging to work, there must be at least ±0.5 units in the least significant place (or ±0.5 with respect to the ADC reading scale) of noise for averaging to work intuitively.

Here is a synthetic example of what happens when there is ±0.25 units of noise, and you take a running average over 32 samples:

I did consider sampling error, but the scope (PicoScope 2202A using PicoLog to capture the data) had no such apparent error when measuring the battery under a high discharge situation.  So I am not convinced it is a measurement error.  It appears the quantization interval at the range selected is around 20mV, not 167mV.
 

Offline Faringdon

  • Super Contributor
  • ***
  • !
  • Posts: 2124
  • Country: gb
id say its just the way that Li's discharge in light load....they hold up for a bit, then just cant keep the voltage up any longer, so they go over the mini "cliffs", that you are showing.
Its just the chemistry...its weird, like el caps are weird, when discharged and then taken off load, their voltage jumps up a bit. just the weirdness of battery chemistry.
'Perfection' is the enemy of 'perfectly satisfactory'
 

Offline uer166

  • Frequent Contributor
  • **
  • Posts: 981
  • Country: us
id say its just the way that Li's discharge in light load....they hold up for a bit, then just cant keep the voltage up any longer, so they go over the mini "cliffs", that you are showing.
Its just the chemistry...its weird, like el caps are weird, when discharged and then taken off load, their voltage jumps up a bit. just the weirdness of battery chemistry.

Lol.. what bollocks. Capacitor/battery voltage recovery has nothing to do with what OP is seeing.

It's 99.99% ADC quantization, you can see the flat spots match in amplitude in the rising and falling locations in your graph.
 

Online tom66Topic starter

  • Super Contributor
  • ***
  • Posts: 7012
  • Country: gb
  • Electronics Hobbyist & FPGA/Embedded Systems EE
ADC quantization probably makes the most sense given the possibilities available, but doesn't explain why the on-load discharge (~400mA) has a non-stairstep profile.  Nor why the apparent interval of quantization noise is some 3-4x that of the ADC's actual resolution.

I was hoping for something like a chemical behaviour of the battery, given the known stair step at 50% SoC under light load.  But, I can't find this behaviour elsewhere documented, so it's hard to believe.  It's also a little too regular to be a purely chemical process.
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 8766
  • Country: fi
but doesn't explain why the on-load discharge (~400mA) has a non-stairstep profile

It is going faster, therefore spending less time on those exact regions where quantization produces always the same results due to having too little noise (compared to the step size).

As Nominal Animal points out, it's the noise which is providing you with those nice ramps between the flat regions. Flat regions are narrow voltage ranges where the small amount of noise is not able to push the value over so that signal would alternate between the different levels, for averaging to find the "correct" value.

If you are seeing one quarter of the expected resolution, re-check and re-re-check the ADC config. Verify with very slow ramps from a simple RC circuit with large enough C value and long time constant, which would be also be less noisy than e.g. any random function generator.
« Last Edit: May 31, 2024, 09:49:53 am by Siwastaja »
 

Online tom66Topic starter

  • Super Contributor
  • ***
  • Posts: 7012
  • Country: gb
  • Electronics Hobbyist & FPGA/Embedded Systems EE
but doesn't explain why the on-load discharge (~400mA) has a non-stairstep profile

It is going faster, therefore spending less time on those exact regions where quantization produces always the same results due to having too little noise (compared to the step size).

The initial discharge takes longer - about 6 hours.  The 10mA discharge at the end is with the battery effectively at 0% SoC, so it takes only about 2 hours to completely exhaust the battery after the main processor shuts off. 
 

Online AndyC_772

  • Super Contributor
  • ***
  • Posts: 4279
  • Country: gb
  • Professional design engineer
    • Cawte Engineering | Reliable Electronics
When it's in the higher power state, could there just be more noise on the measurement, which means a better average and a smoother plot?

Perhaps it's worth trying another measuring device just to confirm whether or not what your logger is seeing is 'real'. Add a 6.5 digit DMM in parallel and see if its reading also changes in steps.

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 8766
  • Country: fi
The initial discharge takes longer - about 6 hours.

OK, then maybe as AndyC suggested, more noise during the discharge where the problem does not show?

Try to do a full dump of raw ADC values before any averaging. That dataset could be revealing. I mean, conceptually it should look like this:
999989998998989889888988889888888788887888788787...

which would average to a pretty smooth transition, but if it looks like this:
999989898888888888888888888888787877777777777777777...

then there's the problem: too little noise for averaging to work. That would not explain the lack of resolution (step size 3-4x too big as you say) you are seeing though, it would be another mystery.
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6865
  • Country: fi
    • My home page and email address
It appears the quantization interval at the range selected is around 20mV, not 167mV.
Whoops, sorry, I read the scale on the left wrong. :-[.  I blame the ambient temperatures; it is too hot here right now for my brain to work well.

I did consider sampling error, but the scope (PicoScope 2202A using PicoLog to capture the data) had no such apparent error when measuring the battery under a high discharge situation.  So I am not convinced it is a measurement error.
I would personally expect the noise to be higher on a high load, though.  Given the stepped shape –– note how the curved part signal is within the two levels it transitions between? –– I'd say 0.04 Vpk noise at low loads, 0.08 Vpk or more at high loads, should reproduce the stepped effect and its vanishing.

I would personally double-check the channel options in the PicoLog application.  As I understand it, the settings are applied on the PicoScope itself, and not just a post-processing or view setting; they affect the captured data.  If your range was ±10V, because the ADC is 8-bit, the resolution is 20V/2⁸ = 0.078125 V.  Your graph has about 12 steps per volt, or 1/12 V ≃ 0.083 V per step.  The two figures are way too close for this to be a coincidence, thus I stand behind my claim that it is an ADC resolution and averaging artefact.
« Last Edit: May 31, 2024, 10:54:51 am by Nominal Animal »
 

Offline shapirus

  • Super Contributor
  • ***
  • Posts: 1625
  • Country: ua
Does it reproduce with a different (different resolution) ADC?
 

Online voltsandjolts

  • Supporter
  • ****
  • Posts: 2421
  • Country: gb
We were recently doing some battery life tests on a product of ours which uses Energizer Lithium L91.  At the terminal end of the discharge the product has switched off and load on the battery is <10mA.  The voltage quickly recovers to around 5V then over the next 2hrs there is a peculiar stair-stepping effect going on.  I am curious if anyone knows what might be causing this.

Datasheet shows similar effect. Must be some electrochemical thing but can't imagine what.

 

Online tom66Topic starter

  • Super Contributor
  • ***
  • Posts: 7012
  • Country: gb
  • Electronics Hobbyist & FPGA/Embedded Systems EE
Yes, I did notice that in the datasheet too.  Which is what got me thinking, but it also could be a rendering artefact.

It appears the quantization interval at the range selected is around 20mV, not 167mV.
Whoops, sorry, I read the scale on the left wrong. :-[.  I blame the ambient temperatures; it is too hot here right now for my brain to work well.

I did consider sampling error, but the scope (PicoScope 2202A using PicoLog to capture the data) had no such apparent error when measuring the battery under a high discharge situation.  So I am not convinced it is a measurement error.
I would personally expect the noise to be higher on a high load, though.  Given the stepped shape –– note how the curved part signal is within the two levels it transitions between? –– I'd say 0.04 Vpk noise at low loads, 0.08 Vpk or more at high loads, should reproduce the stepped effect and its vanishing.

I would personally double-check the channel options in the PicoLog application.  As I understand it, the settings are applied on the PicoScope itself, and not just a post-processing or view setting; they affect the captured data.  If your range was ±10V, because the ADC is 8-bit, the resolution is 20V/2⁸ = 0.078125 V.  Your graph has about 12 steps per volt, or 1/12 V ≃ 0.083 V per step.  The two figures are way too close for this to be a coincidence, thus I stand behind my claim that it is an ADC resolution and averaging artefact.

Good point.  Looking at the log data again, it looks like it was set to the ±10V range with a 10:1 probe.  So that does seem like an interesting coincidence and hints much more towards the ADC theory. I had thought it was on the ±5V range with an offset which would set the quantization interval around 40mV.  With averaging, it appears in the data log to have around 20mV steps.  On the next test, I'll try to set it up on the  ±5V range with the offset to see if the phenomena changes.

Correction: it's a PicoScope 2205A (I don't think they have a 2202A) but it does have an 8-bit ADC.
« Last Edit: May 31, 2024, 11:12:28 am by tom66 »
 

Online voltsandjolts

  • Supporter
  • ****
  • Posts: 2421
  • Country: gb
I can give you a good deal on a lightly used Pico ADC20 or ADC24 if that helps ;D
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf