0
\$\begingroup\$

enter image description here

I have an ESP32 that I want to power with a 18650 battery, which I’d like to recharge using a solar cell. The TP4056 charging module works perfectly until I connect the ESP32. At that point, the battery completely discharges and cannot recharge.

I’ve seen that some people use the 3.3V pin with a MCP1700-3302E as a low-dropout voltage regulator. I’m planning to order one to test it, but I don’t understand why the ESP32 drains the battery so much, even though the solar cell is charging it at the same time.

Specs:

Solar cell:

  • Power: 0.6W
  • Working Current: 0-120mA
  • Short Circuit Current: 125mA
  • Operating Voltage: 5V
  • Short Circuit Voltage: 6.5V
  • 80x55mm

ESP32-C3 Development Board ESP32 SuperMini:

  • 5v pin connected to usb.
  • Measured 40/50mA (with wifi enabled, no data transfers)

TP4056 5V 1A Mini 18650 Lithium Battery Charger Module:

  • Input voltage : 5V
  • Charging cut-off voltage : 4.2V ± 1%
  • Maximum charging current : 1000mA
  • Battery Overdischarge Protection Voltage : 2.5V
  • Overcurrent Protection Current of Batteries : 3A
\$\endgroup\$
6
  • \$\begingroup\$ Welcome! What’s the open circuit voltage and short circuit current of your PV panel? \$\endgroup\$
    – winny
    Commented Nov 29 at 12:54
  • \$\begingroup\$ "the solar cell is charging it at the same time" it can't. The solar cell has to power the load as well as charge the battery and it probably hasn't got the power to do both. \$\endgroup\$
    – Finbarr
    Commented Nov 29 at 13:04
  • \$\begingroup\$ @winny thanks! Power: 0.6W, Working Current: 0-120mA, Short Circuit Current: 125mA, Operating Voltage: 5V, Short Circuit Voltage: 6.5V. These are the info given by vendo on aliexpress. size 80x55mm. (I tryed to put some in parallel but no success) \$\endgroup\$ Commented Nov 29 at 13:28
  • \$\begingroup\$ Thanks. Please edit that vital information into the question body. What’s your ESP32 consumption, what’s your TP4056 current setting? \$\endgroup\$
    – winny
    Commented Nov 29 at 13:51
  • 2
    \$\begingroup\$ Short Circuit Voltage: 6.5V ... short circuit voltage should be 0 V \$\endgroup\$
    – jsotola
    Commented Nov 29 at 15:50

4 Answers 4

1
\$\begingroup\$

Do not use solar cell with TP4056 directly. TP4056 do not use solar cell charging algorithm(MPPT). Use some other module for example module based on CN3791.Just google MPPT module and you will find a better module. Also you need to increase the power rating of the solar cell. Either use 12V solar panel or use solar panels in parallel.

\$\endgroup\$
1
\$\begingroup\$

You cannot use TP4056 to charge a battery while a load is connected.

Or you can, but the TP4056 then cannot determine when battery is full because it cannot detect when battery current has dropped to low enough level as the load is still connected and drawing current.

This will overcharge the battery, it will get degraded quickly, and possibly damaged enough to burn up and start a fire.

The battery protection, if even present, cannot determine this condition because the charge voltage is not exceeded, just the charging time and it will be kept on float charge forever.

Well I guess you have another problem that the battery gets empty if the solar cannot provide enough power.

If there is no battery protection to disconnect the battery, it will get too empty and too low in voltage, it will also degrade and eventually damage and may start a fire.

\$\endgroup\$
0
\$\begingroup\$

You cannot connect the solar cell directly to the TP4056 module, as the voltage of the solar cell changes dramatically with incident light intensity. So the charging cannot work like this. Take your solar cell and connect a voltmeter to the terminals, then see what voltage are you getting. You will not get more than 4V. Then you can try and put a load resistor across the solar cell, and the voltage will drop to some very small value. This is why you can't connect it to the charger module directly. It drains almost 1A, which the solar cell cannot supply. The way to go here is probably to use a supercapacitor and at some charge, redirect the energy to the battery. Look around the internet, it surely has been done already.

You can use the internal LDO, but you have to account for it in the step-up converter. The dropout might be 1.5V, then you would need around 5V on the LDO input. It will stabilize the voltage but will not solve the charging problem.

\$\endgroup\$
1
0
\$\begingroup\$

Your base problem is most probably that there is not enough power from your solar panel in the first place, but assuming your ESP draws less than the solar panel can supply, you could hack your way around that you have a weak source (solar panel) and TP4056 expects a strong one by adjusting the PROG pin current.

Not a real answer to your question, but food for thought if you want to tinker around with having ""MPPT"" (double quotation marks because there won't be any proper tracking, and you will never reach maximum power point) added to your TP4056.

As TP4056 needs 4.0 V to operate, you want to limit the current supplied to your battery to basically zero here if the PV voltage drops to it. From there, a linear-ish rise with voltage is a far cry from MPPT, but better than nothing.

If you tinker around with the Zener voltage and resistor values, you should be able to have your TP4056 not drop its own input due to drawing more current than the panel can supply, but bear in mind that this is very crude. Your PV voltage-battery current curve can be tuned to your panel by changing Zener voltage and resistor R1, but beta in your transistor will vary from device to device and temperature. If you want it better, you should use an opamp and reference.

schematic

simulate this circuit – Schematic created using CircuitLab

I added D3 to not to interfere with the pre-charge of TP4056 where PROG is 0.2 V. I don't know if it's necessary. R2 is added in case TP4056 is unhappy if no current is drawn on PROG pin at all. Completely untested more than a simulation with ideal sources. A resistor on Q1 emitter would provide some negative feedback if needed.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.