Do the slaves need to send data back to the master?
If yes, then you can't connect DI and RO together.
If no, then there is no point in daisy chaining
well, they do need to send data back, but instead of sending them "back", they send it forward to the next slave, till they reach the end of the network where the last slave sends the data "back" to the master
the obvious issue here is that even if only one board has issues, the whole networks goes down
---edit---
also see post #6 for the repeater schematics, DI and RO shorted
Essentially RS485 outputs are open-collector outputs, PNP for one line, NPN for the other.
This is what allows a multi-drop system.
The 120 Ohm resistors are to mitigate the reflections in the cable.
About the missing DataEnable pin: if idle, the DataInput pin is a ‘1‘ and the Y and Z outputs will not be driven.
One thing I spy at page 15: if one of the stations at the bottom sends a message, the station at the right will not receive it.
about the:
One thing I spy at page 15: if one of the stations at the bottom sends a message, the station at the right will not receive it.
it is correct, but that is the type of network this IC permits, only 1 master, and a lot of slaves
only the master (on the left) can send data and every slave gets it,
on the other hand what a slave responds is only visible to the master, not to the other slaves.
plus... about the:
Essentially RS485 outputs are open-collector outputs, PNP for one line, NPN for the other.
the issue here is that when DI is low, the IC is still driving Z high and Y low, this enters in conflict with the next IC trying to do the opposite with DI high, Z low and Y high
Keep DI high in idle state, to allow the other stations to send.
RS485 is built to allow that more than 1 station is sending. The CAN-bus protocol uses it to mitigate priority, sooner or later one station lose arbitration.
i'll try now to connect 4 slaves, 1 with DI high, and the other 3 DI low, ans see what i get on the output
No they are not and that statement makes absolutely no sense.
It'a a differential output
TX should be high on idle in UART
If you want an RS485 multidrop network, I afraid you need to do a re-design.
i'll make a quick change before trying something else,
i'll cut the TX trace and i'll put a resistor in between, then i'll short the RX and TX(after the reistor) to make a 1 wire interface, and lastly rewire the cable connecting the network
like this:
another issue with this schematic is that everything the master sends will also receive back as echo
Is it possible that those MAX3490’s are left-overs?
Left over because they are not as useful as the buyer thought?
i get what you are saying... but why in my particular case it isn't working?
like the photos i posted before, if i have DI high on one slave and low on the other... one or the other should be driving the signals while the other should be idle, but as you can see i get 0V on the differential lines with 2 differing slaves
those chips are tested and working, and still used on commercial products, but as you may have guessed they are single ended, not multipoint like in my case
plus the lines are not like you showed in the diagram before, they swing from +3 to -3, not from gnd but from eachother, so if i measure from Y to Z I should never get 0V, but either +3 or -3, GND is not important in this case
Perhaps an adapter for a smaller device can help you mount on you CNC capability.
Looking more like this?
In both cases one output can pull one line HIGH or not, there will never be short circuit currents.
What to do if more than one station is sending is determined by the protocol used.
it should look like that, but again, why in the photos before it doesn't act like that?
but instead i get 0v when the lines are in conflict.
check post #27
One of the stations is dominant.