HAPPY LABOR DAY - ADAFRUIT IS OPEN - ALL ORDERS PLACED AFTER 11AM ET 9/4/2015 WILL NOT SHIP UNTIL TUESDAY 9/8/2015 - READ MORE!

LiIon/LiPoly Charger: Quiescent Draw

Building a low power project that will incorporate occasional charging of the battery during use. I have a few other questions in addition to the subject.

1. What is the quiescent draw of the charger when just using the battery? I'm not sure if the terminology is correct, but is the relevant data from the MCP73833 data sheet the "Leakage Current"? It sounds to be in the right range of 0.01 uA typical, 1 uA max.

2. I think this true, but I need to confirm - when beginning charging, is normal battery voltage (3.7/4.2v) still supplied to LOAD? Is there an interruption in power that might disrupt my sketch when switching back and forth?

3. Finally, how can I monitor the battery's current charge level? I thought about just plugging Vin into an analog input, but I realized that because my project is unregulated it will always be the same as AREF.
jarruda

Posts: 25
Joined: Sun Jan 29, 2012 12:40 pm

Re: LiIon/LiPoly Charger: Quiescent Draw

Hi Jarruda,

jarruda wrote:1. What is the quiescent draw of the charger when just using the battery?

I am not sure. I am not able to tell the difference between 0.01-uA and 1-uA. Both are less than I can accurately measure.
jarruda wrote:is normal battery voltage (3.7/4.2v) still supplied to LOAD?

The 'LOAD' terminals are directly connected to the 'BATTERY' terminals so the battery voltage will also be on the 'LOAD' voltage.
jarruda wrote:3. Finally, how can I monitor the battery's current charge level?

A voltage divider connected from the load terminal / ground and an analog input, can be used to monitor the battery voltage level. However, the voltage divider will create a continuous current drain much larger then the MCP73871 quiesent current).
Jeelabs.org has a lot of information of on low-power operation, if that is your primary interest.

Good Luck, John

john444

Posts: 443
Joined: Sun Mar 04, 2012 2:42 pm
Location: Claremore, Ok

Re: LiIon/LiPoly Charger: Quiescent Draw

Hey John,

First, thanks for the jeelabs link, really interesting site!

john444 wrote:
jarruda wrote:1. What is the quiescent draw of the charger when just using the battery?

I am not sure. I am not able to tell the difference between 0.01-uA and 1-uA. Both are less than I can accurately measure.

Perhaps you misunderstood the question? Rephrasing it, I'm really asking if "Leakage Current," as referenced in the data sheet, is the same thing as a circuit's quiescent draw. If that is the case, the data sheet lists it as in that uA range.

john444 wrote:A voltage divider connected from the load terminal / ground and an analog input, can be used to monitor the battery voltage level. However, the voltage divider will create a continuous current drain much larger then the MCP73871 quiesent current).

I really need to buy a book about basic electronics to just know all of these basic tools. I don't really understand how the Arduino's analog inputs work, other than to use them I've always built a voltage divider to connect, for example, a potentiometer. My understanding has so far been, provided an analog reference voltage, the Arduino's ADC measures a voltage using an internal voltage divider using AREF as the Vin to calculate Vout and returning Vout/Vin as an integer between 0-1023.

Would you mind going into a little more detail as to how I can implement this circuit to obtain an absolute voltage? I was thinking that I would perhaps have to use a step-up boost converter to provide an AREF.

I can limit the drain of this circuit by connecting it up to a transistor, as I don't need voltage readings while the device is asleep (or any other time other than during user interaction).

EDIT: I see many projects that need to monitor LiPo battery levels using "fuel gauge" ICs such as the MAX 1704 to provide a more accurate battery state. I really only need to know when the battery is getting low so that action can be taken (LED/sound/screen icon).
jarruda

Posts: 25
Joined: Sun Jan 29, 2012 12:40 pm

Re: LiIon/LiPoly Charger: Quiescent Draw

Jarruda,

Looks as if I missed your posting last week. Sorry about that.
jarruda wrote:I'm really asking if "Leakage Current," as referenced in the data sheet, is the same thing as a circuit's quiescent draw.
This device also has very low quiescent current drain.

