Odometers are extremely useful for cars, they tell you how far you have gone, wouldn't it be nice if you were able to have a device that does the same for electrical current? The LTC4150 SparkFun Coulomb Counter Breakout is here to be your odometer for current. If you are wondering: a coulomb is defined as, to put it simply, one amp for one second. This breakout is capable of constantly monitoring the current your sensor is using, is able to add it up, and will give you a pulse each time a given amount of amp-hours have been used. When used effectively and if you start with a full battery, you’ll always know exactly how much of it is left!
At one end of the Coulomb Counter Breakout are headers labeled IN and OUT. Connect your battery or power supply to the IN header or JST battery connector (they’re identical), and connect the OUT header to your project. At the other end of the Coulomb Counter you’ll find a header with six pins. These are the pins you’ll need to connect to your microcontroller and include VIO (Voltage Input), INT (Interrupt), POL (Polarity), GND (Ground), CLR (Clear), and SHDN (Shutdown). Simply install this breakout out between your power source and your circuit, that way all the current your circuit uses needs to pass through the Coulomb Counter to be measured.
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels
Based on 6 ratings:
1 of 1 found this helpful:
This seems like a terrific breakout to track charge/discharge on a battery. It accumulates a net change in charge and interrupts the host microcontroller
I had a little bit different application in mind, which was to track current draw of an Arduino differentiating states of high draw and low draw (as, for example, when the processor is sleeping). Unfortunately, when you do the math, the Coulomb counter will interrupt its host microcontroller at most once every 0.6 seconds and it will be only that frequent if the CC is measuring the maximum current draw for the sense resistor in place. If the current draw is less it could be many seconds between interrupts.
It would be great if it were possible to reduce the downscaling on the board from 1024 to 128 or even 1. That would enable a finer resolution on the time at various current levels.
2 of 2 found this helpful:
I wanted to use this board to monitor the performance of an energy harvester, so I needed more than the default sensitivity. Accordingly, I unsoldered the 50mΩ resistor provided and used the provided through holes to install a 51Ω resistor, increasing the sensitivity by lightly over a thousand. Now, with a 5µA current, I get an interrupt every couple of minutes, and a simple Arduino sketch can convert that to current. However, this use case doesn't fit the "I'm being powered by the battery" assumption built in to the board, which made things a little tricky. Perhaps another jumper to disconnect the Vdd pin from the Vout+ pin? Additionally, one to connect Vdd to Vio would have been perfect for my application.
0 of 1 found this helpful:
Very easy to use. Had no trouble getting it up and running quickly. Looking forward to playing around with it further.
This product does a great job with measuring moderate to high currents from 1mA, to 50-100mA or even more. If you're trying to track extremely low current accumulations (majority of time spent in uA range), you might consider swapping out the sensing resistor for a higher value, but of course this would yield a higher voltage drop across the device for 'run' current. If you use the self-clearing feature of the /INT line, be aware that this pulse width can be extremely short, on the order of a couple of uSecs, so either use a h/w IRQ line or a counter input, or switch over to manually resetting it via the /CLR line (you have to leave /INT asserted for at least 20uS before you clear it). NIce product for gathering real-world data!
This looks like it would do the job I want. While the assumption that the counter chip is powered by Vin does not hold up well in practice, never underestimate the power of an X-Acto knife, a fine-tip soldering iron, and 30ga silicone wire to fix this problem. A 3-pin header with a jumper would have been better, allowing me to choose VIO or VIN. I plan to have several boards, with different values of resistors, and a relay external to the board to switch between VIN of the board and an internal-to-my-project Vref, and the ability of the software to select the voltage source going to the VIN of the chip. The idea is that during startup() the program will select Vref, and after a few seconds it will know which board was used. The design uses DuPont connectors on the board; to swap boards, disconnect the pins (three connectors), and replace it with a different board with a different Rsense, plug all the cables in, and the software will calibrate itself.
A serious defect is that there is no fritzing file for this part. This and the need for an X-Acto knife is why I am giving it only a 4.
Vsense = ,050, max 1A Vsense = .100, max 500ma Vsense = .200, max 250ma Vsense = .500, max 100ma Vsense = 1.0, max 50ma Vsense = 5.0, max 10ma