Sleeper85 / esphome-jk-bms-can

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

Premature triggering of EOC #35

Closed luckylinux closed 3 months ago

luckylinux commented 3 months ago

Please note that Balancing is ON yet the ESP32 went into FLOAT charging status now.

image

Probably this happens because for a second or so (probably battery discharged for a few seconds) the cell voltage went below balance trigger voltage, due to the battery being discharged (either because of clouds or load step): image

image

MrPabloUK commented 3 months ago

@luckylinux, I have been testing a cycle / time threshold for triggering EOC, you can see the change to the code at https://github.com/Sleeper85/esphome-jk-bms-can/commit/d4f257c0c6f2087cd41c3afcfed662160467edf6

Please note that this is currently a 60 cycle threshold and this section of code is generally run once per second. This will not prevent EOC from being triggered if current reduction is due to generation or load changes if they last for more than this time.

MrPabloUK commented 3 months ago

Please note that this logic is liable to change in the future packaged version under development.

luckylinux commented 3 months ago

@luckylinux, I have been testing a cycle / time threshold for triggering EOC, you can see the change to the code at d4f257c

Please note that this is currently a 60 cycle threshold and this section of code is generally run once per second. This will not prevent EOC from being triggered if current reduction is due to generation or load changes if they last for more than this time.

But it's not merged in main branch yet (I assume this is in the development branch).

Please make it a configurable parameter. I think also chaosnature asked for a "wait at least X seconds before leaving bulk / top balance". I would put it to 15-30 minutes ...

MrPabloUK commented 3 months ago

You can see it in https://github.com/Sleeper85/esphome-jk-bms-can/compare/35-premature-triggering-of-eoc, applied to a single YAML for now.

If you can test the code first with the default 60 cycles, that would be appreciated. If required, you can then manually adjust this value - future code versions will likely have it as a parameter for user adjustment.

I would caution against a period as long as 30 minutes however, that will likely overcharge your cells as per the detail in https://nordkyndesign.com/charging-marine-lithium-battery-banks/.

luckylinux commented 3 months ago

OK so basically backport the "delta" into my version, got it.

What do you mean by "overcharge your cells" ? Isn't that how top balance works anyways ? And as long as all cells < 3.65 VDC it shouldn't overcharge ...

luckylinux commented 3 months ago

@MrPabloUK OK I implemented your changes in my file (including dynamic change possibilities via Home Assistant) now and reflashed: https://github.com/luckylinux/jk-bms-build-helpers/blob/main/esphome-jk-bms-can/esp32-ble-1.17.4.yaml

luckylinux commented 3 months ago

@MrPabloUK: What would happen if now, I disable BLE connection from ESP32 to JK BMS (concerning CAN Communication) ? Would it cause the inverter to trip (BMS_Err_Stop is SET now).

I'd consider changing the Balance Voltage to 3.43V as you suggested now, but I need to use the JK BMS APP for that.

MrPabloUK commented 3 months ago

Honestly, I don't know for certain. I use a wired connection as I don't quite trust BLE for this project. The change made in the previously mentioned branch may be released in the next sub-release, once it's been tidied up.

luckylinux commented 3 months ago

Question is ... If I were to implement multi BMS like Der_Hannes did, should I use this as a base or the development branch ?

MrPabloUK commented 3 months ago

Closing issue as feature has been added to V1.17.5