I am buying an unprotected 18650 and am connecting it directly to my tp4056. I also always have a load on the battery during the charging process (my arduino which periodically drives a motor). The charging source for the batteries is a small 6v solar panel. My circuit goes to sleep for 60 minutes with a current draw of 10mA and then goes awake for 2 minutes with a current draw of 200mA. I have heard that the tp4056 does not allow charging and discharging at the same time if the current is not less than 100mA as it makes it unable to detect when the battery is fully charged. i have seen some simple power sharing circuits that work with a p channel mosfet, a diode, and a resistor which directly connect the power source to the load when the battery is fully charged but this becomes problematic because i am using solar power and the voltage provided by the battery keeps changing, thus not making it possible.
Will overcharging not be an issue because when the arduino is in sleep mode, the tp4056 will still recognize the battery as being fully charged, and will thus stop charging the battery until it once again falls below 4.1v? Once again, the motor on-time is only 2 minutes. I would reallllyyy appreciate any help or guidance you can provide
However, if you can assemble a truly minimal sleep configuration, which for the ATmega328 consumes around 100 nanoAmperes, then it seems possible that the TP4056 would shut off properly.
Why does current consumption need to be in the nanoamps. Is 10mA load enough to cause the tp4056 to continue charging? I thought the tp4056 stops charging if the battery current draw + load is less than 100mA (1/10 of max current draw: 1A). Also, once it recognizes that the battery is fully charged, does it automatically stop and wait till the battery voltage drops below 4.1v to start charging again or does it just start charging again anytime the battery + load current draw is greater than 100mA? Is there anyway I can drop the max voltage the battery can charge up to to 4.15v or smthg because that would make things a lot safer.
Also, the video you sent me does not work for solar power right because with solar power, the input voltage to the tp4056 is variable and the p channel mosfet may just not trigger and will continue overcharging the battery? That is what I have read online and I have not seen an alternate solution
Is 5mA much better. I just rechecked and after some time, it balances at 5mA. I can drop it further by removing the power led (just havent done it yet because it is somewhat useful)
With not much effort you can do much, much better. Even 5 mA means a base energy drain of 120 mAh per day. After 10 days of bad weather, a small battery is far gone.
Power LEDs are a complete waste of power. To verify that your circuit is alive, use a "heartbeat" LED, which blinks for maybe 100 ms once a minute. And, so is the voltage regulator on an Arduino board. The Arduino runs from 2 to 5V if you lower the clock speed to 8 MHz.
My favorite board for low power projects is the 8 MHz Arduino Pro Mini with the power LED and voltage regulator removed. If you get one that has a genuine ATmega328p chip (there are fakes on the market now), you will see 100 nanoamps drain in power down sleep mode.
Thanks so much for the advice! I just removed the power led (and something next to it that I dont think I should have removed (not the resistor (i cant find what the actual part is called when I google it))) but it works and now my multimeter shows a current draw of 1 mA. It is probably way less than that, it is just that my multimeter is pretty bad.
Will this be enough for me to use the tp4056 for my application?
That is impossible for forum members to predict, because you have given so little information about your project, and you are attempting to use modules in ways that they are not designed to be used.
I will probably never use or recommend a lithium based battery for a solar powered project, because there are so many challenges and so many better options. Good luck with your project.
I found a TP4056 can supply power to charge a battery and run a low current project. I dropped a 12V solar cell down to 6V, switched, and fed that to the tp4056. I dropped the output for the 4056 down to 3.3V using a mcp1700 to run the rest of the circuit.
I found the solution is not hands off. The LiPo would last about 4 months before it required replacement. If the temps get to freezing, you should replace the LiPo. Finally, I found there is no real good solar / LiPo solution.
I ended up feeding the 12V from the solar panels to a PWM charge controller, to a 12V LiFePo4 8Ah battery, which feeds the 5V switching regulator.
That was my video on the 18650 module. I think the TP4056 could work fine for your project without a load sharing circuit. During the sleep phase, when the combined charging current and sleep current falls below the 10% level, the TP4056 will terminate charging. It will only resume charging when battery voltage has fallen to 4.1V. If your sleep current is well below the 10% current, that process should work fine. But of course your battery will cycle back and forth between 4.2V and 4.1V even if solar power would have been able to supply current all the time.
If the battery becomes fully discharged, then when solar power is available again, the TP5046 will keep the charging current at the 10% level until battery voltage exceeds 3V. That could be tricky depending on what your project does when it powers up. Ideally you would want it to hold off doing anything active until the battery is charged up enough to handle a motor session without shutting down.
And of course you would have to be sure that the solar power will accumulate enough power in the battery to handle those hourly motor runs.
Using an unprotected battery is not a good idea, but you might be able to monitor the battery voltage, and shut down when it goes low. But it will just be easier to use a protected battery. If you power your Arduino directly from the battery, with no regulator, then Vcc will always be the same as the battery voltage. You can use the 1.1V reference voltage to indirectly determine what the battery voltage is, so no extra circuitry would be needed to monitor battery voltage.
In any case, the circuit in the video will not work with solar power. The only part I've seen that even pretends to combine solar charging with power sharing is the MCP73871. But I haven't seen any usable modules that use that chip.
You'll have to do a good bit of testing at both ends of the charging process to make sure it will work.
Thank you so much! Currently, the code already checks its input voltage and takes the appropriate measures if the battery voltage is low. I will probably still go for the protected cell just to make sure I dont accidentally start a fire.
You're not likely to start a fire - you're more likely to simply damage the battery so it won't charge properly any more when discharged too far. Fires are almost always the result of physical damage to the battery, in rare cases the result of overcharging (which is the job of the TP5046 to prevent from happening to begin with) or too fast discharging (short circuits).
The battery protection circuit protects against overcharging, overdischarging and short circuits. In the latter two cases it will cut off the battery output entirely.
aditya_oberai:
i unfortunately dont really have another option other than a lipo liion sized cheap battery
As far as safety and LiPos are concerned, you do have an option, dont use a LiPo.
One option that I know that proved reliable was to use a home brew design solar powered and current limited charger that had a cutoff voltage of 3.9v. With this cutoff level there was little chance of the Lithium Ion battery getting anywhere close to full charge. Load shareing was also not an issue.