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.

PGA302: Problems reading pressure once temperature compensation is disabled

Part Number: PGA302

We've been using the PGA302 to measure pressure up to 200PSI. Using the PGA302 GUI we run through the linearity calibration and calibrate at 3 pressure ranges (0PSI, 100PSI, 200PSI). Once calibration is done and programmed we go into the PGA302 EEPROM settings and change the values of H0 to 0x0000 and G0 to 0x3FFF to disable temperature calibration. Once done we start testing at the different pressures again but are seeing incorrect readings. At 200 PSI we measure 45PSI.

If we repeat the steps above without the step for disabling temperature compensation our readings are correct.

Attaching the linear calibration and eerom settings after disabling temperature compensation.

  • Hi Chris,

    I'm not sure what you are trying to do here.  Why do you want to calibrate, then remove the calibration outcome?  But even then you haven't completely removed the coefficients. H0 is the offset coefficient (now removed at 0), G0 is the gain (now fixed to 1), but N0 is still there.  Also note that the calibration sets the PADC digital gain to 3 with an offset of 0xD596.

    So when you are taking the measurements, are you looking at the DAC output?  Is the M0 in a running state?  Or are you reading back the register data only?  It is unclear to me what you are doing and what you are hoping to accomplish.

    If you are just not using the compensation algorithm, then don't calibrate in the first place and just set the H0 and G0 accordingly.  But my guess is you are wanting the DAC to respond to specific pressure values.  If you look at the linearization compensation algorithm you will notice that for 3P1T calibration the only values returned are H0, G0 and N0 which will then only compensate the pressure value as measured from the PADC.  Temperature is measured, but is multiplied by 0.  So the compensation is only the PADC compensation with respect to the ADC.

    If we repeat the steps above without the step for disabling temperature compensation our readings are correct.

    So again I emphasize you are not disabling the temperature compensation if the calibration is 3P1T as the temperature is always multiplied by 0 in the compensation algorithm and is disabled already.

    If H1 through H3, G1 through G3, N1 through N3 are all 0 as provided by the calibration, then all of the T terms change to 0 and you are left with:

    OUTPUT = H0 + G0*P + N0*P^2

    Best regards,

    Bob B