From: MarkMc on
Can anybody give me any hints ideas or circuits to allow me to read the
temperature from a Pt100 RTD probe in to a PIC microcontroller?

Regards,
Mark

From: Dan Hollands on
There are 3 issues

1. convert the change in resistance into an analog signal

2. digitize the analog signal and get the digital value into the
microcontroller

3. convert the digitized value into real units

Which are you concerned about?

Dan



--

Dan Hollands
1120 S Creek Dr
Webster NY 14580
585-872-2606
QuickScore(a)USSailing.net
www.QuickScoreRace.com


"MarkMc" <mmcnospam(a)yahoo.co.uk> wrote in message
news:1120581097.596235.247300(a)f14g2000cwb.googlegroups.com...
> Can anybody give me any hints ideas or circuits to allow me to read the
> temperature from a Pt100 RTD probe in to a PIC microcontroller?
>
> Regards,
> Mark
>


From: John Popelish on
MarkMc wrote:
> Can anybody give me any hints ideas or circuits to allow me to read the
> temperature from a Pt100 RTD probe in to a PIC microcontroller?
>
> Regards,
> Mark
>
The signal from an RTD is very small, so you need a low offset, low
drift amplifier to bring the signal up to a range that is appropriate
for the PIC A/D converter.

If you are determined to roll your own amplifier, I suggest you visit
the various op amp manufacturers' sites and look for application noted
for platinum RTDs.

For example:
http://pdfserv.maxim-ic.com/en/an/AN3450.pdf
http://www.national.com/nationaledge/dec04/article.html
From: MarkMc on
I had a read of the MAXIM application notes, which use the MAX197 IC
and a couple of op amps for amplification. This seems to be perfect,
but the only problem is that it costs £20 for a single 28-pin DIN
MAX197, which makes it a bit unviable for me. It is a one-off personal
project, but others on my brewing forum may well want to build units
themselves.

I think I understand what's required at a high level, but my
electronics isn't up to it at the low-level. I need a range of 0C to
100C and 0.5C accuracy/resolution for my application.

High level things I think I need (high-level block diagram)
4-wire PT100 RTD
"Something" to generate the excitation current - I think this needs to
be extremely accurate and invariable.
Something to amplify the small voltage across the RTD in to the range
of an ADC. Looks like NS ML4140A-2.500 is used for this in the links
above?

An ADC to convert the analogue signal in to a format for my PIC to use.
Are there not PIC's which have on-board ADC's that I can use for this
purpose or is this not a good idea?

I think I know how to convert from the digital voltage in to a
temperature - divide the known voltage range up in to chunks based on
the bit resolution of the ADC. Say - 0-5v ADC and 10-bit, I would then
5/((2^10)-1) to get the voltage increment per bit. Then map the
'voltage' reading back to resistance (known excitation current), and
use a look-up table to 'linearise' and then interpolate to give a
reasonable approximation of temperature.

One thing I'm not sure about is how to calibrate this process.

Another is that IIRC 0C is 100R and 100C is 138.5R (for Platinum PT100)
which @ 1mA gives a voltage reading range of 100mV-138.5mV. I'm sure I
can scale this up so that the 100C resistance maps somewhere near 5
volts, but the 0C will not be near 0v. so some of the 10-bit signal is
wasted. Could I not get better accuracy (perhaps it's not needed with
10-bits) by translating the 0C voltage/resistance somewhere near 0v and
then scale/amplify so that 100C is near 5v so I'm using a larger
portion of the bit range?

Regards,
Mark

From: John Popelish on
MarkMc wrote:
(snip)
> I think I understand what's required at a high level, but my
> electronics isn't up to it at the low-level. I need a range of 0C to
> 100C and 0.5C accuracy/resolution for my application.
>
> High level things I think I need (high-level block diagram)
> 4-wire PT100 RTD
> "Something" to generate the excitation current - I think this needs to
> be extremely accurate and invariable.
> Something to amplify the small voltage across the RTD in to the range
> of an ADC. Looks like NS ML4140A-2.500 is used for this in the links
> above?


Except for the transposition of LM, yes. It is a precision 2.5 volt
reference regulator. In combination with the opamp, it forces the
voltage drop across the grounded 2.5K resistor to be a constant 2.5
volts, so the RTD current is forced to be a constant 1 mA.

> An ADC to convert the analogue signal in to a format for my PIC to use.
> Are there not PIC's which have on-board ADC's that I can use for this
> purpose or is this not a good idea?

Most PICs have an internal 10 bit (1024 level) ADC. You just need to
amplify and shift the signal into the ADC measurement range. You may
also want to reference the ADC full scale voltage to a precision
reference, instead of using the 5 volt supply as the full scale value,
or else the accuracy of the PIC supply gets involved in the measurement.

> I think I know how to convert from the digital voltage in to a
> temperature - divide the known voltage range up in to chunks based on
> the bit resolution of the ADC. Say - 0-5v ADC and 10-bit, I would then
> 5/((2^10)-1) to get the voltage increment per bit. Then map the
> 'voltage' reading back to resistance (known excitation current), and
> use a look-up table to 'linearise' and then interpolate to give a
> reasonable approximation of temperature.
>
> One thing I'm not sure about is how to calibrate this process.

You might use a distilled water ice bath and boiling point as a two
point calibration. Otherwise, you buy a high accuracy liquid
thermometer and use it in a stirred water or oil bath as a temperature
reference.

> Another is that IIRC 0C is 100R and 100C is 138.5R (for Platinum PT100)
> which @ 1mA gives a voltage reading range of 100mV-138.5mV. I'm sure I
> can scale this up so that the 100C resistance maps somewhere near 5
> volts, but the 0C will not be near 0v. so some of the 10-bit signal is
> wasted. Could I not get better accuracy (perhaps it's not needed with
> 10-bits) by translating the 0C voltage/resistance somewhere near 0v and
> then scale/amplify so that 100C is near 5v so I'm using a larger
> portion of the bit range?

You can add an arbitrary offset to the resistance measurement by
connecting R1 in figure 1 to an adjustable voltage, instead of to
ground. This voltage should be a low impedance source (not just a pot
hooked up between two voltages) like an opamp follower, in order to
not upset the subtracter's ability to measure the voltage across the
RTD. The subtracter circuit is A4 and the resistors around it.

You can use a pot between the 2.5 volt reference and ground to feed
the follower.

When you have zero degrees just above ground and 100 degrees just
below the ADC positive reference voltage (full scale voltage) you are
ready to calibrate and linearize the circuit with stored constants in
the program.

> Regards,
> Mark
>
 |  Next  |  Last
Pages: 1 2 3
Prev: Impedance
Next: phase lock loop (PLL)