Major MPPT charge controller bug.


Most of the MPPT solar charge controllers that we have in the market have a major bug .I have experienced the bug numerous times unfortunately the fix is a firmware update which will never happen with so many variants of charge controllers .Stay away from MUST , Felicity ,MPP Solar ,Axpert controller and any pip based unit .Instead dig deeper and buy Victron,Morningstar ,Epever or Renogy charge controllers .Thank me later .
Here is a brief description of what the bug does .

The Premature Float Bugs

The "premature float bug" is really two bugs for the price of one.

1. If you choose the "Aut" option for parameter 32 (Absorb time), or if you do not have parameter 32:
If the charge current available from the PV array at the beginning of the day does not ramp up to greater than one fifth of the maximum total charge current setting (parameter 02) within 50 seconds, it will prematurely go to float mode and never achieve absorb voltage that day.

2. If you choose a number of minutes for parameter 32:
The inverter will still count time spent well below the absorb voltage setting (parameter 26), e.g. due to heavy loads, as if it was absorb time, after having once been within 0.5 V of the absorb voltage setting.

How to demonstrate

If anyone doubts the existence of this "no absorb" or "premature float" bug, which affects lead-acid charging just as much as it does LiFePO4 charging, or if anyone has a later version of firmware than 73.00 and would like to tell us if it still has this bug, it is very easy to demonstrate the first kind with utility-only charging (even though it is usually only a problem for solar charging).

To demonstrate it with utility charging (mains or generator) you just need an unlikely combination of the maximum total charge current setting (parameter 02) and the maximum utility charge current setting (parameter 11).

Disconnect all charge sources (solar and utility).
Use inverter loads to pull the battery voltage more than 4 volts below the float voltage setting for at least 20 seconds, to guarantee that the inverter has dropped out of float mode and gone back to bulk/absorb mode. Alternatively, ensure the battery is more than 0.5 V below the float setting, and temporarily change the float setting [27] to more than 4 volts above the battery voltage for more than 20 seconds, then set it back to normal.
Check that your absorb voltage setting [26] is more than 1 volt above your float voltage setting [27].
If your inverter has a parameter 32 (absorb time), set it to "AUt". (There is a different bug that affects timed absorb)
Set parameter 11 (max utility charge current) to 10 A or 20 A.
Set parameter 02 (max total charge current) to 120 A (more than 5 times parameter 11)
Set parameter 01 to "UtI". And set parameter 16 to anything other than "OSO".
Connect the utility.

When you have done this, an unpatched PIP/Axpert will never charge your battery to the absorb voltage. It will instead go to float mode (green CHG light on solid) after it has been above only the float voltage setting minus 0.5 V for 10 minutes.

If you repeat this process while setting parameter 02 (max total charge current) to 40 A (less than 5 times parameter 11), or after updating with our patched firmware, you will see that it then does achieve absorb v
oltage before going to float.


@algorithm this is the tiny thingy that's providing the premature float bug workaround .The ESP32 on the left hand side is connected to the inverter via rs232 port , the unit on the right monitors battery pack via BLE connection to the BMS . The two ESPs and rs232 to TTL converter (mounted under the left ESP) are powered from the buck converter which gets power from the inverter serial port.
Final build

But it all started here.