diy solar

diy solar

JK BMS Device Address for Multiple BMS's on a Single RS485 adaptor?

Alarchist

New Member
Joined
Aug 15, 2023
Messages
124
Location
London, UK
Hi,

Does anyone know if the newer firmware JK's that allow device address setting can be used to attach multiple BMS's to the same RS485 to USB adaptor?

@Nami ?

I'm not sure if this setting would only be for the RS485/CAN port or hopefully also the GPS (TTL) port?

If the address setting also works on the GPS port then we could use a single RS485 to USB adaptor for:

(Device Address 1) JK-BMS GPSPort > JK RS485 Adaptor \
(Device Address 2) JK-BMS GPSPort > JK RS485 Adaptor > 1 x RS485 to USB > USB to Victron CERBO with dbus-Serialbattery driver?
(Device Address 3) JK-BMS GPSPort > JK RS485 Adaptor /

Screenshot_20231217-120947.png
Screenshot_20231217-121023.png

Screenshot_20231217-121035.png
 
Last edited:
Don't have a JK BMS but have a few items using RS485 all connected to one bus. So if it is enabled then :-

RS485 only works where every connected item has a different Device addr, so set each item you want on the RS485 bus to a different Device addr in the range 1 to 255. Your master that has the USB adaptor should then see each item separately identified by the Device Addr.

If your master is a PC then this is the best RS485 sniffer, the data collected should differ when you change the Device address its set to sniff.


Note the requirement to have Java installed too.
 
Each BMS will require a converter to USB, 1 USB port per BMS and then you select which USB port the computer reads.
More info here:

Parts you will need more or less.
Purchase a 10 Port USB 2.0 High Speed HUB External with Power Adapter and Cable and USB TTL UART Converter Cable PL2303TA Windows XP to 10 which will let me use the RS485 from the BMS' directly with JST-1.25mm 4 pin connectors.

If you are using a RASPI or similar SBC it's better to have an externally powered USB hub.
 
Each BMS will require a converter to USB, 1 USB port per BMS and then you select which USB port the computer reads.
More info here:

Parts you will need more or less.
Purchase a 10 Port USB 2.0 High Speed HUB External with Power Adapter and Cable and USB TTL UART Converter Cable PL2303TA Windows XP to 10 which will let me use the RS485 from the BMS' directly with JST-1.25mm 4 pin connectors.

If you are using a RASPI or similar SBC it's better to have an externally powered USB hub.
Thanks for the links.

That's for directly using UART TTL from the GPS port and multiple TTL to USB adaptors.

I already have three JK UART TTL to RS485 adaptors, one for each BMS and currently have three RS485 to USB adaptors plugged into a powered USB hub from the Cerbo. - All communicating, but some data loss issues with the cabling, to be sorted whilst I figure out quality FTDI or CH340+ adaptor options.

The USB to TTL directly or USB to RS485 methods are similar ways around the same problem, but so far both ways need multiple USB adaptors, (one for each BMS)

The latest JK firmware allows device addressing, see the 1st screengrab from my first post above. IF that addressing works over the GPS (UART TTL) port then we only need one USB adaptor, no?

But I guess it may not work for the GPS port, only for the RS485/CAN port, either by hardware limitation or maybe UART/ TTL can't have device addresses?

If they can, then we can use a single adaptor without needing the JK inverter BMS!
 
As long as JK have followed the RS485 spec then you set unique Device Addr's and then daisy chain all to one USB RS485 TTL adaptor.

For cable network cable already has the twisted pair(use only one of the 4 twisted pairs ) but ensure that the cable is made with stranded copper 24 awg. The last device on the daisy chain needs a 120 ohm resistor between A/B or TX+/TX-.
 
As long as JK have followed the RS485 spec
That's anyone's guess :LOL: - Is UART TTL protocol similar to RS485 should addressing work for both?
then you set unique Device Addr's and then daisy chain all to one USB RS485 TTL adaptor.
I don't think it'll work this way around, the TTL to RS485 adaptor is in each battery already, (directly connected to the BMS GPS port), but the question is still the same, will the BMS GPS port (TTL) be considered the same as the RS485 port (They have both) and the device address work on the TTL before it gets to the RS485 converter?
For cable network cable already has the twisted pair(use only one of the 4 twisted pairs ) but ensure that the cable is made with stranded copper 24 awg. The last device on the daisy chain needs a 120 ohm resistor between A/B or TX+/TX-.
I have seen a few FTDI adaptors that have a removable jumper for 120r resistor, if that resistor is on the RS485 to USB and three parallel TTL to RS485 adaptors are wired into it, then should each one have 120r resistor? - Or try and wire them serial with the last one with 120r - or remove 120r for everything?
 
UART TTL protocol similar to RS485
No, the translation is done inside the USB which converts the RS485 differential signal to serial RS232 so the PC can understand it. Another RS485 device instead of a PC would not need the translation as it can read RS485 direct.

If each BMS is connected to a separate USB RS485 to TTL then does your PC software connect to multiple com ports, if it does not then even with different device addr's you can only speak to one BMS which is the com port specified in the settings. The daisy chain gets around this issue but only you know how the PC program works.

The 120r needs to be on the first and last RS485 device, so each USB needs one and the last device. If there are multiple USB's each connected to one rs485 device then they all need one. In practise for short runs you can get away with none.
 
Back
Top