5
\$\begingroup\$

I'm making a Sous Vide using Arduino with a DS18B20 temperature sensor. My problem is that the DS18B20 reacts too slowly to temperature changes. For example, if you take it from ice water (1°C) to boiling water (100°C), DS18B20 takes a full minute to reach 95°C. Worse, the temperature show asymptotic convergence; near final temp, DS18B20 approach at like 7sec/°C.

So, what is the fastest temperature sensor available today (and cheap) ?

\$\endgroup\$

closed as off-topic by PeterJ, Daniel Grillo, uint128_t, Nick Alexeev Mar 17 '16 at 16:05

This question appears to be off-topic. The users who voted to close gave this specific reason:

If this question can be reworded to fit the rules in the help center, please edit the question.

  • 5
    \$\begingroup\$ An IR thermometer based on an InSb photodiode could get you into the GHz range. But of course your question is not really what is the fastest temperature sensor. The problem is that your sensor has too much thermal mass and probably not a sufficiently conductive case. A fine thermocouple or RTD with very small thermal mass should give you a thousand readings a second without too much of a problem. Omega sells 75µm gauge thermocouples. \$\endgroup\$ – Oleksandr R. Aug 19 '15 at 15:50
  • 1
    \$\begingroup\$ Before we go blaming the sensor, what does your code look like? \$\endgroup\$ – RYS Aug 19 '15 at 19:23
  • 1
    \$\begingroup\$ You could build a filter that amplifies high-frequency components to compensate for the low-pass realized by the thermal capacity of the system. \$\endgroup\$ – Simon Richter Aug 19 '15 at 21:35
  • 1
    \$\begingroup\$ You don't need a fast s3nsor to control a sous vide. You couldn't change the water temp with any reasonable heat source faster than your sensor could report it. \$\endgroup\$ – Scott Seidman Aug 20 '15 at 11:06
  • 2
    \$\begingroup\$ OP here. After posting my question, I added a water pump to my Sous Vide project with amazing results. Now, with the same sketch, sensor and heater, I can keep temp better than +/- 0.5°C, vs +/- 3°C before. I'm using eggs for testing (they are temp critical), and finally I'm getting yolks and whites equals to those shown in food blogs. Now the Sous Vide also keep temp stable in longer testing (chicken, 2 hours). \$\endgroup\$ – user83628 Aug 25 '15 at 16:04
5
\$\begingroup\$

1 minute to reach 95% is incredibly slow. Something must be wrong with your sensor. It's just not possible for a TO-92 alone to have such a slow response.

In this Texas Instruments Datasheet for an LM34 (or LM35) in a TO92 package, they give a graph of thermal response in a stirred oil bath, which should be quite similar to your situation:
LM34 TO92 thermal constant

So in a liquid it will reach 95% in less than ten seconds.

Perhaps you're using a waterproof DS18B20, and it's not thermally connected to the walls of the stainless steel tube. The shiny tube, and thin layer of air, will form quite a good insulator.

DS18B20 waterproof from AdaFruit

They say

  • Stainless steel tube 6mm diameter by 30mm long
  • Cable is 36" long / 91cm, 4mm diameter
  • Contains DS18B20 temperature sensor

So the problem isn't the sensor itself, it's the packaging, which is something you have to solve no matter what sensor you use. The DS18B20 is a great little sensor, mainly because it is reasonably accurately calibrated at the factory. Any more analogue sensor - thermocouples and thermistors, will need special care to calibrate to better than a couple of degrees C.

Try this again with a bare sensor, in a heatshrink tube or a blob of epoxy, or take it apart and fill the tube with oil or glue to improve the thermal conduction to the device.

\$\endgroup\$
  • \$\begingroup\$ You are right: I'm using a waterproof, plastic sealed DS18B20, no metal whatsoever. \$\endgroup\$ – user83628 Aug 20 '15 at 9:43
7
\$\begingroup\$

A Sous-Vide is just a water bath. Easy to control.

No way you need the "fastest" sensor. Whatever you're using as a control algorithm is probably your problem. Presumably this probe is inside a metal tube and has limited heat transfer.

The main thing from a controls pov is that your sensor should be much faster than the actuator- I don't think you can heat the water from 0°C to 100°C in a minute. If so maybe you should cut back on your heater power from however many kW it is.

\$\endgroup\$
  • \$\begingroup\$ Sorry, not good answer: Taking 7 seconds to detect a 1°C increase is a serious problems when you are trying to keep variations to less than 0.5°C. \$\endgroup\$ – user83628 Aug 19 '15 at 16:26
  • 1
    \$\begingroup\$ You only need a sensor that detects as fast or faster than you can heat the water. Your test of putting it in freezing water to boiling water is well beyond a natural occurrence. If you make overly-stringent specifications, you'll be making an overly-expensive sensor. \$\endgroup\$ – scld Aug 19 '15 at 16:35
  • 2
    \$\begingroup\$ The resolution is 0.0625°C, and your measured time constant is about 24 seconds. Disturbances will be minimal. So, no it's not an issue with a reasonable PI algorithm. But anyway if you want a faster sensor use a grounded-junction thermocouple immersed in the liquid, but you'll give up considerable absolute accurate (if the room temperature changes, your actual temperature will vary significantly compared to 0.5°C) or it will be very expensive. \$\endgroup\$ – Spehro Pefhany Aug 19 '15 at 17:23
  • \$\begingroup\$ @LookAlterno, Re: 7 second measurement time. Given the size of your water bath and the power of your heater, calculate how long it will take you to raise the temperature one degree C. Is that time a lot longer than 7 seconds? \$\endgroup\$ – George Herold Mar 17 '16 at 14:25
1
\$\begingroup\$

The rate of change depends on the mass and surface of the sensor.

A fat sensor has a high "heat inertance", so it takes some time until it reaches the final temperature.

A large surface helps to change the temperature faster.

A plastic package on the other side insulates, so makes the heat exchange slower.

In addition, it's possible that the electronics inside a sensor add some inertance for more precise (but slower) reading when temperature changes only slowly.

Forget about the last point. Try to find a sensor as small as possible, like this NTC: enter image description here

You will need to build a voltage divider of an NTC and a precision resistor and have to do the AD-Conversion on your own.

However, this sensor is really tiny and will change its temperature very quickly. The characteristics show a vast dependence of the resistance to the temperature, so you get a really high resolution. A drawback is that they are not calibrated and it's not easy to get precise absolute values.

\$\endgroup\$
0
\$\begingroup\$

I would just use a thermocouple bead. Very fast to respond, since there is very little thermal mass, but you will have to condition the signal.

And 0.5°C variations are not going to be easily achievable. Some points in the bath will be hotter, some colder. You might want to use an array of thermocouples and average them as feedback to the controller.

\$\endgroup\$
0
\$\begingroup\$

As Everybody suggest thermocouples have good response time, the thermoelectric effect surely is responsive,but there are many problems related the transients occurring at the cold and hot junction.

In case of a reliable temperature detector circuit RTD's are more traditional specially the 4-wire balanced,2 wire balanced bridges RTD's, also over time I have learned that the circuit response time is equally as important as the sensor itself,hence looking into it might help.

\$\endgroup\$