Do you know what the range is for RS485 ?
Back in '87 we ran two computers over a full duplex 422 driver on a campus phone system. I think the distance was close to a mile between buildings over the wire. Can't remember the BAUD rate. May have been 9600, but not sure. Never had any problems.
Seems like RS485 uses protocols that want a master slave setup connected in a bus. Where as i'm needing more adhoc type network where each node is equivalent. This may be a subject for another section of the forum but will see how i go!
You haven't provided any design criteria for the bus so no comment is possible. If you had only one sender and one receiver, I don't know how you would call one a Master and the other a Slave unless the software does not allow the Slave to send. Protocols are created to prevent chaos. There is no rule that says you have to use any specific protocol and only you can say what you need a protocol to do in your application. Whatever you do with your software that prevents chaos is , by definition , a protocol.
As long as the terminatin resistors are at the extreme ends of the main trunk then it's up to the software, which is not my area of expertise.
Whst is the definition of Master or Slave ?
Another name might be primary and secondary. Means one device (the primary/master) controls one or more other devices (secondaries/slaves). This is centralized with one device instigating communication.Since what i'm needing is any device to instigate communication then what i need is a peer to peer or adhoc type protocol which is decentralized. All devices are equal and effectively can play the role of both a master and a slave device.
Recall that the purpose of termination resistors is to prevent reflected wave. That's why they have to be at the extreme ends of the main trunk.I think what I was trying to convey is that the RS485 devices are identical for Master and Slave so there is nothing in the Hardware that makes one a Master or a Slave. Thus only the software knows "who's who ?" and if you look at some protocols there are packets with headers and then device ID numbers and devices only respond to commands sent to their device ID. On DeviceNet devices, there are rotary switches to set the device number (1 -63 I believe). What makes the Master the Master is that it has the device ID "0". As I mentioned, software is not my area of expertise but I can tell you that any "protocol" you "create", (assuming you don't want to learn an existing protocol) that can identify a device ID and respond to it will work, provided the uController acting as the Master is running software that uses a CASE statement or some other S/W mechanism to determine that an incoming message is from a particular device that it is trying to control. You can test that yourself with only three arduinos. (one Master, one slave and one 3rd Party )It's very simple. If the Slave responds and the 3rd Party doesn't then you're in business.Take a look at this:Have you read this ?
Take a look at thisThat schematic is not an RS485 network. I don't know what it is but it doesn't conform to anything I've ever seen. You can't have multiple processors connected to the same Tx and Rx pins. The maximum is two, (one at each end). If you want a network, you have to use RS485 network devices, like the MAX485 or the LT1481, and it must conform to standard RS485 network configuration, like the link above. What you have posted is not a valid circuit, and doesn't qualify as anything (AFAIK). The bus connections are on the differential A/B bus , not on the TTL serial side. Each RS485 tranceiver can only be connected to one device or microprocessor on the TTL serial side. The 'bus' is the A/B bus. That is the only place you can have multiple devices connected together. You circuit is invalid because of the following:1- multiple connections on the 'non-bus' TTL serial side.2- multiple devices on the Tx & Rx lines.3-no bus4-no termination resistors5-no RS485 transceiversLook at the DATASHEET You seem to have completely overlooked the fact that what makes it possible to have multiple devices connected to the bus is that each device has a transmit enable, that is used to disable all but ONE of the devices at ANY given moment. If you have 6 devices on the BUS, only one of them is transmitting at any given moment. The rest are disabled via the DE pin. Read the datasheet.At this point you should be asking yourself "How do you select the one device that is transmitting ?"The answer is "That's what the RS485 BUS PROTOCOLS are designed to do. (MODBUS, CANBUS, DeviceNet, DMX512) Without them, you would have chaos and multiple bus collisions.I suggest you do some homework and research RS485 because what you just posted indicates you are a long way from a working circuit. (as far as I can tell). There are NO RS485 devices in that schematic An RS485 device is a transceiver like a MAX485 or a LT1481. There is no such thing as an RS485 network without RS485 devices.Take a look at the MODBUS ProtocolNote how there is a slave address, a message length, a start address (Hi, Lo) , data, an error check and much more. Control of the transmit enable is address dependent. In a way, you could say that the "slaves" are only allowed to "speak" when they are "spoken " to.
I noticed that on this RS485 board which uses the max485 chip, there's extra vcc applied and resistors in extra places.