Electronic – transfer analog signal via RJ45 cable

cables

I want to use a TMP36 temperature sensor, so I thought to transfer the signal through an RJ45 cable. (Is that equal to a cat5 cable? I just used an old ethernet cable)

When I use the sensor next to the MCU (an Arduino) with some common jumper wires, I read a value of about 25oC.

  • 25oC equals to 25*10 + 500 = 750mV

When I use the sensor a few meters away from the MCU and transfer the signal with an RJ45 cable, I get readings as low as 3oC.

  • 3oC equals to 3*10 + 500 = 530mV

I use an RJ45 cable (8 wires inside) about 1.8m (6ft) long with terminals like these: https://www.sparkfun.com/products/716

I wonder how a voltage drop of about 200mV occures in less than 2 meters of cable? On the same cable (different wires) I transfer the digital signal of a DS18B20 temperature sensor as well as the signal of a DHT humidity sensor, and both seem to work fine.

Is this voltage drop reasonable? If so why? In any case what kind of cable should I use in order to transfer a signal for just a few meters?

Any thoughts would be appreciated.

Best Answer

A standard technique to deal with line losses and sensors is to use two pairs of wires for the sensors. One pair is used to carry the excitation or power to the sensor (and you don't care if there are line losses here), whereas a second paid of wires are used ONLY to measure the voltage across the sensor. Since these sense wires carry almost no current (AD converters usually have a high input impedance), there are no negligible line losses and you get a good measurement, even with 100's of metres of wire. Your RJ45 conector/cable has lots of conductors, so maybe you can make this work.

You do need to take care that you don't create a ground loop. The easiest way to do this is to measure the output voltage on the sense pair with a differential AD circuit.