There is a very slight and recoverable output voltage drop when charged LiPo cells are subjected to temperatures above about 75C.
Cells that have been subjected to under-voltage, however, show a very quick and non-recoverable drop to 0 volts when they reach about 75C.
If you are one of the (very few) people who are interested in all the details, read on!…
Here are the results of exposing 4 LiPo cells in various states-of-charge to a temperature range of about 0C-100C…
There is a very slight voltage rise when they are frozen, and a very slight voltage fall when they are boiled. The voltage recovers when they return to ambient temperature.
Here is a zoom in on the drop during the boiling phase..
I also tested a depleted cell, which showed a proportionally much larger drop to zero volts during boiling and did not recover when it returned to ambient (note different voltage scale)…
It almost seams like something inside cell gives way at about 75°C and causes an internal short that permanently drains away the voltage.
I used new LP601622 160mAh cells manufactured by EEMB Battery.
I fully charged all cells using an MCP73833 charge controller with a maximum charge current of 100mA.
For the 4 partialy discharged cells, I connected each to a 150mA load and ran it down for between 10 and 50 minutes to get a good state-of-charge spread.
For the depleted cell, I shorted it until there was no output voltage left, and then recharged it with the above parameters for about a minute to get a measurable residual voltage.
The batteries were prepared about 24 hours before the test started and allowed to rest.
I used an Arduino to sample (1)the temperature and (2) the voltages of the 5 cells under test about once per second.
I used a waterproofed version of the DS18B20 sensor to measure temperature.
I put the cells and the temperature sensor inside a freezer bag and put that bag into a pot of water. I used a vacuum seal bag to avoid air pockets and try to get a uniform temperature across the cells and the sensor. The water fully submerged the batteries and the temp sensor, but the Arduino was well above the surface.
To get the low extreme, I added ice to the water in the pot.
To get the high extreme, first I tried turning on the stove, but the magnetic field from the induction heater scrambled the temperature measurements so I quickly turned that off and instead poured boiling water into the pot.
To remove the scrambled temperature readings caused by the induction heater, I interpolated values from nearest valid neighbors. These scrambled values represented much less than %0.01 of all values, and and likely would have matched the replacement interpolated values because of the short duration and the significant thermal mass of the pot of Water.
Original raw data set available upon request.
A: I am working an a problem were a device with a LiPo battery is subjected to a high temperature during a molding process during manufacture. These devices started failing QA at a slightly higher rate after the temperature of the molding process was increased. One theory was that the exposure to the higher temperature might have caused marginal batteries to drop enough voltage to fail testing after the molding step was complete.
I looked for data on the voltage response of LiPo’s to non-destructive temperature extremes and could not find anything at all. (There is lots and lots of data on battery lifetime while being operated in extremes, however!)
So I did the test! I think the results are interesting and not at all what I expected.
Q: How did you make the pretty charts?
A: This turned out to be the hardest part of the whole exercise!
I started with Mathematica, but as far as I can tell there is no straightforward way to do a plot with 2 different ranges on the Y axis! Really? The advice from the official documentation is remarkably ugly, and after spending literally hours trying to get it to do what I wanted… I gave up. While I love Wolfram Language in theory, I seem to often end up falling into a holes of complexity and non-discoverability. Doing something as common and simple as making a 2-range plot should not requite this much work.
Then I switched to MATLAB. I saw this as surrender since MATLAB is so normal and has the built-in plotyy() function, which does exactly what I want. I got an initial 2-range plot up in about a minute (including importing the data from an ASCII file), but when I tried adding an additional series to the secondary y-axis, I hit a wall. Really? The documentation seems to show that it can be done and when I cut and paste the example it works, but there is no explanation as to what the arguments actually mean and how they are used. So I think you are left to trial and error to try and figure it out on your own, which was not an option for me because Mathematica had already used up my soul.
So as a last resort, I fired up Excel and imported my (266,000 x 6) data set. Excel lumbered and creaked, but ultimately it (slowly) let me add my secondary axis and put the data sets on and even point-and-click color everything.
This experience left me broken. I want to hate Microsoft like everyone else, and I want to love the elegant symbolic world Steven Wolfram offers us, but ultimately I really just want to get stuff done and the tools are only a means to that end. Is it just me? Do you think the above Mathematica code is a reasonable solution to demand of someone who just wants to make a plot with a secondary y-axis?