Shop OBEX P1 Docs P2 Docs Learn Events
Accurate Temp Sensor — Parallax Forums

Accurate Temp Sensor

jmspaggijmspaggi Posts: 629
edited 2010-10-20 17:18 in Propeller 1
Hi all,

I have many DS1620 but I figured they are not accurate.

I have one inside an aging chamber which is displaying 11C, but a very precise mechanical term is showing 8C. The mechanical term has been veryfied in boiling water and frozen water and is correct. Which mean the error from the DS1620 is about 30%

So I would like to build a more accurante temperature sensor.

I have a TP1000 temperature sensor I would like to use.

TP1000 mean it's 1000 Ohms at 0C. And 1385 Ohms at 100C.

The idea is to put the sensor in boiling water, get the value (which should be 1385), then froze it on the ice, and get the value again.

Then, with those values and some documentation (page 21 of http://www.resol.de/Produktdokumente/48000490_DeltaSol_BS_Plus.monde.pdf ) I can calculate the temperature.

In order to do so, I need to now the R value. For that, the only way I know is the RC circuit. In the RC Circuit, I need to have a resistor, and a capacitor. The resistor is 1% accurate. I don't know for the capacitor, but it should be pretty the same think. Which mean I will have something which is 1% accurate instead of 30%.

I don't need to read this value often. One time per second, or one time per 10 seconds is still correct for me. I can even deal with one time per minute if the accuracy is better.

So I have many questions.

If I understand RC correctly, the bigger the values are, the longer it will take to get the result, but the more accurate the result will be. Correct?

In the Javelin documentation, there is some RC examples. Is there the same for the propeller anywhere?

Is there any other way to get the R value? Like using a 555? Which will provide more accurate result?

Thanks,

JM

Comments

  • Bobb FwedBobb Fwed Posts: 1,119
    edited 2010-10-20 12:51
    I would think the best way would be a voltage divider circuit with an opamp and an ADC. This would remove the need for the capacitor.

    In any case 0.1% tolerance resistors are readily available, while ceramic capacitors in the 1% range are available at a maximum size of 0.22µF. It is probably best to get C0G/NP0 capacitor.

    I use a thermistor and an RC circuit and get temperature values within a degree Celsius, and that's without these tight tolerance resistors/capacitors I mentioned. The other thing to keep in mind with an RC circuit is that the returns are logarithmic. So you will have to do some float math to keep the value accurate over the entire range. This may be your problem right now.

    Additionally, your 30% fluctuation isn't accurate, seeing as 0C is not an absolute number, it's somewhat arbitrary (in the scheme of things, you really should be measuring in kelvin to come up with error percentages). Also, your calibrations may be off. Water doesn't always freeze at 0C nor does it always boil at 100C. These numbers can move a few degrees depending on other variables.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2010-10-20 12:53
    You could also use a bridge circuit and feed the result to a sigma-delta ADC circuit via an instrumentation amplifier.

    -Phil
  • jmspaggijmspaggi Posts: 629
    edited 2010-10-20 12:54
    I was talking about 1% accuracy, but I will be happy with 0.5C too. But 2C is to much. 1C is acceptable, but not my prefered result.

    Is there any page you can point me to regarding the voltage divvider? I don't know how this is working.

    Thanks,

    JM
  • BeanBean Posts: 8,129
    edited 2010-10-20 12:56
    JM,
    The DS1620 is NOT 30% wrong. It has an offset.

    If the chamber was at 0° and the DS1620 reported 3° what percent would it be off ?

    You just have to adjust the reading for the scale and offset errors of that particular DS1620 device.

    P.S. The DS18B20 will give much finer resolution than the DS1620. (1/16°C vs 1/2°C).

    Bean
  • Bobb FwedBobb Fwed Posts: 1,119
    edited 2010-10-20 13:12
    Bean wrote: »
    If the chamber was at 0° and the DS1620 reported 3° what percent would it be off ?
    NaN or 0 :smilewinkgrin: (depending on how you measure which is a difference of what)

    Really to get percentages like he is trying to do, we need to measure in kelvin, we need an absolute number....like absolute zero!

    But I think simple math (like offset) will get him really close to his goal with the equipment he already has.
  • jmspaggijmspaggi Posts: 629
    edited 2010-10-20 13:17
    Wow.

    Many very prompt replies!

    Thanks all.

    So.

    @Phil: Thanks for the links! I will take a look at that. Seems to contain a lot! But maybe a bit difficult for my lever of knowledge :(

    @Bean: What do you mean by "adjust the reading for the scale and offset errors"? Does it mean I should try to froze it, read the result, put it in the boiler, read the result again, and adjust accordingly? Like for a thermistance? Also, I look at Maxim datasheets, and they say it's 0.5C accuracy for the 2 components. So 1/16C is not usefull if it's still 3C away from the real temp :(

    @Bobb: For the log, I will most probably use a table instead of calculating it. Easier for ne. For the calibration, I don't just put the sensor in the freezer. I put it in a very big piece of ice (about 10"x10"x10"). Then I put it outside of the freezer for few minutes to see the values. Regarding the boiler, i do the same. A lot of boiling water, far from the heater to not have it interfering. At the end, if I'm 0.5C accurate at 11C, then I'm fine ;)


    Thanks all!

    JM
  • BeanBean Posts: 8,129
    edited 2010-10-20 14:08
    Yes calibrate it like a thermistor.

    The 0.5° accuracy is without any calibration.

    Even if the DS18B20 is just as accurate it is still 4 times as precise. With calibration your reading can be made more accurate, but they cannot be made more precise. There is a big difference between accuracy and precision.

    Bean
  • VernVern Posts: 75
    edited 2010-10-20 16:22
    jmspaggi: I think you are missing the point of what Bobb was saying. Depending on your sea level and the atmospheric pressure and possibly other factors like the purity of your water your water could be boiling at 95 C or 115 C and freezing at 5 C or -15 C.

    So even if you did use boiling water to set the scale you may have already introduced a large percentage of error.
  • Bobb FwedBobb Fwed Posts: 1,119
    edited 2010-10-20 16:35
    Vern wrote: »
    jmspaggi: I think you are missing the point of what Bobb was saying. Depending on your sea level and the atmospheric pressure and possibly other factors like the purity of your water your water could be boiling at 95 C or 115 C and freezing at 5 C or -15 C.

    So even if you did use boiling water to set the scale you may have already introduced a large percentage of error.
    Thank you. I was about to say the same thing.

    What you will need to do to calibrate (barring sophisticated scientific equipment laying around your test area), is to get a store-bought temperatures sensor that works in the temperature ranges you are looking for. Place them in temperature controlled (preferably convection) areas and do the math (or create a table) comparing the raw data to the correct temperature. With this method, you can use the full level of precision that your temperature measuring device can utilize.

    While this may not be perfect calibration, you will be calibrated to some type of consumer level or industrial measuring device, which for most, is plenty.
  • $WMc%$WMc% Posts: 1,884
    edited 2010-10-20 17:18
    Take a look at this 3-wire RTD set-up using a Wheatstone Bridge.
    '
    Note the A and C loop. This removes the field wire resistants from the run of wire to the thermal element in the Bridge circuit.(the thermal element is to the far right in the drawing)
    '
    The reading at " DVM " is extremely accurate, Provided the use of precision resisters in the Bridge.
    '
    A Wheatstone Bridge,3-wire RTD, And a high resolution ADC and you should have .001% accuracy in the temperature range of the RTD you select to use.
    '
    I would use a 3-wire 100 ohm platinum RTD for this App.
    '
    http://www.bluelinecontrols.com/news/index.php?option=com_content&view=article&id=190&Itemid=244
    http://www.inteccontrols.com/pdfs/I-100-1K_RT.pdf



    thertd_06.gif
Sign In or Register to comment.