Accuracy/repeatability of RTDs

Discussion in 'General Electronics Chat' started by strantor, Sep 27, 2011.

  1. strantor

    Thread Starter AAC Fanatic!

    Oct 3, 2010
    4,302
    1,988
    for an upcoming project, I will want to monitor the temperature of several devices concurrently, imported to my PC. My initial thought was to attach thermocouples to all of them, fed into a thermocouple data acquisition unit, but I have not been able to find such a data acquisition unit for any reasonable price (all I found were 400$ or above). As this is for my own home tinkering, cost is a huge factor. I did find this DAQ unit for 59$ which has (8) ±10V inputs. I was thinking as a cost saving measure to scrap the thermocouples, and use RTDs with a fixed resistor as a voltage divider to generate an analog voltage input into this DAQ. But I have no idea how reliable (repeatable) this would be. Also I beleive this would give me a nonlinear analog signal for a linear increase/decrease in temperature which I'm not sure can be scaled properly in the software. Any input?
     
  2. #12

    Expert

    Nov 30, 2010
    16,341
    6,824
    I have had a thermistor hooked up and running as a thermostat for 33 years, and it has never had to be recalibrated. However, a thermistor might not be an RTD so I attached a propaganda sheet for you.
     
    strantor likes this.
  3. MrChips

    Moderator

    Oct 2, 2009
    12,449
    3,364
    RTDs and thermistors are very repeatable and reliable. Forget the DAQ or any A/D converter. You can obtain a reading by simply designing an RC circuit to a single port of a microcontroller. You switch the port from an output to an input and measure the time constant or you can measure a frequency. Don't worry if the relationship is non-linear. That is easy to correct on a microcontroller. That's what micros are good at.
     
    strantor likes this.
  4. strantor

    Thread Starter AAC Fanatic!

    Oct 3, 2010
    4,302
    1,988
    That's a good idea; because I don't think the DAQ software allows for curve-correcting formulas. I tried downloading so I can play around with it to confirm that, but it won't even let you access the main program without first establishing connection with the device. following shortbus's lead on the Omega products, I found this page which gives circuits for linear voltage output from the RTD and the formula for curve correction. But how do I get that information from the micro displayed on a graph? I suppose I could have the micro (arduino likely) send the information via serial to my serial monitor and reconstruct the data after the fact in excel, but it would nice to see a scrolling graph if it's simple to do so, but if not, it's not a huge deal.
     
  5. MrChips

    Moderator

    Oct 2, 2009
    12,449
    3,364
    The first step is to do a bit of design work.
    You need to know what temperature range you're measuring and to what resolution.
    From this, figure out how many bits precision you will need.

    Next, choose your device, either positive temperature coefficient or negative temperature coefficient. I have used thermistors with negative temp coefficient, i.e. resistance goes down as temperature goes up.

    Now, I like to have my recorded numbers increase as temperature increases. This way the resolution is reasonably the same across the temperature range. This will dictate whether you use a period measurement or a frequency measurement.

    Here is one quick example on how you could do this. Connect the RC circuit to an input port (C is across port to GND, thermistor is pullup resistor). Set the port to output and send out 0. Set the port to input and allow C to charge up. Use interrupt on change. In the interrupt routine, increment a counter and reset C and repeat the process. We are assuming that you could have 8 of these going at the same time on a single micro. Use an internal timer to read and reset all counters at fixed intervals. Now we have 8 readings from 8 different thermistors. Transmit the readings to the PC and do the conversion to temperature on the PC. Or you can do it on the micro if you don't want to involve the PC.

    For a scrolling graph on a PC, you can choose whatever platform you are comfortable with, QuickBasic, Visual Basic, Labview, Matlab, Excel etc.
     
    Last edited: Sep 27, 2011
    strantor likes this.
  6. someonesdad

    Senior Member

    Jul 7, 2009
    1,585
    141
    You don't say what measurement accuracy you need nor what range you'll be measuring over nor what the object is who's temperature you'll be measuring.

    My intuition tells me your voltage divider method of using a RTD will be inferior to the usual way, which is to measure the resistance of the RTD.

    Here are some mental rules of thumb I use: if I use type K thermocouples for temperatures less than a few hundred °C or so, I can expect a measurement accuracy on the order of a few degrees C at best. With care, an RTD can work to accuracies of 1 °C or 0.1 °C and even better. Most engineers (and I put myself in this group) probably underestimate their temperature measurement uncertainties and biases.

    For measurements on the order of room temperature and up to the boiling point of water and a bit above, it's hard to beat the convenience and robustness of thermistors. Measurement Specialties makes a 44007RC precision epoxy NTC thermistor which is nearest that which used to be made by YSI for the HP 3456 digital multimeter; this thermistor let the DMM read directly in temperature and provides accuracies on the order of 0.2 K. They can be found on the web for around $12 last I looked. In contrast, last I looked at some small Omega thin film RTDs, they were around $20 each IIRC.

    Thermocouples require an ice point reference, so that requires some experimental thinking. For casual work, I use a real ice point reference, but for scientific work and convenience, it's better to have an electronic ice point reference. Omega still sells the same overpriced ice point references I bought 30 years ago. :p But they do work (and no longer require mercury batteries). You can also use an isothermal connection block and measure its temperature with a thermistor and do software ice point correction.

    Measuring RTDs is usually done with 3-wire or 4-wire resistance measurements. (I also believe I saw a 6-wire measurement once on NI's website). Factor this into your design, as you'll either require two ADC channels for each temperature or some way to switch the signals (e.g., a scanner).

    The thermal time constant may also be an issue. RTDs can be delicate, so are often mechanically well-shielded, which increases the time constant. A nice benefit of thermocouples is that you can often spot weld them to the thing you're measuring (and, in fact, with care, you don't even need to have the two thermocouple wires touching each other).

    I've attached a python script that I use for RTD stuff -- it might prove useful. Also, a typical RTD's resistance vs. temperature is plotted (done by the script).

    Here's an RTD table of resistance vs. temperature in °C (it's generated by the script):
    Code ( (Unknown Language)):
    1.  
    2.   T     0      1      2      3      4       5      6      7      8      9
    3. -200  18.52  18.95  19.38  19.81  20.24   20.67  21.11  21.54  21.97  22.40
    4. -190  22.83  23.26  23.68  24.11  24.54   24.97  25.39  25.82  26.25  26.67
    5. -180  27.10  27.52  27.95  28.37  28.80   29.22  29.64  30.07  30.49  30.92
    6. -170  31.34  31.76  32.18  32.60  33.02   33.44  33.86  34.28  34.70  35.12
    7. -160  35.54  35.96  36.38  36.79  37.21   37.63  38.05  38.47  38.88  39.30
    8. -150  39.72  40.14  40.55  40.97  41.38   41.80  42.22  42.63  43.05  43.46
    9. -140  43.88  44.29  44.70  45.12  45.53   45.94  46.35  46.76  47.18  47.59
    10. -130  48.00  48.41  48.82  49.23  49.64   50.06  50.47  50.88  51.29  51.70
    11. -120  52.11  52.52  52.93  53.33  53.74   54.15  54.56  54.97  55.37  55.78
    12. -110  56.19  56.60  57.00  57.41  57.82   58.22  58.63  59.04  59.45  59.85
    13. -100  60.26  60.66  61.07  61.47  61.88   62.28  62.68  63.09  63.49  63.90
    14.  -90  64.30  64.70  65.11  65.51  65.91   66.31  66.72  67.12  67.52  67.93
    15.  -80  68.33  68.73  69.13  69.53  69.93   70.33  70.73  71.13  71.53  71.93
    16.  -70  72.33  72.73  73.13  73.53  73.93   74.33  74.73  75.13  75.53  75.93
    17.  -60  76.33  76.73  77.13  77.52  77.92   78.32  78.72  79.12  79.51  79.91
    18.  -50  80.31  80.70  81.10  81.50  81.89   82.28  82.68  83.08  83.47  83.87
    19.  -40  84.26  84.66  85.05  85.45  85.84   86.24  86.64  87.03  87.43  87.82
    20.  -30  88.22  88.61  89.01  89.40  89.80   90.19  90.58  90.98  91.37  91.77
    21.  -20  92.16  92.55  92.95  93.34  93.73   94.13  94.52  94.91  95.30  95.70
    22.  -10  96.09  96.48  96.87  97.26  97.65   98.05  98.44  98.83  99.22  99.61
    23.    0 100.00 100.39 100.78 101.17 101.56  101.95 102.34 102.73 103.12 103.51
    24.   10 103.90 104.29 104.68 105.07 105.46  105.85 106.23 106.62 107.01 107.40
    25.   20 107.79 108.18 108.57 108.95 109.34  109.73 110.12 110.51 110.89 111.28
    26.   30 111.67 112.06 112.45 112.84 113.23  113.62 114.00 114.39 114.78 115.17
    27.   40 115.56 115.94 116.33 116.71 117.10  117.48 117.86 118.25 118.63 119.02
    28.   50 119.40 119.78 120.17 120.55 120.94  121.32 121.70 122.09 122.47 122.86
    29.   60 123.24 123.62 124.01 124.39 124.78  125.16 125.54 125.93 126.31 126.70
    30.   70 127.08 127.46 127.84 128.23 128.61  128.99 129.37 129.75 130.14 130.52
    31.   80 130.90 131.28 131.66 132.04 132.42  132.81 133.19 133.57 133.95 134.33
    32.   90 134.71 135.09 135.47 135.85 136.23  136.61 136.99 137.37 137.75 138.13
    33.  100 138.51 138.88 139.26 139.64 140.02  140.40 140.78 141.15 141.53 141.91
    34.  110 142.29 142.67 143.05 143.42 143.80  144.18 144.56 144.94 145.31 145.69
    35.  120 146.07 146.45 146.82 147.20 147.57  147.95 148.33 148.70 149.08 149.45
    36.  130 149.83 150.18 150.53 150.88 151.23  151.58 151.93 152.28 152.63 152.98
    37.  140 153.33 153.73 154.13 154.53 154.93  155.33 155.73 156.13 156.53 156.93
    38.  150 157.33 157.70 158.07 158.45 158.82  159.19 159.56 159.93 160.31 160.68
    39.  160 161.05 161.42 161.79 162.17 162.54  162.91 163.28 163.65 164.03 164.40
    40.  170 164.77 165.14 165.51 165.88 166.25  166.63 167.00 167.37 167.74 168.11
    41.  180 168.48 168.85 169.22 169.59 169.96  170.32 170.69 171.06 171.43 171.80
    42.  190 172.17 172.54 172.91 173.28 173.65  174.01 174.38 174.75 175.12 175.49
    43.  200 175.86 176.23 176.59 176.96 177.33  177.69 178.06 178.43 178.80 179.16
    44.  210 179.53 179.90 180.26 180.63 180.99  181.36 181.73 182.09 182.46 182.82
    45.  220 183.19 183.56 183.92 184.29 184.65  185.01 185.38 185.75 186.11 186.47
    46.  230 186.84 187.20 187.57 187.93 188.29  188.66 189.02 189.38 189.74 190.11
    47.  240 190.47 190.83 191.20 191.56 191.92  192.29 192.65 193.01 193.37 193.74
    48.  250 194.10 194.46 194.82 195.18 195.54  195.91 196.27 196.63 196.99 197.35
    49.  
    Note a 10 K change in temperature makes roughly a 3% change in resistance for temperatures near room temperature. It's those small changes that make me concerned about your proposed use in a voltage divider.
     
    • rtd.png
      rtd.png
      File size:
      48.3 KB
      Views:
      31
    • rtd.txt
      File size:
      10.4 KB
      Views:
      54
  7. strantor

    Thread Starter AAC Fanatic!

    Oct 3, 2010
    4,302
    1,988
    MOSFET cases. It doesn't need to be super accurate. The point is just to make sure that they don't get too hot and that they're all heating to the same temp.
    my intuition concurrs
    I never knew that RTDs were more accurate than thermocouple until I posted this. I wonder why thermocouples are the norm (well, at least they are here in my plant)
    they're selling them for a dollar each, but you have to buy 100.
    forgot about that. I take that for granted because all the equipment I have has simulated cold junction compensation, but yeah if I were going to interface thermocouple to a micro, I would have to account for that and it would be more trouble than I'm willing to go through. that's probably why the thermocouple DAQs are so much more expensive than the regular ones.
    I'll have to familiarize myself with python before I'm ready to tackle that. But the table itself is good enough for me.
    Well, I'm not sure yet how I will go about it. My initial idea is out the window now so I'm deciding between the wheatstone bridge in the omega link or MrChips time constant thing. thanks for the great input!
     
  8. colinb

    Active Member

    Jun 15, 2011
    351
    35
    One thing to watch out for is self-heating. The RTD current needs to be low enough that self-heating effects are not a problem. However, because the RTD is usually 100 ohms nominal (or less often, 1000 ohms) getting a low current (in the microamp to less than one milliamp range) means the other resistor in the divider needs to be huge, and that resistor's temperature dependence will be a problem. My understanding is the only way you want to use an RTD is with a precision current source and then measure the voltage across the RTD element.

    Don't forget about semiconductor temperature sensors. Within their usable temperature range, and for suitable applications, integrated digital-output temperature sensors can be a great choice. For instance, the MCP9804 is a low cost, high precision I²C temperature sensor and all the ADC design issues are taken care of internally so using it is simple and performance is guaranteed out of the box. Most IC temperature sensors are not packaged appropriately for insertion or immersion probe applications, however.

    I don't understand how a 6-wire measurement would work. As I understand it, four wires provides the complete, ideal solution.

    You only need one differential ADC input channel for each RTD, assuming the standard method is used: apply constant current to RTD, measure voltage across the RTD.

    Thanks for sharing your insights. As I have been delving into temperature measurement, I have realized how complex the field is!
     
Loading...