HOMER Energy Support

Modeling a battery with an efficiency curve

Last Updated: Apr 14, 2017 02:59PM MDT
This article describes how to make a battery model with the Advanced Storage Module (ASM) that fits a battery with an efficiency curve instead of the capacity curve used in HOMER. This article also provides some insight into how losses are modeled in the ASM.

This article assumes that you have purchased the Advanced Storage Module, and you have reviewed how to make a battery with its Modified Kinetic Battery Model. For an introduction on the Modified Kinetic Battery model, see help sections (introduction), (more detailed), and 5.14 (full technical details). These are attached as PDF's, or you can find them in HOMER's built-in product help (the document numbers might change over time).

In the Library View (click the Library button in the top-left of the HOMER window), you can create your own ASM battery by copying one of the existing batteries that have [ASM] in the name (select the battery in the tree on the left and then click the Copy button). In this example, we'll work with the Generic 1 kWh Li-Ion [ASM]. The Functional Model tab looks like this:

The input table takes data points for battery capacity at different power levels. In other words, if your battery is full and you discharge it at power X, how many watt-hours of energy (Y) will you get out before the battery is totally empty? In the table on the left, you fill in X in the first column, and Y in the second column.

Some batteries might come with a specification of round-trip efficiency (RTE) versus power level, like this:

How can we put a specification like this into HOMER? The round-trip efficiency versus power level plot above is for the Generic 1 kWh Li-Ion battery that is built in to the library. We'll explain how to go from a specification like this plot to inputs we can use in HOMER.

We won't use the table on the left side of the Functional Model tab. Instead, we'll manually enter the technical parameters into the boxes in the lower-right corner of the Functional Model tab. You'll first need to enter a value for "Maximum Capacity". This should be the specified capacity of your battery, in amp-hours.

First, we will assume that there is no "bound" energy -- all energy is available.  This is the "Kinetic" part of the ASM model -- the two-tank model. For modern lithium ion batteries (and many other modern high performance chemistries) we can make this assumption. To model this, we set the capacity ratio to 1.0, as it is in the lower right corner of the first image. Once you have set the capacity ratio to 1.0, then the rate constant doesn't matter any more -- just leave it set to 1.0 also.

Next, let's remember that there are two sources of loss in the ASM model: resistance (ESR) and "other round-trip losses" (LRT, this input is on the General tab). We can write a relationship between total RTE (which includes ESR and LRT) and these values. After some algebra, we can derive formulae for ESR and LRT based on two points from the RTE versus power curve (pictured above). I'll spare you the derivation (pdf document attached) and here are the formulae:

In the above equations, V is the nominal voltage of the battery, ESR is the "effective series resistance" in ohms (lower-right corner of the Functional Model tab), and LRT is the "other round-trip losses" in the general tab (multiply by 100 to convert to percent). Note that you will need to find ESR with the first equation, then use that value in the second equation. You should choose two points from the RTE versus power plot to get values for RTE1, RTE2, P1, and P2. We describe these points as: (P1, RTE1) and (P2, RTE2). For example, we could choose (500 W, 89.5%) and (5000 W, 68.5%). So for this example, we'll use the following values:
P1 = 500
RTE1 = .895
P2 =5000
RTE2 = 0.685.
Filling these values into the equation, using 3.7 for the value of V (typical voltage of a single Li-Ion cell), we get an ESR of 0.00036 ohms and an LRT of 0.08 or 8%. We can fill in 0.00036 for the "Effective series resistance" input in the lower-right hand corner of the Functional Model tab (this is already the value for our example Generic Li-Ion battery). And we can fill in 8 in the "Other round-trip losses (%):" input on the general tab. Our battery behavior in simulation will match the round-trip efficiency versus power level specification.
seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
Invalid characters found