Telemetry data - which BUS to use

Discussion in 'General Electronics Chat' started by rkrasowski, Jul 10, 2012.

  1. rkrasowski

    Thread Starter New Member

    Jul 10, 2012
    Hello, I am not sure if this forum is the correct one to ask this question, but I hope somebody can help.
    The idea that I am working now seems to be simple, I would like to have multiple sensorts - 3 temperature sensors, barometric pressure sensor, accelerometer, humidity, GPS position sensor. Data from these sensor should be collected and stored. The question: which would be the best way to connect all sensors, CAN - bus?? One wire?? . All these will be on boat, so some of these data will be "stolen" from NMEA 0168 network. I did something like this using Paralax Propeller and each microcontroler was collecting data from each sensor, data were recorded on SD card plus transmitted via XBee network, now I want to do similar project but with wired connection plus linux (beagleBoard running Uuntu) and looking for best way to do it.
    Thanks in advance and I do understan that I am a little off topic but we linux users are open minded fox so I expect somebody will have some suggestion.
  2. MrChips


    Oct 2, 2009
    The devil is in the details.
    Each sensor situation is different and you have to take the specific details into consideration.

    1. How is the sensor powered?
    2. How far away is the sensor from the data logger?
    3. Is there a need to go wireless?
    4. Is there a desire to create a bussed system?

    There are many bussed systems to consider:

    1. One-wire
    2. MODBUS
    3. CAN
    4. I2C
    5. SPI
    6. SCI
    7. RS-485
    8. USB
    9. Ethernet
    10. Fiber-optic
    11. IR
    12. RF
    13. Zigbee
    14. Bluetooth
  3. JDT

    Well-Known Member

    Feb 12, 2009
    A lot of industrial wired fieldbusses (CAN bus, Profibus, etc) are actually RS485 underneath.

    RS485 allows a lot of transmitters and receivers on the same pair of wires. But, of course, only one station can transmit at any one time. So you need to have a protocol that ensures this. All the receivers are always working. All the transmitters except the "master" are switched off The master sends a message to each receiver ("slave") in turn. Each receiver has an address so it only responds to the message meant for it. Once the master sends the message it switches off it's transmitter and waits for the slave to reply. Then repeats with all slaves.

    Ethernet has the same problem but it allows devices to transmit at the same time. This is detected (a collision) and a clever protocol overcomes this.

    If you are going radio, the same rules apply.
  4. kender

    Senior Member

    Jan 17, 2007
    This is only mostly correct. Profibus, MODBUS, and a few more industry buses indeed run on RS-485 physical layer underneath.

    CAN does not have RS-485 underneath. It defines its own physical layer.