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.

ADS1118 Small Non-Linearity near zero

Other Parts Discussed in Thread: ADS1118

I am using ADS1118 at G=256 in a 16-channel K-thermocouple isolated DAQ at a fixed 10 S/s. With a small correction for the OVP network it works absolutely great, with less than +/-0.5 degree variation across 32 sampled parts from room temperature to 1300 degrees C including CJC. Very impressive.

However I find the accuracy is not quite as good when the ADC input is near zero volts or negative. There is a very repeatable non-linearity on all parts causing a 40-50 uV step function between -2.0 mV and +2.0 mV ADC input (roughly +/-50 deg). Granted that is only ~1 degree, but the positive range is so good it would require me to double my accuracy spec: they all read a consistent +1.0 (+/-0.2) degrees at 0.0 input and -197 at -200 C input from Fluke calibrator. CJC is at room ambient 26 deg during all tests.


Changing Rpu/Ppd and bypassing the 1K OVP circuit make no difference. Is there anything you can suggest, or is this small disjoint characteristic of this chip? Happy to supply schematic, layout and measurements if helpful, it's the datasheet circuit.

Thanks much,

Gary Schneider, Engr. Mgr, Hi-Techniques Inc.

  • Gary,

    Thanks for your post. I'd be interested in seeing the schematic to help you debug this issue. I'd also like to know the configuration settings of the device.


    I believe that there might be some issues with any input filtering that you have on the device. It's possible that the input bias current may react with any series resistance to cause issues near a zero input. Using a smaller input filter resistor may help reduce the non-linearity. Different configurations may also cause different reactions.


    Again, we could use the schematic, and the configuration of the device to help out. If you want to send this to me off the forum, let me know and I'll contact you directly.

    Joseph Wu

  • Joseph,

    Thank you for the offer, I'd like to send the schematic and the measurement info I'm seeing but would prefer not to have it public. Please forward your email to schneider@hi-techniques.com.

    Thanks and regards,

    Gary

  • Taking this post off the forum, will post a response once we figure out the problem.

    Joseph Wu

  • Closing this post. Here is how I responded to it:

    I talked with some colleagues and this looks like a problem that we may have identified before.
     
    As I mentioned in my email before it has to do with the input bias current but it's a little more complicated than that. If you look at Figures of 40 and 41 in the datasheet it shows a basic representation of the input circuit for the ADC. However the actual circuit is complicated by switch resistance and finite charging times of the caps. Also, with any input filtering, you can have charge imbalances that can cause extra error.
     
    Normally this is not a problem, especially when the input signal size is very large. If the input signal is large then this appears almost as a gain error, since the error is pretty balanced as it gets larger through the full scale of the part. However when the signal size very small, a small amount of charge imbalance can make a noticeable error and almost make it look like a dead zone.
     
    I would try to do two things and see if the problem goes away. First, remove R3 and R17 and replace them with 0 Ohm resistors (these are 100 Ohm resistor going from input filtering to the device). At this point, they are not doing much and it can only disrupt the sampling of the input. Second, I would try to set the common mode of the input signal to 0.7V to match the sampling discharge voltage internal to the part (as shown in Figure 40). You can do this with the pull-up and pull-down by leaving R1 at 1M, and changing R4 to 220k.
     
    I know that you're using the Fluke to generate the signal at this point, so if it has some common-mode voltage, make sure that it's near the 0.7V.
     
    A believe that larger caps C8, C7, and C9 will help, since there's more charge to go around and re-balance itself in the charge/discharge cycle. I think that smaller R2/R16 would also help. I know that you've tried some of this already, but didn't see much difference.
     
    Anyway, try both things and let me know what you find.


    Here is some of the response that I got back:

    I got about a 5x improvement with your suggestions which reduces the error to a tolerable level, unnoticeable to a customer I expect.
     
    Once you pointed out my seemingly static problem was likely dynamic-input-impedance-related, things started making more sense. With that line of thought I looked closer at source impedance and the R3/R17 resistance clearly had to go. Part of my problem turned out to be that the Fluke calibrator has a significant output impedance below 300 mV. I saw better linearity results with a low-resistance attenuator pad at the input. In thermocouple mode the Fluke has a reasonably low 10 ohms output impedance, comparable to a few feet of K-TC wire so fairly real-world, and the attached spreadsheet used that configuration.
     
    Once I had a low-Z source, reducing the filter resistances R2/R16 did help the linearity step as you expected, but we are big fans of robust input over-voltage protection even at some expense to accuracy. As you no doubt know users often do unexpected things and a damaged channel is much more inconvenient than a tiny error..
     
    Adjusting the CM voltage close to 0.7 V did not seem to make a significant difference, but resistor values I had immediately at hand gave me about 0.75V. I may try getting it closer to 0.70. The Fluke output is floating so takes on the CMV of the ADC.
     
    The biggest breakthrough was increasing the input filter caps by an order, to 1uF/10uF/1uF. That reduced the discontinuity from around 1 degree to about 0.2 degree where it ceases to be a concern. Clearly the former values were not stiff enough to avoid a tiny droop with the dynamic ADC load.

    In closing:

    The biggest source of improvement was to increase the input filtering caps and lowering the resistance used in the filter and output impedance of the source. I would have expected a bit more improvement in setting the input common mode to 0.7V by changing the pull-up/pull-down divider, but in this case, it didn't seem to help much.

    In the end, it looks as if the problem was reduced to a workable level. Gary, if you want to include anything, please respond, otherwise, It was a pleasure working with you.


    Joseph Wu