Author Topic: EEVblog #774 - Low Battery Discharge Testing Part 1  (Read 22118 times)

0 Members and 1 Guest are viewing this topic.

Offline EEVblog

  • Administrator
  • *****
  • Posts: 30565
  • Country: au
    • EEVblog
EEVblog #774 - Low Battery Discharge Testing Part 1
« on: July 31, 2015, 11:03:13 pm »
Dave shows how to do discharge testing on AAA and AA alkaline batteries, for the specific purpose of investigating how much energy is left under the industry standard 0.8V cutout voltage.
This is an explanation of the test setup, verification, and a sample plot of some data before the long term testing.
The setup consists of the BK Precision 8500 electronic load, the Keysight 34470A 7.5 digit meter, and the Rigol DP832 for testing.
Negative feedback T-Shirt: http://teespring.com/NegativeFeedbackBlack
Energizer AAA battery datasheet: http://data.energizer.com/PDFs/E92.pdf
Duracell AAA battery datasheet:
http://ww2.duracell.com/media/en-US/pdf/gtcl/Product_Data_Sheet/NA_DATASHEETS/MN2400_US_CT.pdf

 

Offline BravoV

  • Super Contributor
  • ***
  • Posts: 6579
  • Country: 00
  • +++ ATH1
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #1 on: July 31, 2015, 11:51:11 pm »
All of these are just for the ... half bee dick ...  :-DD

