I'm looking for multiple 'cheap' sensors to measure the temperatures of several pipes. The fluid running through the pipes will be between 0-80 degrees C and I only need to measure the temperatures for less than 5-10 minutes at a time so self-heating wouldn't be an issue. I'm trying to keep my system as simple as possible without resorting to unnecessary complexity for diminishing returns.
I've done some research myself and it looks like my options are very limited:
-RTDs: accurate but expensive and not directly interfaceable with Arduinos without buying other equipment
-K-type thermocouple leads: produces millivolt output which cannot be detected by Arduinos without the use of expensive op-amps (MAX6675) or shields.
-Thermistors: cheap but resistance and temperature relationship is an inverse curve and thus slightly annoying to have to calibrate and code for.
As far as I can tell this leaves me with only one option: IC sensors such as the digital DS18B20 or the analog LM335 series. Cheap and have a stable linear relationship between voltage and temperature.
Unfortunately these things don't seem to have any kind of probe setups so how could I measure the temperature of the fluids accurately given that the pipes they are running through have extremely low thermal conductivity? Could I expose the plastic part of the IC sensor to the fluids for better readings?
Anyone have any recommendations on other potential sensor solutions?
Please save me from this mind boggling problem!
The DS18B20 is the bleeding obvious choice. It is appropraite, cheap, reliable, easy to use, takes only one pin, and is very well supported.
All the sensors I have are cheapo from eBay in a waterproof stainless steel probe. They are available up to 40mm long. I assume your problem is handling liquid under pressure. I have seen a DS18B20 as a screw-in fitting. It is rare and the price makes RTDs look a good proposition.
My no-pressure probes just go in standard laboratory rubber bungs in a pipe fitting. Those for high pressure go into a home-made thermowell. This is just a brass plug soldered into a T-fitting. This could be made from a threaded plug to screw into a plastic fitting, or a threaded T-piece made up to adapt to plastic pipe.
Thermistors: cheap but resistance and temperature relationship is an inverse curve and thus slightly annoying to have to calibrate and code for
You will need a voltage divider, so just put the thermistor on the lower half, and the fixed resistor on the upper half, and voltage to temperature will not be inverse. Then you can use the map() function to calibrate the voltage to temperature.
But, my first thought, would be put a sensor such as the on the outside of the pipe with thermal glue. Wrap that section with insulation. Even tho the pipe may not transmit heat well, it will if given a few minutes. Do you expect it to change temp many degrees in one minute, or just slight variations?
Temperature differences along the pipes should be significant, on the order of at least 10 degrees Celsius.
The sensors will be for monitoring a system that mixes a pipe carrying "cold" water (wont drop below 0 degrees though) and a pipe carrying hot water to an outlet pipe carrying the mixed stream at a desired temperature. So there will be 3 sensors, one for each pipe; cold, hot and mixed. Seeing as how the system will read the sensors and automatically regulate the flow of both the inlet streams to keep the outlet stream at a certain temperature, response time is important.
So, I could use a pipe with high thermal conductivity such as copper and stick the sensors on their surface but I would have to account for some degree of heat loss.
Best solution I've seen mentioned so far is to buy some waterproof DS18B20 sensors with temperature probes, drill an appropriate hole in a PVC pipe, stick it through and seal it.
Yeah they won't be under any significant pressure, the streams are gravity fed from tanks with a fairly low water height (less than a metre) and the pipes themselves won't travel vertically for more than a metre either. So max theoretical pressure would be about:
P = density * gravity * height
P = (1000 kg/m3) * (9.81 m/s/s) * (approx. 2 m)
P = 19620 pascals