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.

ADS1248

Other Parts Discussed in Thread: ADS1248, LM74

Hello everybody

I have a problem with ADS1248 circuit.

For measuring the temperature with thermocouple (TC) or RTD I use the below schematic. Note that in this design 4 channel is the same sensor (TC or RTD). At the beginning, when this circuit is powered on, the type of sensor is set by the operator settings.

The adjustments for ADS1248 is according to below tables.

TC

 

 

 

RTD

Burnout Current

2µA

 

 

 

Burnout Current

0µA

Vbias

AIN(-)

 

 

 

Vbias

-

CLKSTAT

internal

 

 

 

CLKSTAT

internal

VREFCON

Internal reference is always on

 

 

 

VREFCON

Internal reference is always on

REFSELT

Onboard reference selected and internally connected to REF0 input pair

 

 

 

REFSELT

Onboard reference selected and internally connected to REF0 input pair

PGA

8

 

 

 

PGA

4

Sample Rate

10SPS

 

 

 

Sample Rate

10SPS

DRDY MODE

0

 

 

 

DRDY MODE

0

IMAG

-

 

 

 

IMAG

1500µA

Cold Junction

LM74

 

 

 

Cold Junction

LM74

Also, I use a subroutine in the microcontroller to average the 4 last results for each channel. In every conversion, first I turn on the “BURNOUT CURRENT” then if I detect the sensor turn the burnout current off and measure the voltage on this channel again and if I doesn’t detect the sensor go to the next channel. Software algorithms are according to below flowchart.

For accurate calibration I use a “PSIP 714” temperature calibrator.

When I use RTD sensor, everything is good and I have no problem and the result doesn’t have any fluctuation. But when I use TC, the amount of fluctuation is large, in a noisy environment the variation is about ±5⁰C.

