Powering Boron LTE w/ 3 x AA as backup


#1

I’m using a Boron LTE with a 3s (4.5V) AA setup. I’ve tested both lithium and alkaline cells; as expected, the lithium cells come in a bit stronger, the string is usually about 5V when fresh, and the alkaline about 4.7 or 4.8V.

I’ve disabled the charger using

pmic.disableCharging();

That part works fine.

The issue I’m having is that I’m doing my “battery side” testing using a DC power supply to the LiPo pin (while the USB is also normally powered). Everything works fine from my input side: 3.7 V up to 4.2, no current consumed, and seamless transition to the LiPo pin when I de-power the USB. However, if I set my input to 4.3 V or higher, I get the dreaded yellow 1 Hz blink from the charger LED – worse yet, it shows that I’m flowing current at 4.3V and above as well into the LiPo pin.

This means that when I connect a new set of AA batteries, even though I am nominally powering the Boron from USB, it will “burn down” the new batteries until they reach 4.2 V, at which point the current flow into the LiPo pin falls to zero. I’ve looked through all of the charger and PMIC settings to see if there’s anything that I might’ve missed, but nothing seems to address this quirk. Any thoughts?


#2

(2) initial thoughts come to mind:

  1. The PMIC can select the source with the highest Voltage, see datasheet, also look at Boost Mode, Supplement Mode, etc.

  2. System Power Manager will Enable charging anytime initDefault() is required.

When using a primary battery (or anything other than 3.7V nominal Li-Po/Li-On) on the Li-Po connector, you should physically prevent a reverse current when a 2’nd power source is available. I wouldn’t depend on pmic.disableCharging() or any other Software/Firmware method.

The PMIC’s job is to safely recharge the Battery every chance it gets.
But I would not have guessed the Boron would use the Li-Po source @ 4.3V when Vin/Vusb was 4.2V… that is strange.


#3

Hi, @Rftop,

Really like your work here. I’ve read your excellent contributions to the forum before I started testing. Your work really gave me a running start!

I’m putting a Schottky diode today – as you note, why depend on FW when HW gives that extra piece of mind, right?

I will check the modes you mention, run some more tests tonight, and report later tonight or tomorrow.

Thanks!


#4

@michaelm, I performed a few tests with a Boron LTE on 1.4.2
I can make the 1 Hz blink pattern only when the Vin Voltage is about to cause the PMIC to transition into a Charge Cycle. This is a relatively small voltage window.

For quick testing I’m using a Trippler, OLED, and INA219 from the Particle Store, so my Operating current will be slightly higher than a stand alone Boron:



Testing with a Li-Po voltage while Operating = 4.11V. No Re-Charge Req’d
Vin using USB connector, increasing the Supply Voltage to:

4.58 Vusb  Causes 1 Hz blink pattern, 0 mA going into Li-Po, 24 mA leaving Li-Po
Continues to Blink and only source the Li-Po until-
4.62 Vusb  Blinking Stops and Boron uses USB Only, 0 mA going into Li-Po, 0 mA leaving Li-Po
No changes to PMIC made, so Boron considers 4.11V to be charged, no charging required

Testing with a Li-Po voltage while Operating = 3.80V. Re-Charge IS Req’d
Vin using USB connector, increasing the Supply Voltage to:

4.25 Vusb  Causes 1 Hz blink pattern, 0 mA going into Li-Po, 24 mA leaving Li-Po
Continues to Blink, very high current pulses are associated with each LED Blink until-
4.80 Vusb  Blinking Stops and Boron begins Charging, 950 mA going into Li-Po

It appears that the Boron will always prefer the Source with the Highest Voltage.
It also appears the Blink Pattern is the PMIC testing the Current Capacity of the Vusb(Vin) source every second ( after all other conditions have been met to start a Charge Cycle) …which it’s failing the default test and retries at 1 Hz until the USB Source is validated by passing the minimum Current test.

