diy solar

diy solar

BMS protocol and read-out

Protocol looks like its the same as my BSLBATT 100ah rack battery.
BMS is PACE, RS-232 doc attached. I created a simple esphome project to extract the data.
This guy made a python script: https://github.com/Tertiush/bmspace
Is it possible for you to share your esphome project? The script is good but i can't connect battery to HA via usb, I'd like to connect it via esp32.
Thank you
 
Hello,
based on information from this forum i created a simple python script that controls my boilers and disconnects the panels when everything is fully charged. All I need is to read the current from the battery and the SOC. I'm calculating checksums etc, someone might appreciate. Running on Armbian and NanoPI neo.
Everything is in progress :)
Python:
# BMS communication script

[/QUOTE]
[QUOTE="petrmaje, post: 746274, member: 77882"]
Hi, i developed a Script based on your code that can turn on switchable sockets if the SOC is high.
I hope its OK i created a Github Project. https://github.com/christian1980nrw/DR-JC03-RS485-Switcher/tree/main
Regards Christian
 
Last edited:
Hi, can you please share your pinout of rs485 connection from battery to inverter please?
Thank you very much
Hi. I have two of these batteries connected to each other via a RS485. Battery one is connected via a RS485 (RS485 to USB) to my Orange Pi3 which is running Solar Assistant Software. The Orange Pi3 is connected via USB out to Micro USB directly into my Voltronic Axpert Inverter.
I get excellent data from the Solar Assistant Software. The only issue I have is that the SOC readings on the two Batteries differ from each other even though they are linked and show exact the same Cell Voltage.
I am messing around with the "C Coefficient" in the calibration tables to try and get similar readings.
 
Hi. I have two of these batteries connected to each other via a RS485. Battery one is connected via a RS485 (RS485 to USB) to my Orange Pi3 which is running Solar Assistant Software. The Orange Pi3 is connected via USB out to Micro USB directly into my Voltronic Axpert Inverter.
I get excellent data from the Solar Assistant Software. The only issue I have is that the SOC readings on the two Batteries differ from each other even though they are linked and show exact the same Cell Voltage.
I am messing around with the "C Coefficient" in the calibration tables to try and get similar readings.
I think the SOC display is a bit buggy with these batterys, especially if a full cycle is a bit ago.
You should ask your dealer if you have the latest firmware.
With older firmwares there was also a bigger SOC-Jump.
But even with latest software, I think its better to work with the voltages.
 
I think the SOC display is a bit buggy with these batterys, especially if a full cycle is a bit ago.
You should ask your dealer if you have the latest firmware.
With older firmwares there was also a bigger SOC-Jump.
But even with latest software, I think its better to work with the voltages.
I added a Coulomb Counter a couple of months ago and the Battery AH and Coulomb Counter are reporting a very similar AH Value. I had been using the Coulomb Counter SOC rather than the Battery SOC but I am getting there slowly by altering the C Coefficient values on each individual Battery.
 
Hi, i developed a Script based on your code that can turn on switchable sockets if the SOC is high.
I hope its OK i created a Github Project. https://github.com/christian1980nrw/DR-JC03-RS485-Switcher/tree/main
Regards Christian
Hi,

I am step forward too :) I did mistake to control things on SOC value, you know already... Next important thing is to remeber last valid SOC/Voltage in case that received packet has right checksum but is related to different query ... You know already :) Thanks for your code on Github!

Regards Petr
 
Hi,

I am step forward too :) I did mistake to control things on SOC value, you know already... Next important thing is to remeber last valid SOC/Voltage in case that received packet has right checksum but is related to different query ... You know already :) Thanks for your code on Github!

Regards Petr
It still has to be researched and figured out how to use this BMS to get alarms from, charge cycle history and charge current control management (CCCM). I have two different batteries and one is readable, the other not out of unknown reasons, i am still testing. The readable one shows "DR-POWER" at the display under "BMS-version", the other one DR-JC03.
At my last script version, i put all the connections-strings of the chinese original software into an array (i was logging it).
In case of getting a invalid reply, the next element of the array will be used until valid data will be received.
'~22014A42E00201FD28\r',
'~22014A4D0000FD8E\r',
'~22014A510000FDA0\r',
'~22014A47E00201FD23\r',
'~22014A42E00201FD28\r'

