HP Forums
15C LE spike fix - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: General Forum (/forum-4.html)
+--- Thread: 15C LE spike fix (/thread-1194.html)



15C LE spike fix - Thomas Radtke - 04-28-2014 07:37 AM

Lyuka devised a fix for power spikes occuring at each key press of the 15C LE (as far as I understand this matter):

http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv020.cgi?read=208839

Are there any experiences with this fix? Does it improve the faulty brownout detection in real use cases? I guess adding a capacitor is easy enough to do for users just slightly more brave than me :-).


RE: 15C LE spike fix - jebem - 04-30-2014 02:16 PM

1) I don't own a HP-15C LE, so I am curious about that issue to be really cased by poor choice of cell batteries or other causes.
Does the problems happens with new fresh batteries?
Does the problem happens with a specific cell brand only?

2) Other causes can be related to bad supply decoupling originated by defective or bad quality RF bypass capacitors (usually with a value of 0.1uF). This cpu generated Radio Frequency garbage can interfere with other components inside the large IC and on the other components around, generating malfunctioning.
In this case the solution is simple: just replace the original RF bypass capacitors (installed close to the Integrated Circuit) with new good quality ones showing smaller internal resistance than the original ones.
Oh, and sometimes these little bastards can leak meaning they act as a variable resistor and not as a capacitor anymore.

3) However it is well know that button cell batteries are not oriented to deliver high currents, even for short periods of time, due to its high internal resistance (IR).
On top of that, not all manufacturers offer the same battery specifications, and I believe the cheaper ones may have higher IR.

The internal resistance of these common cells (many of them from unknown manufacturers) is very high, increasing with the current demand, reaching to values like 50 Ohm (!) for transient currents above 100mA, even for fresh batteries.

In a worst case scenario of IR=50Ohm, if the calculator transient current reaches 30mA, and assuming the calculator uses TWO cells in parallel, there will be a transient voltage drop inside the battery of 0.75Volt.

4) I'm not sure if a 2.25Volt supply will cause the 15CLE to crash or not.
But, assuming that this is the cause of the problem:

It makes all the sense to install a high value capacitor in parallel with the supply line, but it should be installed close to the load (ie, the cpu), and not close to the battery as seen in several implementations.
In this way, we have a RC filter inserted between the source generator (ie, the battery) and the load, where R (or should I say Z?) value is made of the supply wires/pcb copper lines.
This RC filter kind of isolate the battery from these cpu transient current pulses, as long as the chosen capacitor has the correct value.

Now, the capacitor value should be big enough to cope with the cpu transient current, but small enough to allow the battery to recover fast enough when changing the capacitor.

I would say that 100uF seems to be on the excessive side for this application, but I can not be sure without taking actual measurements in the real calculator.
I would start with a smaller value, like 22uF, 33uF or 47uF, using non smd tantalum types soldered directly to the pcb as close as possible to processor chip's GND and +Vcc pins.

5) Reference info:
http://www.ti.com/lit/wp/swra349/swra349.pdf
http://m.eet.com/media/1121454/c0924post.pdf


RE: 15C LE spike fix - Jeff O. - 04-30-2014 04:59 PM

(04-28-2014 07:37 AM)Thomas Radtke Wrote:  Lyuka devised a fix for power spikes occuring at each key press of the 15C LE (as far as I understand this matter):

http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv020.cgi?read=208839

Are there any experiences with this fix? Does it improve the faulty brownout detection in real use cases?

I'm not sure how qualified I am to comment on this, but I did perform some battery life tests as described in this thread from the old Forum.

Based on the results of my battery tests and discussion in that thread (especially by Katie Wasserman), I don't see how adding a capacitor will have any impact on the faulty brown-out detection. Actually, brown-out detection is completely non-existent, not necessarily just faulty. Adding the capacitor will have no impact on current draw from the batteries during program execution. As soon as the program starts, the capacitor will discharge in a very short time, then the load will be carried solely by the batteries. A capacitor might mitigate the current spike and resultant voltage drop during key presses, but eventually, the battery voltage will drop low enough that a key press, or a function call, or running a program, or maybe even recharging the capacitor after it discharges for a key press, will drop the voltage below the threshold at which the processor can operate, and the processor will shut down and memory will be flushed.

Corrections and comments from those who know more than me are encouraged.


RE: 15C LE spike fix - Thomas Radtke - 05-01-2014 05:30 AM

(04-30-2014 04:59 PM)Jeff O. Wrote:  Actually, brown-out detection is completely non-existent, not necessarily just faulty.
That's the part I was missing when hoping a more moderate discharge could help. Thanks for clearification!


RE: 15C LE spike fix - jebem - 05-01-2014 09:28 AM

(04-30-2014 04:59 PM)Jeff O. Wrote:  (...) Adding the capacitor will have no impact on current draw from the batteries during program execution (...)

(...) As soon as the program starts, the capacitor will discharge in a very short time, then the load will be carried solely by the batteries (...)

No offense, but I beg do differ Smile
I would agree with Your first sentence if we were talking about DC current on passive (ie, resistive) loads. But this is not the case (explanation below).

Actually capacitors have been used since more than 100 years ago in every single power supply, and everywhere as bypassing circuits to allow digital circuits to operate properly. In fact they are present in every single calculator, HP or any other brand.
A capacitor stores energy that can be delivered at a very fast rate when compared to any battery, of cell or any other type.
And because the capacitor is connected in parallel with the voltage source (the batteries) it never "discharges": if it did, then the batteries would be totally "discharged" as well. What happens here is that the capacitor is pulled up by the battery all the time.

