Sleeper85 / esphome-jk-bms-can

GNU General Public License v3.0
64 stars 18 forks source link

Current control oscillation #34

Closed luckylinux closed 3 months ago

luckylinux commented 3 months ago

image

image

image

OVPR is set at 3.52 VDC: image

Detail of max cell voltage image

MrPabloUK commented 3 months ago

I can't quite see what your float voltage is in your screenshot above, can you confirm please?

luckylinux commented 3 months ago

Sure, I removed the overvoltage protection from the plots that are for single cells (much lower of course)

image

MrPabloUK commented 3 months ago

So at the time of the current oscillation, your float voltage was 56.1v, or 3.506v per cell?

luckylinux commented 3 months ago

So at the time of the current oscillation, your float voltage was 56.1v, or 3.506v per cell?

Yeah, I needed to raise it because otherwise it will never balance out ...

And until now bulk -> float transitioned immediately. I'll try to go to the garage and implement the new changes now ...

luckylinux commented 3 months ago

Now it's around 3.55 VDC for the cells that are on the high end. Still 3.39 VDC for the 2 remainining ones ...

MrPabloUK commented 3 months ago

With the following settings:

You end up with a curve like this: image

Those settings result in a request to reduce current 180A over 14mV. That's not realistic, even if it were linear then it'd be nearly 13A per mV.

You should set float back to 3.37v or so, expanding the range over which the current will be reduced. I know you've had issues keeping the charge state in bulk or balancing - my suggestion is to lower the balance trigger voltage to below 3.45v as previously stated. You can also increase OVPR to a higher value if needed. The changes mentioned in https://github.com/Sleeper85/esphome-jk-bms-can/issues/35 may also help.

luckylinux commented 3 months ago

But if I recalled correctly, previously (yesterday ?), this was also happening during Bulk, not only Float ...

MrPabloUK commented 3 months ago

The code for this feature uses the cell float voltage as the start point of current tapering. This is why I suggest setting your float voltage back to a more reasonable setting. Artificially increasing the float voltage in order to facilitate balancing shouldn't be necessary, assuming the balance trigger voltage is appropriately set.

luckylinux commented 3 months ago

I agree. Problem is that even though I properly balanced it 3 weeks ago, it unbalanced quite quickly since then (and I don't think I went above the required knee point of the charge characteristic, when there was no communication between Inverter and BMS).

MrPabloUK commented 3 months ago

For now, I'll close this issue out as the code itself is not causing the problem. Thanks for testing out an edge case!