# Long cable analogue temperature sensors

I am building a circuit that has 5, analogue output, temperature sensors(LMT85LP) connected to an AD converter (MCP3208-CI/P), two of the sensors are located aprox. 50 meters(164 feet) away from the AD converter and the rest of the circuit (raspberry pi 3, etc). The cable is Cat5. Sensors output current is ~7mA. All will be powered by raspberry power out 3v3 pins. Note that the AD converter will be located next to raspberry, only the sensors will be away. Such distance is viable? And if so the readings are reliable?

## migrated from raspberrypi.stackexchange.comDec 12 '16 at 13:33

This question came from our site for users and developers of hardware and software for Raspberry Pi.

• How did you manage to work out that the sensor can provide 7 mA when the data sheet says it is limited to 50 uA? – Andy aka Dec 12 '16 at 14:09
• @Andy - that is from the absolute maximums table, not the characteristics table (which is, as you point out, where they should be taken from). – Peter Smith Dec 12 '16 at 14:13
• @Chas: you may find this question useful. electronics.stackexchange.com/questions/17928/… – Peter Smith Dec 12 '16 at 14:14
• gr.mouser.com/Search/… States output current 7mA, also mentioned in datasheet in absolute maximum rating, sorry but i try to understand, the output current is 50μΑ? – chas ant Dec 12 '16 at 14:15
• absolute maximum rating is that which won't blow the IC up. Operating conditions says +/- 50uA, this is the level up to which it will work to specification. Not everybody at Mouser is technically competent to copy the data sheet to their data. It's always best to get a manufacturer's data sheet and read their figures, rather than go from a supplier's shortform. ti.com/lit/ds/symlink/lmt85-q1.pdf It's best to google the part number and 'pdf', which homes in on most real data sheets. – Neil_UK Dec 12 '16 at 14:19

I would expect a lot of noise. Depending on the environment the noise could easily be larger than the signal itself. In other words, the noise might be several hundred millivolts while you are trying to resolve a difference of a few millivolts.

The best solution is to put a differential output line driver at the sensor and a matching differential receiver at the ADC and take advantage of the twisted pairs of the CAT5.

However, you might get useful data simply by averaging many readings. I don't know anything about your environment, but in many case much or most of the noise comes from fluorescent lights and other 50/60Hz power line sources. If you are careful to collect and average data for exactly 1/50th or 1/60th of a second (depending on power line frequency.) then most of the power line noise will be eliminated.

You can average over many multiples of one power line cycle to reduce other noise as well. For example, averaging 100 samples over 0.5 second will probably give you very usable data and is a reasonable thing to do since the temperature is probably not changing much over that period of time. Just make sure you average over some integer multiple of one power line cycle.

NOTE 1: The ADC you're using is 12 bit. If you are storing the number in a 16 bit variable, then you can add sixteen 12 bit values before you risk overflow. With a 32 bit variable you can obviously sum many more samples before overflowing. If you're clever you can still use 16 bit variable to average many samples.

Note 2: I think you have misread the LMT85LP data sheet. 7mA is the absolute maximum output current before risking damage to the device. A more reasonable output current is 50uA. See the figure below taken from the TI datasheet.

As the operating current of these guys is around 10uA each, you may get away with little error due to supply current dropping down the cable. The loop resistance of CAT5 is listed as 0.2ohm/m, or 5ohms for 50m one-way. Your 50uA supply current will drop 250uV, which will be entirely negligible compared to their accuracy.

You may find the cable capacitance exceeds what they can drive, so use a 3k resistor on their outputs. It's listed as 52pF/m, or 2.5nF for your cable length, exceeding the 1.1nF limit quoted in the data sheet.

With twisted cables, they may be fairly resistant to interference pickup. Being a temperature measurement, you can put a serious lowpass filter before the ADC, perhaps 1Hz, perhaps 0.1Hz RC if you're happy to read that slow.

Noise is going to be your biggest problem. If you already have some cable, and the sensors, hook one up remotely, one locally, and see.

The principal problem that I find is that you want to use 3.3 v of the raspberry to supply the sensor, I suggest that sensor supply has to be different.

My solution to read the sensor is that you can use 4 - 20 mA communication:

---------
|Raspbery|--|ADC|--|4-20mA RX|--- 50 mts cable--- |4-20mA TX|--|sensor|
---------