2

We are discussing a way to precisely measure PT100 (variable resistance) using a MSP430 with 24bit sigma-delta differential ADCs without having a precision source of current or voltage.

We came up with this solution:

enter image description here

The way we want to do this is: measure voltage on (known) R2, calculate current then apply this calculated current to voltage measurement on TH1 to get resistance (and therefore, temperature).

R8 is there to limit the current to max 1mA for max. VCC. Other passives are just for filtering.

The measurement frequency shall be not faster than 1Hz.

Can you see any issue with this setup that might invalidate our thinking?

Thanks

MarcelH
  • 48
  • 6
  • What is your "precision" specification? Vcc may not be known with a high "precision" and it is probably a "random" variable in your system, although the "mean" is "well" known ... – Antonio51 Jan 05 '22 at 13:36
  • VCC would be a 3V3 from TPS63030DSK which also powers the rest of the system (MSP430) – MarcelH Jan 05 '22 at 13:44
  • Hum .... I don' believe that a smps is a very good "reference ... What is the specification of the voltage output "ripple" ? – Antonio51 Jan 05 '22 at 13:50
  • Do you think that this voltage should remain "constant" with time? – Antonio51 Jan 05 '22 at 13:57
  • 1
    You definitely need to isolate the Vcc from the CPU/SMPS and the Vcc to your resistor string. There is going to be a ton of noise from both the cpu and the regulator. If you could create a buffered source from Vref that would be much quieter. – Aaron Jan 05 '22 at 14:44
  • @aaron the uC does not allow me to use the internal Vref for anything - I dont even believe its broken out on the pins. – MarcelH Jan 05 '22 at 18:26

3 Answers3

2

Such ratiometric measurement is very usual. A very low production tolerance for the resistor is not necessary if you can calibrate it. Low thermal drift of resistance is more important.

Also consider if you need an ADC driver. I.e. compare the errors due to ADC input current to the errors that another opamp buffer would cause. Hint: The input impedance is rather low, so you are most definitely better off with additional op-amp buffers, especially if you optimize the resistor ladder (see below) to improve dynamic range usage.

Consider removing R8 and increasing R2. Right now, R8 eats away most of your precious dynamic range. You can put a small R8 of e.g. 100 Ohm there to make sure the bottom reading is not right at the extreme of the voltage range. Same for the part above the Pt100. Put a small resistor there to get away from the voltage extreme.

So the whole resistor string could look like this:

  • 100 Ohm resistor
  • Pt100 sensor
  • 3 kOhm precision resistor
  • 100 Ohm resistor.

Then consider using a Pt1000 instead and a 2k Ohm reference resistor. The more even these two resistance are, the better for your sensitivity.

tobalt
  • 18,646
  • 16
  • 73
  • We have selected R2 and R8 so the max diff voltage on R2 is a close to full scale of ADC without using internal ADC gain at about 3V3 VCC. That is below 928 mA. And also to keep the max current through the string <1mA not to self-heat the PT100. – MarcelH Jan 05 '22 at 14:31
1

The general idea is okay, in theory only the reference resistor will affect the reading. Okay, issues:

  1. The ADC/PGA used in that MCU has a rather low input impedance, which will affect the reading (from TI datasheet):

enter image description here

  1. DC gain accuracy is not great for that ADC, +/-2% with a 50ppm/°C max tempco. You are using different channels so that may not cancel out. Compare that to your expensive 0.01% resistor.

  2. Common mode voltage range looks okay, not a problem, just a tick mark.

  3. The filtering may not work so well to eliminate noise on the excitation current (caused by digital-origin noise on Vdd), it might be better to use even a crude regulator to keep that noise level low within your sample bandwidth.

Spehro Pefhany
  • 376,485
  • 21
  • 320
  • 842
  • Regarding the gain accuracy - is this something that is actually constant over the life of the chip so I cant expect to compensate for it during calibration / adjustment? Or is this per-sample accuracy? Also, can you elaborate a little bit re. the input impedance issue please? – MarcelH Jan 05 '22 at 14:19
  • @MarcelH I actually don't know the answer to how constant it can be expected to remain. I can guess (pretty constant, if everything else is constant), but that's not really helpful. There is an official "non-answer" to this exact question and in exactly your context, in the TI forums. As to the loading, you can analyze what happens by imagining resistors where the inputs are, the effect is not that large but it's much greater than the tolerance of your reference resistor. – Spehro Pefhany Jan 05 '22 at 14:35
  • looks like the gain accuracy / error is pretty much constant per Maxims FAQ https://www.maximintegrated.com/en/glossary/definitions.mvp/term/Gain%20Error/gpk/1069 so Im too worried about this now (assuming Maxim and TI have the same terminology). Im still a little fuzzy about the input impedance effect on the SD24. What effect specifically do you have in mind? – MarcelH Jan 05 '22 at 14:42
  • You won't be able to assume the voltage across the 1K resistor accurately represents the current through the sensor since some is flowing into the inputs. If that varies, your measurement will also vary. To a smaller extent the inputs load the voltage across the unknown resistance. If the connecting wires have a lot of resistance there is some effect there too. – Spehro Pefhany Jan 05 '22 at 14:44
  • Incidentally, there is a chip (from LTC, if I recall correctly) that uses exactly this method of measuring RTDs and similar sensors. The front end is designed properly for good accuracy. Unfortunately, it's prohibitively expensive for many applications, but if your application isn't cost-constrained you might want to check it out. – Spehro Pefhany Jan 05 '22 at 14:48
  • The cost is not top priority, however Im worried about the flexibility of the solution especially regarding the calibration/compensation tables for different medium temperatures as I need to store them somewhere and standalone ADC chip will limit me here greatly. Also potentially replacing the TP100 with something else for different product configs. – MarcelH Jan 05 '22 at 14:56
0

The usual way to measure a resistor that doesn't change much is to use a Wheatstone bridge to reduce the common mode, like this.

schematic

simulate this circuit – Schematic created using CircuitLab

The MSP430 that you're using has an inbuilt PGA, so you can increase the input gain for free to get more resolution. You only need a single channel. It can use an external reference for the ADC, so you get true ratiometric reading - the numbers coming out of the ADC represent scaled Ohms exactly. The bridge does not have to be equal component, just equal ratio on the two arms, so you can control self heating by making R2 larger if needed.

Neil_UK
  • 158,152
  • 3
  • 173
  • 387
  • The only external reference value I can use with this specific MSP430 is 1.2V and the max input V is 0.8*Ref - do you still suggest to use the bridge and try to conform to these constraints calculating the resistors + the PT100 ? – MarcelH Jan 07 '22 at 12:43