diy solar

diy solar

JK BMS CAN bus comms now possible for inverters that support Goodwe and Pylontech batteries

Hi,

99% means charging is not complete. The canbus sends 100% only when the charging phase is completed when the status is EOC or Float.
on BMS it was 100% SOC why it not send to inverter via CAN?

we'll see what happens today. Within an hour there should be 100% SOC
 
Observations from running a JK-PB2A16S20P closed loop with SI5048 with Pylontech/Goodwe/Deye Canbus.

The JK has two 100% SOC's, one is from its Coulomb Counter where it uses the Amps and V counters to collect info for a calculator. Second is from one cell triggering Vol Cell RCV setting where there is an immediate reset to 100% SOC. Only the second 100% will slow down the charging rate, the JK seems to ignore the first 100% and still calls for charging at the normal rate until the 2nd 100% is reached, then the charging rate is reduced and if the PV is still available regulated to keep at this Voltage.

So maybe your Deye recognises that the first 100% cannot be 100% if the charging is still requested. Trouble is the JK BMS's seem to differ in how they handle depending on hardware and firmware, so it may just my board and firmware that operates in this way. My SI reports both types of 100% SOC as 100% but will allow full charging with first 100% and restrict charging on the second 100% as the battery pack is at 55.2V which is my target Voltage.

The Coulomb counter is inaccurate on my board even after calibrating V and A on the JK board, so glad the SI ignores the first 100% SOC.
 
Observations from running a JK-PB2A16S20P closed loop with SI5048 with Pylontech/Goodwe/Deye Canbus.

The JK has two 100% SOC's, one is from its Coulomb Counter where it uses the Amps and V counters to collect info for a calculator. Second is from one cell triggering Vol Cell RCV setting where there is an immediate reset to 100% SOC. Only the second 100% will slow down the charging rate, the JK seems to ignore the first 100% and still calls for charging at the normal rate until the 2nd 100% is reached, then the charging rate is reduced and if the PV is still available regulated to keep at this Voltage.

So maybe your Deye recognises that the first 100% cannot be 100% if the charging is still requested. Trouble is the JK BMS's seem to differ in how they handle depending on hardware and firmware, so it may just my board and firmware that operates in this way. My SI reports both types of 100% SOC as 100% but will allow full charging with first 100% and restrict charging on the second 100% as the battery pack is at 55.2V which is my target Voltage.

The Coulomb counter is inaccurate on my board even after calibrating V and A on the JK board, so glad the SI ignores the first 100% SOC.

In the case of using an ESP32 JK-BMS-CAN, the ESP32 and our software is the only component that communicates with the inverter. The 100% BMS is completely ignored, 100% is sent only at the end of the full charging process.
 
In the case of using an ESP32 JK-BMS-CAN, the ESP32 and our software is the only component that communicates with the inverter. The 100% BMS is completely ignored, 100% is sent only at the end of the full charging process.
Ok, ill let You know when i get 100% SOC - 280ah and 99% SOC on inverter. Yesterday i have 100% on BMS and 99% on inverter cannot end... it
 
Ok, ill let You know when i get 100% SOC - 280ah and 99% SOC on inverter. Yesterday i have 100% on BMS and 99% on inverter cannot end... it

If you use TimeOfUse you must at least have a time slot where you request a 100% charge otherwise you will never charge to 100%.

You can also try without TOU.
 
  • Quick react
Reactions: knd
If you use TimeOfUse you must at least have a time slot where you request a 100% charge otherwise you will never charge to 100%.

You can also try without TOU.
Ok im checked but without positive result - BMS SOC 100%, Deye SOC 99%

TOU set like this to try out
1714815091051.png
1714815108846.png
1714815129390.png
1714815151088.png

dont know what to do absorption offset have
1714815200916.png

dont know why when i have BMS balancing set to ON
1714815439969.png

status on BMS is OFF (wylaczono)
1714815458476.png

but charging status is
1714815488100.png

and is like this just after getting BULK - 54,2V

if i turn BMS BALANCE switch off this status changes to absorption. But nothing work still have SOC 99% with no end

I was trying with TOU set to OFF, and like You see with 100% on some time - no results still not ending charging
 