Regards Christian
 
Last edited:
It still has to be researched and figured out how to use this BMS to get alarms from, charge cycle history and charge current control management (CCCM). I have two different batteries and one is readable, the other not out of unknown reasons, i am still testing. The readable one shows "DR-POWER" at the display under "BMS-version", the other one DR-JC03.
At my last script version, i put all the connections-strings of the chinese original software into an array (i was logging it).
In case of getting a invalid reply, the next element of the array will be used until valid data will be received.
'~22014A42E00201FD28\r',
'~22014A4D0000FD8E\r',
'~22014A510000FDA0\r',
'~22014A47E00201FD23\r',
'~22014A42E00201FD28\r'

Regards Christian
I have "DR-POWER" version. I had problem with communication too, after some time It become unreadabe. I spoke with chinese support, they was on teamviewer with my PC, tried everything, no result. As a angry old man I tried to set DIP switches to every possible state and after that, when I setup address1 back, It starts to talk with my PC again :) You can try It. These Chinese also uploaded a BIN software for the battery to my PC, I never tested, but I can share.
Petr
 
I have "DR-POWER" version. I had problem with communication too, after some time It become unreadabe. I spoke with chinese support, they was on teamviewer with my PC, tried everything, no result. As a angry old man I tried to set DIP switches to every possible state and after that, when I setup address1 back, It starts to talk with my PC again :) You can try It. These Chinese also uploaded a BIN software for the battery to my PC, I never tested, but I can share.
Petr
Yes, please share it. How old is the file? Christian
 
Hello all, I’ve got 2 batteries with the DR1363 software. (DR-JC03 16S 100 V2.0.1T1_G). The Chinese supplier changed some values. And I am curious what the setting of the users here are. The battery gave a OV-warning (over voltage warning). Can someone share a screenshot of the settings page on the software? Thanks a lot
Hello,
I have OV-warnings too, due to the unballanced cells. When battery is nearly fully charged, cell voltage differencies grows up rapidly and the first cell, which reaches 3600mV causes the alarm. I didn find way, how to balance the cells, so I am disconnecting solar panels when highest single cell voltage is >3550mV. BMS setting in attached files.
Regards Petr
 

Attachments

  • BMS_parameters_2.png
    BMS_parameters_2.png
    192.2 KB · Views: 156
  • BMS_parameters.png
    BMS_parameters.png
    193.6 KB · Views: 151
Hello,
I have OV-warnings too, due to the unballanced cells. When battery is nearly fully charged, cell voltage differencies grows up rapidly and the first cell, which reaches 3600mV causes the alarm. I didn find way, how to balance the cells, so I am disconnecting solar panels when highest single cell voltage is >3550mV. BMS setting in attached files.
Regards Petr
I have got the same problem, but if i use maximum charging voltage of 55.2V the alarms are only seldom and it is charging up to 99-100%.
I think it needs some months until it is balancing the cells itself.
 
I have got the same problem, but if i use maximum charging voltage of 55.2V the alarms are only seldom and it is charging up to 99-100%.
I think it needs some months until it is balancing the cells itself.
I used 55.1V before. I am getting control on single cell voltage now and I can reach 56V sometimes. Everything depends on charging current, which is not predictable.
 
I've set mine at 53.9v because of the big variation in each cells. I am clueless how to manage this BMS parameter.
 
I've set mine at 53.9v because of the big variation in each cells. I am clueless how to manage this BMS parameter.
53.9V is too low, you can not reach full charge/or you must charge so slowly. I have no idea, how is this done in profi-made controllers, check log from my home-made controller. Everything is changing with different current, cell variation etc.

