MeasuringThermistorBeta

From RepRap
Revision as of 06:20, 30 December 2014 by Glenn (talk | contribs) (+Category:Calibration)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Measuring Thermistor Beta

The Beta value is used in a simple model of thermistor resistance. A more sophisticated and accurate scheme is the Steinhart-Hart model ([1]), however for RepRap the simple beta model is sufficient.

Determining Beta requires knowing the resistance for two temperatures. The temperatures should be fairly widely separated to improve accuracy.

You might find these values in a datasheet for your particular NTC, or you can find them using the measuring method described below.

What you need

  • The thermistor should be connected to a cable. You need to do this anyway so that you can connect it to the extruder controller. The cable should be at least 40cm long.
  • You also need a thermometer that goes up to around 80 to 100°C
  • A multimeter/ohmmeter.
  • An oven

First measurement

This is the easy one. Use the thermometer to measure the current room temperature, this will be T0. Measure the resistance of the thermistor at the same temperature -- this will be R0. You should leave the thermometer and thermistor for a while to reach equilibrium. Don't touch the thermistor while measuring as this will affect the measurements.

Second measurement

Put the thermistor and thermometer in the oven. Rest them both on some kind of heat insulator. For example, I used a cardboard egg carton.

Place the action end of the thermometer as close as possible to the thermistor.

Hang the connecting cable out the oven door and close the door. Heat the oven to around 80 to 100°C or as high as you and your thermometer are happy to go.

When the oven reaches temperature, turn it off and leave it everything for a few minutes to settle into a nice equilibrium.

Measure the resistance of thermistor. This will be the R measurement. Note down the corresponding temperature. Hopefully you can see this through the oven door, but otherwise quickly open the door and read the value before it has a chance to change. This is the T measurement.

Calculate Beta

Calculate beta as follows:

<math>\beta = \frac{\ln\left ( \frac{R}{R_{0}} \right )}{(\frac{1}{T + 273.15}) - (\frac{1}{T_{0} + 273.15})}</math>

For example, the following measurements are made:

  • R0: 115700 ohms
  • T0: 22 °C
  • R: 5000 ohms
  • T: 85.5 °C

β is 5237.

Conversion for RepRap

RepRap needs(dubious -- discuss) two values to configure the thermistor, one is the Beta value you have calculated, and the other is the nominal resistance at 0 °C (Rz). Calculate Rz as

<math>R_{Z} = R_{0}\exp \left ( \beta \left ( \frac{1}{273.15} - \frac{1}{T_{0} + 273.15} \right ) \right )</math>

For the example measurements above, Rz = 483038

If you need to know the resistance at 0 °C (Rz), why not simply *measure* the actual resistance at 0 °C in a cup of icewater?

  • The following form will handle the calculations for you.
<script language=javascript>
function betaCalc()
{
  var r1=new Number(document.getElementById("r1").value);
  var t1=new Number(document.getElementById("t1").value);
  var r2=new Number(document.getElementById("r2").value);
  var t2=new Number(document.getElementById("t2").value);
  var beta=Math.round(Math.log(r2/r1) / ((1/(t2+273.15)) - (1/(t1+273.15))));
  var rz=Math.round(r1* Math.exp(beta*((1/273.15) - (1/(t1+273.15)))));
  document.getElementById("beta").value = beta;
  document.getElementById("rz").value = rz;
}
</script>
<form name=betaForm id=betaForm>
  <table>
    <tr><td>R<sub>0</sub> (Ω):</td>
      <td><input type=text id=r1 size=10 onkeyup='betaCalc(this);'>
      <td>T<sub>0</sub> (°C):</td>
      <td><input type=text id=t1 size=10 onkeyup='betaCalc(this);'></tr>
    <tr><td>R (Ω):</td><td><input type=text id=r2 size=10 onkeyup='betaCalc(this);'>
      <td>T (°C):</td><td><input type=text id=t2 size=10 onkeyup='betaCalc(this);'></tr>
    <tr><td>β:</td><td><input type=text id=beta size=10></tr>
    <tr><td>Rz:</td><td><input type=text id=rz size=10></tr>
  </table>
</form>

Wolfram|Alpha Calculations

The following inputs to Wolfram|Alpha can be used as starting points to calculate new values of β and/or Rz live:

See also this WolframAlpha Widget to do the calculations. (note to wiki admins: if you install this MediaWiki plugin, then we could embed Wolfram Alpha widgets)

Note For Thermistors Measuring 1K Or Less At Operating Temperature

If your thermistor measures less than 1k at operating temperature, our cunning temperature monitoring circuit will run into difficulties and keep on cutting out. This problem can be easily avoided with these thermistors by placing an ordinary 560R resistor in series with the thermistor.

Simply measure the combined resistance of the thermistor/resistor combo when doing the above.

-- Main.SimonMcAuliffe - 23 Apr 2006