Last edited:
maybe i should change this code somhow?

Code:
canbus.send:
                    can_id: 0x355
                    data: !lambda |-
                      // Byte [00:01] : State of Charge (SOC)    (1 %)
                      // Byte [02:03] : State of Health (SOH)    (1 %)
                      // Byte [04:05] : SOC high resolution      (0.01 %)
                      // Byte [06:07] : Remaining total capacity (1 Ah) (Sofar)

                      uint8_t can_mesg[8];
                      uint16_t soc;
                      uint16_t soh;

                      // SOC - Sending 100% only at the end of the absorption phase
                      if (id(state_of_charge).state < 100) soc = id(state_of_charge).state;       // SOC < 100% => Sending BMS SOC
                      else if (id(eoc) == true) soc = 100;                                        // End Of Charge => Sending 100%
                      else soc = 99;
 
Ok im checked but without positive result - BMS SOC 100%, Deye SOC 99%

TOU set like this to try out
View attachment 213229
View attachment 213230
View attachment 213231
View attachment 213232

dont know what to do absorption offset have
View attachment 213233

dont know why when i have BMS balancing set to ON
View attachment 213237

status on BMS is OFF (wylaczono)
View attachment 213238

but charging status is
View attachment 213239

and is like this just after getting BULK - 54,2V

if i turn BMS BALANCE switch off this status changes to absorption. But nothing work still have SOC 99% with no end

I was trying with TOU set to OFF, and like You see with 100% on some time - no results still not ending charging

Wait a moment.

The EOC then Float status arrives when the equalization is completed.
 
Wait a moment.

The EOC then Float status arrives when the equalization is completed.
but how could be the end i have now like this

1714817532010.png

i dont know why charing status is "balancing" instead of "absorption" - this is when i have this option ON
1714817702327.png

with OFF charging status is "Absorption" now when is 54,5V is "wait" and discharging -10W to 54,2V (why it make 54,5V - 03, more than BULK)

1714817563242.png
 
Last edited:
OK now i have 100% SOC on DEYE and EOC status
1714818126035.png

i have turned OFF balance option on BMS
1714818157938.png

and Deye discharge from 54,5V to 54,2 and then from "wait" status changed to "EOC" and 100% SOC arrived.... so please tell me how to enable balancing with no issue like this? i cannot use balansing with 2A to get 100% SOC and charging is end?
 
  • Quick react
Reactions: knd
OK now i have 100% SOC on DEYE and EOC status
View attachment 213244

i have turned OFF balance option on BMS
View attachment 213245

and Deye discharge from 54,5V to 54,2 and then from "wait" status changed to "EOC" and 100% SOC arrived.... so please tell me how to enable balancing with no issue like this? i cannot use balansing with 2A to get 100% SOC and charging is end?

With switch balancing enabled, charging only ends when your cells are equalized.

Delta cell V. must be smaller than Balance Trigger V.
 
  • Quick react
Reactions: knd

You have a large delta cell V.

It is necessary to have the complete list of your parameters to analyze them.

The code has been tested, there is no need to modify it.

sure diff is large thats why I use BULK 54,2V but why with balance option ON charging dont END with EOC but still charging to 54,5V with small Watts.
 
sure diff is large thats why I use BULK 54,2V but why with balance option ON charging dont END with EOC but still charging to 54,5V with small Watts.

Because one of the end-of-charge conditions is that the equalization of your cells is completed, which is not the case.
 
  • Quick react
Reactions: knd
In addition, with a charging voltage of 54.2V, the cutoff amps is close to 0A, see the links cited above.
 
  • Quick react
Reactions: knd
With switch balancing enabled, charging only ends when your cells are equalized.

Delta cell V. must be smaller than Balance Trigger V.
Ok so if i have Balance trigger 0,003V and diff is 0,050V my charging status EOC will not appear till diff will be smaller than 0,003V?
 
Yes

0.003V is very low, default is 0.01V. I personally use 0.005V.
ok i'll try use this like 0,01V

can You explain me these settings
1714820951271.png

should I have these ON or OFF?

and I'd like to thank Your patience
 
Back
Top