Code:
root@nanopineo:/var/log# grep overvoltage syslog | cat
Jun 18 12:23:05 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.29V 40.81A 96.69% due to single cell overvoltage 3552mV
Jun 18 13:33:59 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.35V 40.11A 96.32% due to single cell overvoltage 3563mV
Jun 18 14:30:38 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.21V 33.35A 96.2% due to single cell overvoltage 3554mV
Jun 18 16:01:52 nanopineo vyvoj4_sunset.py: SOLAR OFF: 54.91V 21.95A 97.27% due to single cell overvoltage 3551mV
Jun 19 15:42:36 nanopineo vyvoj4_sunset.py: SOLAR OFF: 54.89V 24.81A 97.47% due to single cell overvoltage 3551mV
Jun 20 12:48:57 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.35V 40.52A 97.94% due to single cell overvoltage 3563mV
Jun 20 15:23:51 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.04V 27.15A 97.71% due to single cell overvoltage 3554mV
Jun 20 18:24:11 nanopineo vyvoj4_sunset.py: SOLAR OFF: 54.28V 3.64A 99.89% due to single cell overvoltage 3551mV
Jun 21 12:02:01 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.13V 38.81A 96.52% due to single cell overvoltage 3554mV
Jun 21 14:48:34 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.2V 40.59A 95.42% due to single cell overvoltage 3553mV
Jun 22 13:50:00 nanopineo vyvoj4_sunset.py: SOLAR OFF: 54.87V 21.28A 96.78% due to single cell overvoltage 3553mV
Jun 22 14:42:08 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.17V 32.76A 96.04% due to single cell overvoltage 3552mV
Jun 24 14:44:41 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.07V 29.3A 96.67% due to single cell overvoltage 3553mV
Jun 24 16:59:36 nanopineo vyvoj4_sunset.py: SOLAR OFF: 54.73V 14.7A 97.44% due to single cell overvoltage 3553mV
Jun 25 13:47:10 nanopineo vyvoj4_sunset.py: SOLAR OFF: 54.83V 16.97A 96.94% due to single cell overvoltage 3558mV
Jun 25 14:19:41 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.53V 39.89A 96.48% due to single cell overvoltage 3566mV
Jun 25 16:03:49 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.21V 30.49A 95.96% due to single cell overvoltage 3558mV
Jun 25 16:58:25 nanopineo vyvoj4_sunset.py: SOLAR OFF: 54.98V 23.84A 96.27% due to single cell overvoltage 3556mV
Jun 26 11:40:03 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.41V 33.91A 95.93% due to single cell overvoltage 3552mV
Jun 26 13:01:30 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.3V 36.47A 94.99% due to single cell overvoltage 3552mV
Jun 26 14:12:55 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.26V 36.13A 94.73% due to single cell overvoltage 3554mV
Jun 26 15:18:57 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.15V 32.42A 94.71% due to single cell overvoltage 3554mV
Jun 26 17:12:55 nanopineo vyvoj4_sunset.py: SOLAR OFF: 54.72V 14.59A 97.74% due to single cell overvoltage 3552mV
Jun 27 12:34:32 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.09V 39.81A 95.5% due to single cell overvoltage 3553mV
Jun 27 13:18:50 nanopineo vyvoj4_sunset.py: SOLAR OFF: 54.75V 17.3A 98.1% due to single cell overvoltage 3553mV
Jun 27 16:54:51 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.12V 23.58A 96.65% due to single cell overvoltage 3558mV
Jun 28 14:52:38 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.52V 42.78A 94.66% due to single cell overvoltage 3555mV
Jun 28 17:25:50 nanopineo vyvoj4_sunset.py: SOLAR OFF: 54.96V 16.12A 97.63% due to single cell overvoltage 3554mV
Jun 29 11:43:39 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.34V 34.39A 95.89% due to single cell overvoltage 3556mV
Jun 29 13:50:32 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.48V 39.92A 94.76% due to single cell overvoltage 3552mV
Jun 29 15:41:04 nanopineo vyvoj4_sunset.py: SOLAR OFF: 55.2V 30.16A 95.45% due to single cell overvoltage 3551mV
 
Hello,
I have OV-warnings too, due to the unballanced cells. When battery is nearly fully charged, cell voltage differencies grows up rapidly and the first cell, which reaches 3600mV causes the alarm. I didn find way, how to balance the cells, so I am disconnecting solar panels when highest single cell voltage is >3550mV. BMS setting in attached files.
Regards Petr
Hello, this is a MOST useful thread. I have two 48V (nominal) 3 kWh batteries, working well but also throwing over voltage alarms when getting 100% charged (cell voltage difference goes up to ~200 mV, over volt protect activates and voltage difference rapidly drops to 50mV or less).

