0

Powerboost 1000C Charge termination threshold
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Powerboost 1000C Charge termination threshold

by paynterf on Sat Oct 28, 2017 9:58 am

I have several PowerBoost 1000C chargers I use in my robotics projects, and I can't seem to get them to terminate charge reliably. I have looked through the documentation for the MCP73871 and found that the charge termination threshold is controlled by the value of the resistor from PROG3 to GND. On the PowerBoost 1000C this appears to be 100K - is this correct?

The MCP73871 documentation is a little confusing, so I'm not sure if reducing the value of this resistor will increase the charging threshold or not. I have tried putting a second 100K in parallel (reducing the resistor value from 100K to 50K) and a 51K (reducing the value to around 33K), but neither value seems to have affected the charging threshold.

I charged an almost-full LIPO stack with this charger from a powered USB hub, and I monitored the charging current using your cool little Charge Doctor. The charge current started out at about 0.25A, and after about 30 min went down to about 0.04A, but the PB1000C was still in 'Charging' mode.

What am I doing wrong here?

TIA,

Frank

paynterf
 
Posts: 30
Joined: Sat Mar 07, 2015 6:41 pm

Re: Powerboost 1000C Charge termination threshold

by paynterf on Sat Oct 28, 2017 10:01 am

The charger finally terminated at about 0.02A (20mA)

paynterf
 
Posts: 30
Joined: Sat Mar 07, 2015 6:41 pm

Re: Powerboost 1000C Charge termination threshold

by adafruit_support_mike on Sun Oct 29, 2017 3:55 am

The LiPo charge cycle is kind of tricky.

The charger starts by pumping a fixed amount of current into the LiPo until the battery voltage reaches the full-charge level (4.2v for the LiPos we carry). At that point the polymer in direct contact with the terminal plates is fully charged, but charge hasn't diffused to the polymer farther between the plates yet. It's kind of like the way ice cubes freeze from the outer surface in.

If you disconnected the LiPo the instant the voltage at the terminals reached 4.2v, you'd see the voltage droop to about 3.8v over the next few hours as the charge diffused evenly though the polymer.

The second phase of the LiPo charging cycle compensates for that droop. It holds the terminals at 4.2v, but tapers off the current to match the amount that's diffusing farther into the battery.

The cutoff point occurs when the current flowing into the LiPo falls to about 1% of the constant-current level. The MCP73871 uses an external resistor to set the exact amount, and the PowerBoost 1000C uses a 100k resistor to set it at 10mA. Given the Charge Doctor's tolerances, that's about the level you measured.

adafruit_support_mike
 
Posts: 45835
Joined: Thu Feb 11, 2010 2:51 pm

Re: Powerboost 1000C Charge termination threshold

by paynterf on Mon Oct 30, 2017 9:09 am

Mike,

Thanks for the informative reply, but I'm already pretty familiar with LiPo charging profiles. What I'm not sure of is what is meant by the 'Charge Termination Current Ratio' spec for the MCP73871. It is shown as 10 mA for Rprog3 = 100K and 100 mA for Rprog3 = 10K (typical). I'm not sure how a spec in mA can be called a 'ratio', but I'm an engineer, not a wordsmith ;-).

In any case, it appears that reducing the value of Rprog3 will increase the charge termination threshold, which is what I am after. However, when I performed this experiment, I didn't see much, if any increase in the termination threshold (as you noted in your reply), even with Rprog3 cut down to 1/3 its original value. If the behavior of the MCP73871 is linear with Rprog3 (as is implied by the datasheet numbers), I should be seeing a termination threshold of about 33mA, not the < 20 mA or so I actually measured.

So, to ask my question again, do you guys have any insight into the thresholding behavior of the MCP73871 chip for different values of Rprog3? Did you select the 100K value for a reason, or did you just throw the max value resistor in there for good measure?

TIA,

Frank

paynterf
 
Posts: 30
Joined: Sat Mar 07, 2015 6:41 pm

Re: Powerboost 1000C Charge termination threshold

by adafruit_support_mike on Tue Oct 31, 2017 4:54 am

"Charge termination ratio" is a general term for LiPo chargers. Most of them don't use an external resistor to set the cutoff current, and just end the charge cycle when the current flowing into the battery reaches a given fraction of the constant-current level.. 1% is fairly common.

If you run the math out, the ratio of I.prog:I.term is R.prog1:R.prog3

We started with 100k because that's one of the two values listed in the DC Characteristics table, and after a while you learn to take datasheets very literally. They excel at telling you the parts of the truth the vendor wants you to hear, but nothing more. It's always best to start from the exact spec values and then vary the parameters to see what they left out.

We left it at 100k because it worked, and the datasheets for the LiPos we carry spec 1% as the termination level.

The tolerance for that value is +/-25%, so a nominal value of 33mA can be expected to fall in the range between 24.75mA and 41.25mA. The Charge Doctor has a resolution of 10mV/10mA, and I'd expect its measurement error to be about half that through rounding if nothing else. That puts the potential range of measured values for a nominal 33mA current between 19.75mA (rounded to 20mA) and 46.25mA (rounded to 40mA).