Now I have some question:

  1. What do you think about the fluctuation, is the input filter design incorrect?

  2. Is it correct to turn on and off Burnout current in any conversion? Does anybody have better ideas?

  3. How often I should use “SYNC” command?

  4. Is it true to use system monitor for offset in every 4 conversion?

  • Mahdi,


    For your TC measurement, I would start by turning off the burnout current source. I don't know which input you're using on the ADS1248, but it could be that your input filter is reacting with the 2uA burnout current sources to generate an error voltage that is causing your noise. The sourcing and sinking currents are not precision sources and may not match.

    If you want to use the burnout current source, I would have an extra cycle to check to see if the TC has burnt out. This would be two separate readings, but it would give you a more accurate result.

    For the SYNC command, it's probably not necessary in your case. The digital filter is already reset in cases when the device conguration is changed (as in the mux, or bias lines). Often times, the SYNC command is used to reset the digital filter to start a new conversion for an external event. In your case, you already have changed the input to do the same thing.

    You can use the system monitor to check the offset. While a change in the mux may not change the offset much, it should be looked at when the gain is changed or when the operating temperature has changed. Those two cases would most likely change the offset in the part.


    Joseph Wu

  • hi Joseph

    thank you for your help,

    i design a board that can measure up to 4 channel of TC and/or RTD, it depend on the application that my board is placed, maybe 1, 2, 3 or 4 channel is used. as i said i don't know which channel is connected to the sensor, so i have to use burnout current.

    Burnout Current

    as you said for burnout current i read each channel twice, first i turn on the burnout current (=2uA) if i read a value not equal to 0x8000 it means that the sensor is connected, at this time i turn off the burnout current and read this channel again. if i read the value equal to 0x8000 it means this channel is not connected to the sensor. then i will go to check the next channel.

    SYNC Command

    as you said, i change my software and don't use SYNC command. but i don't understand what you mean. you mean when i change the channel the digital filter is reset (because MUX0 is changed)

    System Monitor OFFSET

    what i understand from your answer is that it is not necessary to use system monitor because gain and operating temperature doesn't change. but my board may use in different condition and the operating temperature may vary. what is your suggestion for check OFFSET. how often should i use SELFOCAL command.

    supposeS8�Rt at the beginning i use SELFOCAL command and store the Cold Junction (CJ) Temperature then check the CJ consecutively, if the absolot difference of CJ from the beginning is bigger of an amount (i.e 10 degree) use SELFOCAL command again. what do you think about this? is it good?

    one things more, in some chips the absolute amount of OFFSET is more than 500uV, is this devise true?

    ------------------------------------------------------

    Result

    the amount of fluctuation in noisy environment don't differ, do you have any suggestion about input filter?
    do you want to know some detail about my program?

    best regard.

    Mahdi

  • Mahdi,


    Just a couple of additional comments:

    With making two measurements with and without the burnout current sources, make sure that you give the sensor enough time to settle. With your input differential capacitance of 1uF, and two 130 Ohm resistors, you made a very long time constant in your measurement. That is also an issue in any measurement you've made. Turning the burnout current sources on and off will still require some settling time to get the input to the final value.

    For the SYNC command, it's likely you don't need it. A Delta Sigma ADC is a modulator + digital filter. The digital filter basically gives the output data by accumulating the output of the modulator. If you make a change to your inputs in the middle of a read, then the first output data will be basically be a mix of the two inputs. In the ADS1248, when we change the configuration in the register, the device will automatically reset the digital filter to make sure that the device is only collecting data from the new configuration.

    Doing an offset calibration depends on what amount of offset change you think you can tolerate. Looking at the datasheet, Figures 11-16 show typical offset drifts for the ADS1248. In general, they are pretty small, but you can review the figures to determine what you need. Of course, I'd still run the first offset calibration, but subsequent calibration may not be necessary. Your mention of the offset being 500uV seems a little high, but I'm not sure what to expect for uncalibrated offset measurements.

    You might be able to get better noise performance by increasing capacitances and resistances, I'm still not convinced that changing the filtering will help your noisy measurement. Are you sure that the noise isn't a setting issue (where the inputs haven't settled to final value). What type TC are you using, and what is the voltage equivalent of 5C of noise? For filter values, I would start by looking at the values on the EVM:

    http://www.ti.com/lit/ug/sbau142b/sbau142b.pdf

    In general, I believe it has decent performance, and I don't think the capacitances are so large.



    Joseph Wu

  • hi Joseph

    thank you

    let me check somethings on my board. i will give you the result and then negotiate with you.

    best regard

    mahdi

  • hi Joseph

    i have read the below document more than 1 time yet and i also try to design the input filter for TC from there, it seems that i destroy the symmetry of input RC filter by adding one 130 ohm because of  compensator resistor for RTD. (remember that my board measure both TC and RTD) and i try to remove it

    http://www.ti.com/lit/an/sbaa201/sbaa201.pdf

    know i have some basic question!!!

    1- R = 2*130 ohm and C = 1uF----------> f =~ 612Hz and time-constant (RC) =~0.26msec

    when you say  "With your input differential capacitance of 1uF, and two 130 Ohm resistors, you made a very long time constant in your measurement." and " (where the inputs haven't settled to final value)." what do you mean? what is the amount of this time for this elements? i select 10 sample/second

    2- after i select the the input channels for ADC, when does exactly the ADC begin conversion? note that at the beginning of my software i select the first channel and then set pin "START". after approximately 100ms "DRDY" interrupt me. at this time i read the ADC value and then change the channel and again after 100ms interrupt ....

     

    is there anythings wrong?  i am so confused!!!

    thank you for your help Joseph

    best regard

    mahdi

  • Mahdi,


    First, generally we won't recommend the compensation resistor. While it may increase the resolution, it often adds more error in the measurement. It would need to be a precision resistor and it's unlikely that it would have worked with the resistance of the filter as well.

    Here are responses to your questions:

    1. Sorry, I made a bit of a math error. I'd gotten a larger time constant in my calculation. Normally I'd be worried about the setting time because of the filter, your sampling rate should be pretty large (even without a delay). This only is a factor if the inputs are changing. For example you change the excitation current from channel to channel.

    2. Timing for the START pin to getting data is given in the datasheet on page 33. You can look at figure 67 and table 15 and get the amount of time it takes to complete a conversion. If you don't use the start pin, you can use the channel multiplexing example to change channels and get readings without having to SYNC or pulse the START pin. Look at the example on figure 83.

    Originally, you'd talked about noise. Are you still having problems with that? If so, what is the magnitude of the noise you are getting? Have you taken multiple data to find out if the noise is periodic? It might be helpful to find out more about your setup.


    Joseph Wu

  • Hi Joseph,

    thank you a lot,

    I read datasheet carefully, I have an important question about this IC (ADS1248)

    Q: Is there any way in this IC that we can pause the conversion after we change the channel and then we begin the conversion from the beginning?

    I know that "START" pin can't do this!

    about the noise, unfortunately I can't measure the amplitude of the noise. I use my board in a place near to inverter and some device that has large EMI/EMC.

    something about the fluctuation:

    I think that different kind of sensors (for example TC type K) has different frequency response. When I turn on and off burn-out current, some kind of sensors response fast enough and we have no problem but in some other the sensor required more time.

    I am trying to test this, I tell you the result soon.

    best regard

    mahdi

  • Mahdi,


    For pausing the conversion, do you mean interrupting the current conversions and starting a new one? When you change the mux channel, that is exactly what happens.

    If you look at the datasheet on page 34, under Digital Filter Reset Operation, it explains that changing the MUX0 setting (changing the mux input) will reset the digital filter (start a new conversion). This also happens if you change the VBIAS, MUX1, or SYS0 registers as well. Resetting the digital filter is the same as starting a new conversion.


    Joseph Wu

  • Hi Joseph

    thank you a lot

    wonderful, you are right. I didn't know when the digital filter reset, a new conversion is started.

    thank you more

    best regard

    Mahdi