In my test, I assume the tiny wires I’m using in the USB cable (but only 6" long) cant meet the Current demands until the Supply Voltage is 4.80V, so everyone’s results will be different.

Looks like you will still need your USB source Voltage to remain higher than your 3xAA pack voltage, since the Boron will prefer the higher voltage source.

Detaching the LOW_BAT_UC Interrupt in setup() before you Disable Charging might also help you, IDK for sure:

void setup() {
    detachInterrupt(LOW_BAT_UC);
    // Delay for up to two system power manager loop invocations
    delay(2000);
    // Change PMIC settings
    PMIC pmic;
    pmic.disableCharging();
}

#5

Outstanding hints, thank you!

Running a bit behind today; give me another 24 hours or so to provide an update. Really appreciate the quick and informative responses.

:slight_smile:


#6

Thank you for all the research and hints.

I’ve concluded – reluctantly – that using 3xAA’s is just not going to do what I need.

I installed a Schottky (1N5819) on my battery pack. Works well; only about 0.3V forward voltage drop under transmitting / boot up. Still commanding the pmic.disableCharging(), though.

To recap: I want to use 3xAA’s as a backup battery source.

The Boron LTE is normally powered by 5V at Vusb. If that source fails, the AA’s take over. Everything works fine except for one wildly annoying issue: A fresh set of alkalines come in at about 4.6 - 4.7V, a fresh set of lithium Energizers at just under 5V. When the Boron is powered at Vusb (by a 5V source), it (my interpretation / hypothesis) assumes that VLipo is an overcharged sourced, and slowly “burns it down” to 4.2V, at which point the burn-down current ceases, and Vlipo stabilizes. The burndown is low but definite, and takes a usually a few days to reach the magic 4.2V (part of the reason for my slow response here). By that point, the AA’s have given up roughly 2/3 - 3/4 of their usable energy (I call it quits at 3.8V).

I’ve tried every trick I could think of reading here and elsewhere, and nothing seems to stop the burndown – it seems to be hard-coded into the charger chip.

Running my DC power supply into VLipo from 3.6 to just over 5V works fine – but the charger LED blinks at 1Hz between 4.3 and 4.9V (it shuts off at 5V, but the burn-down current continues).

I’ve tried your interrupt suggestions, along with disabling the Watchdog (no change) and the BatFet (effectively disconnects the battery).

Looks like I’m headed to using a fall-over solution, which means another device. Oh, well, It would have been nice to do everything inside the Boron.

Thanks again!


#7

I haven’t seen anything in the PMIC Datasheet that would suggest this…but I could be missing something.

I tried to reproduce your issue, and can now confirm something is very strange.

My Test:
3xAA (L91’s) Resting Voltage = 5.08 V
3xAA Operating Voltage = 4.91 V at 13 mA (Cloud Connected, powered by 3xAA only on Li-Po connector)

Then Connecting a 5.25V Power Supply to the Boron USB connector actually INCREASED the current leaving the 3xAA to 41 mA. Approximately 140 mW was un-accounted for. 1 Hz pattern on Charger LED. Test Stopped immediately. I used 5.25 V to be above the Boost Mode Voltage of 5.12V (Votg).

Repeated with 5.00V Power Supply to the Boron USB, same results.
Something is going wrong.

I don’t think you are technically doing anything Out-Of-Spec for the PMIC, but this does deviate from the Intended Operation of a Li-Po charger IC.

Someone might be able to recommend a simple power switch IC that will perform the UPS duty external to the Boron ?


#8

Yes, similar behavior seen here at high-ish voltages. The “extra” voltage seems to get shunted somewhere – by design or not is the question.

I fully appreciate that I’m asking a LiPo charger chip to do things it was never intended for – so no complaints to our Particle friends, but understanding the system behavior is key to formulating a solution.

I had some luck on a past project a few years ago using a LTC4411 Ideal Diode chip, maybe that will turn out to be a good solution here as well. Apparently “disabling the charger” and plugging in 3xAA’s was too good to be true!


#9

Why don’t you bypass the PMIC by connecting the backup-battery to the VUSB-pin with a schottky-diode? That would prevent the PMIC from doing strange things.
If you want to monitor the battery’s voltage you have to add some external voltage divider circuit to match it to the 3.3V IOs of the boron.


#10

Great suggestion, but I just tried it, and no joy. The 4.5-and-a-bit volts from 3xAA’s aren’t quite enough at Vusb. I thought of using 4xAA’s, as Vusb is rated to 6.2V, but a simple diode circuit would just have me burning down my battery pack to equilibrium with the 5V USB input.


#11

Here’s another odd-ish bit of behavior: Disable BATTFet. Device runs perfectly on USB. Connect battery, try to reboot. Endless loop of resets. Disconnect battery. Boots perfectly. Go figure.

Re-enabling the BATTFET brings everything back to status quo – boots fine from same batteries, or from USB, or from USB with battery connected.

My novice hobbyist conclusion: Disabling the battery MOSFET does NOT entirely disconnect the battery – it’s sensing something, and restarting the device.


#12

You have found another interesting “quirk”.

BTW, I like the LTC4411 you mentioned.
The datasheet is easy to follow and includes neat examples.
Thanks for sharing that !


#13

The electron manual says, the minimum startup-voltage can be set by software (it just doesn’t mention how) to 3.88V as lowest value (4.36V seems to be the default).
Maybe there’s something similar for the boron? Sadly there are many undocumented functions in the FuelGauge and PMIC section in the reference :thinking:.


#14

Thanks, @glx! I’ve printed out the TI documentation for the PMIC, and gone through it the best I know how. Just over the 4.5 threshold has it starting up just fine, but like you, I don’t see any way to change the min voltage.

I’ll probably add a support ticket for the general power issue, and hope it gets to the folks who designed the Boron for tips and advice.