Sunday, August 9, 2009

LiFePO4 Battery Pack Management - Part 4

Details, Details

We're getting closer to having the information we need to decide what we need from a battery management solution. This time around, we'll dig a little deeper.

The datasheets or manufacturer's instructions will give us the limits for our battery pack. How hot and how cold? How much load? How fast can we charge? High and low voltage. Approximate cycle life in different conditions. And the point - how much of this do we need to actively manage?

Tesla Motors published an excellent paper on the Roadster's battery pack. This sealed pack contains 6831 cells (18650 sized - a bit larger than an AA battery). The pack has liquid heating and cooling and multiple layers of battery management. The pack is large, complex, and expensive - and can feed enough power to accelerate this 2700 lb car from zero to 60 MPH in under four seconds.

But what about our smaller packs? What do we need? Let's start at the far 'outer limits' and move in. We'll continue to use numbers for PSI's 40138 sized 10Ah cells.

Min/Max Voltage

LiFePo4 chemistry appears to have an absolute minimum voltage of 2.0V per cell and a maximum of 4.3V per cell. Moving outside these limits won't just shorten cell life - it's likely to cause immediate damage.

Min/Max Temperature

PSI recommends a pair of temperatures for their cells - one for discharge and one for charging. This is actual cell temperature. The cell can be discharged when it's between -20°C and 55°C (-4°F to 151°F). It can be charged between 0°C and 45°C (32°F to 113°F).

Charge/Discharge Current

Maximum discharge current is 10C / 100A continuous and 130A for up to 18 seconds. Maximum charging current is 4C - 40A.

These values define the 'box' that we'll work within. Using these limits will work, but we'll want to select more conservative limits to achieve longer pack life.

Temperature... Since we're working with relatively small air-cooled packs, we have a much simpler thermal management problem than the folks at Tesla. Chances are good that we won't be riding much when it's colder than -20°C/-4°F. And even if we do, we'll probably keep the pack inside where it's warmer. The pack will warm a bit as it's discharged, so once we begin our cold ride we're in good shape. On the warm end of the range - like riding in South Texas in the summer - we should still have some flexibility. Its 100°F as I write this and the pack is stored outside. Even with some pack heating we have 50°F before we reach max temperature for the pack. Most users won't need a BMS to monitor pack temperature.

Maximum Current... We can manually manage our charge and discharge current by selecting components during vehicle design. As we saw last time, a 10Ah pack won't give us much range when feeding a 100A controller, but it's within the design limits of the battery. Max discharge for a 60Ah pack with the 100A controller is only 1.6C - this is a very conservative number. Likewise, the 15A charger is well below the 40A limit for recharging. We don't need the BMS to manage discharge current, but we will ask it to help during cell balancing. More on this later...

Maximum Cell Voltage... While the upper limit of the chemistry appears to be 4.3V per cell, manufacturers agree that reducing that limit will add cell life. Thunder Sky recommends charging to 4.25V to 4.3V per cell for a 2000 charge-cycle life. PSI and A123 Systems recommend a more conservative 3.65V per cell. There are a couple of ways to charge the pack.

One method is to use one charger per cell. The up-side is that each cell can charge at it's own rate, voltage is controlled automatically, and the pack is balanced after each charge. The downside is expense - 21 15A chargers is considerably more expensive than one. Charger selection takes care of cell management - no BMS support is necessary for single cell charging.

The more commonly used method is a single 'bank' charger. Charging thru the entire pack means that the charger does not know the charge status of any single cell - it only knows the average or pack voltage. Cells that finish charging a bit earlier will likely be overcharged while the slower cells might not completely fill. We'll need our battery management system to monitor each cell's voltage level and make sure that cells are not allowed to overcharge.

