diy solar

diy solar

DIY 280AH battery JK BMS JK-PB2A16S20P Canbus to SMA 5048

So the si changes it's voltage settings based on the bms? That's very interesting.
Need to play around more to find out 100%, the JK is set to Goodwe Canbus so must find out what info that sends to the SI, if there is no voltage info then I must be wrong. The voltage reading the SI has on its display is what it measures itself as if I move the leads back to the lead acid battery it changes to that banks voltage.
 
Last edited:

According to this doc it does include the battery charge voltage.

CAN ID: 0x311
Byte 0 Battery charge voltage建议充电电压(CV)Unit: 0.1V Uint16, 2`s

Byte 1 complement

Byte 2 Charge current limit充电限流Unit: 0.1A Uint16, 2`s

Byte 3 complement

Byte4 Discharge currentlimit 放电限流Unit: 0.1A Uint16, 2`s

Byte 5 complement
Very nice .

How come you're using growatt protocol?
 
Just that is was on the JK, I knew the Pylontech was most likely to work so used that first and then just to see I tried Goodwe as I read somewhere that using Pylontech canbus then the data sent was the minimum. The SI did not object so I kept the setting.
 
Last edited:
Very cool that you seem to be making progress kommando. I hope to make the JK-PB2A16S20P BMS work with my Solark. But I don't find any posts from anyone who has.
 
Last edited:
For some reason I started to call Goodwe to Growatt. Its GoodWe Canbus I changed to after trying Pylontech. Have edited what I can to correct my posts.
 
Very cool that you seem to be making progress kommando. I hope to make the JK-PB2A16S20P BMS work with my Solark. But I don't find any posts from anyone who has.
Start with listing what Canbus protocols the Solark will work with and then the JK list (which does can added to as the firmware is developed) and see what matches.

My SI5048 uses SI6048US firmware so I looked for the compatible battery list, this included Pylontech. Pylontech was also on the JK list so I started with that combo. But SMA did the first inverter/battery canbus and Pylontech copied and simplified it, this Pylontech was then copied by others and modified. So you may find, as I did, that other Canbus protocol's will work. On the SI you look at the screen as you change the protocol on the JK, if it says within 30 secs the comms is down then you pick another. The only other issue is the cable where you need Can_L and Can_H to match up on both ends.
 
Start with listing what Canbus protocols the Solark will work with and then the JK list (which does can added to as the firmware is developed) and see what matches.

My SI5048 uses SI6048US firmware so I looked for the compatible battery list, this included Pylontech. Pylontech was also on the JK list so I started with that combo. But SMA did the first inverter/battery canbus and Pylontech copied and simplified it, this Pylontech was then copied by others and modified. So you may find, as I did, that other Canbus protocol's will work. On the SI you look at the screen as you change the protocol on the JK, if it says within 30 secs the comms is down then you pick another. The only other issue is the cable where you need Can_L and Can_H to match up on both ends.
Very cool. Please keep us updated on the progress.

So do you prefer having the closed loop comms over open loop so far?
 
So do you prefer having the closed loop comms over open loop so far?
Yes, but how much is down to the parallel change from Lead/Acid to Lithium is open to debate. As it is it is just sitting there unattended at 55V with intermittent clouds coming over the SI varying its output to suit. I kept my Raspberry Pi listening to MQTT and changed the settings, it still turns extra loads on but at 51htz not 50.2htz and turns them off at 54.6V not 52V. The battery is cycling between 99% and 100% and balancing is on at 100%. Tonight I will power the house from the battery and then go off grid tomorrow once I set the 3rd inverter, a Solax to respond to frequency shift by changing from UK to User defined grid settings. I will keep all the UK grid settings and add in starting frequency and % drop per 0.1 htz as 10%. Then when I do not have enough solar I can switch the grid back on and be UK compliant.
 
All working to plan so currently off grid and all inverters are being throttled to suit loads, battery was at 100% by 11.00am and is idling between 99% and 100%.

Tried Growatt Canbus, did not work and in 30 secs the SI took offence and gave Comms fault and stopped charging and disconnected from the PV inverters. Changed back to Goodwe and after 2 mins normal service resumed. I will try others later this week except for the Victron as its baud rate is 250K not 500K so will not work.
 
Another day, as PV started charging the battery was at 30% after overnight, 100% full battery by 2.30pm, SI does its frequency shift and battery stays steadfast at 55V until the sun disappears for too long and the discharge takes over. JK log shows no alarms so looks like the controls work. Adding another 15kw battery in June so can make it through more cloudy days before resorting to grid connection.
 
Added another inverters output to the JK BMS battery bank and the Sun came out, as soon as the 100% SOC threshold voltage set in the app was met the % SOC jumped from 93% to 100%. Have not turned on float so battery is being top balanced and neither the JK or SI has throttled the inverter input.
The balancing worked so dropped the target voltage on the JK to 3.45V per cell from 3.50V, the SI immediately increased its frequency and the charging stopped. Turned on a 600w load and the SI ramped the inverters up to 700w, reset the cell volts to 3.5V and full flow resumed. So the JK is controlling the SI as the target voltage set on the SI of 56.2V has never been reached.

Just checked the target voltage on the SI, its been dropped to 55v which it must have got from the JK at its set to 55.2V. The SI has started to frequency shift and the voltage is stable at 55.3V and then falls gently before the throttling eases off as a cloud goes over.
Hmm.....so SMA inverter continues to "float" the battery even after receiving SOC 100% signal from the BMS. Thus, the battery pack will have chance to be fully charged.

In Growatt inverter case, the moment BMS sends SOC 100% to the inverter, the charging stopped and there is no "float". Once the SOC drops below 95%, the charging resume again at with Requested Charge Voltage until 100%, rinse and repeat. Sigh......
 
It would float if I allowed it to, once the frequency gets to 51htz I automatically turn on extra loads, depending on the load vs PV output then the battery either discharges then when it drops to 54V I turn the load off. Or the PV matches or potentially exceeds the load in which case I seem to get a float condition where 100W to 200W is sent to the battery and its cycles between 99% and 100%.

After playing around with the cell V setting ie setting full to be 3.45 or 3.5 which equates to 55.2V or 56V for the full pack the SI actually sets the target Volts to 54.2V or 55V respectively. So the SI looks to drop a single V of the target voltage or the JK is sending the wrong volt target. I am sure I have read this somewhere before in Github comments, maybe the Sleeper85 code.
 
Found the ref to the 1V error


Final comment in the thread is

i have the sunny island running with the diy bms in the old code it was possible with the victron canbus settings

now(firmware 2023 02 14) it is possible with the pylontech canbus settings, victron settings are bit buggy now the si does not work with them

i dont know why but every voltage send from the bms to the sunny island the si will make it 1v less so if you want a charge voltage of 56v on the sunny island you have to transmit 57v from bms, looks like a bug in the sunny island.
tested with seplos bms same result so its not the diy bms that cause this issue

my sunny island has the actual firmware and is the new 13 model
maybe i should ask sma about this
So it is a problem even in the later models.
 
Last edited:
kommando, may I ask if your SMA inverter stop charging the battery the moment JKBMS SOC reached 100% even though the pack voltage hasn't reach 55.2V yet?
Finally got that situation today, the SI did not throttle back even at a premature 100% SOC sent from the JK, it only throttled back at 55.2V where I have my target V set.

Hardware Ver 15.1 Firmware 15.11
 
Kommando, thank you so much. You've helped me a ton. I have a couple 6048us inverters and five pb2a16s20p BMS units. This thread saved me so much time and heartache, because I got communication working right away!

Anyway, I do have a couple questions, just for clarity, if you don't mind:
1. The SI drops 1v. Because of this, I need to add .0625 to each of the voltage settings in the BMS? (.0625v*16s=1v)
For instance, I have 'Start Balance Volt' set to '3.45'. I would add 0.625, changing it to 3.5125? Same with Cell OVP, Vol. Cell RCV, SOC-100%, Cell OVPR, etc... Or is it just a single setting?

2. I have a regular cat6 ethernet cable connecting the first BMS to the SI. It seems the communication is working fine. However, do I still need to swap the Can_H and Can_L pins? Am I sending incorrect data right now?

Thanks again, your thread is well received!
 
@kommando

Do you know if the inverter will communicate via can with the sunny island and at the same time communicated with solar assistant?
 
Kommando, thank you so much. You've helped me a ton. I have a couple 6048us inverters and five pb2a16s20p BMS units. This thread saved me so much time and heartache, because I got communication working right away!

Anyway, I do have a couple questions, just for clarity, if you don't mind:
1. The SI drops 1v. Because of this, I need to add .0625 to each of the voltage settings in the BMS? (.0625v*16s=1v)
For instance, I have 'Start Balance Volt' set to '3.45'. I would add 0.625, changing it to 3.5125? Same with Cell OVP, Vol. Cell RCV, SOC-100%, Cell OVPR, etc... Or is it just a single setting?

2. I have a regular cat6 ethernet cable connecting the first BMS to the SI. It seems the communication is working fine. However, do I still need to swap the Can_H and Can_L pins? Am I sending incorrect data right now?

Thanks again, your thread is well received!

I only changed Vol Cell RCV to 56.2 / 16 ie 3.513, I kept all the others as was when I wanted 3.45v at my target V.

The float seems not to work, I suspect the JK is not changing the V target Vol Cell RCV when float is invoked so the SI still sees 55.2V (in my case) as the target. This may have to wait until the full SMA Canbus is on the JK.

Yes I now just use a std cable, no need to play around with the soldering iron. If you comms are fine leave as is.

I might just hack into my std Cat5e cable and break the unused wires just in case the JK decides to leak some current, I want my SI's safe.
 
Last edited:
Back
Top