One characteristic of the capacitor is to present a extremely low impedance to the load when compared with the very high impedance of those button cells. That is the "secret" behind this kind of capacitor application.

We are dealing here with AC (sinusoidal series) function signals of extremely high frequencies resulting from the gate's switching operations. When a flip-flop circuit transitions from 0 to 1 or 1 to 0, the transition time is not Zero in the real world (if it was, that would be an ideal square wave), so during that amount of very short transition time the instantaneous AC current is extremely high and would require an ideal Zero Ohm impedance to maintain the required voltage source.
Because the cell batteries have high internal impedance, the voltage drop will happen instantaneously as well to a low value, and that is the cause to crash the digital circuit/calculator.
So the solution is to use a capacitor in parallel with the battery, because a good capacitor will present a extremely low impedance to these high frequency signals, allowing the required transient current to be delivered without appreciable voltage drop.

This is not about DC theory, it is about AC transient signals of high current demand, that can only be supplied by a capacitor, or in a much more efficient way, using a regulated power supply (now, that should be the proper design for a good calculator, as HP and others did in the good old days. But we all know why they don't do it anymore for such types of calculators, don't we?).

I other words, the battery efficiency will be superior when using a capacitor.
That's what several studies have demonstrated (please have a look on my initial post for some references).

Again, I do not own a HP-15C LE, so I can not:
- Check for the issues myself;
- Take experimental readings to find out the root cause of such alleged issues;
- Make any experiments and readings.
So I'm not telling that a capacitor will fix anything in your calculators.
Keep your mind open, accepts nothing for granted, make your own experiments. That is my life orientation.

One final remark: If I had such calculator, I would use it as a pocket calculator, meaning normal operations that can be resolved in less than a couple of seconds, and I would leave the batch processing consuming minutes and hours to finish to a more powerful and efficient machine for that job Smile


RE: 15C LE spike fix - lyuka - 05-01-2014 10:43 AM

FYI, The original page of "15C LE Workaround for the high current spike" is available at "master site".
Lyuka


RE: 15C LE spike fix - jebem - 05-01-2014 11:21 AM

(05-01-2014 10:43 AM)lyuka Wrote:  FYI, The original page of "15C LE Workaround for the high current spike" is available at "master site".
Lyuka

Welcome, Lyuka - san!
Thank You for the "master"'s link.
Nice, focused information.


RE: 15C LE spike fix - Jeff O. - 05-01-2014 12:13 PM

(05-01-2014 09:28 AM)jebem Wrote:  
(04-30-2014 04:59 PM)Jeff O. Wrote:  (...) Adding the capacitor will have no impact on current draw from the batteries during program execution (...)

(...) As soon as the program starts, the capacitor will discharge in a very short time, then the load will be carried solely by the batteries (...)

No offense, but I beg do differ Smile
I would agree with Your first sentence if we were talking about DC current on passive (ie, resistive) loads. But this is not the case (explanation below).

No offense taken. I'm sure you know a lot more than I regarding design of power supplies. However, in looking at Lyuka's plot of current consumption in program run operation (reproduced below), I think I stand by my assertion that a capacitor won't do much to prevent voltage drop during program execution. There is a tiny AC component, but it is mostly DC which must come from the battery. I don't think that a capacitor will have any impact on that. The capacitor does seem to tame the current spikes in other situations.

"Executing tight loop program (10mA / div) : 19mA while executing a program"
[Image: tek00010.jpg]


RE: 15C LE spike fix - jebem - 05-01-2014 01:33 PM

(05-01-2014 12:13 PM)Jeff O. Wrote:  However, in looking at Lyuka's plot of current consumption in program run operation (reproduced below), I think I stand by my assertion that a capacitor won't do much to prevent voltage drop during program execution. There is a tiny AC component, but it is mostly DC which must come from the battery. I don't think that a capacitor will have any impact on that. The capacitor does seem to tame the current spikes in other situations.

That graphs shows just one part of the story. You are looking to the average current there, not the transient current pulses. That pulses can have several hundred of mA during just 1uS. To measure that current pulses we need to use a scope measuring the voltage at the Vcc processor terminals as well.

What are being proposed by others, like Lyuka, is to add additional capacitance (up to 100uF) to the existing 10uF decoupling capacitor, to improve the battery efficiency.

But of course one can not extract more energy than the one existing available in the cell battery! That is one limiting factor...
What we are discussing here is how that energy is delivered. Cells can only deliver low amounts of current in a kind of steady way (due to its high internal impedance) and so they are unable to supply instantaneous large amount of current. Capacitors can. That is why we couple a cap with a battery.

In the end, if the 15C LE has some feature missing in the design, like telling to replace the battery when it is low, nothing we can do with a capacitor will fix them. I agree with you.


RE: 15C LE spike fix - Jeff O. - 05-01-2014 04:52 PM

(05-01-2014 01:33 PM)jebem Wrote:  That graphs shows just one part of the story. You are looking to the average current there, not the transient current pulses. That pulses can have several hundred of mA during just 1uS. To measure that current pulses we need to use a scope measuring the voltage at the Vcc processor terminals as well.

I agree with you, if there are microsecond current pulses, then a capacitor will lessen voltage drop during the pulses and improve battery efficiency.

(05-01-2014 01:33 PM)jebem Wrote:  ...In the end, if the 15C LE has some feature missing in the design, like telling to replace the battery when it is low, nothing we can do with a capacitor will fix them.

That is the big issue.