PT1000 + OpAmp Issue - Page 1
Forum section: electronics / beginners

author: bigun
author_rank: Newbie
timestamp: July 09, 2023, 09:13:12 pm
content: I'll explain as best I can what I'm trying to accomplish, what I'm doing to accomplish this, and maybe someone can point to what I'm doing wrong.The end goal here is to read temps ranging from 90F to 350F. I have a PT1000 RTD, that I'm feeding into an OpAmp (LM358P on a schematic, but a LM324N in reality), then feeding into an ADS7830, and reading on a Raspberry Pi Model A via python. In the end I'm going to have three PT1000's hooked up to the circuit, but I'm trying to just get the first one working right now.The ADS7830 to the Pi reads flawlessly, feeding a ground to input A0, gives me a 0, feeding a 3.3v gives me 254 to 225, depending on how the connection is. So, perfect! 0v to 3.3v will yield a range of 0 to 255. A full 8-bit range.So, I followthisguide to build my circuit in TINA (and breadboarded out too). On my breadboard I've replaced R2 and R4 with 10K pots.First issue: Running the PT1000 in TINA from 0to 3k, outputs a range from 0v to 1.8v on the output of the OpAmp. Not ideal as the ADS measures from 0v to 3.3v, so quite a bit of the range is lost. Unsure if I'm using the correct OpAmp or just don't fully understand how OpAmps work, but if I could get 0v to 3.3v out, it would be preferred.Second issue: In actual practice, I ground out the PT1000 input and leave the circuit completely open, and I get a range of 0.079mV to 1.9V. Which is a little off from my TINA simulation. Can this simply be chalked up to "reality vs simulation"?Third issue: Once the first issue is sorted, I feel completely lost on how to handle the values of R2 and R4 to measure between 90F and 250F. From what I can tell, that temperature range will result in a range of Ohms from 1.125kto 1.672kout of the PT1000 according to the tempchart. But I have no idea out to translate that out of the OpAmp.Any help is appreciated, and I know this is a multilayered issue, but I think if I can get the first issue resolved, the rest of this can fall together much easier.

author: langwadt
author_rank: Super Contributor
timestamp: July 09, 2023, 09:25:33 pm
content: forget about the opamp and the 8 bit adc, get a +16bit adc

author: bigun
author_rank: Newbie
timestamp: July 09, 2023, 09:48:29 pm
content: Quote from: langwadt on July 09, 2023, 09:25:33 pmYou're not wrong, going from a resolution of 256 to about 65K should make a huge difference.

author: bigun
author_rank: Newbie
timestamp: July 09, 2023, 10:01:45 pm
content: Quote from: langwadt on July 09, 2023, 09:25:33 pmHow do I get away from the OpAmp though?

author: Nominal Animal
author_rank: Super Contributor
timestamp: July 09, 2023, 11:09:22 pm
content: I like to useAnalog Devices MAX31865for my three-wire Pt100 sensors; it also works fine for Pt1000, if you select an appropriate reference resistor (4k is optimal; I recommend using a large one with good stability and precision). In addition to the reference resistor, you only need two bypass capacitors. It communicates with your MCU using SPI (and a separate /DRDY data-ready signal), and has a 15-bit ADC with max. 21ms conversion time (i.e. about 45 conversions per second).The ADC reading is uncorrected relative resistance (compared to the reference resistor), so you can apply Callendar-van Dusen equation to get a precise temperature across the sensor operating temperature range.If you need even more precision, TIADS1247can be used especially for the4-wire configuration, or 3-wire configuration with compensation. A single chip can measure three Pt1000 sensors.

author: langwadt
author_rank: Super Contributor
timestamp: July 09, 2023, 11:12:11 pm
content: Quote from: bigun on July 09, 2023, 10:01:45 pmresistive divider of Vref made up of that PT1000 and a precision resistor (aim for 0.1mA to 1mA current), feed it directly to the ADC

author: bigun
author_rank: Newbie
timestamp: July 09, 2023, 11:35:58 pm
content: Quote from: langwadt on July 09, 2023, 11:12:11 pmJust got something drafted in TINA with a 4.7K resistor and the PT1000 using the resistance range I'm wanting - and dang, that curve nearly looks like a line and it's perfect. Fewer components, overall it looks like a win-win.Only question - I don't see where current comes in except when it comes to the rating of the resistor itself. Is that what you were referring to?

author: ArdWar
author_rank: Frequent Contributor
timestamp: July 10, 2023, 02:04:18 am
content: Quote from: bigun on July 09, 2023, 11:35:58 pmIt isn't actually a line. Depends on how much accuracy you want you may need to implement linearization algorithm, or just make a lookup table containing expected temperature for certain range of ADC readout value.Of course you still can treat it as a single line if you don't need that much accuracy.Quote from: bigun on July 09, 2023, 11:35:58 pmBy doing that way you're compensating the lack of offset nulling and range amplification from OpAmp with more ADC bits.16 bit ADC is often more expensive than OpAmp and here you're wasting it's full range and resolution too, but since you're only need a single piece it's worth using for the much less hassle IMO.Quote from: bigun on July 09, 2023, 11:35:58 pmCurrent is for the whole Rbias+RPT1000network. Don't set it too low that the charge picked by ADC sample and hold start to mess with measurement, and don't set too high that your RTD start to self-heat. For your application the usual 1K should work fine.

author: jwet
author_rank: Frequent Contributor
timestamp: July 10, 2023, 06:43:18 am
content: Going back to your first post. The voltage swing of an LM358/324 is about 1.5v below the high rail, you could run it on 5v and it would be happy or find an opamp that has a better output swing. Microchip makes many CMOS opamps that are easy to apply and make both Rail-to-Rail (R-R) in and R-R out. The Maxim/ADI part mentioned is very nice but somewhat expensive and probably overkill if you're already happy with 8 bit resolution.

author: voltsandjolts
author_rank: Unknown
timestamp: July 10, 2023, 08:29:01 am
content: An example from the TI ADS1220 data sheet is attached.

author: eugene
author_rank: Frequent Contributor
timestamp: July 10, 2023, 02:15:20 pm
content: Quote from: bigun on July 09, 2023, 09:13:12 pmThe opamp arraignment will work. Using the same supply for both the voltage dividers and the ADC will help reduce noise and other supply related problems. Getting RTDs to work really well requires a lot of thought and careful design, but sometimes getting them to work well enough isn't too hard.I haven't used TINA, but I assume it will let you change the value of the RTD from 1100 to 1700 ohms to see what comes out of the opamp. You might as well use the simulator to find good values of R3 and R4. Adjust R4 to get more gain from the opamp, in other words to get more output range. Adjust R3 to try to move that range into the center of what your ADC will accept. There will be limitations, so don't expect to be able to use the entire dynamic range of the ADC, but you can optimize things.