I have exactly the same monitoring program as shown in the pictures.

a) I have now changed the Cell Voltage alarm voltage to 3550 mV and the over voltage protect to 3600 mV. Is this a good setting?
b) I would also like the batteries to charge to ~98% or so - how can I achieve this please?

My protocol version shows DR-1363 so I assume that is the same as the Pylontech?

Thanks!
 
I used 55.1V before. I am getting control on single cell voltage now and I can reach 56V sometimes. Everything depends on charging current, which is not predictable.
Hello, please where do you set the maximum charging voltage? Thanks!
 
I have got the same problem, but if i use maximum charging voltage of 55.2V the alarms are only seldom and it is charging up to 99-100%.
I think it needs some months until it is balancing the cells itself.

I had the same issue. China engineer told me to set this value here:
Parameters / Other / Standby Balanced / Starting V

I set: 3350 and I'm waiting for sun to see if it helps


Cell balancing 1.png
 
I have two LiFePO4 48V 100Ah 5120Wh from AliExpress connected to Solis RHI-3K-48ES-5G 3kW
First, I bought one battery and six months later I bought second battery.
First battery came with Ver: DR-SAIENSI01 16S100 -V1.0.3T1_G
Second battery came with Ver: DR-SNS09 16S100JC11-V1.2.1T3

First battery had different set of cables in COM RJ45 head than second battery.

1689011561933.png

Also, first battery works on baud rate: 19200
Where, second battery works on baud rate: 9600
---To fix baud rate (to have both batteries on 9600), I installed .bin config on first battery.

#Battery 1:
Ver: DR-SAIENSI01 16S100 -V1.0.3T1_G (before .bin upgrade)
Ver: DR-DR01 16S100JC03-V2.0.0T1_V (after .bin upgrade)

Product Info: 2.2
Hardware model: T1_V
Product model: DR01
Project code: 16S100JC03
Software version: 2.0.0
Boot version: 1.1


#Battery 2:
Ver: DR-SNS09 16S100JC11-V1.2.1T3

Product Info: 2.2
Hardware model: T3
Product model: SNS09
Project code: 16S100JC03
Software version: 1.2.1
Boot version: 2.2


Please find attached .bin upgrade file: DR-DR01 16S100JC03-V2.0.0T1_V.7z

Application which I used to connect was: DR22.07.06
DR22.04.13 – did not work for me (was not able to see any COM ports in my laptop)
Also attached.


---To connect two batteries I made custom cable (normal computer ethernet cable did not work for me):

1689011679139.png

Laptop with DR_App connected to Battery_1
Battery DIP settings:
Battery_1 DIP 1-6 OFF
Battery_2 DIP 1 ON, DIP 2-6 OFF
In my case, custom RJ45 cable work only in one way. RJ45 Side_A connected to second battery, Side_B connected to first battery.

1689011738296.png

Inverter cannot work with DR_App at the same time.
Inverter: Solis RHI-3K-48ES-5G 3kW connected to Battery_1
Solis battery selection: Pylon LV (Pylontech)
Battery_1 DIP 1-5: OFF, DIP 6: ON
Battery_2 DIP 1: ON, DIP 2-6: OFF

The result of two batteries in Solis inverter:
If your 1st battery is charged at 100%
your 2nd battery is charged at 50%
Inverter will see it as: 75%
 

Attachments

  • DR22.07.06.7z
    2.8 MB · Views: 51
  • DR-DR01 16S100JC03-V2.0.0T1_V.7z
    5 MB · Views: 82
Last edited:
Hi,
I also have two of these 100 Ah batteries, and I have similar problems as the ones described here.
One of the main problems I have is that the batteries don't detect charging under 1 Amp - and cell balance (when it happens) only works when the BMS detects that there is a charge.
This way, if I try to slowly charge the batteries to force balance, as the amps slowly go down, there is a point that the batteries stop detecting charge, and the balance stops. This way, and since one of the batteries have cells severely unbalanced, I can't properly top balance them.
So:
1) Does any one knows how to force balance even when the battery is not charging (I've seen other BMS allowing balance when charging and when discharging)?
2) Is there a workaround to force the read of the charging process when under 1 Amp?

