• Have you tried out dark mode?! Scroll to the bottom of any page to find a sun or moon icon to turn dark mode on or off!

diy solar

diy solar

JK BMS V19 (19.10 firmware) UART 2 not correct on slave.

Hello everyone,

1. BUG v19 - I have the same problem as described above by some here. I had 5x delong hs51200 with pace-bms and changed all 5 to the new jk-bms v19. All are working great, but one is not showing up in parallel mode (actually slave 1, after 0 the master)! But this does not seem to affect the functionality. From my point of view, exactly as already reported here, all working bms have been set to uart2 protocol 001, only the one that doesn't work has some other protocol, which as you know cannot be changed or tricked manually.

In my case, I initially wanted to use this as the master. But then I changed the design of another one so that I could use the display further away externally, so I used the modified one as the master and the old master as slave1. But even changing to a different ID does not solve the problem. Even a downgrade to all versions from v19.02 to 19.10 did not solve the problem. Cable sets, communication board replaced as I wasn't sure whether it was the protocol ... no solution. But as I can read, I'm not the only one with this problem.

2. BUG v19 - short circus Alarm with discharge disabling at startup and go into loop. Really not nice. I mention this because i‘ve read others having same problem.

3. wishes:
- since i replaced my old bms, i would like to take over my old cycle count. BUT therefore it‘s needed to edit cycle count!
- display turning off after a certain time and wakes up by touch.

It would be nice if a FW update would solve the BUGs.

Otherwise I am extremely satisfied with what the BMS does. The Pace can only dream of. Please keep up the good work! Thank you in advance.
I AM also changing 5 Pace with v19 ... I already Changed 2 of them... One of them as the problem of uart2. The One with firmware 19.10.. the other with firmware 09 is working well
 
Mine is also on protocol 17 and it doesnt work as a slave only way i can get it to work now is with the rs485 port next to the can port
So uart-1 set to 001 and cable from uart-2 into here from master? And that works ? I trying to slave a v19 with 2-v15 just to try to salvage some hope this thing will work right without killing all my cells with this rebulk charge 3 times a day hold entire pack at 100% I’m ready to throw it out the window and stick another v15 in there
 
A friend had similar issues.
He reset the BMS to default using the blue reset button, but I don't have any info about the procedure, so just press the button.
 
Thank you for clarification.

See on my 2nd photo. I already did the connection UART 2-2 from the master to UART 2-1 of the slave.
And restarted the BMS several times.


1. On the "broken" BMS. If I set it to slave ID1 and connect the PC software to UART 2-1 or UAR 2-1 then i cant make any changes to the configuration. Is detected it in parallel mode as device 0
2. If I set the "broken" BMS to ID00 (Master) and connect an other slave to UART 2-1 or UART 2-2 it its detects the other slave.

It seems that this BMS is stuck to Master mode on UART-2 nevertheless ID 00 or ID 1-15

And I am not alone:
https://diysolarforum.com/threads/jk-bms-v19-broken-parallel-comms.110148/


If have to guess what causes the problem
May I did the firmware update when the PC was connected
to UART 1 and ID was set to 00 and now the internal config is broken.
hello! did you somehow manage to solve this problem? I'm in the same situation and I can't find an answer anywhere 😔😔😔
 
My first V19 which I updated to v19.10 had no problem. Second V19 with v19.10 firmware had this problem.

I played around for about an hour trying various setting sequence changes without success. I gave up and started to do some testing for shunt current measurement accuracy that took a few days during which the BMS was connected to a live battery array.

After doing the current calibration testing I decided to go back to the original problem of RS485 port operation. To my surprise the second BMS then worked fine on right side RS485 ports with full setup capability, not just status reading.

No explanation for this. Only thing I can think of is perhaps the backup battery in BMS may have been depleted when first arrived and after charging back up, the memory that it backed up then retained settings. For what it is worth ???
 
Hi guys , sorry to hijack a bit this thread .... I am trying to configure a Linux app to gather BMS data from all batteries and need to configure the V19 JK BMS also to talk RS485 with a waveshare device.
Now ... for the LOVE OF GOD .... Which port is UART1 , which is UART2 and which is UART3 ?
This is my "bench" setup and the JK documentation is AWFUL !!

Thanks in advance.
1759337084055.jpeg
1759337098996.jpeg
 
