Sleeper85 / esphome-yambms

Yet another multi-BMS Merging Solution
GNU General Public License v3.0
37 stars 3 forks source link

[JK-PB] Auto CCL and OVPR issue (Is correct that CCL=0.0A) #5

Open txubelaxu opened 2 weeks ago

txubelaxu commented 2 weeks ago

image

Originally posted by @txubelaxu in https://github.com/Sleeper85/esphome-yambms/issues/4#issuecomment-2453557685

Sleeper85 commented 2 weeks ago

Please read :

Max current

Requested values

Auto CCL function

Be careful, the Auto CCL function can have an impact on what is requested from your inverter. I advise you not to activate it to check that everything is working well.

Sleeper85 commented 2 weeks ago

Can you install the YamBMS dashboard and show me the part I have framed in pink?

image

txubelaxu commented 2 weeks ago

This is with jk-bms-can version (is the version I have running now): image

txubelaxu commented 2 weeks ago

image

Sleeper85 commented 2 weeks ago

This is with jk-bms-can version (is the version I have running now): !

Can you be more specific?

Are you talking about YamBMS version 1.4.5 ?

jk-bms-can is an old version for a single BMS.

Sleeper85 commented 2 weeks ago

How are the settings below set?

image

image

txubelaxu commented 2 weeks ago

This is with jk-bms-can version (is the version I have running now): !

Can you be more specific?

Are you talking about YamBMS version 1.4.5 ?

jk-bms-can is an old version for a single BMS.

esphome-jk-bms-can / development branch version 1.4.2
using --> multi-bms_JK-PB_RS485_mode2.yaml

image

Automatic Charge Current: ON Automatic Charge Voltage: ON Automatic DisCharge Current: ON

Sleeper85 commented 2 weeks ago

This is an old version, please use YamBMS 1.4.5

txubelaxu commented 2 weeks ago

Yes, I know. But it is the only version that does not restarts the system 1 time per 3 minutes. The YamBMS 1.4.5 restarts each 3 minutes and the inverters detects low battery, inverters' relays start "jumping" and sometimes the powersource goes down. Sorry, but the only stable for me is not the last one.

I would like to use the last one, of course. It is why I am debugging the code.

Sleeper85 commented 2 weeks ago

Ok then we will come back to this problem later.

txubelaxu commented 2 weeks ago

Yes, it was because the settings were wrong: I had activated "auto" settings.

Deactivating them, CCL that appears in Victron console is correct.

Sleeper85 commented 2 weeks ago

Normally Auto CCL reduces the current to 0 A only if max_cell_v reaches or exceeds the OVPR voltage you have configured in your BMS.

Maybe this shows an unbalanced battery or a very low OVPR voltage?

Auto functions doc

txubelaxu commented 2 weeks ago

I have to inspect with more detail. But I have a OVPR= 3.448V and all the cells are about 3.315V on both BMSs. Delta is < 0.005V

Sleeper85 commented 2 weeks ago

I have to inspect with more detail. But I have a OVPR= 3.448V and all the cells are about 3.315V on both BMSs. Delta is < 0.005V

Your OVPR is very low.

What is your bulk_cell_v?

I charge my cells at 3.45V my OVPR is 3.55V and my OVP 3.65V.

txubelaxu commented 2 weeks ago

Very low? ups! I follow Andy’s (Off-Grid Garage) recommendations/settings: https://off-grid-garage.com/my-settings/ image

Sleeper85 commented 2 weeks ago

I see and I don't know why he sets OVPR so low with JK-PB while it is much higher with his JK-B BMS. This doesn't make sense.

@MrPabloUK you confirm that having a lower OVPR value than the cell_bulk_v value is problematic for the Auto CCL function?

image

image

MrPabloUK commented 2 weeks ago

Yes, the logic for the AutoCCL will not work correctly if bulk voltage is higher than OVPR. It's not something I would expect to see, especially if the OVP value is set to 3.65v.

In this case, I would increase the value of OVPR to something like 3.60v, or even 3.55v if preferred.

Sleeper85 commented 2 weeks ago

Will be added in the doc.

[!IMPORTANT]
The Auto CCL function uses the OVPR value of your BMS which must be higher than cell_bulk_voltage to work properly. e.g. for LFP : CVL=3.45V / OVPR=3.55V / OVP=3.65V. The Auto DCL function uses the UVPR value of your BMS. e.g. for LFP : UVPR=3.00V

[!IMPORTANT]
The Auto CVL function uses the Balance Trig. Volt. value of your BMS. e.g. for LFP : BTG=0.010V

clowrey commented 2 weeks ago

Maybe the code could even send out an error if the value is higher? Users don't always read docs ;)

Sleeper85 commented 2 weeks ago

Maybe the code could even send out an error if the value is higher? Users don't always read docs ;)

Good idea ;-)

txubelaxu commented 2 weeks ago

If I am not wrong, in the JK-PB BMSs: OVPR cannot be higher than Bulk Voltage.

Sleeper85 commented 2 weeks ago

If I am not wrong, in the JK-PB BMSs: OVPR cannot be higher than Bulk Voltage.

Can you check it for us ?

MrPabloUK commented 1 week ago

If OVPR can't be set higher than bulk, I can adjust the code to reference the mean of OVPR and OVP. That should work ok for either type of JK BMS

txubelaxu commented 1 week ago

If I am not wrong, in the JK-PB BMSs: OVPR cannot be higher than Bulk Voltage.

Can you check it for us ?

Confirmed: You can see here explained --> https://youtu.be/eZX7CkEEq_8?si=6OH4QK2l22zRvXqQ&t=442

So, OVP > RCV > SOC100% > OVPR > UVPR > SOC0% > UVP > POFFV

Sleeper85 commented 1 week ago

Ok Thanks.

We will find another solution to do this.

@MrPabloUK is it possible to use the balance_trigger_voltage like you did for Auto CVL?

I'm trying to reduce the number of bms sensors needed (I added JDB and Seplos) and I removed OVP yesterday because it wasn't used in the code.

MrPabloUK commented 1 week ago

Yes, we could use balance trigger voltage. AutoCCL was originally designed to prevent cell voltage spikes at the end of charging, specifically to avoid hitting OVP.

There's no reason that the AutoCCL couldn't use cell-bulk_voltage + (10 * balance_trigger_voltage) as the upper threshold, for example.

In this case, that would be 3.45v + 0.10v = 3.55v (as standard). The multiplier could be configurable, but 3.55v gives enough headroom for momentary cell voltage spikes.

In my case, I use 3.53v as OVPR, so that would be a 8x multiplier. All very easy to adjust if a user requires.