Arduino cell cycle tester project

How do you store and manage your electricity?
User avatar
jonescg
Senior Member
Posts: 2361
Joined: Thu, 21 Jan 2010, 23:05
Real Name: Chris Jones
Location: Perth, WA.

Arduino cell cycle tester project

Post by jonescg » Fri, 24 Jun 2016, 06:13

After another 25 cycles (total of 50) the plot looks like it's lost a bit more capacity:
Image
But again (there's always a reason) the cells and the shed were rather cold this evening, so this could be a bit of cold weather sag, combined with a general decline in cell performance.

I'm guessing 300 cycles was about the norm for these cells, assuming a constant 1C charge and 2 C discharge.

On the weekend I'll do a full capacity charge and balance, followed by a 1.5 C discharge and we'll see how the numbers look.
AEVA National Secretary, WA branch vice-chair

User avatar
jonescg
Senior Member
Posts: 2361
Joined: Thu, 21 Jan 2010, 23:05
Real Name: Chris Jones
Location: Perth, WA.

Arduino cell cycle tester project

Post by jonescg » Sat, 25 Jun 2016, 22:14

Johny wrote: I reckon it's cell balance. It'll be interesting to do a proper balance and retest. Nice work Chris.


I balance charged the pair of cells up to 4.2 V each, and it tapered the current until the charger shut off. There was a good 5 minutes between the end of charge and the start of discharge (separate to the cycler).

Looks like only minor capacity loss at this stage, but 75 cycles isn't a lot. OK for a race bike but the interesting numbers will be after 300 or 500 cycles.

Image
AEVA National Secretary, WA branch vice-chair

neilg
Groupie
Posts: 38
Joined: Sat, 07 Apr 2012, 06:24
Real Name: Neil Gibbs
Location: Perth

Arduino cell cycle tester project

Post by neilg » Sun, 26 Jun 2016, 06:38

I think I have the solution for your current monitoring.
Jaycar have a 30A Current Sensor Module (XC-4610) which is Arduino compatible and it is isolated and bi directional so that you can measure both charge and discharge currents.
Costs $9.95 and outputs 66mV/A and is powered from 5v.
I looked at the spec sheet (ASCS712) and the output is 2.5v at 0A.

neilg

User avatar
jonescg
Senior Member
Posts: 2361
Joined: Thu, 21 Jan 2010, 23:05
Real Name: Chris Jones
Location: Perth, WA.

Arduino cell cycle tester project

Post by jonescg » Sun, 26 Jun 2016, 16:40

Oh very cool! I'll have to look it up. I dwapped the digital outputs to 2 and 4 and when you reset or start up it doesn't send the relays into a spaz any more,but they still remain on at the end of the 25 cycles.
I think the mini relay board has built in pull down resistors as well...
AEVA National Secretary, WA branch vice-chair

User avatar
Johny
Senior Member
Posts: 3702
Joined: Mon, 23 Jun 2008, 16:26
Real Name: John Wright
Location: Melbourne
Contact:

Arduino cell cycle tester project

Post by Johny » Sun, 26 Jun 2016, 16:51

neilg wrote:... I looked at the spec sheet (ASCS712) and the output is 2.5v at 0A.

neilg
I use the +/-100A version of that in my car. Easy to use. I auto-calibrate to 0 if the 600v system is less than 50v (and use the current sensor voltage setting from 500ms previous). If not satisfied use remembered value from last time.

In your case you can calibrate 0A before cycling starts.
Last edited by Johny on Sun, 26 Jun 2016, 06:53, edited 1 time in total.

neilg
Groupie
Posts: 38
Joined: Sat, 07 Apr 2012, 06:24
Real Name: Neil Gibbs
Location: Perth

Arduino cell cycle tester project

Post by neilg » Tue, 28 Jun 2016, 22:52

Hello Mr jonescg

I have updated the CellTester to v3.0 to implement current sensing.
It will now take input from a Jaycar XC-4610 and log this along with the voltage.
I have added time info to the log to show how long the charge or discharge has been running.
It will now calculate the Ah capacity for both charge & discharge cycles.
On completion of the test it will print all Ah measurements.
Also the frequency of logging can now be set.

I have removed the external scaling adjustments so you will have to set the MIN and MAX to be CELL voltages and then adjust the pot to match these.

During testing I found that the ground connection for the analogue inputs is critical in that there should be no (or very little) current flowing in the ground between the Uno and the sensor as a voltage drop of 4.8mV will be 1 count in the A2D result.
Can I suggest that you run the ground from the relay board back to a separate ground on the Uno. The voltage pot and the current sensor should be able to share a single ground.

The zero amps point of the sensor is read during startup so there is no current flowing into or out of the battery.

As for the stray '16' I thought it might be that the # meant something to the print function but it doesn't seem to - you could try removing it just to see.
What version of the Arduino IDE are you running, mine is 1.6.7.

Finally about the relays not turning off at the end of the test, I have added code to continuously turn them off once the tests have completed - see if it works correctly now!

Well I think I have covered everything but you should check the #defines below the line"// FOR NORMAL USE this code is compiled" as I have added some conditionals for my testing with the ATmega.

Hope this helps
neilg

CellTester_v3.zip

User avatar
jonescg
Senior Member
Posts: 2361
Joined: Thu, 21 Jan 2010, 23:05
Real Name: Chris Jones
Location: Perth, WA.

Arduino cell cycle tester project

Post by jonescg » Tue, 28 Jun 2016, 23:44

Thanks Neil!
I've set it up to run for another 100 cycles, but will attempt to incorporate the capacity logging next time I fire it up. It's tempting to buy another board and build a cell tester in parallel, but then I'd need another power supply...
I think the pot being adjusted to suit a single cell's voltages is the least confusing way to do it, but given the power ratings of the relays I probably wouldn't be putting much more than 15 amps through it anyway.
Fun and games!
AEVA National Secretary, WA branch vice-chair

neilg
Groupie
Posts: 38
Joined: Sat, 07 Apr 2012, 06:24
Real Name: Neil Gibbs
Location: Perth

Arduino cell cycle tester project

Post by neilg » Wed, 29 Jun 2016, 06:14

100 Wow so I thought I had better check for memory usage on the Uno for V3.
Can do 120 cycles (uses 74% dynamic memory) but after that you will start to get "Low memory available, stability problems may occur." warnings up to around 180 cycles when you will run out of memory.
The extra memory usage is for the Ah result storage. I can reduce this later if needed.

neilg

User avatar
jonescg
Senior Member
Posts: 2361
Joined: Thu, 21 Jan 2010, 23:05
Real Name: Chris Jones
Location: Perth, WA.

Arduino cell cycle tester project

Post by jonescg » Mon, 04 Jul 2016, 06:19

With the memory issue in mind I've not upgraded to the current measuring option (plus I still haven't ordered the sensor). I'm going to record an accurate discharge curve every 100 cycles now.