I always run the risk of mis-leading someone with simplifications but, let's give this a shot.
Imagine that the Arduino has 1,024 resistors, all the same value, all in series.
One side of the string is at ground. The other side of the string is connected to a voltage reference.
The voltage reference could be the Arduino's internal voltage reference or an external voltage.
The voltage connected to the Arduino's analog input pin connects to one input of a comparitor.
A counter is used to connect the other comparitor input, sequentially, to each resistor in the string.
When the comparitor detects that the resistor string voltage is greater than the analog pin voltage,
the comparitor switches. This change is the signal that the counter value is the ratio of Vin/Vref.
In reality, it is done using binary sequences of capacitors but the concept is similar.

jarruda wrote:perhaps have to use a step-up boost converter to provide an AREF.

Assuming that you are powering the Arduino with 6 to 20-V, you do not need to create a separate AREF.
You may use the 5-V supply, 3.3-V supply or the Arduion's 1-V internal voltage reference for AREF.

jarruda wrote:3. Finally, how can I monitor the battery's current charge level? I thought about just plugging Vin into an analog input, but I realized that because my project is unregulated it will always be the same as AREF.

I do not understand. Normally, you provide an Arduino with 7 to 12-Vdc.
So, Vin will not = AREF. Don't measure Vin to measure the battery voltage.
If you are using a LiPo to directly power an Arduino then jump to the last paragraph.

I gathered that you are using a 3.7-V LiPo as the power source. But, since Arduino's
Vin is 6-20-V you must be using something to step up the battery voltage.
Connect A0 to the 3.7-V battery.
In your sketch, check A0 and compare the value to a 'low-voltage limit' that you select.
Let's say you want to turn on the charger when the battery reaches 3.0-V.
Using 5-V for AREF, and the battery connected straight to A0.
With 4.2-V on A0, a reading of the A0 register should provide something like '859'.
likewise, 3.7 will give '757' and 3.0 = '613'.
Turn 'on' the charger when A0 is less than 614.
Turn 'off' the charger when A0 is more than 858.

You also might consider alternatives such as the Adafruit LiPo charger.
It will take care of keeping the battery charged without involving the Arduino.
If you are supplying battery voltage directly to the Arduino, the Adafruit LiPo charger
comment also applies but, there are also other issues to deal with.

I hope I have not been more confusing than helpful or completely misunderstand your questions.
Good Luck, John

john444

Posts: 443
Joined: Sun Mar 04, 2012 2:42 pm
Location: Claremore, Ok

Re: LiIon/LiPoly Charger: Quiescent Draw

The Arduino is configured as 3.3V/8MHz, so it is being directly powered by a 3.7V LiPo through the Vcc pin, not Vin as I incorrectly stated, in order to bypass the regulator.

My plan is to use the Adafruit LiPo charger to keep my battery topped up whenever I have access to power (building a thermostat; going to parasite power from the relay line when heat is on). I only want to know the battery voltage to provide the user of the thermostat with a warning that the battery needs charging (say, over the summer when the heat is not running for extended periods (I do not have A/C).

Your description of the Arduino's voltage comparator is roughly what I assumed it was like. So, I should be able to use the internal 1V reference and measure the direct battery voltage through an analog pin. It seems suspiciously easy to monitor the battery in this way, as things like the LiPo fuel gauge exists on SparkFun utilizing the MAX17043G+U.
jarruda

Posts: 25
Joined: Sun Jan 29, 2012 12:40 pm

Re: LiIon/LiPoly Charger: Quiescent Draw

Jarruda,

jarruda wrote:So, I should be able to use the internal 1V reference and measure the direct battery voltage through an analog pin. It seems suspiciously easy to monitor the battery in this way,

I think you got it, you still need a voltage divider to bring the sensed voltage under 1-V
and you need to set the Arduino's flags to enable the internal reference.
I have found the internal reference to be somewhat noisy so, take several readings and
average them to improve it's accuracy.

jarruda wrote:things like the LiPo fuel gauge exists on SparkFun utilizing the MAX17043G+U.

These things often monitor the current into and out of the battery to calculate the 'fuel level' %.

Good Luck with your project, John

john444

Posts: 443
Joined: Sun Mar 04, 2012 2:42 pm
Location: Claremore, Ok