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.

LMP90098: Variations in RTD data

Part Number: LMP90098
Other Parts Discussed in Thread: ADS1248

Hey,

I am working on LMP90098 interfaced with MCU. A 3 wire PT-100 is connected with the AFE. There are huge variations in the data being read. I have tried out all the possibilities in changing the RTDs, VREFx1/2, capacitor between VIN0 & VIN1 etc., but the variation still remains. Voltages at RTD pins are constant. When I connect a standard resistor, the data(temperature) is constant. Tried this with multiple values of resistor and data is constant every time. But when I tried to read from RTD, there's variation. Kindly help me out here.

Thank you!

  • Hi Sumangala,

    Thanks for your post!

    Can you provide a schematic that shows your circuit?
    Are the huge variations on the range of uV, mV, or V?
    Are you using background or system calibration?
    Which register settings are not default?
  • Hey Alex,

    1. Below is my schematic design.

    2. There's no variation in voltages. The variations are in the resistance read & equivalent temperature, and are random. To say, we get ~112 ohm >> 31.2 degree Celsius and the very next reading will be for            25 degree Celsius. The reading are in negative too sometimes.

    3. We tried background & system calibration but didn't find any change in the readings.

    4. Attached excel for register configs used.

    Thank you.AFE_initialRegConfig.xlsx

  • Hi Sumangala,

    Thank you for providing the schematic and registers.

    It looks like this question is a continuation from this thread:
    e2e.ti.com/.../2703820

    I see that the schematic is still the same as it was in October, has your team considered making the changes that Joe suggested?
  • Sumangala,


    In looking at the circuit, there doesn't look like there are too many changes in the schematic from the other post. However, I did want to point out two things. First, I would remove the hardware compensation of R10 and use a lower PGA gain. I mentioned it before, but I think this is very difficult in practice to implement because the resistor must be very precise and low drift. Second, I would remove L13 and replace it with a short. Often we talk about separating digital and analog ground planes, however, if you don't plan through the layout to verify the return currents, this can cause some ground bounce. This problem is made worse with an inductor. If the analog currents have some spiking (and they will with a data converter), there will be significant voltage spiking with the L(di/dt).

    In my previous response, I mentioned a need to relate the measurement back to the electrical characteristics. Because of that, you want to report back the data from the device in terms of the ADC output code (instead of resistance) and show the calculation.

    When you report back data, please show sequences of data, instead of pointing out the error. This way we can analyze the ADC output. That may give ideas on how the data is wrong (if the data is being corrupted, if there is just plain noise, or if there is a communication error). Again, provide the data, and be descriptive of what the inputs are, and what voltages are seen at the reference and input.


    Joseph Wu
  • Hey Joseph,

    I have already tried the mentioned hardware changes on board. Attached log files for your reference.

    Temp_calc.txt
    Resis=((ADC_Out*4*Rref))/(2^24*gain)) +Rcomp
    
    Resis=ADC_Out*4*1000/(2^24*1)
    RTDLOG_asc.txt
    Docklight Log File (ASCII) - Started 1/10/2019 12:53:38.92 
    
    1/10/2019 12:53:54.78 [RX] - 64812<CR><LF>
    RTD in ohms:110.820000<CR><LF>
    Temp:27.979313ADC_Value:468646<CR><LF>
    RTD in ohms:111.730003<CR><LF>
    Temp:30.332479ADC_Value:457901<CR><LF>
    RTD in ohms:109.169998<CR><LF>
    Temp:23.712593ADC_Value:467149<CR><LF>
    RTD in ohms:111.379997<CR><LF>
    Temp:29.427402ADC_Value:465285<CR><LF>
    RTD in ohms:110.930000<CR><LF>
    Temp:28.263762ADC_Value:467232<CR><LF>
    RTD in ohms:111.400002<CR><LF>
    Temp:29.479132ADC_Value:460301<CR><LF>
    RTD in ohms:109.739998<CR><LF>
    Temp:25.186548ADC_Value:462810<CR><LF>
    RTD in ohms:110.339996<CR><LF>
    Temp:26.738077ADC_Value:469656<CR><LF>
    RTD in ohms:111.970001<CR><LF>
    Temp:30.953087ADC_Value:463419<CR><LF>
    RTD in ohms:110.489998<CR><LF>
    Temp:27.125965ADC_Value:452411<CR><LF>
    RTD in ohms:107.860001<CR><LF>
    Temp:20.325085ADC_Value:460508<CR><LF>
    RTD in ohms:109.790001<CR><LF>
    Temp:25.315849
    1/10/2019 12:53:55.81 [RX] - ADC_Value:464695<CR><LF>
    RTD in ohms:110.790001<CR><LF>
    Temp:27.901739ADC_Value:466974<CR><LF>
    RTD in ohms:111.339996<CR><LF>
    Temp:29.323965ADC_Value:460508<CR><LF>
    RTD in ohms:109.790001<CR><LF>
    Temp:25.315849ADC_Value:461624<CR><LF>
    RTD in ohms:110.059998<CR><LF>
    Temp:26.014030ADC_Value:458865<CR><LF>
    RTD in ohms:109.400002<CR><LF>
    Temp:24.307356ADC_Value:471727<CR><LF>
    RTD in ohms:112.470001<CR><LF>
    Temp:32.246033ADC_Value:460609<CR><LF>
    RTD in ohms:109.820000<CR><LF>
    Temp:25.393423ADC_Value:459212<CR><LF>
    RTD in ohms:109.480003<CR><LF>
    Temp:24.514231ADC_Value:465267<CR><LF>
    RTD in ohms:110.930000<CR><LF>
    Temp:28.263762ADC_Value:458700<CR><LF>
    RTD in ohms:109.360001<CR><LF>
    Temp:24.203917ADC_Value:464638<CR><LF>
    RTD in ohms:110.779999<CR><LF>
    Temp:27.875874ADC_Value:462347<CR><LF>
    RTD in ohms:110.2
    1/10/2019 12:53:56.83 [RX] - 30003<CR><LF>
    Temp:26.453648ADC_Value:463032<CR><LF>
    RTD in ohms:110.400002<CR><LF>
    Temp:26.893244ADC_Value:455280<CR><LF>
    RTD in ohms:108.550003<CR><LF>
    Temp:22.109354ADC_Value:472047<CR><LF>
    RTD in ohms:112.540001<CR><LF>
    Temp:32.427044ADC_Value:465067<CR><LF>
    RTD in ohms:110.879997<CR><LF>
    Temp:28.134459ADC_Value:462715<CR><LF>
    RTD in ohms:110.320000<CR><LF>
    Temp:26.686367ADC_Value:463405<CR><LF>
    RTD in ohms:110.480003<CR><LF>
    Temp:27.100119ADC_Value:463903<CR><LF>
    RTD in ohms:110.599998<CR><LF>
    Temp:27.410414ADC_Value:466876<CR><LF>
    RTD in ohms:111.309998<CR><LF>
    Temp:29.246391ADC_Value:466803<CR><LF>
    RTD in ohms:111.290001<CR><LF>
    Temp:29.194683ADC_Value:459327<CR><LF>
    RTD in ohms:109.510002<CR><LF>
    Temp:24.591805ADC_Value:461972<CR><LF>
    RTD in ohms:110.139999<CR><LF>
    Temp:26.220907
    1/10/2019 12:53:57.84 [RX] - ADC_Value:463229<CR><LF>
    RTD in ohms:110.440002<CR><LF>
    Temp:26.996681ADC_Value:462116<CR><LF>
    RTD in ohms:110.180000<CR><LF>
    Temp:26.324345ADC_Value:461854<CR><LF>
    RTD in ohms:110.110001<CR><LF>
    Temp:26.143333ADC_Value:463994<CR><LF>
    RTD in ohms:110.620003<CR><LF>
    Temp:27.462143ADC_Value:464222<CR><LF>
    RTD in ohms:110.680000<CR><LF>
    Temp:27.617289ADC_Value:459843<CR><LF>
    RTD in ohms:109.639999<CR><LF>
    Temp:24.927963ADC_Value:465222<CR><LF>
    RTD in ohms:110.919998<CR><LF>
    Temp:28.237898ADC_Value:463127<CR><LF>
    RTD in ohms:110.419998<CR><LF>
    Temp:26.944952ADC_Value:463960<CR><LF>
    RTD in ohms:110.620003<CR><LF>
    Temp:27.462143ADC_Value:463705<CR><LF>
    RTD in ohms:110.559998<CR><LF>
    Temp:27.306976ADC_Value:460351<CR><LF>
    RTD in ohms:109.760002<CR><LF>
    Temp:25.238277ADC_Value:462498<CR><LF>
    RTD in ohms:110.269997<CR>
    
    1/10/2019 12:53:58.86 [RX] - <LF>
    Temp:26.557066ADC_Value:465629<CR><LF>
    RTD in ohms:111.010002<CR><LF>
    Temp:28.470636ADC_Value:461658<CR><LF>
    RTD in ohms:110.070000<CR><LF>
    Temp:26.039896ADC_Value:463956<CR><LF>
    RTD in ohms:110.620003<CR><LF>
    Temp:27.462143ADC_Value:465190<CR><LF>
    RTD in ohms:110.910004<CR><LF>
    Temp:28.212051ADC_Value:462602<CR><LF>
    RTD in ohms:110.290001<CR><LF>
    Temp:26.608795ADC_Value:463237<CR><LF>
    RTD in ohms:110.440002<CR><LF>
    Temp:26.996681ADC_Value:469227<CR><LF>
    RTD in ohms:111.870003<CR><LF>
    Temp:30.694504ADC_Value:460991<CR><LF>
    RTD in ohms:109.910004<CR><LF>
    Temp:25.626163ADC_Value:466115<CR><LF>
    RTD in ohms:111.129997<CR><LF>
    Temp:28.780931ADC_Value:468114<CR><LF>
    RTD in ohms:111.610001<CR><LF>
    Temp:30.022167ADC_Value:463121<CR><LF>
    RTD in ohms:110.419998<CR><LF>
    Temp:26.944952ADC
    1/10/2019 12:53:59.87 [RX] - _Value:464334<CR><LF>
    RTD in ohms:110.709999<CR><LF>
    Temp:27.694862ADC_Value:460537<CR><LF>
    RTD in ohms:109.800003<CR><LF>
    Temp:25.341715ADC_Value:463381<CR><LF>
    RTD in ohms:110.480003<CR><LF>
    Temp:27.100119ADC_Value:460627<CR><LF>
    RTD in ohms:109.820000<CR><LF>
    Temp:25.393423ADC_Value:462799<CR><LF>
    RTD in ohms:110.339996<CR><LF>
    Temp:26.738077ADC_Value:462446<CR><LF>
    RTD in ohms:110.260002<CR><LF>
    Temp:26.531221ADC_Value:463908<CR><LF>
    RTD in ohms:110.599998<CR><LF>
    Temp:27.410414ADC_Value:464379<CR><LF>
    RTD in ohms:110.720001<CR><LF>
    Temp:27.720728ADC_Value:466481<CR><LF>
    RTD in ohms:111.220001<CR><LF>
    Temp:29.013672ADC_Value:462589<CR><LF>
    RTD in ohms:110.290001<CR><LF>
    Temp:26.608795ADC_Value:465775<CR><LF>
    RTD in ohms:111.050003<CR><LF>
    Temp:28.574076ADC_Value:465371<CR><LF>
    RTD in ohms:110.949997<CR><LF>
    Temp:28
    1/10/2019 12:54:00.89 [RX] - .315470ADC_Value:465233<CR><LF>
    RTD in ohms:110.919998<CR><LF>
    Temp:28.237898ADC_Value:463824<CR><LF>
    RTD in ohms:110.580002<CR><LF>
    Temp:27.358704ADC_Value:466218<CR><LF>
    RTD in ohms:111.160004<CR><LF>
    Temp:28.858524ADC_Value:465152<CR><LF>
    RTD in ohms:110.900002<CR><LF>
    Temp:28.186188ADC_Value:461636<CR><LF>
    RTD in ohms:110.059998<CR><LF>
    Temp:26.014030ADC_Value:463379<CR><LF>
    RTD in ohms:110.480003<CR><LF>
    Temp:27.100119ADC_Value:469061<CR><LF>
    RTD in ohms:111.830002<CR><LF>
    Temp:30.591064ADC_Value:461624<CR><LF>
    RTD in ohms:110.059998<CR><LF>
    Temp:26.014030ADC_Value:458571<CR><LF>
    RTD in ohms:109.330002<CR><LF>
    Temp:24.126345ADC_Value:460723<CR><LF>
    RTD in ohms:109.839996<CR><LF>
    Temp:25.445133ADC_Value:464003<CR><LF>
    RTD in ohms:110.629997<CR><LF>
    Temp:27.487988ADC_Value:468
    1/10/2019 12:54:01.91 [RX] - 691<CR><LF>
    RTD in ohms:111.739998<CR><LF>
    Temp:30.358324ADC_Value:464466<CR><LF>
    RTD in ohms:110.739998<CR><LF>
    Temp:27.772436ADC_Value:461885<CR><LF>
    RTD in ohms:110.120003<CR><LF>
    Temp:26.169199ADC_Value:473627<CR><LF>
    RTD in ohms:112.919998<CR><LF>
    Temp:33.409676ADC_Value:464449<CR><LF>
    RTD in ohms:110.730003<CR><LF>
    Temp:27.746592ADC_Value:461992<CR><LF>
    RTD in ohms:110.150002<CR><LF>
    Temp:26.246771ADC_Value:456883<CR><LF>
    RTD in ohms:108.930000<CR><LF>
    Temp:23.091984ADC_Value:461501<CR><LF>
    RTD in ohms:110.029999<CR><LF>
    Temp:25.936459ADC_Value:464321<CR><LF>
    RTD in ohms:110.699997<CR><LF>
    Temp:27.668999ADC_Value:458253<CR><LF>
    RTD in ohms:109.260002<CR><LF>
    Temp:23.945332ADC_Value:461412<CR><LF>
    RTD in ohms:110.010002<CR><LF>
    Temp:25.884748ADC_Value:469159<CR><LF>
    RTD in ohms:111.860001<CR><LF>
    Temp:30.668638
    1/10/2019 12:54:02.93 [RX] - ADC_Value:462437<CR><LF>
    RTD in ohms:110.250000<CR><LF>
    Temp:26.505356ADC_Value:466167<CR><LF>
    RTD in ohms:111.139999<CR><LF>
    Temp:28.806795ADC_Value:460225<CR><LF>
    RTD in ohms:109.730003<CR><LF>
    Temp:25.160704ADC_Value:468095<CR><LF>
    RTD in ohms:111.599998<CR><LF>
    Temp:29.996302ADC_Value:464865<CR><LF>
    RTD in ohms:110.830002<CR><LF>
    Temp:28.005177ADC_Value:462596<CR><LF>
    RTD in ohms:110.290001<CR><LF>
    Temp:26.608795ADC_Value:465703<CR><LF>
    RTD in ohms:111.029999<CR><LF>
    Temp:28.522346ADC_Value:471410<CR><LF>
    RTD in ohms:112.389999<CR><LF>
    Temp:32.039158ADC_Value:461404<CR><LF>
    RTD in ohms:110.010002<CR><LF>
    Temp:25.884748ADC_Value:463850<CR><LF>
    RTD in ohms:110.589996<CR><LF>
    Temp:27.384548ADC_Value:458756<CR><LF>
    RTD in ohms:109.379997<CR><LF>
    Temp:24.255627ADC_Value:462264<CR><LF>
    RTD in ohms:1
    1/10/2019 12:54:03.95 [RX] - 10.209999<CR><LF>
    Temp:26.401918ADC_Value:463882<CR><LF>
    RTD in ohms:110.599998<CR><LF>
    Temp:27.410414ADC_Value:463201<CR><LF>
    RTD in ohms:110.440002<CR><LF>
    Temp:26.996681ADC_Value:461553<CR><LF>
    RTD in ohms:110.040001<CR><LF>
    Temp:25.962322ADC_Value:464638<CR><LF>
    RTD in ohms:110.779999<CR><LF>
    Temp:27.875874ADC_Value:464241<CR><LF>
    RTD in ohms:110.680000<CR><LF>
    Temp:27.617289ADC_Value:460921<CR><LF>
    RTD in ohms:109.889999<CR><LF>
    Temp:25.574434ADC_Value:465239<CR><LF>
    RTD in ohms:110.919998<CR><LF>
    Temp:28.237898ADC_Value:464344<CR><LF>
    RTD in ohms:110.709999<CR><LF>
    Temp:27.694862ADC_Value:461927<CR><LF>
    RTD in ohms:110.129997<CR><LF>
    Temp:26.195044ADC_Value:461594<CR><LF>
    RTD in ohms:110.050003<CR><LF>
    Temp:25.988186ADC_Value:459751<CR><LF>
    RTD in ohms:109.610001<CR><LF>
    Temp:24.850389
    1/10/2019 12:54:04.96 [RX] - ADC_Value:462412<CR><LF>
    RTD in ohms:110.250000<CR><LF>
    Temp:26.505356ADC_Value:462300<CR><LF>
    RTD in ohms:110.220001<CR><LF>
    Temp:26.427782ADC_Value:460134<CR><LF>
    RTD in ohms:109.699997<CR><LF>
    Temp:25.083111ADC_Value:463251<CR><LF>
    RTD in ohms:110.449997<CR><LF>
    Temp:27.022526ADC_Value:462704<CR><LF>
    RTD in ohms:110.320000<CR><LF>
    Temp:26.686367ADC_Value:464424<CR><LF>
    RTD in ohms:110.730003<CR><LF>
    Temp:27.746592ADC_Value:460341<CR><LF>
    RTD in ohms:109.750000<CR><LF>
    Temp:25.212412ADC_Value:463805<CR><LF>
    RTD in ohms:110.580002<CR><LF>
    Temp:27.358704ADC_Value:464416<CR><LF>
    RTD in ohms:110.730003<CR><LF>
    Temp:27.746592ADC_Value:462030<CR><LF>
    RTD in ohms:110.160004<CR><LF>
    Temp:26.272636ADC_Value:465073<CR><LF>
    RTD in ohms:110.879997<CR><LF>
    Temp:28.134459ADC_Value:465677<CR><LF>
    RTD i
    1/10/2019 12:54:05.97 [RX] - n ohms:111.029999<CR><LF>
    Temp:28.522346ADC_Value:467779<CR><LF>
    RTD in ohms:111.529999<CR><LF>
    Temp:29.815290ADC_Value:462643<CR><LF>
    RTD in ohms:110.300003<CR><LF>
    Temp:26.634659ADC_Value:463521<CR><LF>
    RTD in ohms:110.510002<CR><LF>
    Temp:27.177692ADC_Value:463996<CR><LF>
    RTD in ohms:110.629997<CR><LF>
    Temp:27.487988ADC_Value:467875<CR><LF>
    RTD in ohms:111.550003<CR><LF>
    Temp:29.867020

  • Sumgala,

    It does look like there is some significant noise associated with the measurement. I went through the data that you provided, and entered it into Excel to look at it more carefully. There's several batches of data in sets of 10 or 11. The average is about 110.5 for the resistor measurement but you have standard deviation of about 0.4 to about 1.2, which is very large.

    The first set of samples are here:
    1/10/2019 12:53:54.78 [RX]
    27.979313 468646 RTD in ohms:111.730003 111.7339134 110.4380434 1.233961802
    30.332479 457901 RTD in ohms:109.169998 109.1721058
    23.712593 467149 RTD in ohms:111.379997 111.3770008
    29.427402 465285 RTD in ohms:110.930000 110.9325886
    28.263762 467232 RTD in ohms:111.400002 111.3967896
    29.479132 460301 RTD in ohms:109.739998 109.7443104
    25.186548 462810 RTD in ohms:110.339996 110.3425026
    26.738077 469656 RTD in ohms:111.970001 111.9747162
    30.953087 463419 RTD in ohms:110.489998 110.4876995
    27.125965 452411 RTD in ohms:107.860001 107.8631878
    20.325085 460508 RTD in ohms:109.790001 109.793663

    However, I did have a few questions about your setup.

    1. What data rate are you running?
    2. Can you take a larger set of continuous samples?
    3. You had mentioned that when you used resistors instead of an RTD the noise problem was smaller? Can I get a sample of measurements from that too?
    4. Does the noise change with the data rate?

    I'm not sure what the problem is, I wanted answers the above for a couple of reasons. The larger sample set was to see if there is any periodic noise in the measurement. If there is line cycle noise (50/60Hz) then you may be able to see if if the data rate is high enough. If you are taking the data at a slow rate, then you may not see the noise. Regardless, I'd still want to see a larger data set of maybe 200 continuous samples. The last question I asked was mostly about setup. If you use an RTD with long wires and then go to a resistor with short wires, there may be some sort of antenna problem with the RTD. Originally, I had thought that you might be using too small of a current, for the measurement, but it looks like the configuration settings say you're running with a 1mA current, and that would make 2mA going into the reference resistor.

    Normally, I would have used some basic RC filtering (both differential and common-mode) for the inputs and the reference. That might be a bit difficult now because you already have the board. This filtering would be directly at the input of the ADC, so that the excitation current doesn't go through the filter resistors.

    Regardless, look through my post and get back to me.


    Joseph Wu
  • Hey Joseph,

    Below are my comments for your questions.

    1. What data rate are you running?

    >> 214.65 SPS (default)

    2. Can you take a larger set of continuous samples?

    >> Attached log file.RTDLOG_Extended_asc.txt

    3. You had mentioned that when you used resistors instead of an RTD the noise problem was smaller? Can I get a sample of measurements from that too?

    >> Attached log file.ResistorLOG_Extended_asc.txt

    4. Does the noise change with the data rate?

    >> After changing data rate we aren't getting proper response from the ADC chip, so tested with default value (214.65 SPS).

    Also, we tried with different values of excitation currents. Less the current, more the variations.

    Tried the below caps connections too as provided in reference circuit, results were same with variations. Can you tell me why this is done?

    Thank you!

  • Sumangala,


    I'm sorry I didn't get back to your post last week. Thanks for the responses. I did have a couple of comments for you.

    First, when I asked about getting a larger set of continuous samples, I really wanted the samples to be continuous, not just more samples. The data isn't continuous. It looks like you take a set of about 10 to 14 readings every second. At 214SPS, it looks like you take about 50ms of data and then wait a second to get another reading.

    Regardless, it looks like the RTD data is much more noisy than the resistor data. It looks like the RTD noise is larger by at least a factor of 10. I'll comment on this again later.

    For your question, generally the input (or the reference) has some RC filtering for differential and common-mode signals. I would have constructed it differently with explicit series resisors. If you look in the following example circuit note there's a short discussion for the values starting at the bottom of page 3.

    www.ti.com/.../sbaa330.pdf

    There may be more information in this document on a different device (ADS1248) but it should be applicable:

    www.ti.com/.../sbaa201.pdf

    Going back to the noisy RTD data, I'm not sure why the RTD measurement has so much more noise than the resistor measurement. In the end, these two should be the same. After all, the RTD is only a resistor with a temperature coefficient. There are two things that I think could be an issue. First, with an RTD there may be extra wiring in the form of RTD leads. If the leads are long, and separated, the leads may act like an antenna, picking up noise from EMI/RFI. Second, if there board and RTD is in a room with any air flow, the change in air flow may change the temperature enough to change the RTD value. For either case, some sort of shielding may help reduce the noise. For EMI/RFI, you may need to have a conductive shield where the shield is connected to some ground. If it is temperature, it may be enough to enclose the board as long as the board doesn't dissipate enough power to heat the board.


    Joseph Wu
  • Hey Joseph,

    I found what the issue was. In the document you shared in your last post  it is mentioned that "R_ref resistor" has to be connected in "Kelvin connection" on the board. This was not done in my board and R_ref had a long path to AFE chip which added noise to my REF voltage although my VIN values were correct. So I added a 0.1uF capacitor in parallel to R_ref to remove this noise. The result is pretty good. Attached image shows the RTD values & equivalent temperature. 

    Thank you for your support! :)

  • Sumangala,


    I'm glad that you were able to debug the noise problem with the board. Working with RTDs requires a lot of attention to detail to get precision measurements. With Kelvin connections (we also often call them four-wire or force-sense measurements), you need to get a measurement close to the terminals of the resistor itself.

    I'm guessing that the filtering probably helped the most in your application. There really shouldn't be too much difference in the RTD and resistor measurement if you can keep the RTD temperature from fluctuating too much.

    Regardless, good luck on your application. If you have more questions, post back.


    Joseph Wu