After 200 cycles of 1C charge and 1.5 C discharge, these FEP9043125 cells are still looking to be in pretty good shape:

Image

Down to about 4.87 Ah now from an initial 5.08 Ah. It's early days, but the extrapolation puts these cells at about 1000 cycles! And 1C is a fair old rate of charge, plus I think they often rate them based on a 1C discharge too.

Pretty happy with them!
AEVA National Secretary, WA branch vice-chair

User avatar
jonescg
Senior Member
Posts: 2361
Joined: Thu, 21 Jan 2010, 23:05
Real Name: Chris Jones
Location: Perth, WA.

Arduino cell cycle tester project

Post by jonescg » Sat, 16 Jul 2016, 21:22

An update on my cells - after 250 cycles, and a bit of a break for a week while I was in Brisbane, they appear to have gained some capacity Image

The violet line represents the 1.5 C discharge after 250 cycles. Back at 5 Ah capacity now.

I'll have to do another 10C discharge to see how they compare at higher discharge rates, but it looks like I've found the next battery for Voltron!

Image

About 175 Wh/kg, capable of 10 C continuous and about $0.75 per Wh.
AEVA National Secretary, WA branch vice-chair

User avatar
jonescg
Senior Member
Posts: 2361
Joined: Thu, 21 Jan 2010, 23:05
Real Name: Chris Jones
Location: Perth, WA.

Re: Arduino cell cycle tester project

Post by jonescg » Sat, 28 Apr 2018, 18:11

Reviving an old thread here!

I've changed the setup so I can test a single cell instead of two in series. I figure why spend more money on power if you don't need to?

Jonathan Bilssett from the University of Nottingham asked me to test one of his 10 Ah lithium cobalt pouch cells for cycle life. The regime was 1 C charge, 1.3 C discharge. I've notched up 475 cycles so far and the results are quite interesting:
UoN 10 Ah cycle life test.jpg
UoN 10 Ah cycle life test.jpg (19.88 KiB) Viewed 589 times
Like many cells I've seen cycle life data for, there is a rapid decrease in available energy, followed by a tapering off. This cell should be delivering well over 80% of it's original capacity at 1000 cycles.
AEVA National Secretary, WA branch vice-chair

Post Reply