Offline rs20

  • Super Contributor
  • ***
  • Posts: 2181
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #2 on: August 01, 2015, 12:10:25 am »
Dave! You briefly said "look at the area under that curve, it's tiny" -- on a constant power discharge curve? That only makes (dimensionally consistent) sense on a constant current discharge curve. To measure energy on a constant power curve, just measure the distance on the x-axis: after all, every second that passes at 100mW, the battery loses 100mJ of energy. No need for areas, integration, or that third "battery energy remaining" axis (well, you could indeed have a third energy remaining axis, but it'd be a second X-axis, not a Y-axis).

Yours,
Your local pedant.

PS/ Near the end of the video, it was cool to see that the voltage measured by the meter was counting up for a little while!
« Last Edit: August 01, 2015, 12:13:35 am by rs20 »
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 30565
  • Country: au
    • EEVblog
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #3 on: August 01, 2015, 12:20:19 am »
PS/ Near the end of the video, it was cool to see that the voltage measured by the meter was counting up for a little while!

It's aliens.
 

Offline Muttley Snickers

  • Supporter
  • ****
  • Posts: 2021
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #4 on: August 01, 2015, 12:45:37 am »
GDay Dave,

As it seems you are going where nobody has been before, not publicly anyway and as these tests will be conducted over a long duration, is both battery and ambient temperature worth monitoring in conjunction with the other tests, just to cover all bases.

Very exciting stuff.... :-+

Muttley

A wise man once said nothing.
 

Offline Someone

  • Super Contributor
  • ***
  • Posts: 2233
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #5 on: August 01, 2015, 12:54:34 am »
Time to borrow an SMU and do some 4 wire measurements? Looks like the B2962A/B2961A can do it all within one instrument, though costing more than the collection of instruments you're using.

The question for the electrochemists out there is can we discharge the battery at a higher rate down to 1V or 0.9V, then let it rest and continue at a very low rate of discharge to fill in the extremely low power curves? Or does discharging at a higher rate change the distribution of charge in the cells?
 

Offline rs20

  • Super Contributor
  • ***
  • Posts: 2181
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #6 on: August 01, 2015, 02:00:48 am »
Pedant away.
OK then: "pedant" isn't a verb :P

I sort of knew about the CC curve but I didn't appreciate the subtle difference until you pointed it out. Thanks.
Do you think the CP curve fell to 0V  so sharply because once the battery was empty it's game over? Would a CC curve not have dropped to zero quite as sharply?

A CP curve will drop faster due to the snowball effect that Dave has mentioned -- as the voltage drops current has to increase, conflate that with the increasing ESR of the battery (which then drops the voltage under load, which increases the current further, etc etc), and the closing stages of the battery discharge unfold pretty quickly. Of course, using a CP curve isn't unfair at all since a certain boost converter is the center of this discussion, and boost converters are roughly CP.

Having said all that, even a CC curve is still going to dive very quickly indeed.
 

Offline lapm

  • Frequent Contributor
  • **
  • Posts: 557
  • Country: fi
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #7 on: August 01, 2015, 02:20:51 am »
Lol, just couple days ago i counted 8 different brands/chemistry AA-batteries in my local grocery store.. 2x varta, 2xEnergizer, 2xDuracell and couple shops own brands...

And thats just big supermarket, culd add one more brand if i go LIDL store, they have their own cheap brand too.. :P

That would be a lot of batteries to test. But then i would need to build active load first.. Maybe that's good excuse for it.
Electronics, Linux, Programming, Science... im interested all of it...
 

Offline 99tito99

  • Regular Contributor
  • *
  • Posts: 55
  • Country: us
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #8 on: August 01, 2015, 03:29:12 am »
Hi Dave: How about putting a cap (+/- a resistor in series) to damp the oscillation at the end.  Initial thought is that it should not effect the curve other than to smooth the end.  Yes/No?  Cheers, Mark (same post @ YT)
 

Offline rs20

  • Super Contributor
  • ***
  • Posts: 2181
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #9 on: August 01, 2015, 03:47:28 am »
While we're making requests to Dave, I'd like to see the voltage waveform of those oscillations on the scope when the battery is completely dead -- does it look like deliberate, programmed hiccup mode type thing, or is it more sinusoidal/unstable-control-loop appearance? Does it happen precisely once a second, or is it an evidently random number? See below for why I think it may be deliberate.
Hi Dave: How about putting a cap (+/- a resistor in series) to damp the oscillation at the end.  Initial thought is that it should not effect the curve other than to smooth the end.  Yes/No?  Cheers, Mark (same post @ YT)
Adding capacitance into a control loop doesn't always reduce oscillation; often it'll make it worse.

In particular, what a dummy load is supposed to do when the runaway drop in voltage occurs is interesting to ponder -- a CP load will legitimately keep on increasing its current draw as the voltage drops, all the way down to the point where the dummy load becomes practically a short circuit.  (And for the record, a capacitor wouldn't help with this at all). So, does the dummy load just stay a short-circuit forever? It's an inherently divergent system, is my point -- even with a fresh battery, there are two ways to dissipate 100mW in your load: draw 1.5V at 66 mA, or draw 0.033V at 3A (or something along those lines, I = battery's short circuit current and V = 100mW / I). So "draw 100mW" is actually an inherently ambiguous thing to request of a dummy load, and you can only expect it to find a local solution, not the local solution you were expecting.

With all this in mind, I wouldn't be surprised if the "oscillation" that we see is actually deliberate programming that notices that it has become a short circuit which no power supply can ever expect to deliver any significant power into, so it drops current to zero for a bit to let the DUT recover, and then re-starts regulation in the hope that it finds the non-short-circuit local solution. Otherwise, the load would just continue presenting a short circuit forever, even if you swapped in a brand new battery, which would be a very confusing and unintended behaviour (even if it was legitimately drawing 100mW via the short circuit).

And obviously in the case of a dead battery, it keeps on arriving back at the short circuit solution, so it keeps on pulling back and trying to find the other solution in an endless loop. That's my theory, anyway.
 

Offline LabSpokane

  • Super Contributor
  • ***
  • Posts: 1899
  • Country: us
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #10 on: August 01, 2015, 04:04:29 am »
Dave, I think if you keep running that test in various configurations you'll eventually find Jimmy Hoffa. 
« Last Edit: August 01, 2015, 05:52:16 am by LabSpokane »
 

Offline pickle9000

  • Super Contributor
  • ***
  • Posts: 2132
  • Country: ca
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #11 on: August 01, 2015, 04:53:43 am »
So what is the lowest voltage boost conv that can be rigged today (actual part)?

Certainly worth mentioning because anything below that point is lost. That could be a related fundamentals Friday.
 

Offline owiecc

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: dk
    • Google scholar profile
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #12 on: August 01, 2015, 06:17:27 am »
BK precision 8500 has voltage sense terminals on the back. Why don't you use them for the last seconds of the test? They should not matter much but if we want to be super anal about the setup...
 

Offline Dr. Frank

  • Super Contributor
  • ***
  • Posts: 1765
  • Country: de
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #13 on: August 01, 2015, 06:20:54 am »
Dave,

just  :-+ :-+ :-+ for that video!

It's very instructive on the measurement techniques, especially data logging (with these nice TrueVolt DMMs) and the effect of 2W vs. 4W current / power measurement.

Maybe you'll receive again a feedback from this 'Batteriser' enterprise, what you are doing wrong here..

You just busted their business case very simply, within 60 seconds of sampling time, I think.

And there's a another 'scientific' conclusion from your experiment:

These 0.8V are not only "industry standard" for characterization of battery discharge, it's  the demonstration of the underlying mechanism of the chemical reaction for chemical cells.

The voltage drops off so quickly below 0.8V, simply because the reactants are fully consumed at that point.

Frank
 

Offline rs20

  • Super Contributor
  • ***
  • Posts: 2181
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #14 on: August 01, 2015, 06:22:26 am »
BK precision 8500 has voltage sense terminals on the back. Why don't you use them for the last seconds of the test? They should not matter much but if we want to be super anal about the setup...
??? Dave is measuring the voltage on the battery terminals, whereas the BK8500 would be seeing the voltage after the drop in the cabling. They're both going to be virtually identical, but if only one of those is right, it'd be the way Dave is doing it. Just because something has "X sense terminals" doesn't mean that that is the best place to measure X under all circumstances.

Edit: Sorry, completely misinterpreted. I thought you meant the BK8500 had voltage output, and you were suggesting to connect the multimeter to that. Using a kelvin connection to the battery would be negligibly better, yes.
« Last Edit: August 01, 2015, 06:49:45 am by rs20 »
 

Offline owiecc

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: dk
    • Google scholar profile
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #15 on: August 01, 2015, 06:39:02 am »
??? Dave is measuring the voltage on the battery terminals, whereas the BK8500 would be seeing the voltage after the drop in the cabling. They're both going to be virtually identical, but if only one of those is right, it'd be the way Dave is doing it. Just because something has "X sense terminals" doesn't mean that that is the best place to measure X under all circumstances.
If he wans constant power load he needs to measure the power taken from the battery. Right now he has a constant power on the DC load but some additional power is dissipated in the wires. This means the battery loading is increasing with increased current (at the end of the measurement). This means the error is increasing as the voltage goes down. If he wants to see what is happening at low voltage he should have a setup that is correct at that loads.
 

Offline alter Ratz

  • Contributor
  • Posts: 23
  • Country: at
Area from VBatt down to 0.8 -> Switching Regulator or not?
« Reply #16 on: August 01, 2015, 07:02:16 am »
I think it would be more interesting how much energy is wasted, when old products with a linear regulator or no regulator are used, i.e. the area under the curve from the battery voltage down to 0.8V.

Does it make sense to add a switching regulator to your product or is the amount of saved energy so tiny that the cost and effort do not justify it. IMHO it makes sense, but I have only calculated it very roughly and never measured it. So if anybody has compared both methods please reply.

Best regards,
Bernhard
 

Offline rs20

  • Super Contributor
  • ***
  • Posts: 2181
  • Country: au
Re: Area from VBatt down to 0.8 -> Switching Regulator or not?
« Reply #17 on: August 01, 2015, 07:15:39 am »
Does it make sense to add a switching regulator to your product or is the amount of saved energy so tiny that the cost and effort do not justify it. IMHO it makes sense, but I have only calculated it very roughly and never measured it. So if anybody has compared both methods please reply.
Surely you know the answer depends on a case-by-case basis -- if the device naturally works down close to 1.1V and consumes a tiny amount of current, then there's no point; you'll have a very tough time getting an efficient enough switching converter; and whether that's worthwhile depends on how much you and your customers care about changing batteries. On the other end of the scale, if your design uses a chip that stops working below 1.5V, then obviously a switching converter is absolutely essential.
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 10397
  • Country: 00
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #18 on: August 01, 2015, 08:15:40 am »
And there's a another 'scientific' conclusion from your experiment:

These 0.8V are not only "industry standard" for characterization of battery discharge, it's  the demonstration of the underlying mechanism of the chemical reaction for chemical cells.
Conclusion: People who design battery chemistry for 50-odd years and manufacture billions of batteries a year actually know what they're on about!

« Last Edit: August 01, 2015, 08:55:20 am by Fungus »
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 30565
  • Country: au
    • EEVblog
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #19 on: August 01, 2015, 08:49:36 am »
As it seems you are going where nobody has been before, not publicly anyway and as these tests will be conducted over a long duration, is both battery and ambient temperature worth monitoring in conjunction with the other tests, just to cover all bases.

The lab only varies by +/-2degC tops. I could get it to about +/-0.5degC but I don't fancy having the aircon running 24/7
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 30565
  • Country: au
    • EEVblog
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #20 on: August 01, 2015, 08:52:08 am »
??? Dave is measuring the voltage on the battery terminals, whereas the BK8500 would be seeing the voltage after the drop in the cabling. They're both going to be virtually identical, but if only one of those is right, it'd be the way Dave is doing it. Just because something has "X sense terminals" doesn't mean that that is the best place to measure X under all circumstances.
If he wans constant power load he needs to measure the power taken from the battery. Right now he has a constant power on the DC load but some additional power is dissipated in the wires. This means the battery loading is increasing with increased current (at the end of the measurement). This means the error is increasing as the voltage goes down. If he wants to see what is happening at low voltage he should have a setup that is correct at that loads.

It's not much loss in the cables at 100mW, and that is the highest I'm going, so even less worth it for the lower power measurements.
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 30565
  • Country: au
    • EEVblog
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #21 on: August 01, 2015, 09:00:32 am »
These 0.8V are not only "industry standard" for characterization of battery discharge, it's  the demonstration of the underlying mechanism of the chemical reaction for chemical cells.
The voltage drops off so quickly below 0.8V, simply because the reactants are fully consumed at that point.

Yes, and I hope to get better data on that.
But the quick'n'dirty 100mW test shows you only get a minute or less usage once it hits 0.8V. The chemistry just goes kaput.
 

Offline thewyliestcoyote

  • Regular Contributor
  • *
  • Posts: 100
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #22 on: August 01, 2015, 09:08:16 am »
Dave,

I had to do exactly what you have done not to long ago for work. I used 2 34470a's. One for voltage and one for current. The load was the BK8500. U ended up having to do some scripting to put it all together to make it all work. The BK8500 is a very good instrument but for some reason the software just sucks. Also the instruments is was over sized for this kind of application. For on this in a minute. I have some interesting findings about the BK8500.

Here is the batter under test.
http://www.atbatt.com/xeno-energy-xl-060f-aa-36v-lithium-battery.asp

The set up is the load set to a constant 10mA. After some time I noticed that it was over ranging the 10mA range of the DMM. This is why the current gets turned down to 9mA. The voltage and current is measured with a PLC of 10. The measurement of current and voltage are time aligned within a couple of ms. The fixture is just like yours Dave. It also was placed it a office where the temperature was not the most stable. During the day the AC in on and nights and weekends it is off. Here are some of the plots from the measurement. I would like to post better plots and the raw data. There is a limit on the file size that can be posted. So attached are some crappy png files that will fit in the rules.

Please note the noise in the current vs time plot. I think this is because of a instability of the load at low currents. It is still with in the good bounds given the specs but still a trap.


 

Offline thewyliestcoyote

  • Regular Contributor
  • *
  • Posts: 100
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #23 on: August 01, 2015, 09:15:57 am »
I almost forgot the table of voltage vs energy and capacity.
 

Offline idpromnut

  • Supporter
  • ****
  • Posts: 613
  • Country: ca
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #24 on: August 01, 2015, 11:52:47 am »
@EEVBlog: You should do a 250mW test to make sure your setup replicates the results of the datasheet (as a baseline for the Duracell). It would be a good control for your test setup.
 

Offline NANDBlog

  • Super Contributor
  • ***
  • Posts: 4554
  • Country: nl
  • Current job: ATEX certified product design
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #25 on: August 01, 2015, 12:33:32 pm »
Dave, everything you did is fundamentally wrong, because the BK Precision load is not a monkey's ass. :palm: :-DD
But jokes aside, I agree with you that if a product is draining constant power, there isn't too much energy in it. But there are stuff, where the load is usually low, and it has peaks, where the undervoltage would trigger. A good example is the Canon Powershot IS5. Every time you zoom with it, there is a chance that it will shut down, with dead battery flashing on the screen, while otherwise it could take several photos, because there isnt any motors and moving parts.
We all know what the result will be with constant load. What I'm suggesting is to give the marketing guys a fair chance, set up a pulsed load test. For example, every 5 minutes load the battery with 200mA for a second and only 5mA otherwise. The results will be much more interesting, than the "Told you so" that you are doing. Not going to be 800%, but I expect it to be better than the 0.1-10% increase that we are looking at.
Quote
Extraordinary claims require extraordinary evidence
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 30565
  • Country: au
    • EEVblog
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #26 on: August 01, 2015, 12:50:23 pm »
@EEVBlog: You should do a 250mW test to make sure your setup replicates the results of the datasheet (as a baseline for the Duracell). It would be a good control for your test setup.

Not a bad point. In that case I'll have to use the remote sense inputs on the 8500 load, otherwise too much drop in the leads at low voltages.
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 30565
  • Country: au
    • EEVblog
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #27 on: August 01, 2015, 12:52:16 pm »
Dave, everything you did is fundamentally wrong, because the BK Precision load is not a monkey's ass. :palm: :-DD
But jokes aside, I agree with you that if a product is draining constant power, there isn't too much energy in it. But there are stuff, where the load is usually low, and it has peaks, where the undervoltage would trigger. A good example is the Canon Powershot IS5. Every time you zoom with it, there is a chance that it will shut down, with dead battery flashing on the screen, while otherwise it could take several photos, because there isnt any motors and moving parts.
We all know what the result will be with constant load. What I'm suggesting is to give the marketing guys a fair chance, set up a pulsed load test. For example, every 5 minutes load the battery with 200mA for a second and only 5mA otherwise. The results will be much more interesting, than the "Told you so" that you are doing. Not going to be 800%, but I expect it to be better than the 0.1-10% increase that we are looking at.
Quote
Extraordinary claims require extraordinary evidence

This has nothing to do with the Batteriser at all!
 

Offline DanioIO

  • Contributor
  • Posts: 35
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #28 on: August 02, 2015, 07:45:30 am »
This video made me think about making a analog constant power load, the BK load isnt very good at 0V and it will be good to see whats happening there. The analog constant power is not very popular with equipment manufacturers they just stick to the easier digital power calculation and that causes some problems with the near zero power measurement.
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 10397
  • Country: 00
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #29 on: August 02, 2015, 08:02:21 am »
the BK load isnt very good at 0V and it will be good to see whats happening there.
Probably a mismatch between the BK's sampling rate and whatever the battery is doing.

A decoupling capacitor would probably fix it.
 

Offline rs20

  • Super Contributor
  • ***
  • Posts: 2181
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #30 on: August 02, 2015, 10:52:44 am »
Probably a mismatch between the BK's sampling rate and whatever the battery is doing.

A decoupling capacitor would probably fix it.
I've already addressed that suggestion earlier in this thread. In short, it's most likely a deliberate design decision, and a capacitor won't do anything.
 

Offline open loop

  • Regular Contributor
  • *
  • Posts: 52
  • Country: gb
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #31 on: August 02, 2015, 09:27:55 pm »
As I don't own one so can't tell.... Is it possible to change the voltage logging on the 34470a to only log on a change in voltage say 0.01 V rather than every second. You would then have a more efficient way of logging the data.

Just my 2c
 

Offline Dr. Frank

  • Super Contributor
  • ***
  • Posts: 1765
  • Country: de
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #32 on: August 02, 2015, 10:07:17 pm »
As I don't own one so can't tell.... Is it possible to change the voltage logging on the 34470a to only log on a change in voltage say 0.01 V rather than every second. You would then have a more efficient way of logging the data.

Just my 2c

I own a 34465A, which is behaving exactly the same, as these share the same firmware.
No, it's not possible to do so, by its own.
You have to write an external program.

Frank
 

Offline boffin

  • Supporter
  • ****
  • Posts: 923
  • Country: ca
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #33 on: August 02, 2015, 11:45:14 pm »
anyone else want to see the discharge curve @ 1.21GW?
 

Offline Don Hills

  • Regular Contributor
  • *
  • Posts: 159
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #34 on: August 03, 2015, 12:55:54 am »
Testing under load isn't a new thing - one manufacturer used to include an under-load tester in each blister pack, and (I think Eveready) actually built one into each cell. I use an old analog ammeter to test cells - the more current they can deliver into a near short circuit, the fresher they are. But I don't know what the relationship is between the short-circuit current and the remaining capacity. Does it follow a somewhat s-shaped curve like the under-load terminal voltage, or is it more linear? I suspect the former but I guess I'll have to try it and see.
 

Offline artag

  • Frequent Contributor
  • **
  • Posts: 464
  • Country: gb
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #35 on: August 03, 2015, 08:54:39 pm »
Can't agree with Dave's criticism of the binary protocol on the BK load.

It's true that a straightforward ASCII protocol like SCPI is easy to understand and code for the simple case. But the problem is, it has no error checking. The only checks you can do if it's on RS232 are framing, gross corruption, maybe overrun (if your PC's OS tells you)  and maybe parity (if the instrument supports it and the OS reports it). This matters less on HPIB where you have handshaking, carefully controlled data lines and good cables. It's fine on USB and TCP/IP where there's lower level transport layer to detect and correct losses. But RS232 isn't that good.

ASCII protocols are fine for simple test automation (like this example) where the results aren't critical and the worst they can do is give you a spike in the graph or a missing sample - easily detected by eye. But what if you're building an ATE system ? Where an error can hang the test (what happens if a CR/LF gets corrupted), invalidate the results or kill a part by overloading it. Where the cables are long. Where the electrical interference is heavy and intermittent. Try and write a reliable transport layer for an unchecked ASCII protocol and you'll be tearing your hair out and wishing for a packetised binary protocol, because your ATE is rejecting good parts every time the fork lift drives past. 

I think BK did it right, and all too few manufacturers do - they give you an RS232 interface because PCs can do it cheaply (in the days before USB) but they just run the same protocol as they do over an error-checked, reliable link.
« Last Edit: August 03, 2015, 08:57:35 pm by artag »
 

Offline artag

  • Frequent Contributor
  • **
  • Posts: 464
  • Country: gb
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #36 on: August 03, 2015, 09:00:22 pm »
But I don't know what the relationship is between the short-circuit current and the remaining capacity. Does it follow a somewhat s-shaped curve like the under-load terminal voltage, or is it more linear?

it would be interesting to calculate or measure the internal resistance of the cell as it discharges. Then, you could determine how long you could put your ammeter across the cell and still have, say, more than 50% of its capacity remaining.
 

Offline Don Hills

  • Regular Contributor
  • *
  • Posts: 159
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #37 on: August 04, 2015, 12:40:11 am »
it would be interesting to calculate or measure the internal resistance of the cell as it discharges. Then, you could determine how long you could put your ammeter across the cell and still have, say, more than 50% of its capacity remaining.

But does the cell chemistry behave differently at high discharge rates versus low rates? If you're testing the behaviour at the exhausted end, as Dave is, will it affect the results to apply a high discharge rate first until the cell capacity approaches the area of interest? "Don't know..."

The internal resistance does rise as the cell discharges, but it's not the only mechanism at play - the open circuit voltage also decreases. What's a valid way of measuring the internal resistance anyway? Current into a short circuit? Voltage change when the load current is changed slightly? (Edit:) It's going to vary depending on the current drawn while measuring anyway, it's determined partly by how hard the depolariser is working.

Another thing I think is unknown is the impedance at higher frequencies. For example, it's pretty well understood in car audio circles that amplifiers that draw fluctuating current can cause the car lights to fluctuate in brightness, and adding a multi-Farad capacitor across the load can reduce or prevent it. Does a cell take time to increase its output when suddenly presented with a higher load? It should be easy enough to test with a scope and a switchable load, but I've never seen anyone try it.

So many questions, so little time... and it's easy to say, "who cares anyway?" :)
« Last Edit: August 04, 2015, 12:43:31 am by Don Hills »
 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 30565
  • Country: au
    • EEVblog
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #38 on: August 04, 2015, 12:48:54 am »
Can't agree with Dave's criticism of the binary protocol on the BK load.
It's true that a straightforward ASCII protocol like SCPI is easy to understand and code for the simple case. But the problem is, it has no error checking.

ASCII protocols are fine for simple test automation (like this example) where the results aren't critical and the worst they can do is give you a spike in the graph or a missing sample - easily detected by eye. But what if you're building an ATE system ? Where an error can hang the test (what happens if a CR/LF gets corrupted), invalidate the results or kill a part by overloading it. Where the cables are long. Where the electrical interference is heavy and intermittent. Try and write a reliable transport layer for an unchecked ASCII protocol and you'll be tearing your hair out and wishing for a packetised binary protocol, because your ATE is rejecting good parts every time the fork lift drives past. 

Lack of error checking has worked fine for the entire GPIB automated test industry for 40 years.
 

Offline rs20

  • Super Contributor
  • ***
  • Posts: 2181
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #39 on: August 04, 2015, 02:00:29 am »
I found the reaction to the binary protocol a bit odd as well -- I mean, David2 was saying something about C unions (why not this?) -- there's a single page of trivially translatable Python provided in the manual! Now to be clear, that's a function or two that you wouldn't have to write/translate if it was ASCII, and they should have probably just used ASCII. I agree with that. But this terrified fear of binary!? It's like you've never used an SPI chip! That's an extra couple of functions to write, a minute or two, not a spit-the-dummy, completely-give-up-and-use-a-completely-different-device point! At least, that's not how I would have reacted.

Having said all that, I might be a bit weird in this respect. I really enjoy coding SPI protocol stuff on uCs, so maybe I'm the weird one.

It's also noteworthy that the manual links to a python library you can download which gives you functions like SetMaxCurrent; you don't even need to think about protocol at all. A nice touch, and awesome for anyone who's willing to touch Python (normally not me, but I would for this particular project).

It's true that a straightforward ASCII protocol like SCPI is easy to understand and code for the simple case. But the problem is, it has no error checking.
Aren't ASCII-vs-binary and checksummed-vs-not completely orthogonal questions? For instance, the standard GPS protocol (NMEA 0183) is ASCII, but has a checksum. Why not just tack a checksum on the end of each ASCII line?
 

Offline thewyliestcoyote

  • Regular Contributor
  • *
  • Posts: 100
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #40 on: August 04, 2015, 02:40:51 am »
Quote
Lack of error checking has worked fine for the entire GPIB automated test industry for 40 years.

While true, (Data pin number 8 was sometimes used as a  parity http://www.hit.bme.hu/~papay/edu/GPIB/tutor.htm)
and there is nothing stopping you from doing checksums over GPIB.
I think what they where trying to do is implement for some odd reason the data checking. Maybe they where trying to be forward thinking and have this handled by some driver layer? and just never got around to it.

Now that the world has moved on form GPIB and has USB and Ethernet. Checksums are build in and are handled by the driver layer. YEA FOR ABSTRACTION!

This may also be because they think that they could be handling data that is not just ASCII lines terminated with a line feed.  Imagine asking a instrument for a big long binary array while you are used to handling ASCII. There is some chance(small chance) that in that binary data that it also could form a ASCII string. Now imagine (small change) that the found ASCII string could mean something else. Lets say something like "Incoming ICBM!". That is not the ideal problem to have in you system. I know that is stretching it but I hope I have made my point. Another example is the differentiation of preamble structure with the data can form to reduce false detections.

There is a ok python library for the BK loads from BK,
Maybe you should give that a try.
I have and I was not over flowing with excitement,

« Last Edit: August 04, 2015, 02:46:11 am by thewyliestcoyote »
 

Offline artag

  • Frequent Contributor
  • **
  • Posts: 464
  • Country: gb
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #41 on: August 04, 2015, 11:07:05 am »

Lack of error checking has worked fine for the entire GPIB automated test industry for 40 years.

But GPIB is not RS232, although many instruments with both used the same ASCII protocol. GPIB has per-byte flow control (so no overruns), heavy duty line drivers, short cable lengths and can have per-byte parity. It's far less likely to be corrupted than RS232 and far more likely that an error would be detected and notified to the application (RS232 drivers in the OS tend to just ditch any characters with errors). The vast majority of ATE installations use GPIB with RS232 only when necessary.
« Last Edit: August 04, 2015, 11:29:25 am by artag »
 

Offline artag

  • Frequent Contributor
  • **
  • Posts: 464
  • Country: gb
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #42 on: August 04, 2015, 11:12:10 am »
Aren't ASCII-vs-binary and checksummed-vs-not completely orthogonal questions? For instance, the standard GPS protocol (NMEA 0183) is ASCII, but has a checksum. Why not just tack a checksum on the end of each ASCII line?

Yes, they're orthogonal. ASCII on RS232 is a lot better if it has a checksum. Better still if it has a unique framing character (though CR may qualify). But in this case the choice is between checksummed packetised binary and a typical SCPI style ASCII only - because the serial ASCII protocol is typically there for direct human interaction from a terminal.  if there's a need to put a checksum on the end then that's hard to do, because you have to calculate it for every line you type. Or use a utility to send the string, in which case it might just as well be in binary.
 

Offline artag

  • Frequent Contributor
  • **
  • Posts: 464
  • Country: gb
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #43 on: August 04, 2015, 11:22:40 am »
I found the reaction to the binary protocol a bit odd as well -- I mean, David2 was saying something about C unions (why not this?) -- there's a single page of trivially translatable Python provided in the manual! Now to be clear, that's a function or two that you wouldn't have to write/translate if it was ASCII, and they should have probably just used ASCII. I agree with that.

C unions (and structures) aren't a great way to handle binary protocols either.  They have issues with packing, alignment and byte-ordering that have to be circumvented with non-portable #pragmas. The safe approach is what's used in library calls like htonl() - it seems clumsy but it works regardless of the platform. Old farts like me know this as the 'all the worlds a vax' error, now being re-learnt by people upgradiing from x86-32 to x86-64 to ARM.

I note that the C# library you linked to admits 'The output may differ depending on the endianess of your computer's architecture.'
« Last Edit: August 04, 2015, 11:25:09 am by artag »
 

Offline rs20

  • Super Contributor
  • ***
  • Posts: 2181
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #44 on: August 04, 2015, 11:41:52 am »
Yes, they're orthogonal. ASCII on RS232 is a lot better if it has a checksum. Better still if it has a unique framing character (though CR may qualify). But in this case the choice is between checksummed packetised binary and a typical SCPI style ASCII only - because the serial ASCII protocol is typically there for direct human interaction from a terminal.  if there's a need to put a checksum on the end then that's hard to do, because you have to calculate it for every line you type. Or use a utility to send the string, in which case it might just as well be in binary.
Or, you implement a get-out-of-jail-free checksum (e.g. two hyphens always passes as a checksum ), or make checksums an opt-in thing that the host requests, or an opt-out thing that the human can use (e.g. error message = "Checksum failed. To turn off checksums, type 'CS OFF$e4'". Many many options other than the dichotomy you present.

I note that the C# library you linked to admits 'The output may differ depending on the endianess of your computer's architecture.'
My goodness, that's horrific! "Common Language Runtime", common except for endianess?  :palm:
 

Offline artag

  • Frequent Contributor
  • **
  • Posts: 464
  • Country: gb
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #45 on: August 04, 2015, 01:00:49 pm »
Or, you implement a get-out-of-jail-free checksum (e.g. two hyphens always passes as a checksum ), or make checksums an opt-in thing that the host requests, or an opt-out thing that the human can use (e.g. error message = "Checksum failed. To turn off checksums, type 'CS OFF$e4'". Many many options other than the dichotomy you present.

Good call.
 

Offline LabSpokane

  • Super Contributor
  • ***
  • Posts: 1899
  • Country: us
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #46 on: August 04, 2015, 04:49:14 pm »
I'm with Dave. If you're going to give me an instrument interface, make it a standard and make it simple. When one has to interface to a gazillion different things, 232 is just simple to deal with.
 

Offline sakujo7

  • Contributor
  • Posts: 38
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #47 on: August 05, 2015, 11:41:57 am »
But this terrified fear of binary!?

I'd argue that it's easier in some cases. Some ASCII protocol devices will unexpectedly switch between plain decimal and scientific notation, among other 'quirks'. At least with a binary protocol you hopefully know exactly what to expect.

Still, a device could be made to support multiple protocols at the same time such as by always starting ASCII commands with one character and binary with another. Then you can keep everyone happy.
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 6778
  • Country: de
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #48 on: August 05, 2015, 04:44:49 pm »
A constant power load gets unstable when the source resistance gets to high.
In addition here the load is likely using constant current load, updated a few times a second to get a pseudo constant power. At the end it's just not possible to get the 100 mW out out of the batterie.

It's somewhat obvious to find somt kind of brickwall end in a Alkaline cell: there is just no more zink left, or at least it's not connetcted to the contact anymore. The zink is normally just a pin in the center. The tricky part is to explain, why the no load voltage on alkaline cells goes down so much.

Its fun to look at the old "dry" cells in comparison: here the open circuit voltage is rather constant, but the internal resistance increases. There should not be such an brickwall empty point: if much of the zink is used up, the cells start to leak, but you hardly use all the zink.

At really low current, old cells can still run for quite a while: I have a battery backuped CMOS RAM as a CMOS emulator. It ran on a practically empty (to weak to drive a wrist watch) 3 V Li coin cell for more than 2 years. 
 

Offline manu

  • Regular Contributor
  • *
  • Posts: 72
  • Country: fr
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #49 on: August 06, 2015, 12:52:26 pm »
Hello,

I made a simple arduino interface to BK Precision e-load. I own a 8510, hopefully it will work for the complete 85xx serie (8500, 8502, 8510, 8512, 8514, 8518, 8520, 8522, 8524 & 8526)
It simply outputs the display values (voltage in mV, current in 0.1mA, power in mW) in plain ascii. (cf. Arduino source in bk85xx.zip)
You can log data on a PC with a Hyperterminal-like software (e.g. https://sites.google.com/site/terminalbpp/) and save the data to a .csv file.
cf. the Terminalbpp and excel attached screen captures).
I just made it in a couple of hours, it hasn't been very well tested, so take it as-is.

The default sample time is about 1000ms. You might want to change the delay() value in the loop function but below about 200ms it think it will be too fast for the 9600 baud uart interface (see logic analyzer screen captures to have an idea of time response).
The time is displayed in ms with a 32 bit interger, so you cannot log more than 49 days... but I don't think a software will run this long on a PC without a problem...
To interface the BK e-load, I use a software uart on pins D7(Rx) and D8 (Tx), it can be moved on any available pins on the Arduino board (except D0 an D1 used for the uart-to-USB interface).

I didn't bother verify the checksum in each received frame, but if somebody minds to do it, I would be happy to have the code.
Also, it would be nice to have a command interpreter to set the e-load parameters, but, hey, it is easier to do it on the instrument itself.

Please tell me if this has been useful.

Manu

 

Offline sakujo7

  • Contributor
  • Posts: 38
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #50 on: August 07, 2015, 01:19:09 am »
To interface the BK e-load, I use a software uart on pins D7(Rx) and D8 (Tx), it can be moved on any available pins on the Arduino board (except D0 an D1 used for the uart-to-USB interface).

You probably want to put a level shifter between the arduino and the RS232 port. RS232 signal levels can be as high as +-15V (and inputs are supposed to tolerate +-25V), though many devices are lazy and only drive +-5V. Even that is bad for a board expecting 0 to +3.3 or +5V.
 

Offline manu

  • Regular Contributor
  • *
  • Posts: 72
  • Country: fr
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #51 on: August 07, 2015, 06:08:02 am »
Despite it is a db9 connector, BK decided to have a TTL UART interface (*not* RS232) => no need of level shifters nor to invert the signals.
« Last Edit: August 07, 2015, 07:50:03 am by manu »
 

Offline sakujo7

  • Contributor
  • Posts: 38
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #52 on: August 07, 2015, 09:53:22 am »
Despite it is a db9 connector, BK decided to have a TTL UART interface (*not* RS232) => no need of level shifters nor to invert the signals.

Huh. Disregard my comment then! I should have RTFM.

You know, I spent 30 seconds staring at those pictures wondering just why it worked, and it never occurred to me that someone would actually put a TTL UART on a DB9.

I hope they have good protection on those pins.
 

Offline manu

  • Regular Contributor
  • *
  • Posts: 72
  • Country: fr
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #53 on: August 07, 2015, 11:56:46 am »
I hope they have good protection on those pins.

It's a shame, but I think not. I suspect them to want to make a little more money with their dedicated isolated cables.
 

Offline classical

  • Regular Contributor
  • *
  • Posts: 59
  • Country: de
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #54 on: August 10, 2015, 02:01:48 am »
lygte-info.dk just published some values for 1W, 0.5W, 0.2W, 0.1W, 0.05W
http://lygte-info.dk/info/batteryEnergyAtLowVoltage%20UK.html
 

Offline NANDBlog

  • Super Contributor
  • ***
  • Posts: 4554
  • Country: nl
  • Current job: ATEX certified product design
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #55 on: August 10, 2015, 06:38:32 am »
I hope they have good protection on those pins.

It's a shame, but I think not. I suspect them to want to make a little more money with their dedicated isolated cables.
Woooaw. This is unbelievable. Did they really do that? How much does a MAX232 cost? Like 40 cents?
Someone wasn't at their right mind making this decision!
 

Offline manu

  • Regular Contributor
  • *
  • Posts: 72
  • Country: fr
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #56 on: August 10, 2015, 06:53:21 am »
Woooaw. This is unbelievable. Did they really do that? How much does a MAX232 cost? Like 40 cents?
Someone wasn't at their right mind making this decision!

They didn't save the cost of a max232, they prefer sell a communication cable at 68€ at Digikey...
 

Offline NANDBlog

  • Super Contributor
  • ***
  • Posts: 4554
  • Country: nl
  • Current job: ATEX certified product design
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #57 on: August 10, 2015, 08:51:54 am »
Woooaw. This is unbelievable. Did they really do that? How much does a MAX232 cost? Like 40 cents?
Someone wasn't at their right mind making this decision!

They didn't save the cost of a max232, they prefer sell a communication cable at 68€ at Digikey...
Custom communication protocols and cables are while not good practice, they are fine. I mean use it if you really want to have it. But dont use the standard serial connector, especially when you connect it to an industry standard it breaks it.
That is like having an IEC power input:

And write in the manual that this is for the 12V DC.
 

Offline manu

  • Regular Contributor
  • *
  • Posts: 72
  • Country: fr
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #58 on: August 10, 2015, 11:56:34 am »
Custom communication protocols and cables are while not good practice, they are fine. I mean use it if you really want to have it.
You are totally right, I can't blame a company to make some money with spare parts.

But dont use the standard serial connector, especially when you connect it to an industry standard it breaks it.
Well, I've seen so many things on a DB9 that I take nothing for granted until I RTFM.
 

Offline manu

  • Regular Contributor
  • *
  • Posts: 72
  • Country: fr
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #59 on: August 10, 2015, 12:07:02 pm »
I made a simple arduino interface to BK Precision e-load. I own a 8510, hopefully it will work for the complete 85xx serie (8500, 8502, 8510, 8512, 8514, 8518, 8520, 8522, 8524 & 8526)
It simply outputs the display values (voltage in mV, current in 0.1mA, power in mW) in plain ascii. (cf. Arduino source in bk85xx.zip)
You can log data on a PC with a Hyperterminal-like software (e.g. https://sites.google.com/site/terminalbpp/) and save the data to a .csv file.
I've added a Xbee (Serie2) on the arduino board to make it wireless.
I have a Xstick dongle on the PC-side but another Xbee (with its USB adapter) would be fine.
 

Offline RogerRowland

  • Regular Contributor
  • *
  • Posts: 193
  • Country: gb
    • Personal web site
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #60 on: September 24, 2015, 04:50:40 am »
So, what happened in the long term test?

Or is it still running?

Or did I miss it?

 

Offline EEVblog

  • Administrator
  • *****
  • Posts: 30565
  • Country: au
    • EEVblog
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #61 on: September 24, 2015, 05:42:04 am »
My meter doesn't have the option to log for more than 7 days!
New datalogger method required.
I have data for 50mW, 20mW, and 10mW.
 

Offline adprom

  • Contributor
  • Posts: 20
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #62 on: September 24, 2015, 06:46:11 am »
This is a bit OT, but Dave, do you know where you got your soundproofing panels from? I am looking for pretty much the same ones.
 

Offline rs20

  • Super Contributor
  • ***
  • Posts: 2181
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #63 on: September 24, 2015, 06:57:18 am »
This is a bit OT, but Dave, do you know where you got your soundproofing panels from? I am looking for pretty much the same ones.

Maybe not the same panels, but:

 

Offline adprom

  • Contributor
  • Posts: 20
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #64 on: September 24, 2015, 07:11:36 am »
Yes I have seen that - I am looking for the maroon and charcoal ones. I have seen them on ebay - but not sure if they are the same panels.

As I am in Aus - wondering if Dave had a local supplier ;)
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 10397
  • Country: 00
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #65 on: September 24, 2015, 07:55:29 am »
This is a bit OT, but Dave, do you know where you got your soundproofing panels from? I am looking for pretty much the same ones.

Technically they're for sound conditioning, not sound proofing.
 

Offline adprom

  • Contributor
  • Posts: 20
  • Country: au
Re: EEVblog #774 - Low Battery Discharge Testing Part 1
« Reply #66 on: September 24, 2015, 09:57:54 am »
This is a bit OT, but Dave, do you know where you got your soundproofing panels from? I am looking for pretty much the same ones.

Technically they're for sound conditioning, not sound proofing.

I wrote the post quickly - I should have called them 'acoustic panels' if we are going to be entirely pedantic ;)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf