Nami……请不要告诉我们JK团队从未使用Growatt/Luxpower/Voltronic逆变器测试过BMS。For the SOC control logic of the inverter, the protocol of the inverter needs to be analyzed again,
We used cerbo before,
Then raspberry 。
Now the inverter is used for debugging,
View attachment 242604
solved yet?I'm trying to update one of my JK Inverter BMSs from v15.29 to v15.30 but when I try and update, the progress bar stays at 0% then the BMS hangs and reboots by itself. Has anyone seen this issue before and what's the solution? I updated another BMS yesterday without an issue so it doesn't appear to by my RS485 adapter or wiring.
Here's a video of the issue:
Edit: Tried a forced update with the same results. Update fails to start, BMS hangs then reboots by itself
Video of the forced update attempt here:
SOC stating that it has reached 100% when ALL cells are at 3.385 (NOT 3.450 as SET in the Control Panel of the BMS) IS a problem (for anyone relying on the SOC to AIO interface for charging management).
Well said.BOTTOM LINE, is JK is STILL BUSTED and the SOC Values displayed/present by the BMS are TRASH and useless.
I am going to try the SOC fixer solution from the forum here@Nami. Thank you for you help with this discussion.
Just a thought. It sounds like sometimes it is difficult to get the correct SOC. There appear to a a number of reasons which have already been mentioned. A number from members with a lot more experience than me. They have also mentioned solutions which I hope to see in the next software release.
Thank you for updating the software. Looking forward to this.
Wondering if it might be possible to give the user the chance to update the SOC value themselves? JK could continue to fix this so it is not necessary. However if someone experienced drift they could update the number itself manually and then continue from there. They could continue to communicate with you so that this would not be needed in the future.
A good point. Since this thread is quite long, perhaps repeating the concerns you have noted here might be helpful so that @Nami can see it better?Can we just get significant bugs fixed first before we start arguing about exactly how to get 100% SOC.
IRONICALLY, the SOC Issues is far simpler to fix and without distractions.
Use the Avg.Cell Voltage as the trigger for transition. When AVG. Cell Voltage reaches 100%, send Transition to FLOAT MODE signal to External Charge Device (AIO or SCC's etc)
! When Pack reaches 100% @ AVG.Cell.Voltage it does not matter what the Cell Differences are because Active Balancing will clean it up while taking Variable Current from Float Mode, to fully balance out & top off cells in the battery pack.
We KNOW what the user sets as 0% and what they set as 100%, these are set by user in the BMS.
Assume that 0% = 2.800 and that 100% = 3.450.
That provides a spread of 650 Millivolts. 650mv ÷ 100 = 0.0065 for every 1%
20% = 0.130V 2.800+0.130 = 2.930V
50% = 0.325V 2.800+0.325 = 3.125V
75% = 0.4875V 2.800+0.4875 = 3.2875V
For CLARITY: There is only ONE WAY to determine SOC of ANY Lithium Based Battery Pack and that is Cell Voltage status. THAT'S IT, THAT'S ALL ! You cannot measure electrolytes, acids or any other things related to any other chemistry. It is just that SIMPLE ! This is how EV's & Others do it as well. Coulomb Counting is Fine but NOT Accurate as there are losses in Both Directions and the losses are next to impossible to factor in with DIY systems. An EV Battery Pack for example is a Fixed Known product (cells and all components within) and the Manufacturers have total control on components and can factor in losses for "specific" devices as used. For DIY ESS Systems Coulomb Counting provides a good "approximate" view of how much energy is going In/Out BUT it does not count the losses. Additionally, ANY BMS doing Coulomb Counting is only as accurate as the Hardware it uses and if it cannot register voltage down to 0.010V or below 1A (in or out) cannot every be accurate if it uses those values.
Active Balancing OPTIMIZATION ! (TIP for users)
Do not begin Active Balancing too low, it will slow charging & ultimately balancing will not be optimal. It is best to have Active Balancing start at 50mv below the FLOAT Voltage. If you FLOAT @ 3.450, start Active Balancing at 3.400 and observe that, it can likely be tweaked down to just 20MV below Float Voltage. This depends on your cells and their health condition. Starting Active balancing too early will only lengthen the process and may actually interfere with reaching full 100%.
same, i have spare esp8266 and mx3485 in a drawer. That may be a temporary solution untill firmware be fixed for accuracy and can communication.I am going to try the SOC fixer solution from the forum here
Well there are exceptions, like the non liquid cooled Nissan leaf...which is basically what the modern outdoor heated but not cooled enclosures seem to be to me.ALSO - MOST IMPORTANTLY, All EV's have TRUE A-Grade Premium Cells which are all Matched to as close to perfect as possible. Measure a cell voltage & IR at "any" point within a pack and guess what, they will be within 0.001 deviations of each other and exactly the same IR and that is NOTHING you will see from the Batteries we use here. That is another reason why their packs are so costly and "everyone" seems to skip acknowledging that, that is REALITY so grasp it & hold onto it.
The average value is calculated by the formula total voltage/number of elements, it is very primitive.JK can easily correct to the Generic LFP States & Values.
They can use the Cell Average Volt to determine when 100% is achieved instead of having 1st cell reach target 100% setting.
Once AVG Cell Volts = 100% SOC Setting, Transition to FLOAT and send the appropriate signal to COMMS.
The Activa Balancing internally can take up the job it has to do, tidy the top, and balance it all out to the Float Voltage setting.
They (JK SW) does not see the Cell's IR, The IR it is reporting per cell is the wire resistance, not the measure of the cells internal IR.The average value is calculated by the formula total voltage/number of elements, it is very primitive.
In JK, there is a calculation of the voltage of each element according to its internal resistance, which is much more accurate than the average value.
In total, it is enough to replace the threshold of 100% with the intersection of the last link of this threshold in the SOC 100% calculation. This will mean that the entire battery reaches the level of balancing and charge.
JK is very close to the correct result, one step away.
Yup, which is why the protocol from Pylontech CAN-Bus-protocol-PYLON-low-voltage-V1.2-20180408 mentions :Number one issue with SoC accuracy is current measurement accuracy. It is not so easy to keep accuracy over a wide dynamic range of current from a few amps to over 100 amps. BMS also has to deal with positive and negative currents with zero crossing errors due to tolerance and drift in DC offset voltage amplification of current shunt voltage.
Second issue is not resetting full charge 100% reference often enough to wash out the accumulated amp-secs errors due to #1 issue of current measurement accuracy. User has to take some of the responsibility for this.
You would think 'time' accuracy should be good due to microcontroller crystal control of timing, however microcontroller sleep mode duty cycling to reduce average BMS current drain can corrupt amp-sec summation if not done properly.