Ok , thanks.
Why would I be able to configure RS485-2 for Pylontech protocol ? ... it somehow does not make sense ?
 
Ok .. still confusing ... sorry :(
What I see is ...
If device is Master :
RS485-1 the UART2 Protocol changes automatically to RS485-Protocol 17.
If device is set to Slave the UART2 Protocol changes automatically to 01 JK BMS RS485 Modbus 1.

So if I only need to READ data from BMS , should I connect to Which port and leave device as Master or Slave ?

From PC with Windows I have no issues connecting via RS485.
 
the problem is not the port, but using the right protocol.
I’m using this to read the data via cable on rpi/home assistant.

 
I'm trying to combine BMS data from JK and Pylontech and make them talk to the inverter.
Made a 15S battery using Pylontech cells and JK BMS and I have 11 more Pylontechs and want to run them all as a pack.
Using this https://github.com/ai-republic/bms-to-inverter/ ... but seems to be pretty buggy and I don't think it actually supports V19.
 
Deye 12kw .. but I did not got to that part yet ... I am struggling with JK for past 2 days now with Ubuntu and Waveshare RS485. Tomorrow I get a Py and will try from Py also.
 
I do not understand your problem.
Pylontech cells have their own BMS?
Jk can communicate with Deye via Deye protocol on CAN port.
 
Hehehe , it's not a problem ... it's an experiment.
I have 11 Pylontech in a pack.
I took a Pylontech with failed BMS , replaced BMS with JK.
Now I want to use all this 12 batteries as a "Single pack". Can't have Pylontech and JK talk to inverter at the same time. So I need to gather SOC , SOH , voltage etc from all 12 , make ONE "string" of information and send to Deye.
 
I have the same problem with the UART 2 settings.

JKBMS V19 with Firmware V19.10
PC SW 3.2.0 @ RS485-1

Good BMS at ID0000(Master)
View attachment 323017

Good BMS at ID0001(Slave)
View attachment 323018


Bad BMS at ID0000(Master)
View attachment 323016


Bad BMS at ID0001(Slave)
View attachment 323015

As you can see the "broken" BMS shows in slave mode the wrong protocol and cant be operated as slave.
In master mode the protocol seems ok and the BMS can be used as Master

Seem like a firmware BUG.

On the PC Software and Android App the settings of UART 2 are greyed out and can not be changed by user.
Any ideas? Is there any way to do some kind of "factory" reset?

Things I tried:
- Downgrading FW to 19.05 and back to 19.10
How to resolve this issue ser? Experiencing same as yours
 
Connect to the rs485 port next to can via PC
Modbus id must be NOT 0.

Uart 2 protocol must be 015.
 
Connect to the rs485 port next to can via PC
Modbus id must be NOT 0.

Uart 2 protocol must be 015.
What do u mean by Modbus id must be not 0? Is it the dip switch id? So meaning master will be 1000, slave id 0100?
UART1 Protocol = 001 JK BMS RS485
UART2 protocol = 015 Jk LcD
How to change UART2 Protocol? It is greyed out.
Is my UART and UART 2 correct?
So battery to battery comms cable will be connected to the RS485 port beside the CAN port? For both batteries?
Appreciate your help ser. Thanks
 
ModbusID is selected via dip-switches.
For the master battery, I reserve the Modbus ID 0 (for running) and 1 (for PC app settings)
Modbus ID = 0. Other values = slaves.
When the Modbus ID is 0, the PC app will not function to modify the settings.

My second battery has the Modbus ID = 2.
If the Modbus ID is different from 0 => slave battery => UART2 protocol is fixed to 015 for communications between batteries).
You use the UART 2 (the two ports on the right, NOT close to the can) to connect the batteries.
 
ModbusID is selected via dip-switches.
For the master battery, I reserve the Modbus ID 0 (for running) and 1 (for PC app settings)
Modbus ID = 0. Other values = slaves.
When the Modbus ID is 0, the PC app will not function to modify the settings.

My second battery has the Modbus ID = 2.
If the Modbus ID is different from 0 => slave battery => UART2 protocol is fixed to 015 for communications between batteries).
You use the UART 2 (the two ports on the right, NOT close to the can) to connect the batteries.
Ser Modbus ID = 2 means dipswitch is 1100 isnt it?
 

diy solar

diy solar
Back
Top