Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 11:00 01 Aug 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : RS485/422 no enables required

Author Message
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 10:36am 15 Feb 2022
Copy link to clipboard 
Print this post

Can't get the actual SN65HVD31DR device until 2023.

Seems that Digikey will have the Click module in March though.


Craig
Edited 2022-02-15 20:36 by Tinine
 
knivd

Regular Member

Joined: 07/09/2014
Location: United Kingdom
Posts: 72
Posted: 07:04pm 15 Feb 2022
Copy link to clipboard 
Print this post

This one works quite well
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2950
Posted: 05:34am 16 Feb 2022
Copy link to clipboard 
Print this post

Hi Craig

Do you want 2 wire (half duplex) or 4 wire (full duplex)?

I have used the SN75175 and SN75174 extensively in my working ways these are 4 wire and extremely reliable over 1500m (well at 9600baud at least)

Regards,

Mick
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5089
Posted: 08:28am 16 Feb 2022
Copy link to clipboard 
Print this post

The SN65HVD31 has independent transmitter and receiver WITHOUT enables.
This means that they are targeted for point-point connections (not a bus like RS485 where transmitters must be disabled when not transmitting).

The one knivd proposes does not work in this application, unless you use 1 prewired for transmit, and prewire a second one for receive. In essence this method can be used for most RS485 drivers. Use 2.

The chips bigmik propose are not in a single 8 pin package, but will do the job, if the bandwidth is not required (the chip tinine needs is 2Mbps).
Edited 2022-02-16 18:41 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5089
Posted: 09:06am 16 Feb 2022
Copy link to clipboard 
Print this post


PicomiteVGA PETSCII ROBOTS
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 09:20am 16 Feb 2022
Copy link to clipboard 
Print this post

Hey guys  

I have a bit of an unusual thing going on in that; I use 4-wire multi-drop full duplex but it is strictly command/response.

The master has the TX permanently enabled and the RX is a slave-shared response line. So there never really is any FD actually happening.

I have been using MAX491s thus far and each slave enables when a TX is required.

From what I can see, only the SN65HVD31DR in my OP is a 3v3 device. Or did I miss something?

Thanks for the feedback  


Craig
Edited 2022-02-16 19:22 by Tinine
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 09:26am 16 Feb 2022
Copy link to clipboard 
Print this post

@Volhout...Good call

I was certain that I checked Mouser  


Craig
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5089
Posted: 09:45am 16 Feb 2022
Copy link to clipboard 
Print this post

Hi Tinine,

Just because I want to learn from your experience. Are you sending ASCII over the link, or are you using a more robust (modbus or similar) protocol with CRC's and retries ?

From what you explained before I understand that your field of operation definitely is industrial, and I want to know if this kind of environment can live with ASCII over twisted wire (RS485) without CRC's and retransmission...

Regards,

Volhout
PicomiteVGA PETSCII ROBOTS
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 11:30am 16 Feb 2022
Copy link to clipboard 
Print this post

@Volhout

Hey buddy  

I use a binary protocol with a simple checksum. I adopted it from "NMC" (network motion control). Never experienced a checksum error and if I did, that would indicate an electrical failure and the machine would simply shut down. Here is an example:





That is an example of a command to move a motor. The motor could be a CNC axis or a robot, etc.

So here is my rhetorical question regarding noise and error checking: What about the zillions of CNC machines and robots out there? The controller receives nothing but differential 5v pulses from each encoder. There is no error checking protocol and if a few pulses go missing, the axis is either out of position or has smashed into something.
Furthermore, there is absolutely no way to keep these signals away from noise because the motors and drive-amplifiers (servo controllers) are reliant on high frequency PWM (many of mine are 100HP).

In the days prior to differential transceivers, we had to be very careful but today it's a non-issue.

So I personally wouldn't have a problem with ASCII transmissions without error checking/correcting BUT only in a case where there is no possibility of buss contention. ACK/NACK is a good idea, though. One big-name product that I have been using since the mid 80's is pure ASCII and returns ":" for ACK and "?" for NACK.


Craig
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5089
Posted: 01:38pm 16 Feb 2022
Copy link to clipboard 
Print this post

Understood !
The checksum is across all except the header I found out. That makes sense. The header is to wake devices, and prepare to read the address, and act on it.

Thanks

Volhout
PicomiteVGA PETSCII ROBOTS
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 03:25am 17 Feb 2022
Copy link to clipboard 
Print this post

Yeah AA = 10101010  

Also the "D" (decimal 13) in the "D4" CMD byte indicates that 13 data bytes are to follow, prior to the checksum.


Regards,

Craig
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025