Minimum Cell Voltage... This is probably the most critical value to manage in order to keep our cells alive. Most controllers have a low-voltage detection system built in. But like bank charging, the controller doesn't know the condition of any single cell - it only knows the average. For example: Let's look at a three-cell pack with a 2.1V low voltage limit. The controller will be set for a 6.3V lower limit and will shut down to 'protect' the pack. If the cells are perfectly matched, perfectly charged, and at exactly the same temperature, they might all reach the 2.1V point at the same time. We'll have 2.1V, 2.1V, and 2.1V for our cells - the controller will shut down and all is well. But what happens if one cell didn't quite fully charge? The next time the controller shuts down at 6.3V our cells are at 2.15V, 2.0V, and 2.15V. The pack is still in acceptable condition. On recharge, this cell will take even longer to charge. Say we just charge 1/2 way because we need to make a quick ride to the store. 100 feet from home we deplete the pack and the controller shuts down. Cell voltages are 2.4V, 1.5V, and 2.4V. Uh oh. The middle cell is damaged...time to shop for a replacement. As with charging, pack average management isn't enough to protect the cells. We need our BMS to monitor individual cells and take action when necessary.

Charge Management... This will affect both maximum cell voltage and maximum charge current. A charger programmed to charge LiFePO4 will reduce the output current as the pack fills - the transition usually happens between 3.65 and 3.7V. The charge profile is known as constant current/constant voltage - CC/CV. This is automatically managed by single cell chargers, but our bank charger cannot sense individual cell voltages - so it changes modes based on pack voltage. As we've already seen, this will result in some cells being overcharged and others left less than full. We're going to ask our management solution to monitor cell voltage and control the charger so that our cells are charged and balanced.

We have the information we need to select our battery management solution. We'll manage pack temperature manually thru a combination of current control, pack size, and storage/use environment. We'll manage current in and out by design - pack capacity, controller and charger size. We'll need our BMS to monitor maximum cell voltage and control the charge current, and we'll need it to monitor minimum cell voltage and remove the load on the pack when any one cell reaches our selected low voltage point.

Next time we'll look at a couple of real-world solutions and compare their strengths and weaknesses.

Saturday, April 18, 2009

LiFePO4 Battery Pack Management - Part 3

What's my application and what's my goal?

Let's look at some trade-offs for a typical application. Let's look at a pack for an electric motorcycle/scooter. This device has a 5000 watt brushless hub motor and a controller limited to 100A. The controller has an 80 volt maximum.

Long pack life is our first goal for this example, followed by range. We'll use 10Ah PSI 40138 cells for the example, with numbers pulled from PSI's tech page referenced in the last post. This will be just an overview - we won't be getting into absolute numbers. Though we seldom hit the streets at full throttle trying to climb a constant hill, we'll assume constant max current for our quick and dirty worst case comparison.

We'll use 3.65V per cell as the end of charge point. That means we need 21 cells in series for our 80V maximum. Let's look at a 21 cell string of 10Ah cells.

Series and Parallel

Cells in series gives us higher overall voltage. Cells in parallel cuts the load each cell has to carry.

For example, a single cell under a moderate load will spend most of its time at 3.2V. Two cells in series with the same load will give us 6.4V. Twenty-one cells in series at the same load will give us 67.2V.

A single cell subjected to a 100A load will have to do all the work itself. We can cut the workload in half by putting two cells in parallel - two cells will cut the load for each cell in half (50A for two cells is 100A). Four cells in parallel means each cell only has to deliver 1/4 of the load - 25A. More cells in parallel will weigh more but make life easier on each cell - and give us longer cell life and better range.

Other benefits of reducing the load on any single cell is that the cell will deliver more energy (from 9Ah to 10Ah) and pack voltage will stay much higher - from 2.5V part way thru at 100A to about 3V at 25A per cell.

Quick Overviews

21S1P

A single string of 10A cells in series (21S1P) will give us a maximum 100A continuous discharge. The pack will be fairly lightweight (about 7.7kg ignoring mounting and connectors) and should give us pretty quick acceleration, at least initially. Pack voltage will drop fairly quickly, as the cells drop thru 2.5V with a 100A load. The pack will heat internally - The pack will need some fresh air. This will be a pretty hard life for the cells. While PSI shows that we can get 2500 cycles if we manage our low voltage limit and keep the discharge current to 1C (10A), a constant diet of 10C (100A) discharges will not guarantee us a long pack life.

