rs485 multipoint

Hi!..
I want to connect 10 co2 sensors (Air quality & Gas sensing technology from Senseair) to 1 arduino through rs485. These sensors understand a reduced 8 byte modbus directly from the mainboard (http://senseair.se/wp-content/uploads/2011/05/10.pdf). I pretend to use a MAX485 IC. I searched the web for information about a multipoint rs485 network, but I only found a lot of information about point-to-pint arduinos network. Is there a way to conect the 10 sensor directly on a rs485 bus and addressed one by one with an another IC or something like that, to read each one separately. I pretend to not use an arduino between the master arduino and sensors.

Every data sheet I've ever seen for an RS-485 transceiver chip has at least one example of how to connect nodes in a multi-drop network. The hardware is pretty simple, just connect all the A signals together and all the B signals together then add a couple of 120R termination resistors.

According to the specs of that sensor

Communication Uart ( Modbus)

That implies that it doesn't use RS-485...ah, in the data sheet

UART, Modbus protocol. Direction control pin for direct connection to RS485 receiver integrated circuit.

So it has the control pin, you just need to add a transceiver.

At the Arduino end you also need a transceiver, the easiest way to do that would be to buy an RS-485 shield.

Is there a way to conect the 10 sensor directly on a rs485 bus

No, you need a transceiver.

and addressed one by one with an another IC or something like that

No, AFAICT that sensor talks Modbus, therefore you also have to talk Modbus. End of story.

It should be possible to wire these on the bench for testing just using tri-state buffers, but for real use in the field RS-485 is much better.


Rob

thanks you Graynomad!
now I am more confused... You are right, I want to connect 10 sensors, but no directly. I want to use rs485 transceivers like....

ARDUINO (with modbus library or a coded driver) ------> transceiver(MAX485) shield ------> Fisical bus (500m wire)-----> transceiver(MAX485) shield ------> UART co2 sensors

What I dont know is..
1- how I address only one sensor at time
2- Do I need a transceiver (rs485 - UART), or a (rs-485 - TTL) like http://dx.com/es/p/rs485-to-ttl-communication-module-3-3v-235449

What I dont want to do is to use another arduino nano or pro mini to interface each sensor. Is that posible?

Sorry I dont know nothnig about this kinds of electronics buses..

ARDUINO (with modbus library or a coded driver) ------> transceiver(MAX485) shield ------> Fisical bus (500m wire)-----> transceiver(MAX485) shield ------> UART co2 sensors

That looks correct, except the second "transceiver(MAX485) shield" won't really be a shield as there's no Arduino at the sensor end, and of course you need 11 transceivers, one of reach sensor and one for the Arduino.

how I address only one sensor at time

I have no idea, that's up to Modbus, you'd better read up on the spec. I assume that there is a packet of data sent out by the master and as part of that packet there is an "address" so the slave devices know who the master is talking to. But that's supposition on my part as I've never had anything to do with Modbus.

(rs485 - UART), or a (rs-485 - TTL)

The UART is the hardware inside the CPU that does the serial transmission, TTL refers to the voltage level of the signal, they are totally different things (although I admit the terms tend to be used interchangeably). You have and need both.

So both the sensor and the Arduino use UARTs to transceive data at TTL voltage levels (see next para). You then have to translate those levels to a RS-485 balanced line. That module appears to do that although there isn't much info on the page.

TTL voltage levels -- TTL is a generic term for voltages in the approx 3-5v range. Generally it means 3v3 or 5v. Your Arduino is 5v, the sensor and that RS-485 converter module are 3v3. So it should all work with one caveat, the TX signal coming out of the Arduino should be reduced to 3v3 or it may damage the RS-485 module. It may not as well, but there's no documentation so it's best to err on the safe side. One option would be to get a 5v version of that module for the Arduino end and use the 3v3 version at the sensor end.

If you use one of the 3v3 Arduino models like the Due or Teensy 3 this voltage level conversion will not be necessary and you can use that 3v3 version of the module at both ends.


Rob