First test results are in, and they are largely positive!
I did hit a small snag at first. The LiFePO4wered/18650 would power a #LiFePO4wered/Pi / Raspberry Pi 3 just fine, but when I plugged in the USB power, it would reset the #LiFePO4wered/Pi and kill the Raspberry Pi power. Not good for something that needs to be a UPS! :-/
Taking a look with my 'scope, this is what I saw the battery voltage do when the USB power was plugged in:
Yikes! No wonder the micro was reset--the voltage pretty much spikes down to zero.
I traced the problem to my charger disconnect circuit. I use a MOSFET to disconnect the charger from the battery when USB power is removed, limiting battery leakage into the charging circuitry. The manufacturer indicates this leakage is about 30 uA, the MOSFET switch reduces this to 1 uA or so (take these numbers with a grain of salt, I haven't tested this thoroughly yet). What seemed to be happening is that when the USB was plugged in, the discharged 22 uF output cap of the charger would instantaneously suck the charge out of the little 4.7 uF input cap of the #LiFePO4wered/Pi. I solved the problem by adding a gate resistor to the MOSFET which, in combination with the gate capacitance, would delay turning on of the MOSFET enough for the output capacitor to get charged first. No more resets! :)
I wanted to know if the new charger would keep up with the worst case scenario for the current #LiFePO4wered/Pi: charging a near-empty cell with high load on a Pi 3. The current charger can't do it, it's limited to 480 mA charge current and thermal limiting problems are the worst when the battery voltage is low. I threw the worst case at it: A Pi 3 with all 4 CPU cores at 100%, Ethernet connected, the Raspberry Pi CPU at >100 degrees C and battery nearly dead. Here's a thermal image of the torture setup:
I'm very happy to say that the LiFePO4wered/18650 prototype passed with flying colors! :) The heat production stayed reasonable, the system was stable through the night and the battery was charged in less than 6.5 hours (didn't check often enough to see when it was actually done)!
Very positive indeed. I've started work on the next prototype, hopefully the last one before making a production panel.