Quick summary: 100A load, pack voltage at the half-way point will be about 50V. We'll get about 8Ah from the pack - our ride will be over in about 5 minutes. Not good for pack life.

21S2P

Let's add more cells and see if we can make life a bit easier for the cells. We'll add a second set of 21 cells for a 'two cells in parallel (2P)' configuration.

Each cell is required to provide 50A. Voltage sag is better - the pack will spend much of its time around 60V. The cells will heat less - temperatures in the battery box will drop. Range will approximately double to about 10 minutes of use. The pack is a bit heavier at 15.3kg but we should feel better overall performance due to the higher pack voltage.

21S4P

Now we have a 40Ah pack of 21 cells. Voltage sag is lessened again - about 3V per cell for a 63V pack. We'll get more from the cells now that our demand is down to about 25A (2.5C) - closer to 10Ah. The approximately 40Ah will give us about 24 minutes at full load. Though the pack now weighs about 30.7kg, speed should still be good due to the higher overall voltage.

21S6P

Things keep looking better as we increase the size of the pack. We're at 126 cells now for a weight of about 45.9kg. Each cell is only asked to provide 16.7A. Pack voltage will stay above 3V per cell longer. There won't be any noticeable pack temperature rise. Our time at full load will increase to about 36 minutes. While we're still over 10A per cell at 1.6C, we're much closer to our 2000 discharge cycle goal. Overall, life has gotten much better for the pack solely by reducing the amount of current each cell must provide.

LiFePO4 Battery Pack Management - Part 2

So... You're sitting there looking at a stack of cells. They look pretty 'happy' siting there - and you'd like to find a way to keep them happy and give them a long life once you put them to work. One way to look at battery management is a way to ensure you have a good return on investment.

I use the Robert Kiyosaki definition of 'investment' here - financially, an investment is something that puts money into your pocket on a regular basis. I put a fair amount of money down to purchase the cells - I want to guarantee that they'll repay me each time I ask them to work, and I want a guarantee that they'll have a very long life.

The Datasheet is your Friend

The first place to start, since you can't interview the cells on the table, is to spend some 'quality time' with the datasheet for your cells. Some of you are using cells from A124-Systems, some from PSI, some from Thunder Sky, and others. Each company gives high and low temperature limits, voltage limits for charge and discharge, and current limits. Some companaies will also list a range of voltages - absolute maximum before damage is certain, along with more conservative limits that give longer life. You may have to put on your detective hat for some of this - because quality of information will vary just as cell quality varies from manufacturer to manufacturer.

The Thunder Sky Battery Manual is available for their cells. A123-Systems publishes data sheets for their cells, as do the folks at Phoenix Silicon International (PSI).

Important Numbers

Some of the things we'll need to think about when deciding how to manage our battery is what our goal for pack is. If long life is the number one choice, we'll manage the pack differenly than one that's builting a pack for a drag racer. Basically we'll have to look at all the possibilities then decide what we want to trade to get our goal. It will be fairly easy to manage the cell once we have our goal in mind.

For example - take a look at the low voltage levels. For a maximum discharge, we can take the cell down to 2.1V. But for max cycle life, we may choose to follow PSI's lead and stop when the cell reaches 2.3V. Thunder Sky lists 2.5V for their long-life choice.

In general, the more conservative we are with the cell, the longer it will last. For example - if we move from using 100% of the energy to using only 70% we can move from 1500 recharges to more than 2500. In this example, we choose to trade range each trip for battery pack life. Worst case is operating the cell at max temperature, with max discharge rate, after charging the cell to 100% and discharging to 2.1V.

Do note, though, that the 2000 or so cycle 'end of life' doesn't mean the cell is dead - it just means that the cell is down to 80% of it's new power capacity. The cell that starts at 10Ah will be down to about 8Ah after 2000 well-managed cycles (or 1500 more difficult cycles). The cell will continue to work beyond that point.