The error is almost as large as the value you want to measure, and larger than the difference you want to measure.

adafruit_support_mike
 
Posts: 45835
Joined: Thu Feb 11, 2010 2:51 pm

Re: Powerboost 1000C Charge termination threshold

by paynterf on Tue Oct 31, 2017 8:59 pm

Mike,

Thanks for the very informative reply. I admit that I had to read it 3-4 times before I realized how informative it was ;-).

Frank

paynterf
 
Posts: 30
Joined: Sat Mar 07, 2015 6:41 pm

Re: Powerboost 1000C Charge termination threshold

by paynterf on Wed Nov 01, 2017 8:08 pm

Mike,

After thinking about what you said about the +/- 25% error range for nominal vs actual charge termination current, I had another thought. Wouldn't that same analysis hold true for the nominally 12.5mA threshold set by using a 100K resistance value? If so, could that explain why my PB1000C's never transitioned to the 'finished' state, while charging two 3700mA cells in parallel, for a total of 7400mAH? Is it possible that it would take a very long time (or maybe even forever?) for the charging current to drop below the threshold at the low end of the range (approx 9 mA)?

BTW, I'm putting together a blog post on my PB1000C adventures on my blog site (fpaynter.com), and would like to include your very informative posts - is that OK with you?

Regards,

Frank

paynterf
 
Posts: 30
Joined: Sat Mar 07, 2015 6:41 pm

Re: Powerboost 1000C Charge termination threshold

by paynterf on Thu Nov 02, 2017 7:40 pm

Mike,

And one more thought - now that I have your ear (or eye, as the case may be); any chance that a future rev of the PB1000C PCB could have a couple of breakout pads for the 'charging' and 'finished' (STAT1/LBO and STAT2 respectively) outputs? I use these in my controller program to manage autonomous connection/disconnection from my robot charging station. Currently I have to solder flying leads to these outputs, and its a pretty tight fit ;-)

TIA,

Frank

paynterf
 
Posts: 30
Joined: Sat Mar 07, 2015 6:41 pm

Re: Powerboost 1000C Charge termination threshold

by adafruit_support_mike on Sun Nov 05, 2017 3:09 am

You're welcome to quote my posts above in your own blog, all we ask is proper attribution.

It's certainly possible for the cutoff threshold to err on the low side, and that would indeed push the termination time back. Most LiPos you can connect to a PowerBoost 1000C don't have enough internal leakage to delay it forever, and that condition would just trip another error flag in the MCP73871 charger. It watches total charging time as well as current.

You could still see long delays though. Charge diffuses through the lithium polymer much the same way heat energy diffuses along a wire. The rate at which energy flows from point A to point B is proportional to the initial difference between A and B. If there's a lot of difference, energy will move quickly. As the two sides become nearly equal though, the rate of transfer becomes small.

It's impossible to measure that kind of process in 'B finally equals A' terms because mathematically that will never happen. Instead we use a constant percentage change as our yardstick.. either 50% or 62.3% (1/e) because that much change is easier to measure. The 50% level is called a half-life in radioisotope decay.

Whatever percentage you use, crunching the math will show that each fixed-percent change takes the same amount of time, no matter how far apart A and B are. We call it the 'time constant' of the reaction. Using half-lives, it takes 1 time constant to reduce 1 to 1/2, 2 time constants to reduce 1 to 1/4. 3 time constants to drop 1 to 1/8, and so on. It takes 7 time constants to get below 1%, and 10 time constants to get below 0.1%.

Bigger LiPos have a longer time constant in the first place, and reducing 6600mA to 10mA will take a lot longer than reducing 500mA to 10mA.


I think breakout pads for the status LEDs are on the to-do list for a PowerBoost 1000C revision, but I'll mention it to the folks who handle that design to make sure.

adafruit_support_mike
 
Posts: 45835
Joined: Thu Feb 11, 2010 2:51 pm

Re: Powerboost 1000C Charge termination threshold

by paynterf on Sun Nov 05, 2017 12:25 pm

Mike,

Thanks!

Frank

paynterf
 
Posts: 30
Joined: Sat Mar 07, 2015 6:41 pm

Re: Powerboost 1000C Charge termination threshold

by paynterf on Tue Nov 07, 2017 9:04 am

Mike,

Please see

http://fpaynter.com/2017/11/adafruit-po ... threshold/

and let me know if you if I have provided sufficient attribution

TIA,

Frank

paynterf
 
Posts: 30
Joined: Sat Mar 07, 2015 6:41 pm

Re: Powerboost 1000C Charge termination threshold

by adafruit_support_mike on Sun Nov 12, 2017 5:15 am

Looks good!

adafruit_support_mike
 
Posts: 45835
Joined: Thu Feb 11, 2010 2:51 pm

Please be positive and constructive with your questions and comments.