Prefacing with my equipment and relevant settings.
Equipment:
-Growatt 12000DVM-MPV
-Victron SmartSolar 250|100
-3x 16s 230Ah EVE @ 35.3kWh (No thanks to Micheal Caro. ....mfer)
-3x JBD SP25S03 16s 100a BMS (Overkill = Same, Same)
Settings:
-Growatt
1 - SOL
5 - USE
19 - 54.9 (Bulk Setting - Constant Current)
20 - 54 (Float Setting - Constant Voltage)
-Victron
Absorption - 54.4 (I want Growatt handling float loads)
Float - 54
-JBD BMS
55.2 Pack Overcurrent Protection
3.45 Single Cell Overcurrent Protection (Yes, I'm being aggressive)
Spent many hours resolving this issue over the past few days, watching my Growatt complete bulk, go over voltage and stop charging until complete disconnect/reconnect of all power sources. What I have observed to likely be the case that myself and you all have been experiencing is that the Growatt's charge controller is hitting the overvoltage cutoff on the BMS and the BMS stops accepting charging current. When that happens, it looks to me as though the charger doesn't adjust to float fast enough and goes overvoltage.
When I had my bulk voltage set at 56.8, depending on the BMS cutoff at 54.4 instead, the BMS would hit 54.4, cutoff, and the charge controller would briefly log something at 57.x before faulting "overvoltage". This is because it is using constant current still and the without the resistance of the pack, the voltage spikes and causes an overvoltage condition at the charge controller. Probably should have logic built-in to catch that and move to float faster (like my Victron will), but it's a $2k 12kW inverter...
Either way, this is abuse of the BMS, something I had let slip my mind in initial configuration as well. We don't want the BMS constantly cutting off with constant current always being tossed at it, then switching back and forth between accepting charge and not whenever load pulls it beneath cutoff voltage.
We should be setting the constant current cutoff voltage (bulk) at the charge controller and this should be just slightly below our pack/single cell BMS cutoff voltage. This way the charger always hits its bulk voltage first and has the opportunity to drop to float (constant voltage).
The best way I found to get exactly what you're looking for in maximum capacity while still staying under the BMS overvoltage is to watch the individual and pack cell voltages on the BMS while the charge controller is ramping up at the very end of its bulk. There is voltage drop between the charge controller/inverter and BMS, so simply setting the charge controller bulk cutoff just under the cutoff at the BMS is not going to work (constant current). That's why I have my bulk cutoff set at 54.9 before going to float, even though my individual cell voltages add up to 55.2 and pack voltage is same. Keeping the Growatt bulk set at 54.9 saves the day and stops JUST before the cells hit 55.2 or 3.45 at any single cell on the BMS. Setting any higher still triggers cutoff at BMS and goes overvoltage on the charge controller.
Now that I've got this corrected, the charge controller hits the bulk cutoff properly and transitions into float, rebulking at some unknown value that is not configurable (...but it does appear to be doing it properly).
Other things to consider:
- I have the Victron charge controller being used in parallel with the Growatt. The voltages need to be adjusted there as well, if you're using a second charge controller, to make sure you're not pushing the voltage on your DC bus over the Growatt's overvoltage or you'll likely see the same shutdown behavior for that as well. I adjusted my absorption voltage there so that the Victron is staying in absorption below where the Growatt seems to be floating and no load is coming off it, leaving the Growatt to do the work at that point.
- I don't think this Growatt charge controller has absorption logic built-in. The manual discusses it in the AC charger section, but I think it's just an example of how it works, lol. It's certainly not configurable and doesn't seem at all like it's doing it. You can simply set a bulk voltage and let it pull current till it gets there, then drop to constant voltage for float. The only way I could think of to force absorption would be to try to use the equalization settings for this, where you can set a voltage to equalize with a time to stop, but I'm not going there at this time. This also leads me to.....
- If you're using USE, please, PLEASE, make sure that you either have equalization disabled or at the very least have the voltage set no higher than 56.8. If you didn't have a BMS or had it misconfigured, that mistake could be no bueno.
Anyway, just thought I would share my observations and what I found to work. WAY more headache than Victron was, but this thing was 40% the cost of the Quattro 15000/48 and has another 120a charge controller, so....here we are.