Post Go back to editing

Thermocouple measurement using LTC2368-24 Noise

Category: Hardware

Hello everyone,

i started a little project using LTC2368-24  ( LTC2368CMS24 )  and  the reference voltage source is using a 3.3volt from  LTC6655BHMS8-3.3.

Using 3.3v for vref, i expect to have aprox 0.196 uV/ LSB.

All voltages for the adc chip are buffered with 100n & 47 uf capacitors.

The design is on a 2 layer pcb.

I am stil in the debug phase with this project, so i wanted to see how low can it measure.

So i have shorted to ground both IN+ and IN- and see how low it measures., and i cannot read bellow 97-200 uV.

Tried also with shorting only IN+ & IN-, and the read voltage is a little lower... near 100uV

Tryied even with multiple filtering samples ( 1,32,64... even with 8192 samples), the results are mostly the same.

Most of the read values are in the 0x002XXX .. 0x001FXX hex range.

I also measured the voltage ac ripple on the vref line & the 2v5 line, 1-2mV ripple, didn't saw something noticable.

So at this point i am considering to move everything to a 4 layer pcb, but before i said to ask.

I know in the datasheet there is specified a noise for specific sampling rates, for example at 1 sample is specified 68LSBs, but at 3.3V ref, this would yeld arround 13 uV noise.

But 100-200uV is quite far away, so i am wondering what  i measure is it normal?

Thank you

Parents
  • Hi  

    How have you determined the 100uV value when the inputs are connected? Is it RMS or peak-to-peak value?

    Zoltan

  • Hi Zoltan,

    the value was read directly from the adc without any aditional procesing. I was reading every 50ms the adc's register and just show the data on the screen.

    I am doing something wrong?  

  • Hi,

    It seems that you've measured the peak-to-peak value, however, in the datasheet the RMS value is given as 68.5 counts. The peak-to-peak value is much higher, as a rule of thumb, it is often given as 6 or 6.6*RMS value. See this short video about this: RMS Noise to Peak-to-Peak Noise on the ADI website.

    Here is the historgram from the datasheet:

    I've marked the approximate position of the mean and standard deviation (σ), which is the RMS if you subtract the mean. As you can see, there are samples in the range of 100 to 600, so the data are scattered in about a 500 LSB width interval. In you case it means, that you can easily get samples in 500*3.3V/2^24 range, which is about 98uV.

    See also this thread about a similar question: 1/f noise corner frequency.

    I hope this helps you.

    Zoltan

  • Hello Zoltan,

    please corect me if i say something stupid. To be honest this is a bit overwhelming, its the first time i try to go so deep understanding the adc's datasheet.

    This σ  68.5 Lsb rms standard deviation for N=1, right?  If i understood corectly, 68.5 lsb yelds about 13.37 uV rms.

    And 6.6* 13.37uv would give a peak of 88uV which is ~455 Lsb, right?

    One question regarding the graph from bellow,  i see this counts colum,  what is that 4000 represents?  The number of samples taken with N=1 ?

    I supose that i need to do some plotting to figure out where i am with my rms noise

Reply
  • Hello Zoltan,

    please corect me if i say something stupid. To be honest this is a bit overwhelming, its the first time i try to go so deep understanding the adc's datasheet.

    This σ  68.5 Lsb rms standard deviation for N=1, right?  If i understood corectly, 68.5 lsb yelds about 13.37 uV rms.

    And 6.6* 13.37uv would give a peak of 88uV which is ~455 Lsb, right?

    One question regarding the graph from bellow,  i see this counts colum,  what is that 4000 represents?  The number of samples taken with N=1 ?

    I supose that i need to do some plotting to figure out where i am with my rms noise

