Electronic – arduino – Temperature sensors for an Arduino sous-vide project

arduinopid controllertemperaturethermistorthermocouple

I'm creating a PID controller for sous-vide, like this one, and am trying to decide which temperature sensor to get.

Priorities:

  • Cost: < £25 delivered in the UK
  • Accuracy: +/- 0.5C
  • Range: 0 – 100C
  • Output: something that can be read by an Arduino with minimal additional circuitry (eg 0-5VDC, a resistance that is easily measured, or digital output such as OneWire etc)
  • Physical: waterproof, food safe (ideally), and with a lead at least a meter long – ideally not too much work to create this form factor (I don't have a workshop)
  • Failure mode: would be ideal if a failure caused over-temperature reading rather then under-temperature

Happy to compromise on any of the above if needed, but this is my ideal. Also open to suggestions for what else I should compromise on. I'd be particularly interested in thoughts regarding sensors such as a k-type, a pt100, a TMP36 chip, and a "standard" 10K thermistor (though if these names aren't specific enough, please let me know what I should be looking for instead).

Best Answer

First, agreeing with others: going for 1.0C accuracy will make your life a lot easier.

You seem to be set on analog sensors, but I'd suggest one with a digital interface. Analog sensors are either (used) radiometric (deliver a tempearture-dependent percentage of Vcc), which gives a non-linear response, which you will have to convert. The other type (LM35 etc) are absolute, which requires you to A/D against a reference voltage that must be (much) more accuirate than your desired accuracy. Unless you want to measure something that a digital-interface sensor can't (like >> 100C) this seems a lot of unneeded hassle.

Edit: let's try an LM35. 10mV/C, even assuming the LM35 itself introduces no error, a typical reference (LM431 etc) is 1% accurate, which introduces a 1% error in the temperature reading! A typical microcontroller A/D is 10 bits, let's assume full scale is a 2.5V reference (check whether your uC allows this!). 1 bit A/D error (let's be optimistic!, better check your uC datasheet) is 2.5mV = 1/4C error. So even without the sensor itself we have a +/ 1.25 C error (at best..).

Get a digital interface sensor, for instance the good old DS1820 / 18S20 / 18B20, all TO92. Or one of the I2C or SPI sensors that Microchip makes in TO220. If you are heating in a tray or something you could connect the tab to the tray.