My inverter (Growatt Hybrid SPH 3000) doesn't allow me to manually input charging parameters, and there are several days when the BMS has to kick in to protect the batteries.

Thanks,
 
I have two LiFePO4 48V 100Ah 5120Wh from AliExpress connected to Solis RHI-3K-48ES-5G 3kW
First, I bought one battery and six months later I bought second battery.
First battery came with Ver: DR-SAIENSI01 16S100 -V1.0.3T1_G
Second battery came with Ver: DR-SNS09 16S100JC11-V1.2.1T3

First battery had different set of cables in COM RJ45 head than second battery.

View attachment 156753

Also, first battery works on baud rate: 19200
Where, second battery works on baud rate: 9600
---To fix baud rate (to have both batteries on 9600), I installed .bin config on first battery.

#Battery 1:
Ver: DR-SAIENSI01 16S100 -V1.0.3T1_G (before .bin upgrade)
Ver: DR-DR01 16S100JC03-V2.0.0T1_V (after .bin upgrade)

Product Info: 2.2
Hardware model: T1_V
Product model: DR01
Project code: 16S100JC03
Software version: 2.0.0
Boot version: 1.1


#Battery 2:
Ver: DR-SNS09 16S100JC11-V1.2.1T3

Product Info: 2.2
Hardware model: T3
Product model: SNS09
Project code: 16S100JC03
Software version: 1.2.1
Boot version: 2.2


Please find attached .bin upgrade file: DR-DR01 16S100JC03-V2.0.0T1_V.7z

Application which I used to connect was: DR22.07.06
DR22.04.13 – did not work for me (was not able to see any COM ports in my laptop)
Also attached.


---To connect two batteries I made custom cable (normal computer ethernet cable did not work for me):

View attachment 156755

Laptop with DR_App connected to Battery_1
Battery DIP settings:
Battery_1 DIP 1-6 OFF
Battery_2 DIP 1 ON, DIP 2-6 OFF
In my case, custom RJ45 cable work only in one way. RJ45 Side_A connected to second battery, Side_B connected to first battery.

View attachment 156756

Inverter cannot work with DR_App at the same time.
Inverter: Solis RHI-3K-48ES-5G 3kW connected to Battery_1
Solis battery selection: Pylon LV (Pylontech)
Battery_1 DIP 1-5: OFF, DIP 6: ON
Battery_2 DIP 1: ON, DIP 2-6: OFF

The result of two batteries in Solis inverter:
If your 1st battery is charged at 100%
your 2nd battery is charged at 50%
Inverter will see it as: 75%
I Have the same problem .... 2 pieces of 100Ah flashed with the victron Firmware 16S100JC03-V2.0.0T1_V and run 2 Month ..... the third Pack is the Same problem.... other pinout rs485 cable and other display and version SNS09-16S100JC11V1.2.1-T3


I Make a ticket on Papool Shop now.
 
Hello, this is a MOST useful thread. I have two 48V (nominal) 3 kWh batteries, working well but also throwing over voltage alarms when getting 100% charged (cell voltage difference goes up to ~200 mV, over volt protect activates and voltage difference rapidly drops to 50mV or less).

I have exactly the same monitoring program as shown in the pictures.

a) I have now changed the Cell Voltage alarm voltage to 3550 mV and the over voltage protect to 3600 mV. Is this a good setting?
b) I would also like the batteries to charge to ~98% or so - how can I achieve this please?

My protocol version shows DR-1363 so I assume that is the same as the Pylontech?

Thanks!
ad a) You don't need to change battery parameters. Settings from factory is generally good. Evereyhing is about setup of your charger, which should avoid cell overvoltage/battery overvoltage.
ad b) same answer as ad a) You should setup of your solar charge controller the way, which will not cause OV alarm any more. I am using cheap controllers, which can not communicate with battery. I designed small device, which read battery status every 5s and in case of near overvoltage disconnect the solar panels. The code is in this thread, you can use raspberry pi or similar small device to do this job. I am 100% happy with this solution up to now.
 

diy solar

diy solar
Back
Top