I have been having some trouble keeping Lipo batteries charged in our products that use the Electrons. The charging circuit faults, then of course, the battery charge drops to ~50% and I have to reset (remove briefly) the power to our product to reset the fault. This is not going to be acceptable in our application.
In our application, the electron connects to the cloud intermittently, but most of the time it is asleep, so there should be plenty of time for the batteries to charge, even if at only a trickle charge.
For the charging circuit, I have a shunt regulator supplying 5 volts, but by the time the charging voltage reaches the electron, passing through a Schottky diode and a fuse, to the VM pin the voltage was 4.37 volts. The battery voltage was 3.3 v to 3.4 volts. Occasionally I would measure the battery voltage and it was 3.29 v and the charging fault lite was on.
So, I assumed that the charging voltage was too low, and after observing that the charging circuit on the electron already has a diode isolating the USB port, I took out the fuse, and the Schottky diode I had in my charging circuit to raise the charging voltage. The charging voltage rose to 4.95 volts. Inserting my meter into the charging circuit, the voltage dropped to 4.79 volts and the charging current was 260 mA, which is too high for my shunt regulator. After disconnecting the power a couple of times, for some reason the charging current dropped to 90 mA, and has been staying there. I don’t know why.
I need to limit the charging current to no more than ~100 mA. If I could keep it below that, I’d like to.
So, I have a couple of questions: What voltage should the Lipo battery maintain?
What is the minimum voltage necessary to charge it?
Looking at the code below that I found in the community forum I see that there may be a way to limit the charging current, but there are two commands related to charging:
// Set charging current to 1408mA (512mA + [0+0+512mA+256mA+128mA+0]) _pmic.setChargeCurrent(0, 0, 1, 1, 1, 0); // Set input current limit to 2A _pmic.setInputCurrentLimit(2000);
To limit the charging current that is drawn from my charging circuit, what commands do I need to employ? I would appreciate some guidance. The 512mA setting within the 1408mA command above is confusing to me. Is 512mA the lowest setting possible (000000)?
Code found on community forum:
// Configure PMIC _pmic.begin(); // Set charging current to 1408mA (512mA + [0+0+512mA+256mA+128mA+0]) _pmic.setChargeCurrent(0, 0, 1, 1, 1, 0); // Set input current limit to 2A _pmic.setInputCurrentLimit(2000); // Set input voltage limit to 4.8V (preventing the solar panels from operating below during charging) _pmic.setInputVoltageLimit(4840);