LTC4150 Coulomb Counter Hookup Guide

Pages
Contributors: MikeGrusin
Favorited Favorite 4

What is a Coulomb?

"Charles de coulomb". Licensed under Public domain via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Charles_de_coulomb.jpg

Charles-Augustin de Coulomb, 1736-1806

A coulomb (like most units named after people, the name is written out in lowercase unless you're specifically referring to that person), is defined as one amp for one second:

1A x 1s = 1C

Because there are 3600 seconds in an hour, one amp hour equals 3600 coulombs:

1Ah = 3600C

How does the LTC4150 Measure Coulombs?

The LTC4150 has an output pin called interrupt, or INT for short (the line above the name indicates that this is an "active low" signal). This line is normally high, but will pulse low each time 0.614 coulombs passes through the device (which also happens to equal 0.1707 milliamp-hours or 0.0001707 amp-hours):

1 INT = 0.614439C

1 INT = 0.1707mAh

1 INT = 0.0001707Ah

Or to look at it another way, you will get 5859 INT "ticks" for each amp-hour:

5859 INTs = 1Ah

Keeping Track of the Charge in a Battery

As you know, battery capacity is measured in mAh (milliamp-hours) or Ah (amp-hours). If your battery holds 1 amp-hour when it's full, you can continuously draw one amp from it for one hour before it's empty. You could also pull 1/2 amp for two hours, or 2 amps for 1/2 hour, etc.

Because it measures amp-hours as you're using them, the coulomb counter makes it very easy to keep track of your battery's state-of-charge (how full it is):

  1. First, assuming you're starting with a full battery, set a variable to your battery's initial state-of-charge (e.g. 1000.0 mAh).

  2. Listen for the "tick" (low) signals from the INT pin.

  3. Each time you detect a tick, check the direction signal, and add or subtract the above per-tick mAh value (0.1707 mAh) to your battery-state variable.

  4. Profit!

As we saw in the last section, one "tick" from the device is equal to 0.0001707 amp-hours. Conversely, it takes 5859 ticks to equal one amp-hour. If your battery has a capacity of two amp hours, then it would take 11718 ticks (5859 * 2) to completely drain (or fill*) the battery.

* Note that in real life it takes a bit more current to charge a battery than you'll later get out of it. This is because the chemical processes that store charge aren't 100% efficient, with the excess turning into heat. The amount of loss varies depending on the type of battery, charge rate, age of the battery, temperature, etc. You can account for this by providing a manual "reset" input when the battery is fully charged, or doing some calibration to see how many more ticks you get when charging vs. discharging (though this will change with battery age, temperature, etc.).

We've written example code that shows you how to do all this, see the Example Code section for more information.

Bonus: Determining Average Current

An additional (and entirely optional) trick is that if you keep track of the time delay between "ticks", you can back out the average current used over that period. The equation is very simple:

mA = 614.4 / (delay between "ticks" in seconds)

Note that because this number is the average current use over the time period, the instantaneous current could be higher or lower. This is also covered in the example code.