This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PGA309EVM-USB: Calculation of Rt resistance given bridge impedance data measured over temperature

Part Number: PGA309EVM-USB
Other Parts Discussed in Thread: XTR117, PGA309

Jon,

A resistance of 40.2 ohms for Rt was used with the sensor described in this thread.

How was the value of this resistance calculated given the bridge impedance characteristics measured over pressure and temperature?

Generally, the bridge impedance at 50% pressure is:

-1.1 C, 432.7 ohms

24.4 C, 473.2 ohms

54.4 C, 529.1 ohms

Thanks for your help.

Frank

  • Hi Frank,

    There is not really one fixed equation that selects the optimal resistance value, it's more a matter of choosing a suitable resistor from within a range. What's more important is that the resistor selected has a very low temperature coefficient, ideally 100 to 1000 times lower than that of the bridge itself.

    Recall from the other thread the ratiometric Vout equation for the temp sensor -

    Temp sensor ratiometric Vout = (Vexc / (RbridgeEff + Rt)) * (Rt / Vexc)
    Ratiometric Vout = Rt / (RbridgeEff + Rt)
    Ratiometric Vout = Rt / [Rbridge*(1 + TC1*Temp + TC2*Temp^2) + Rt], where Rbridge is the nominal value at 0C

    Because it is ratiometric, the value of Vexc can change but you'll get the same ratiometric value for the Temp ADC output. This means when the linearization compensation is used, it won't effect the Temp ADC.

    Let's form an example where Vexc MAX is the maximum value of the Vexc output. If your linearization compensation were turned off, then Vexc will be constant; with the linearization turned on, Vexc MAX is the maximum point on the Vexc vs Load curve for the sensor (this will depend on your calibration settings). I'm going to assume a top-side Rt.

    Vexc MAX = 2.6V (example)
    Rbidge MAX = 529.1 ohms
    Rbridge MIN = 432.7 ohms

    Assume Rt does not change with temperature,

    Ibridge = Vexc / (Rbridge + Rt)
    Ibridge MIN = Vexc MIN / (Rbridge MAX + Rt)
    Ibridge MAX = Vexc MAX / (Rbridge MIN + Rt)

    Now, the Vexc output of the PGA309 is capable of driving something like 50mA typical of current, but let's say you could only afford to drive 2.6mA - maybe because you wanted to hook up your circuit to an XTR117 and needed to remain under 4mA total consumption.

    Ibridge MAX = 2.6mA
    2.6mA = Vexc MAX / (Rbridge MIN + Rt) = 2.6V / (432.7 + Rt)
    1000 ohms = 432.7 ohms + Rt

    Thus, the minimum value of Rt, from a current drive perspective, for this example is 567.3 ohms. This forms the first criteria for Rt MIN. I'll address some of the other criteria in a follow-up post briefly.

    Cheers,

    Jon

  • Hi Frank,

    The next criteria is from a hardware perspective, and has to do with the Full Scale Input Voltage rating of the ADC.

    Let's say the Temp PGA gain is set to G, with the inputs as Vexc and TEMPin.

    Temp PGA out = Temp PGA gain * (Vexc - TEMPin) = G * (Vexc - [Vexc * Rbridge / (Rbridge + Rt) ]
    Temp PGA out = G * Vexc * Rt / [Rbridge + Rt])

    If Vexc is also used as the reference voltage for the ADC, then the Temp PGA output will (ideally) be normalized by Vexc. The ADC is technically differential, but for this circuit the voltage at TEMPin will always be between Vexc and GND, so only half its resolution is used. That gives us 2^15 bits of maximum measuring resolution, which will come into play again later.

    normalized ADC range = 0 < Rt / [Rbridge + Rt] < 1, G = 1
    normalized ADC range = 0 < (Rt / [Rbridge + Rt])/G < 1/G, otherwise

    Note that if Rt = Inf and/or Rbridge = 0, the ADC reading will max out at "1", and if Rt = 0 and/or Rbridge = Inf, the ADC reading will be the minimum of 0. For actual values of Rt and Rbridge the ADC reading will fall somewhere between 0 and 1. In terms of the actual ADC counts, the reading will be somewhere between 0x0000 and 0x7FFF.

    Now, the Full Scale Input Voltage of the Temp ADC with an external reference is +/-Vref / G, as per the datasheet (measured at the device pins and before the Temp PGA). You'll notice clipping is not a problem when G = 1, but it does need to be considered when G > 1, in order to respect the limits of the ADC. This allows us to solve for a criteria for the maximum value of Rt.

    Vexc (Rt / [Rt + Rbridge]) < Vexc / G
    G*Rt/(Rt + Rbridge) < 1
    G*Rt < Rt + Rbridge
    Rt (G-1) < Rbridge
    Rt < Rbridge / (G-1)

    If Rt < Rbridge / (G-1), then the result is < 1 and it fits within the ADC bounds. If Rt > Rbridge / (G-1), then because of the gain the actual value of Temp PGA out will be greater than Vexc and it will be clipped by the Vexc maximum limit of the ADC. Thus, this is an important criteria to abide by. Remember the "G" term above is the gain of the Temp PGA and is set using Register 6. Keep in mind that the maximum possible value of Rbridge should be used in the above equation when solving for Rt, and that for G = 1 the maximum allowed value of Rt => Inf

    Now we'll address yet another criteria, this one having to do with the measurability of changes in Rbridge with temperature.

    The Temp ADC lookup table is used to change the Zero Dac and Gain Dac terms over temperature, for the purposes of temperature compensation. It consists of up to 17 different Tx values that each have an associated gain and zero term. To make full use of the table and compensate our sensor over temperature, you need to be able to measure at least 17 distinct values between 0x0000 and 0x7FFF. You can think of the extremes of the range as the max hot and max cold points, and the midpoint as the average temperature response. For example, you could have 0x0F10 at 54.4C, and 0Fx20 at -1.1C. This 17 bits is technically all you need but realistically you will want some room for hysteresis and to compensate for the gain/offset drift of the ADC itself. 

    Edit: keep in mind as well that the Temp ADC lookup table is used to linearly interpolate the Gain and Zero readings between each of the Tx values. If the Tx values are spaced apart by one bit each, then the plot of Gain DAC vs Temp and Zero DAC vs Temp will look like a staircase or stepping function. The more bits of span you have, the smoother and more linear the Gain/Zero DAC vs Temp curves will appear, which improves your overall compensation efficacy. Thus, one could argue the desired bit count/span is the most important factor when choosing an Rt value.

    Let's assume you want 100 bits of span, or 100/2^15 of the entire ADC reading. The math looks something like this -

    (Rt/(Rt + Rbridge))*G = 0 < result < 2^15
    
    (Rt/(Rt + Rbridge MIN))*G = 0 < result MAX < 2^15
    (Rt/(Rt + Rbridge MAX))*G = 0 < result MIN < 2^15
    0 < result MIN < result < result MAX < 2^15
    
    (result MAX - result MIN) of 100 bits = 100/2^15
    [Rt/(Rt + Rbridge MIN) - Rt/(Rt + Rbridge MAX)]*G = 100/2^15

    Since Rbridge MIN and MAX are known, you can solve the above formula for Rt. We know Rt must be positive, so we get two solutions for Rt. For your Rbridge values, I got Rt = 7.4771 and Rt = 30,619 if G = 1. Any Rt value such that 7.4771 < Rt < 30.6k will meet our desired 100 bit resolution. Thus, this criteria gives us yet another definition for the minimum of Rt, but also a criteria for the maximum of Rt.

    Edit: 8/18, corrected 1/G term to G in above equation

    As a quick note, there's technically another thing to consider with regards to Rt MAX. As Rt gets larger, the steady-state voltage across the bridge sensor decreases. Consider the below mockup in TINA. Assume that R2, R4, R6, R8, R10, R12 are the Rt resistors and the R1, R3, R5, R7, R9, R11 are the Rbridge resistors. VM6, VM7, and VM13 are the difference in the values of Vbridge between a hot and cold condition. Note the same change induces the greatest delta when Rt ~= Rbridge, and the delta is about the same for Rt = Rbridge * 10 as it is for Rt = Rbridge / 10. When you start to change the Rt value, you are also changing the actual sensor measuring part of the PGA309. There are definitely some considerations to be made based on the gain of the actual Input PGA of the device, desired output range, downstream ADC range, etc that will play a role here in a real system, but that's probably a little too much detail (and has too many "it depends" terms) for the scope of this discussion. Basically, if Rt is significantly greater than Rballast, then the Vbridge term will need to be gained up more to make full use of the range of the output amplifier, which also gains up offset drift, etc.

    We now have several different criteria for the minimum value of Rt -

    Rt > 567.3 ohms from current drive limitation

    Rt > 7.4771 from the resolution requirements

    We also have criteria for the maximum value of Rt -

    Rt < Rbridge MAX / (G-1), which is Inf for G=1, 529.1 ohms for G=2, 176.4 ohms for G=4, and 88.2 ohms for G=8

    Rt < 30,619 ohms from the resolution requirements

    We select a value for Rt between the "highest low" and "lowest high", such that 567.3 < Rt < 30,619 ohms. We'll set G = 1 since any other value would cause conflict between our min and max Rt specs. Note if G != 1, this changes the values associated with the resolution requirements too.

    Once you have your minimum and maximum, it's just a matter of picking a suitable, standard resistor value within that range. Again, you're usually going to be constrained by the availability of resistors that meet your temperature coefficient requirements. If your bridge sensor temperature coefficient were 5000 ppm/C, then you'd ideally want a 5ppm/C resistor or better. In my experience, a value that is close to the minimum will usually be selected.

    My apologies for the delayed response and multiple edits, I made an incorrect assumption when I first looked at the resolution equations and had to rethink things. I hope this helps!

    Cheers,

    Jon

  • Hi Jon,

    Thank you for your detailed response. 

    I used a trial and error approach with the sensor emulator to get an idea of the relationship between Rt and the %error. Temp ADC gain was always set to 8 V/V.

    I varied 10 ohms < Rt < 500 ohms and generally saw what your calculations predict. I used Rt = 40.2 ohms for a baseline.

    For 10 ohms < Rt < 40.2 ohms, the %errors over temperature and pressure were the same and 'low'.

    For 100 ohms < Rt < 500 ohms, the %errors over temperature and pressure were the same and 'high'.

    Thanks for summarizing the criteria (gain, Rbridge MAX, Rbridge MIN, bit count) to select Rt. It gives me a way forward to program the PGA309 for our pressure transducers.

    Regards,

    Frank

  • Hi Frank,

    I'm glad that your results correlate with the calculations above. With G = 8, the max value of Rt (to avoid clipping) is 88.2 ohms, and thus it makes sense that you would see the same "high" error for Rt > 100 due to the associated clipping.

    I thought about this a little further and noted that the equation 

    G*[Rt/(Rt + Rbridge MIN) - Rt/(Rt + Rbridge MAX)] = Bitwise Span/2^15

    can be used to calculate the span of bits for your temperature range, for given Rt and Rbridge MAX/MIN values. If Rbridge MAX/MIN are known, then theoretically you could look at this in the form

    G*[Rt/(Rt + Rbridge MIN) - Rt/(Rt + Rbridge MAX)]*2^15 = Bitwise span
    max(G*[Rt/(Rt + Rbridge MIN) - Rt/(Rt + Rbridge MAX)]*2^15) = max(Bitwise span)

    Solving for the maximum point of this curve (with Rt as the independent variable) would allow you to calculate the Rt value that will give the maximum measured span in bits over the desired range of Rbridge MAX to Rbridge MIN. It would seem that maximizing this span would theoretically give you the best temperature measurement precision for your sensor, allowing the most granular adjustment of the Gain and Zero DACs. Thus, one could argue this actually gives you the "optimum" value for Rt. Note that changing G does not shift the actual solution for Rt that gives the maximum span result, it just scales the entire curve up by G.

    According to Wolfram Alpha, for your Rbridge values the max span is 1646 bits and occurs when Rt = 478.5 ohms, which is very close to the mean value of Rbridge over the temperature range (similar to what the previous TINA sim had implied). Note that this span value is assuming G = 1, and you still need to respect the other limitations/criteria for Rt. A higher G value will give you an accordingly higher bitwise span value, but you will need to be sure to respect the Rt < Rbridge / (G-1) limitation! 

    Cheers,

    Jon

  • Thanks again Jon.

    Regards, Frank