Core Electronics Forum

USB-RS485 Converter with Daisy-chain Topology

I’m looking at https://core-electronics.com.au/industrial-usb-to-rs485-converter.html. I have tried other “non-industrial” USB-RS485 converters and they don’t work when daisy-chained (data corruption). Does anyone have any experience with this particular product?

Would really appreciate if anyone cares to share any info on the product. Thanks!

/YT

2 Likes

Hi YT
You did terminate the ENDS of the RS485 cable with 120Ω didn’t you???.
Classic cause of data corruption.
Cheers Bob

2 Likes

Hi Bob,

I could only find 100Ω resistors at the moment (lockdown in VIC), so I used them at both ends. Didn’t make any difference.

I found this link https://forums.mikeholt.com/threads/usb-rs485-daisy-chaining-usb.124257/ which basically says most USB-RS485 converters won’t work in a daisy-chain topology. Hence I think the “industrial” USB-RS485 converter sold at Core might work. Any thoughts?

/YT

2 Likes

100Ω may be a bit low RS485 drivers are designed to operate into I think minimum load resistance of 56Ω which equates to 2 off 120Ω in parallel plus 32 RS485 interfaces. That link only confused the issue. He tried to daisy chain USB which is apparently a no no.

Exactly what are you trying to do. I suppose you can daisy chain USB via RS485 I don’t know. It appears you can have one circuit anyway with one of these devices at each end. If you attempt to daisy chain you will need a converter device at each drop off point. Then the RS485 cable has to be terminated at both ENDS. No terminations at intermediate drop off points. I think 100Ω is too low and you will need 120 or if not available a bit higher than lower.
A sketch of what you are trying to do would help.
Cheers Bob

2 Likes

Thanks Bob for the explanation. Will get the 120Ω resistors later.

I cut and pasted some images to show what I am trying to do. Basically it is a simulation of using modbus-rtu to read data over RS485. I hope what I am going to do makes sense.

Daisy_chain_RS485

2 Likes

Not sure. The positioning of the 120Ω resistors is correct. Each one at the extreme end.
I assume the signal at point “A” is RS485. What are the 3 blue objects. If USB then no. They need to be RS485 converters to whatever the input is to that box. With all this discussion I assume USB. You cannot feed an RS485 signal straight into the USB ports I don’t think. Never heard of this being done but I know I am years behind the times.

What sort of RS485 have you got. Simplex, ie; one way traffic in which case you only need terminate the receiving end of the cable. Half duplex, ie two way traffic on one pair of wires.Terminating resistors on both ends of cable. Full duplex, ie; two way traffic with separate cables. Terminating resistors on receiving end of each cable. I suspect from your pix half duplex.

What is the smaller box. I am assuming the green connector is RS485. What is the unused green connector.
Cheers Bob

2 Likes

Sorry Bob for not labelling the 3 blue objects and missed out on a few others. They are the USB-RS485 converters, like the one I am thinking of buying from Core (stated in my first message). It is indeed half-duplex. Let me redraw the picture to make it a bit clearer. I removed the small unused green connectors which are RS422 and RS232 respectively. The data collector sends read requests to the simulated equipments, once the data are returned they are packaged into an http package to be sent to the PC.
Daisy_chain_RS485

2 Likes

I can see no reason the RS485 part of this would not work. Have you tried with 120Ω resistors. The 100Ω resistors I am sure are too low and would put too much load on the drivers.

The only thing I can think of is the info from the simulated equipment and the data collector incompatible or the USB info won’t work like that. I don’t know enough about that side of things to comment. I have however been involved with many interconnections daisy chained like this and have never had a problem. Somebody else always looked after the traffic nitty gritty and the whole systems worked.

These systems have usually been RS232 or something converted to RS485 then converted back to their original format. The RS485 only a transport medium and really played no other part in operations.

As I said, other than some incompatibly issue the only thing wrong with your set up would be low value terminating resistors.

Any other ideas guys???
Cheers Bob

2 Likes

Lockdown will be relaxed after midnight, will venture out to get some 120Ω resistors tomorrow :slight_smile:

Any recommended shielded twisted-pair wires you would recommend?

I am hoping to hear more ideas from other “guys” :slight_smile:

/YT

1 Like

Hi YT,

I’ve used shielded CAT6 (overkill probably) where a shielded twisted pair is required (1-Wire in my case)

Hope this gives you some avenues to look down!
-James

In the past usually have used single pair Belden audio cable. Maybe because it was on hand and sometimes used in other parts of a project (Audio). Should screened for best results.

Edit: Any good quality Audio or single pair screened cable should be OK. I only said Belden because that is what we pretty much used for professional (Broadcast, TV etc) installations at the time and was usually readily on hand.

Very important edit. Connect cable screen to chassis ground AT ONE END ONLY. In your case at the Data Collector. Connect the screen through at the outboard units but DO NOT connect anywhere else.
Cheers Bob

1 Like