Children
  • Hi,

    Yes, your numbers are correct. The histogram consists of columns, the 4000 is only one tick in the vertical axis that helps you to read the magnitude of the columns. The height of any column is an integer that tells you how many samples fall into the interval of the ADC code represented by the width of the bar (here it is very narrow, not easy to read). If you are not familiar with historgrams, check a brief description on wikipedia or similar source, I don't think this forum is the rigth place to learn more about it.

    The main conclusion is that the noise in your system (100uV peak-to-peak) is in agreement with the datasheet (88uV peak-to-peak). Don't forget to see the video about RMS and peak-to-peak noise.

    Zoltan

  • Hi Zoltan,

    thanks for your patience, definitely i will look in more detail checking the hystograms.

    I modified the setup a little bit, and changed the averaging filter to  ( N =16384),  with IN+ & IN- shorted to Ground,

     i read a peak range between 72-73 uV.  This is giving me a RMS of 11 uV.

    What do you think about this?

  • Hi,

    As I see, you averaged 16384 samples and the noise remained almost the same - it is not normal at all. It looks like averaging only two samples, since the result is about σ/√2. Are you sure you use the averaging feature properly?

    I don't know how your data look like, but is does not seem to be pure noise.

    Zoltan

    p.s.: I don't think it is a good idea to measure the peak-to-peak value and then divide it to get the RMS, see the video about the reasosn. Calculate the RMS from the datastream directly, otherwise the error can be much larger.

  • Hi  

    I recommend to try the following to isolate the problem

    Do not connect both inputs to GND to be sure that zero scale error (+/-20ppm) do not affect the results. You can use the following circuit (sets the voltage to about 330uV at IN+) instead:

    Set N=1 and N=4 (see Figure 14) and measure a few hundred samples for both settings. Plot the data and calculate the standard deviation for both cases (do not use peak-to-peak value). For N=4 the standard deviation should be halved. You can share the raw data here (preferably in an excel file).

    You can also consider the power supply, SPI interface connection, sampling clock, where noise can enter too.

    Be sure you set N and read the averaged data properly. What you got can be an indicator of improper setting or reading.

    Zoltan

  • Hi Zoltan,

    i will try your setup, but first of all i wanted to share with you this little detail that maybe has some relevance.

    The adc chip is comunicating with the microcontroler ( stm32f103) using opto-isolator, namely ISO7221A.

    When you said about the data being incorect, i said myself to check again the timings between the start & ready signals.

    I have made some timing captures, with N = 1

    Bellow is a logic analyzer capture for the mentioned signals.  The "opto" named ones are directly on the adc pins.

    The busy width for both sides is 640 ns.

    The start signal width is 1.05 us on both sides.

    And there is this propagation delay because of the opto isolator which is around 420ns. 

    I am not sure if this can cause some trouble ...

    Ok, i noticed that Start convert signal is still high for a period of time while the "Busy" signal already fallen down.

    I  rework some software timings for my gpios, and now the signals look corectly like in the datasheet, where start signal goes down before Busy goes down also.

    I am not sure if this has any impact in reading the data.

    Here is the new logic capture, i will come back latter with the 330uv setup and measurements.

    With this ocassion i noticed my opto isolators are the slowest variant...

  • Hi,

    I guess all of the SPI signals go through the isolator, so all of the signals have delay. How high is the SCK frequency? What is the frequency of the ADC START signal? When the SPI read is started relative to these signals?

    The delay of the ADC data relative to the SCK edge is the double of the isolator's delay, this should also be considered.

    Zoltan

  • Hi,

    Just let me note: this ADC is not the best choice for a thermocouple application. I would choose a precision sigma-delta ADC (e.g. AD7193, AD7793. Much simpler to use, much cheaper, etc. See the Applications/Technology Solutions/Sensor Interfaces/Temperature Sensing/Thermocouple page for more devices, reference designs.

    Zoltan

  • Hi Zoltan,

    the adc start frequency is around 21 hz,  i  trigger a conversion every 20 ms.

    the spi clock is quite slow,  250 khz, i have roughly 2us on time, and 2us off time.

    The time between busy falling edge and the first spi clock rising edge is arround 3.1 us

  • I have uploaded here the excel raw data for N=1 and N=4,  400 samples.

    One remark,  instead of 100k & 10 ohm,  i used 1Mega & 100 ohm, and 100nf cap.

    I agree with you that maybe 24bit is to much for such a aplication.  Of course this adc will not be directly conected to the thermocouple.  I plan to use a instrumentation opamp using max4238 with some gain.

    Latter edit: i uploaded the corect data file.

    XLSX

  • This is the start and ready signals for N=4.

    I have 1.3 us time between the falling edge of the ready signal and the next rising edge to start a new conversion.

    Between the 4 start signals, there is no clocking on the spi.

    After the 4th falling edge on the ready signal, i wait arround 3.1us to send 24 spi clocks and readout the value .