Hi YL
I have had a couple more thoughts on your problem. Some time ago a contributor had a similar problem with I2C to RS485 converters. I had a bit of a hunt around for some info on these I had printed. I checked some TTL to RS485 units available from Core. The one mentioned in previous posts was SKU CEO5154. This has 3 resistors which everybody agreed should not be there. It has a pull up resistor to +5V from “A” and a pull down resistor to ground from “B”. I don’t know why and I think all they do is unbalance the line and lose all the advantages of RS485. The other is a permanent 120Ω terminating resistor across the line which definitely should not be there as you would be unable to daisy chain this unit.

Another 2 units CEO7681 and TEL0070 have the pull up pull down resistors but no termination.

One other circuit of unknown origin shows a dual (sda and scl) arrangement with no pull up/down resistors and a 120Ω termination inserted in or out of circuit by a 0Ω (wire link) resistor.

The 'industrial" unit you linked does not have a circuit provided but the application notes in the data sheet for the RS485 driver shows no pull up/down resistors and suggests a terminating resistor with a link to insert it across the line. I can’t find any mention of such a resistor in any text for this unit so may not be there (which is good).

What I am getting at here is that it is possible the units you are using may have these terminations installed, with or without a link and if so should be disconnected or removed. I would hesitate to leave one connected in the end unit in case they get mixed up. Leave it external so it can be readily seen.

You have not said exactly which unit you are using so I am unable to do any searching for this info.
You should be able to check if this resistor is installed internally by removing the wires and measuring the resistance across the A and B points. If there is a termination (120Ω) present it will have to be removed or any link disconnected to be able to daisy chain.

Similarly measure the resistance between A and B on your Data Collector. If the 120Ω termination is internally fitted you can leave that one there but DON’T fit another resistor.

If these terminations ARE internally fitted this would be a major part of your problem as the RS485 drivers would be seriously overloaded. I did check on that and the load resistance should be minimum 54Ω.

I still don’t know why some converters have pull up/down resistors on the A and B connections as I think everyone previously agreed that all they do is unbalance the line and lose the advantages that a balanced line presents. Unless these resistors are easily removable I personally would not use these units. But I stress that is only my preference. Perhaps someone at Core support can shed some light on this. I have not seen any explanation to date.
Cheers Bob

1 Like

Thanks Bob for taking the time to explain. Some of the electronics are over my head :slight_smile: I dusted my multimeter and measured across A and B on my USB-RS485 converters, they appeared to be open circuits. It’s the same on the data collector as well. Looks like no internal resistors have been fitted?
/YT

2 Likes

That’s what it looks like. You will now require 120Ω at each end. If you still have trouble I would investigate elsewhere. Try those USB ports one at a time. You may not be able to do what you want with USB. I just don’t know. You are aware that you can only communicate with one point at a time I suppose and can only communicate in one direction at any one time.
Cheers Bob

2 Likes

Good news, Bob. It worked! It actually worked with or without the 120Ω at each end. I used 4 USB-RS485 converters in my setup. The cables between each were ~250cm cat5e.

I ran 4 copies of Modbus Slave (from Modbus Tools) to simulate 4 equipments with ID=1,3,5,7 on my PC. See screenshot below. I highlighted the data transmitted from each simulated equipment.


/YT

2 Likes

Hi YT
Good news and thanks for the feedback.
Leave the 120Ω resistors there. This will ensure minimal problems if you change the cable length which you will probably do when you transition from simulation to the real thing.

It is an involved discussion but the resistors ensure there are no echos from the virtual open circuit ends of an unterminated cable and are VERY important. These echos WILL corrupt and distort the transmitted signal and can make the system unusable. This came up in a previous post some time ago and someone posted a video demonstrating the effects of a correctly terminated cable and an unterminated one. The effect is shown to be quite dramatic. If I can find it later I will post here.

The Modbus results posted are pretty much Swahili to me as I am not big on the details of such systems. However they will be undoubtedly of interest to many others.
Cheers Bob

1 Like

Add on:
Will try to insert a couple of videos.

There are lots more on YouTube. I think these 2 reflect (excuse the pun) what I have been trying to explain.
Cheers Bob

1 Like

Hi Guys,

Great work getting it working and amazing support Bob!

RS485 is a huge blank spot in my knowledge (for now) so it’s good to see someone stepping in and smashing it!
-James

Hi James
RS485 is only a transport medium. A converter of some flavour converts the unbalanced digital to balanced and the same converter converts back to unbalanced digital at the other end. Can be one way, half duplex (one way at a time) or full duplex (both ways simultaneously. Full duplex requires 2 circuits, one circuit each way. I2C requires 2 half duplex circuits (data and clock). All much like balanced Audio really with the same minimal noise and interference advantages. Also capable of transmission distances of 1200 metres. As outlined correct termination is very important particularly with the use of multi drops.
One way or full duplex only require terminations at the receiving end, half duplex terminates both ends.
Cheers Bob

2 Likes

Hi Bob,

Image below is the cable I use in my simulation environment. Would you be able to comment on what should be done differently when this setup is actually deployed?

(1) At the moment I simply twisted the wires together between cables 1 & 2, 2 & 3, 3 & 4. Is it necessary to solder the wires in the deployment environment?

(2) What is the proper way to install the termination resistors when deployed?

Thanks!
/YT

2 Likes